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

Weitere Informationen

Shaderfunktionen