Skip to content

View per-subresource states in resource inspector #2183

Open
@skarolewics

Description

@skarolewics

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:
image
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

Metadata

Metadata

Assignees

No one assigned

    Labels

    FeatureAn improvement or featureUnresolvedWaiting for a fix or implementation

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions