Compartir a través de


PFND3D11_1DDI_ASSIGNDEBUGBINARY función de devolución de llamada (d3d10umddi.h)

Proporciona el binario de sombreador completo que está disponible después de la creación del sombreador. El binario del sombreador completo permite a un controlador recuperar información de depuración u otra información binaria del sombreador que normalmente no estaría disponible para el controlador.

Sintaxis

PFND3D11_1DDI_ASSIGNDEBUGBINARY Pfnd3d111DdiAssigndebugbinary;

void Pfnd3d111DdiAssigndebugbinary(
       D3D10DDI_HDEVICE unnamedParam1,
       D3D10DDI_HSHADER unnamedParam2,
       UINT uBinarySize,
  [in] const VOID *pBinary
)
{...}

Parámetros

unnamedParam1

hDevice [in]

Identificador del dispositivo de visualización (contexto de gráficos).

unnamedParam2

hShader [in]

Identificador de los datos privados del controlador para el objeto de sombreador.

uBinarySize

Tamaño, en bytes, del binario del sombreador completo.

[in] pBinary

Puntero al binario del sombreador completo.

Valor devuelto

None

Observaciones

El controlador puede usar la función de devolución de llamada pfnSetErrorCb para establecer un código de error.

Solo se llama a AssignDebugBinary si se cumplen todas las siguientes condiciones:

  • El dispositivo se puede depurar.
  • El controlador de pantalla en modo de usuario ha establecido el D3D11_1DDI_D3D11_OPTIONS_DATA. Asigne la marca AssignDebugBinarySupport a TRUE.
  • Se ha llamado a una función de creación de sombreador CreateXxxShaderXxx , se ha realizado correctamente y ha devuelto un identificador al sombreador.
El controlador no debe encontrar ningún error, excepto por D3DDDIERR_DEVICEREMOVED. Por lo tanto, si el controlador pasa algún error, excepto por D3DDDIERR_DEVICEREMOVED, en una llamada a la función pfnSetErrorCb , el tiempo de ejecución de Microsoft Direct3D determinará que el error es crítico. Incluso si se quitó el dispositivo, no es necesario que el controlador devuelva D3DDDIERR_DEVICEREMOVED; Sin embargo, si la eliminación del dispositivo interfirió con el funcionamiento de AssignDebugBinary (que normalmente no debería ocurrir), el controlador puede devolver D3DDDIERR_DEVICEREMOVED.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8
Servidor mínimo compatible Windows Server 2012
Plataforma de destino Escritorio
Encabezado d3d10umddi.h (incluya D3d10umddi.h)

Consulte también

D3D11_1DDI_D3D11_OPTIONS_DATA

pfnSetErrorCb