docs(vulkan-rt): record native descriptor-heap AS read as a driver fault
Investigated the VK_ERROR_DEVICE_LOST on the native VulkanTriangle (#7). Verified the engine side is correct and validation-clean: the BLAS/TLAS build finishes before render (FinishInit waits), the built instance is well-formed (identity transform, mask=0xFF, correct BLAS ref), and vkWriteResourceDescriptorsEXT stores the TLAS device address at the expected heap offset (confirmed by dumping the heap bytes). Khronos validation 1.4.350 reports zero errors. The fault is isolated to reading the acceleration structure through VK_EXT_descriptor_heap: - images/buffers via the same heap render fine (trace disabled -> the raygen imageStore path renders a full gradient); - both traceRayEXT and inline rayQueryEXT (no SBT) fault identically on the AS read; - reproduces with the AS descriptor at heap byte 0 / shader index 0 (no offset/stride ambiguity) and regardless of pAddressRange size. NVIDIA 610.43.02 is the only descriptor_heap implementation available (llvmpipe lacks the extension), so there is no second implementation to cross-check. Conclusion: driver-side fault in NVIDIA's brand-new VK_EXT_descriptor_heap acceleration-structure path; should be reported to NVIDIA. The traceRayEXT call is left active so the example stays a faithful reproducer. Documented in both READMEs. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
26a41ac528
commit
464cb66063
3 changed files with 59 additions and 6 deletions
|
|
@ -24,6 +24,15 @@ Vulkan ray tracing is hardware (`VK_KHR_ray_tracing_pipeline`); WebGPU
|
|||
ray tracing is a library-built software path (BVH + traceRay in a
|
||||
compute pipeline composed from user-supplied WGSL stages).
|
||||
|
||||
> **Native RT status:** reading an acceleration structure through
|
||||
> `VK_EXT_descriptor_heap` currently aborts with `VK_ERROR_DEVICE_LOST` on
|
||||
> NVIDIA driver `610.43.02` — a driver-side fault in the brand-new
|
||||
> descriptor-heap acceleration-structure path, not an engine bug. The
|
||||
> engine setup (build, descriptors, SBT) is correct and validation-clean,
|
||||
> and images/buffers through the same heap work. See
|
||||
> [examples/VulkanTriangle/README.md](examples/VulkanTriangle/README.md)
|
||||
> for the full investigation. WebGPU RT is unaffected.
|
||||
|
||||
## What's in here
|
||||
|
||||
- **Window** — Wayland, Win32, and DOM backends, swapchain ring / canvas
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue