microsoft / DirectX-Specs

Engineering specs for DirectX features.

Home Page:https://devblogs.microsoft.com/directx/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

D3D12 Enhanced Barriers: Support for reading geometry data when building raytracing accel struct

jmoguill opened this issue · comments

"
D3D12_BARRIER_SYNC_BUILD_RAYTRACING_ACCELERATION_STRUCTURE
Synchronize scope for ID3D12GraphicsCommandList4::BuildAccelerationStructure work.

Corresponding barrier Access[Before|After] must have the D3D12_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_WRITE bit set.

Access types in this scope are limited to:

D3D12_BARRIER_ACCESS_RAYTRACING_ACCELERATION_STRUCTURE_READ
"

Currently D3D12 enhanced barriers doesn't seem to support the following combination:
D3D12_BARRIER_SYNC_BUILD_RAYTRACING_ACCELERATION_STRUCTURE with
D3D12_BARRIER_ACCESS_SHADER_RESOURCE...

What values do we pass when reading the geometry data while building the accel struct?

Vulkan spec supports the following combination:
VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR with VK_ACCESS_SHADER_READ_BIT
when reading the geometry data. I think d3d12 spec needs similar logic....