Description
Description
D3D12 allows you to change resource states per subresource. The pipeline state viewer reports only the 0th subresource state, which can inaccurately report the resource state:
Here, slice 4 is actually in D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE | D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE
but slice 0 is in D3D12_RESOURCE_STATE_DEPTH_WRITE
which is what is reported. Generically, handling this in the tooltips is a headache, because a resource view can view multiple slices and/or mips, and every subresource in the view may or may not have an identical resource state.
I think the resource inspector is a good candidate to place this information, as it already contains resource init data. The per-subresource state information could be added to that tree view with nesting for mips/slices.
This feature would be helpful when capturing to validate resource states, and would be a faster iteration workflow than, for example, rerunning GPU-based validation when fixing resource state errors.
Environment
- RenderDoc version: v1.12
- Operating System: Windows 10
- Graphics API: D3D12