PFND3D11_1DDI_ASSIGNDEBUGBINARY callback function (d3d10umddi.h)

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 unnamedParam1,
       D3D10DDI_HSHADER unnamedParam2,
       UINT uBinarySize,
  [in] const VOID *pBinary
)
{...}

Parameters

unnamedParam1

hDevice [in]

A handle to the display device (graphics context).

unnamedParam2

hShader [in]

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

uBinarySize

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

[in] pBinary

A pointer to the full shader binary.

Return value

None

Remarks

The driver can use the pfnSetErrorCb callback function to set an error code.

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

Requirement Value
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