Función D3DX10DisassembleShader
Nota:
En lugar de usar esta función heredada, se recomienda usar la API D3DDisassemble .
Esta función, que desensambla un sombreador compilado en una cadena de texto que contiene instrucciones de ensamblado y asignaciones de registro, ya no existe. En su lugar, use D3DDisassemble10Effect.
Sintaxis
HRESULT D3DX10DisassembleShader(
_In_ const void *pShader,
_In_ SIZE_T BytecodeLength,
_In_ BOOL EnableColorCode,
_In_ LPCSTR pComments,
_Out_ ID3D10Blob **ppDisassembly
);
Parámetros
-
pShader [in]
-
Tipo: const void*
Puntero al sombreador compilado.
-
BytecodeLength [in]
-
Tipo: SIZE_T
Tamaño de pShader.
-
EnableColorCode [in]
-
Tipo: BOOL
Incluya etiquetas HTML en la salida para colorear el resultado.
-
pComments [in]
-
Tipo: LPCSTR
Cadena de comentario en la parte superior del sombreador que identifica las constantes y variables del sombreador.
-
ppDisassembly [out]
-
Tipo: ID3D10Blob**
Dirección de un búfer (vea ID3D10Blob Interface) que contiene el sombreador desensamblado.
Valor devuelto
Tipo: HRESULT
Devuelve uno de los siguientes códigos de retorno de Direct3D 10.
Comentarios
Este texto devuelto incluye un encabezado con la versión del compilador HLSL usado para generar este objeto, comentarios que describen el diseño de memoria de los búferes de constantes utilizados por el sombreador, las firmas de entrada y salida y los puntos de enlace de recursos.
Este es un ejemplo de desensamblado de un sombreador compilado. En el ejemplo se supone que empieza con un sombreador compilado (que se muestra como pVSBuf que puede ver en HLSLWithoutFX10 Sample).
LPCSTR commentString = NULL;
ID3D10Blob* pIDisassembly = NULL;
char* pDisassembly = NULL;
if( pVSBuf )
{
D3D10DisassembleShader( (UINT*) pVSBuf->GetBufferPointer(),
pVSBuf->GetBufferSize(), TRUE, commentString, &pIDisassembly );
if( pIDisassembly )
{
FILE* pFile = fopen( "shader.htm", "w" );
if( pFile)
{
fputs( (char*)pIDisassembly->GetBufferPointer(), pFile );
fclose( pFile );
}
}
}
Requisitos
Requisito | Value |
---|---|
Encabezado |
|
Consulte también