ID3D11ShaderTrace::TraceReady 方法 (d3d11shadertracing.h)

指定已記錄且已準備好使用的著色器追蹤。

語法

HRESULT TraceReady(
  [out, optional] UINT64 *pTestCount
);

參數

[out, optional] pTestCount

變數的選擇性指標,可接收發生追蹤相符調用的次數。 如果未使用,請將 設定為 NULL。 如需此數字的詳細資訊,請參閱。

傳回值

TraceReady 會傳回:

  • 如果 追蹤已就緒,S_OK。
  • 如果 追蹤尚未就緒,S_FALSE。
  • 如果 追蹤在錄製過程中記憶體用盡,E_OUTOFMEMORY。 您可以呼叫 ID3D11ShaderTrace::ResetTrace ,然後重新繪製,嘗試再次記錄追蹤。 如果您決定不要再次記錄追蹤,請釋放 ID3D11ShaderTrace 介面。
  • 可能是 Direct3D 11 傳回碼中所述的其他錯誤碼。

備註

如果追蹤是要記錄呼叫 3,但到目前為止只有兩個呼叫發生, TraceReady 會將 pTestCount 指向 2 的變數設定為 。 您可以使用此值來了解追蹤尚未就緒的原因。 相反地, pTestCount 點的變數可能大於已就緒之追蹤所要求的調用計數。 您可以使用此值來判斷超過所需追蹤調用計數的調用數目。 例如,您可能不知道繪製呼叫中指定著色器在像素上發生的過度繪製數目。 如果可以相同地重新繪製場景,您可以根據第一次通過時在 pTestCount 傳回的 TraceReady 值,設定下一次追蹤。

如果記錄著色器追蹤,您可以成功呼叫 ID3D11ShaderTrace::GetTraceStatsID3D11ShaderTrace::GetInitialRegisterContentsID3D11ShaderTrace::GetStep 方法。 不論是否已記錄著色器追蹤,您都可以呼叫 ID3D11ShaderTrace::ResetTraceID3D11ShaderTrace::P SSelectStamp 方法。

注意此 API 需要適用於 Windows 8 的 Windows 軟體開發工具包 (SDK) 。
 

規格需求

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

另請參閱

ID3D11ShaderTrace