docs(vulkan-rt): native descriptor-heap AS read is an NVIDIA driver fault (#7) #10
No reviewers
Labels
No labels
claude:done
claude:in-progress
claude:ready
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Catcrafts/Crafter.Graphics!10
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "claude/issue-7"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Resolves #7 — investigation of
VK_ERROR_DEVICE_LOSTon the native ray-traced triangle.Conclusion: this is a driver-side fault in NVIDIA's brand-new
VK_EXT_descriptor_heapacceleration-structure path, not an engine bug. (The issue noted a verified driver error is an acceptable answer.) No engine fix is possible — you cannot obtain anaccelerationStructureEXTin a shader except from a descriptor / the heap. This PR records the finding in the docs; the example is left as a faithful reproducer.How it was verified
FinishInitdoesvkQueueWaitIdle), the built TLAS instance is well-formed (identity transform,mask=0xFF, correct BLAS device address), andvkWriteResourceDescriptorsEXTstores the TLAS device address at the expected heap byte offset (confirmed by dumping the raw heap bytes). Khronos validation 1.4.350 reports zero errors for the whole frame, including the SBT regions.traceRayEXTremoved, the raygenimageStorepath renders a full gradient (see screenshot) — heap binding, image descriptor and present are all sound.traceRayEXT) and inline ray query (rayQueryEXT, which uses no SBT) fault identically the moment they read the acceleration structure from the heap.pAddressRangesize.VK_EXT_device_faultreports an invalid GPU read (~0xffff…) + instruction-pointer faults inside the RT shader.610.43.02is the only implementation here advertisingVK_EXT_descriptor_heap(llvmpipe lacks it), so there is no second conformant implementation to cross-check against.Next step: report to NVIDIA. WebGPU RT is unaffected.
Changes
examples/VulkanTriangle/README.md— replace the stale "trace is commented out" note with the full native-status investigation.README.md— add a native-RT status callout.examples/VulkanTriangle/main.cpp— short comment by the RT pass pointing at the writeup.Screenshots
Control render with the AS read disabled (proves the descriptor-heap image + present path is sound; only the AS read faults):