ID3D11ShaderTrace interface (d3d11shadertracing.h)

An ID3D11ShaderTrace interface implements methods for obtaining traces of shader executions.


The ID3D11ShaderTrace interface inherits from the IUnknown interface. ID3D11ShaderTrace also has these types of members:


The ID3D11ShaderTrace interface has these methods.


Retrieves the initial contents of the specified input register.

Retrieves information about a register that was read by a step in the trace.

Retrieves information about the specified step in the trace.

Returns statistics about the trace.

Retrieves information about a register that was written by a step in the trace.

Sets the specified pixel-shader stamp.

Resets the shader-trace object.

Specifies that the shader trace recorded and is ready to use.


To retrieve an instance of ID3D11ShaderTrace, call the ID3D11ShaderTraceFactory::CreateShaderTrace method. To retrieve an instance of ID3D11ShaderTraceFactory, call IUnknown::QueryInterface on a ID3D11Device that you created with D3D11_CREATE_DEVICE_DEBUGGABLE. Although shader tracing operates without setting D3D11_CREATE_DEVICE_DEBUGGABLE, we recommend that you create a shader debugging device because some devices (for example, WARP devices) might make behind-the-scenes shader optimizations that will lead to slightly incorrect shader traces when D3D11_CREATE_DEVICE_DEBUGGABLE isn't set.

All ID3D11ShaderTrace methods are thread safe.

All ID3D11ShaderTrace methods immediately force the reference device to flush rendering commands. Therefore, the most current trace status is always available on the reference device. That is, if you expect a trace to be ready after a draw operation, it will be ready.

Note  This API requires the Windows Software Development Kit (SDK) for Windows 8.


Minimum supported client Windows 8 [desktop apps | UWP apps]
Minimum supported server Windows Server 2012 [desktop apps | UWP apps]
Target Platform Windows
Header d3d11shadertracing.h

See also


Shader Interfaces