Skip to content

Temporary upload buffers are bound as UAVs in DX12 scene build dispatches #228

@NoahMercury

Description

@NoahMercury

The temporary buffers holding InstanceDescriptions are allocated off of the upload heap, and then bound as UAVs in the scene BVH build dispatches. This is illegal and is reported as such by GPU-based validation.

If these resources receive D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS, the error is caught immediately by the debug layer, so that's not the fix. The correct fix is to allocate another non-upload buffer and copy the data to it from the upload buffer.

Repro steps:

  1. Take a PIX for Windows capture of the basic test.
  2. Open the capture, go to the "Warnings" pane.
  3. Click "run GPU-based validation". When the prompt comes up asking for running the analysis, click "Yes".

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions