D3DDisassemble11Trace-Funktion (d3d11shadertracing.h)
Disassembliert einen Abschnitt des kompilierten HLSL-Codes (Microsoft High Level Shader Language), der durch Die Schritte zur Shaderablaufverfolgung angegeben wird.
Syntax
HRESULT D3DDisassemble11Trace(
[in] LPCVOID pSrcData,
[in] SIZE_T SrcDataSize,
[in] ID3D11ShaderTrace *pTrace,
[in] UINT StartStep,
[in] UINT NumSteps,
[in] UINT Flags,
[out] ID3D10Blob **ppDisassembly
);
Parameter
[in] pSrcData
Typ: LPCVOID
Ein Zeiger auf kompilierte Shaderdaten.
[in] SrcDataSize
Typ: SIZE_T
Die Größe des Speicherblocks in Bytes, auf den pSrcData verweist.
[in] pTrace
Typ: ID3D11ShaderTrace*
Ein Zeiger auf die ID3D11ShaderTrace-Schnittstelle für das Shader-Ablaufverfolgungsinformationsobjekt.
[in] StartStep
Typ: UINT
Die Nummer des Schritts in der Ablaufverfolgung, aus dem D3DDisassemble11Trace die Disassemblierung startet.
[in] NumSteps
Typ: UINT
Die Anzahl der zu disassemblierenden Ablaufverfolgungsschritte.
[in] Flags
Typ: UINT
Eine Kombination aus null oder mehr der folgenden Flags, die mithilfe einer bitweisen OR-Operation kombiniert werden. Der resultierende Wert gibt an, wie D3DDisassemble11Trace die kompilierten Shaderdaten disassembliert.
Flag | Beschreibung |
---|---|
D3D_DISASM_ENABLE_COLOR_CODE (0x01) | Aktivieren Sie die Ausgabe von Farbcodes. |
D3D_DISASM_ENABLE_DEFAULT_VALUE_PRINTS (0x02) | Aktivieren Sie die Ausgabe der Standardwerte. |
D3D_DISASM_ENABLE_INSTRUCTION_NUMBERING (0x04) | Aktivieren Sie die Anweisungsnummerierung. |
D3D_DISASM_ENABLE_INSTRUCTION_CYCLE (0x08) | Keine Auswirkung. |
D3D_DISASM_DISABLE_DEBUG_INFO (0x10) | Deaktivieren Sie die Ausgabe von Debuginformationen. |
D3D_DISASM_ENABLE_INSTRUCTION_OFFSET (0x20) | Aktivieren Sie die Ausgabe von Anweisungsoffsets. |
D3D_DISASM_INSTRUCTION_ONLY (0x40) |
Aktivieren Sie die Ausgabe des Anweisungszyklus pro Schritt in D3DDisassemble11Trace. Dieses Flag ähnelt den flags D3D_DISASM_ENABLE_INSTRUCTION_NUMBERING und D3D_DISASM_ENABLE_INSTRUCTION_OFFSET.
Dieses Flag hat keine Auswirkungen auf die Funktion D3DDisassembleRegion. Zyklusinformationen stammen aus der Ablaufverfolgung; Daher sind Zyklusinformationen nur in der Ablaufverfolgungs-Disassemblierung verfügbar. |
[out] ppDisassembly
Typ: ID3D10Blob**
Ein Zeiger auf einen Puffer, der die ID3DBlob-Schnittstelle empfängt, die auf den disassemblierten HLSL-Code zugreift.
Rückgabewert
Typ: HRESULT
Diese Methode gibt einen HRESULT-Fehlercode zurück.
Hinweise
D3DDisassemble11Trace führt die Schritte einer Shaderablaufverfolgung aus und gibt die entsprechende Disassemblierung für jeden Schritt aus, der auf dem Anweisungsindex des Schritts basiert. Die Disassemblierung wird mit Registerwertinformationen aus der Ablaufverfolgung kommentiert. Das Verhalten von D3DDisassemble11Trace unterscheidet sich von D3DDisassemble darin, dass D3DDisassemble11Trace anstelle der statischen Disassemblierung eines kompilierten Shaders, den D3DDisassemble11Trace ausführt, eine Ausführungsablaufverfolgung bereitstellt, die auf den Informationen zur Shaderablaufverfolgung basiert.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 8 [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2012 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | d3d11shadertracing.h |
DLL | D3D11SDKLayers.dll; D3D11_1SDKLayers.dll; D3D11_2SDKLayers.dll |