-
Notifications
You must be signed in to change notification settings - Fork 0
Pipeline state and shader reflection
Often for your analysis you will want to have the pipeline state available to you, as well as the reflection data from the shader so that e.g. you can figure out what resources the shader expects to use and what formats, as well as the constant buffer variables that the shader defines. Some of this data may not be available or may be stubbed depending on whether it was stripped out or not at compile/capture time. This is particularly true of high level shader source which is often opt-in rather than opt-out.
The Core class contains a CurD3D11PipelineState member that contains the D3D11 pipeline state at the current draw (or null if no log is loaded - beware!). You can inspect this class to see all the stages and the values set and resources bound. For the resources you can also look up the buffers or textures in CurTextures or CurBuffers which are a list of all resources available in the current log.
Within the pipeline state, each shader stage (if bound) has a ShaderDetails member which points to a class describing the reflection data for a shader.