D3DX10DisassembleShader-Funktion
Hinweis
Anstatt diese Legacyfunktion zu verwenden, wird empfohlen, die D3DDisassemble-API zu verwenden.
Diese Funktion, die einen kompilierten Shader in eine Textzeichenfolge zerlegt, die Assemblyanweisungen und Registerzuweisungen enthält, ist nicht mehr vorhanden. Verwenden Sie stattdessen D3DDisassemble10Effect.
Syntax
HRESULT D3DX10DisassembleShader(
_In_ const void *pShader,
_In_ SIZE_T BytecodeLength,
_In_ BOOL EnableColorCode,
_In_ LPCSTR pComments,
_Out_ ID3D10Blob **ppDisassembly
);
Parameter
-
pShader [in]
-
Typ: const void*
Ein Zeiger auf den kompilierten Shader.
-
BytecodeLength [in]
-
Typ: SIZE_T
Die Größe von pShader.
-
EnableColorCode [in]
-
Typ: BOOL
Fügen Sie HTML-Tags in die Ausgabe ein, um das Ergebnis zu codieren.
-
pKommentierungen [in]
-
Typ: LPCSTR
Die Kommentarzeichenfolge oben im Shader, die die Shaderkonstanten und Variablen identifiziert.
-
ppDisassembly [out]
-
Typ: ID3D10Blob**
Adresse eines Puffers (siehe ID3D10Blob-Schnittstelle), der den zerlegten Shader enthält.
Rückgabewert
Typ: HRESULT
Gibt einen der folgenden Direct3D 10-Rückgabecodes zurück.
Bemerkungen
Dieser zurückgegebene Text enthält einen Header mit der Version des HLSL-Compilers, der zum Generieren dieses Objekts verwendet wird, sowie Kommentare, die das Speicherlayout der vom Shader verwendeten Konstantenpuffer, Eingabe- und Ausgabesignaturen und Ressourcenbindungspunkte beschreiben.
Hier sehen Sie ein Beispiel für das Disassemblieren eines kompilierten Shaders. Im Beispiel wird davon ausgegangen, dass Sie mit einem kompilierten Shader beginnen (angezeigt als pVSBuf , der im HLSLWithoutFX10-Beispiel angezeigt wird).
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 );
}
}
}
Anforderungen
Anforderung | Wert |
---|---|
Header |
|
Siehe auch