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....