PFND3D11_1DDI_ASSIGNDEBUGBINARY callback function

Provides the full shader binary that is available after shader creation. The full shader binary lets a driver retrieve debugging information or other shader binary information that would not normally be available to the driver.

Syntax

PFND3D11_1DDI_ASSIGNDEBUGBINARY Pfnd3d111DdiAssigndebugbinary;

void Pfnd3d111DdiAssigndebugbinary(
  D3D10DDI_HDEVICE Arg1,
  D3D10DDI_HSHADER Arg2,
  UINT uBinarySize,
  const VOID *pBinary
)
{...}

Parameters

Arg1

hDevice [in]

A handle to the display device (graphics context).

Arg2

hShader

A handle to the driver's private data for the shader object.

uBinarySize

The size, in bytes, of the full shader binary.

pBinary

A pointer to the full shader binary.

Return Value

None

The driver can use the pfnSetErrorCb callback function to set an error code. For more information about setting error codes, see the following Remarks section.

Remarks

AssignDebugBinary is called only if all of the following are true:

  • The device can be debugged.
  • The user-mode display driver has set the D3D11_1DDI_D3D11_OPTIONS_DATA.AssignDebugBinarySupport flag to TRUE.
  • A shader creation function CreateXxxShaderXxx has been called, has succeeded, and has returned a handle to the shader.
The driver should not encounter any error, except for D3DDDIERR_DEVICEREMOVED. Therefore, if the driver passes any error, except for D3DDDIERR_DEVICEREMOVED, in a call to the pfnSetErrorCb function, the Microsoft Direct3D runtime will determine that the error is critical. Even if the device was removed, the driver is not required to return D3DDDIERR_DEVICEREMOVED; however, if device removal interfered with the operation of AssignDebugBinary (which typically should not happen), the driver can return D3DDDIERR_DEVICEREMOVED.

Requirements

   
Minimum supported client Windows 8
Minimum supported server Windows Server 2012
Target Platform Desktop
Header d3d10umddi.h (include D3d10umddi.h)

See Also

D3D11_1DDI_D3D11_OPTIONS_DATA

pfnSetErrorCb