Skip to content

[SPIR-V] Add descriptor heap RaytracingAccelerationStructure support#8518

Open
jzakharovnv wants to merge 2 commits into
microsoft:mainfrom
jzakharovnv:pr2-raytracing-accel-struct
Open

[SPIR-V] Add descriptor heap RaytracingAccelerationStructure support#8518
jzakharovnv wants to merge 2 commits into
microsoft:mainfrom
jzakharovnv:pr2-raytracing-accel-struct

Conversation

@jzakharovnv
Copy link
Copy Markdown

Building off of #8517, this PR extends the SPV_EXT_descriptor_heap native heap lowering to cover RaytracingAccelerationStructure resources loaded from ResourceDescriptorHeap. It is part 2/4 in a series.

Acceleration structure descriptors are accessed via OpUntypedAccessChainKHR into a runtime array of OpTypeAccelerationStructureKHR, consistent with the image and sampler paths added in the previous commit.

Assisted by an AI agent

@dnovillo

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 4, 2026

✅ With the latest revision this PR passed the C/C++ code formatter.

@jzakharovnv jzakharovnv force-pushed the pr2-raytracing-accel-struct branch from b7b19c0 to d77c9f7 Compare June 4, 2026 21:58
Building off of microsoft#8281, this commit adds a native lowering via SPV_EXT_descriptor_heap and SPV_KHR_untyped_pointers.

ResourceDescriptorHeap and SamplerDescriptorHeap are lowered to untyped variables decorated with ResourceHeapEXT and SamplerHeapEXT. Each heap access emits OpUntypedAccessChainKHR into a runtime array of the appropriate descriptor type. Buffer-like resources (StructuredBuffer, ByteAddressBuffer, ConstantBuffer, TextureBuffer) use OpTypeBufferEXT and OpBufferPointerEXT; image and sampler resources use OpLoad. Interlocked operations on RWTexture use OpUntypedImageTexelPointerEXT.

Requires -fspv-target-env=vulkan1.3.

Assisted-by: Claude.
@jzakharovnv jzakharovnv force-pushed the pr2-raytracing-accel-struct branch from d77c9f7 to d899b05 Compare June 4, 2026 22:47
Extends the SPV_EXT_descriptor_heap native heap lowering to cover RaytracingAccelerationStructure resources loaded from ResourceDescriptorHeap.

Acceleration structure descriptors are accessed via OpUntypedAccessChainKHR into a runtime array of OpTypeAccelerationStructureKHR, consistent with the image and sampler paths added in the previous commit.
@jzakharovnv jzakharovnv force-pushed the pr2-raytracing-accel-struct branch from d899b05 to b12b9ea Compare June 4, 2026 22:59
@jzakharovnv
Copy link
Copy Markdown
Author

@microsoft-github-policy-service agree company="NVIDIA"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: New

Development

Successfully merging this pull request may close these issues.

1 participant