Skip to content

Wire AABB/procedural geometry through the Pipeline-level AS builder#1289

Open
MarijnS95 wants to merge 1 commit into
llvm:mainfrom
Traverse-Research:inlinert-aabb-procedural
Open

Wire AABB/procedural geometry through the Pipeline-level AS builder#1289
MarijnS95 wants to merge 1 commit into
llvm:mainfrom
Traverse-Research:inlinert-aabb-procedural

Conversation

@MarijnS95

@MarijnS95 MarijnS95 commented Jun 4, 2026

Copy link
Copy Markdown
Collaborator

Depends on #1245

Summary

Routes BLASDesc.AABBs through the Pipeline → API conversion in buildPipelineAccelerationStructures, picking the appropriate BLASBuildRequest variant (SmallVector<AABBGeometryDesc> or SmallVector<TriangleGeometryDesc> in Geometry) based on which geometry list is populated (mixed and empty cases now error explicitly). The DX/VK/MTL AABB build paths were already in place from the bring-up; this PR just hooks them up to YAML.

The covering test (Feature/InlineRT/aabb-procedural.test) defines a single AABB, fires a ray through it, and in the candidate loop calls CommitProceduralPrimitiveHit(); CommittedStatus() must return COMMITTED_PROCEDURAL_PRIMITIVE_HIT.

Part of the inline-RT test coverage epic (#1258).

Test plan

Local on an NVIDIA RTX 3060:

  • Linux Vulkan (native offloader)
  • Linux D3D12 (Wine + vkd3d-proton + cross-compiled offloader.exe)
  • Windows Vulkan (native offloader.exe)
  • Windows D3D12 (native offloader.exe)

CI (RT-capable runners):

  • windows-nvidia D3D12 (RaytracingTier 1.2)
  • windows-intel VK (VK_KHR_ray_tracing_pipeline)
  • macOS Metal (supportsRaytracing)

@MarijnS95 MarijnS95 force-pushed the inlinert-aabb-procedural branch from ab718cf to 98956e7 Compare June 4, 2026 15:44
@MarijnS95 MarijnS95 marked this pull request as draft June 4, 2026 16:11
@MarijnS95 MarijnS95 force-pushed the inlinert-aabb-procedural branch 2 times, most recently from 1347eb9 to a3c3822 Compare June 11, 2026 13:49
@MarijnS95 MarijnS95 marked this pull request as ready for review June 11, 2026 16:57
@MarijnS95 MarijnS95 force-pushed the inlinert-aabb-procedural branch from a3c3822 to 1a860dd Compare June 11, 2026 16:57
Comment thread lib/API/Device.cpp Outdated
Comment thread test/Feature/InlineRT/aabb-procedural.test Outdated
@MarijnS95 MarijnS95 force-pushed the inlinert-aabb-procedural branch 3 times, most recently from f290e50 to 50163b2 Compare June 29, 2026 13:12
@MarijnS95 MarijnS95 force-pushed the inlinert-aabb-procedural branch from 50163b2 to b8808e8 Compare July 1, 2026 10:00
Routes BLASDesc.AABBs through the Pipeline -> API conversion in
buildPipelineAccelerationStructures(), populating the BLASBuildRequest
Geometry variant with either SmallVector<AABBGeometryDesc> or
SmallVector<TriangleGeometryDesc> based on which geometry list is
populated (mixed and empty cases now error explicitly). The DX/VK/MTL
AABB build paths were already in place. The covering test defines a
single AABB, fires a ray through it, and in the candidate loop calls
CommitProceduralPrimitiveHit(); CommittedStatus() must return
COMMITTED_PROCEDURAL_PRIMITIVE_HIT.

Part of the inline-RT test coverage epic
(llvm#1258).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@MarijnS95 MarijnS95 force-pushed the inlinert-aabb-procedural branch from b8808e8 to 6d991f8 Compare July 2, 2026 15:52
@MarijnS95 MarijnS95 requested a review from manon-traverse July 2, 2026 19:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants