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::GetTraceStats、 ID3D11ShaderTrace::GetInitialRegisterContents 和 ID3D11ShaderTrace::GetStep 方法。 无论是否记录着色器跟踪,都可以调用 ID3D11ShaderTrace::ResetTrace 和 ID3D11ShaderTrace::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 |