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 点到的变量可能大于已就绪跟踪请求的调用计数。 可以使用此值来确定超过所需跟踪调用计数的调用数。 例如,你可能不知道绘制调用中给定着色器在像素上发生的过度绘制数。 如果可以以相同的方式重绘场景,则下次可以根据 TraceReady 在第一次传递 时在 pTestCount 返回的值来设置跟踪。

如果记录了着色器跟踪,则可以成功调用 ID3D11ShaderTrace::GetTraceStatsID3D11ShaderTrace::GetInitialRegisterContentsID3D11ShaderTrace::GetStep 方法。 无论是否记录着色器跟踪,都可以调用 ID3D11ShaderTrace::ResetTraceID3D11ShaderTrace::P SSelectStamp 方法。

注意此 API 需要 Windows 软件开发工具包 (SDK) Windows 8。
 

要求

要求
最低受支持的客户端 Windows 8 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2012 [桌面应用 |UWP 应用]
目标平台 Windows
标头 d3d11shadertracing.h
DLL D3D11SDKLayers.dll;D3D11_1SDKLayers.dll;D3D11_2SDKLayers.dll

另请参阅

ID3D11ShaderTrace