D3DDisassemble11Trace 函式 (d3d11shadertracing.h)

反組譯已編譯 Microsoft 高階著色器語言的區段, (HLSL) 著色器追蹤步驟所指定的程式代碼。

語法

HRESULT D3DDisassemble11Trace(
  [in]  LPCVOID           pSrcData,
  [in]  SIZE_T            SrcDataSize,
  [in]  ID3D11ShaderTrace *pTrace,
  [in]  UINT              StartStep,
  [in]  UINT              NumSteps,
  [in]  UINT              Flags,
  [out] ID3D10Blob        **ppDisassembly
);

參數

[in] pSrcData

類型: LPCVOID

已編譯著色器數據的指標。

[in] SrcDataSize

類型: SIZE_T

pSrcData 指向之內存區塊的大小,以位元組為單位。

[in] pTrace

類型: ID3D11ShaderTrace*

著色器追蹤信息物件的ID3D11ShaderTrace介面指標。

[in] StartStep

類型: UINT

D3DDisassemble11Trace 啟動反組譯碼之追蹤中的步驟數目。

[in] NumSteps

類型: UINT

要反組譯的追蹤步驟數目。

[in] Flags

類型: UINT

下列旗標的零或多個組合,使用位 OR 運算結合。 產生的值會指定 D3DDisassemble11Trace 如何反組譯編譯的著色器數據。

旗標 描述
D3D_DISASM_ENABLE_COLOR_CODE (0x01) 啟用色彩代碼的輸出。
D3D_DISASM_ENABLE_DEFAULT_VALUE_PRINTS (0x02) 啟用預設值的輸出。
D3D_DISASM_ENABLE_INSTRUCTION_NUMBERING (0x04) 啟用指示編號。
D3D_DISASM_ENABLE_INSTRUCTION_CYCLE (0x08) 沒有影響。
D3D_DISASM_DISABLE_DEBUG_INFO (0x10) 停用偵錯信息的輸出。
D3D_DISASM_ENABLE_INSTRUCTION_OFFSET (0x20) 啟用指令位移的輸出。
D3D_DISASM_INSTRUCTION_ONLY (0x40) 在 D3DDisassemble11Trace 中啟用每個步驟指令周期的輸出。 此旗標類似於D3D_DISASM_ENABLE_INSTRUCTION_NUMBERING和D3D_DISASM_ENABLE_INSTRUCTION_OFFSET旗標。

此旗標在 D3DDisassembleRegion 函式中沒有任何作用。 迴圈資訊來自追蹤;因此,迴圈資訊只能在追蹤反組譯碼中使用。

[out] ppDisassembly

類型: ID3D10Blob**

緩衝區的指標,接收存取反組譯碼 HLSL 程式代碼的 ID3DBlob 介面。

傳回值

類型: HRESULT

這個方法會傳回 HRESULT 錯誤碼。

備註

D3DDisassemble11Trace 會逐步解說著色器追蹤的步驟,並針對以步驟的指示索引為基礎的每個步驟輸出適當的反組譯碼。 反組譯碼會以追蹤中的緩存值資訊加上批注。 D3DDisassemble11Trace 的行為與 D3DDisassemble 不同,不同於 D3DDisassemble 所執行的已編譯著色器靜態反組譯碼,D3DDisassemble11Trace 會根據著色器追蹤資訊提供執行追蹤。

規格需求

需求
最低支援的用戶端 Windows 8 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2012 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 d3d11shadertracing.h
Dll D3D11SDKLayers.dll;D3D11_1SDKLayers.dll;D3D11_2SDKLayers.dll

另請參閱

著色器函式