# Vulkan RayQuery + descriptor heap: stable on 610.88, GPU page faults on 616.x / 617.x; Nsight Graphics dies at vkCreateDevice

**URL:** <https://forums.developer.nvidia.com/t/vulkan-rayquery-descriptor-heap-stable-on-610-88-gpu-page-faults-on-616-x-617-x-nsight-graphics-dies-at-vkcreatedevice/384792>\
**Category:** Vulkan\
**Tags:** vulkan-raytracing, vulkan, gaming\
**Created:** [September 30, 2026, 10:43pm UTC](https://forums.developer.nvidia.com/t/vulkan-rayquery-descriptor-heap-stable-on-610-88-gpu-page-faults-on-616-x-617-x-nsight-graphics-dies-at-vkcreatedevice/384792 "2026-09-30T22:43:02Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Dioxyd](https://developer.download.nvidia.com/images/forums/profile-default-devtalk-84.png) [@Dioxyd](https://forums.developer.nvidia.com/u/Dioxyd)\
**Post date:** [September 30, 2026, 10:43pm UTC](https://forums.developer.nvidia.com/t/vulkan-rayquery-descriptor-heap-stable-on-610-88-gpu-page-faults-on-616-x-617-x-nsight-graphics-dies-at-vkcreatedevice/384792/1 "2026-09-30T22:43:03Z")

</div>

Hi,

I’m seeing what looks like a driver regression with Vulkan ray query on recent Game Ready drivers, and I wanted to check whether others hit the same thing before I invest in a minimal standalone repro.

### Setup

- Custom Vulkan engine (not Unreal/Unity)
- NVIDIA GPU (Windows)
- Vulkan 1.3+ with:
  - `VK_KHR_ray_query`
  - `VK_KHR_acceleration_structure`
  - `VK_EXT_descriptor_heap` (bindless resource heap; acceleration structures bound as descriptors and indexed from shaders)
  - `VK_KHR_unified_image_layouts`

- Fragment shaders use `RayQuery` / `TraceRayInline` against a bindless TLAS (shadow / occlusion style queries). Compute also uses RayQuery in some passes (e.g. AO).
- Worlds recreate / grow TLASes when content is loaded and unloaded (editor-style open/close of scenes).
- Khronos validation layers: no validation errors (standard, synchronization, GPU-assisted) leading up to the crash.
- Nsight Aftermath GPU crash dumps available on the failing drivers.

### Driver matrix

| Driver | Result |
| --- | --- |
| 610.88 (latest 610.x I tested) | Stable — I cannot reproduce the crash after extended stress |
| 616.x | Intermittent GPU crash / device lost |
| 617.14 (latest I tested) | Same class of crash |

Same binary, same content, same workflow. Only the driver changes.

### Crash behavior (617 / 616)

- `VK_ERROR_DEVICE_LOST`
- Aftermath: `Error_DMA_PageFault`
- Faulted warp is typically a fragment shader doing RayQuery (`Proceed` / traversal), not a random CPU-side assert
- Fault addresses are often not any acceleration-structure base I logged. Examples:
  - `0x000000003f800000` (IEEE bit pattern for 1.0f)
  - previously also unmapped / garbage VAs such as `0xc60025000`

- Markers at fault time often show render passes that use RayQuery (e.g. translucent / OIT path and ambient occlusion) as active or recently finished

So this does not look like a simple “app freed a buffer and validation missed it” fingerprint; the SM appears to be traversing nonsense addresses during RayQuery.

### Nsight Graphics

Nsight Graphics has never been able to capture this application since the current renderer landed. The likely culprits are the newer extensions I enable, especially `VK_EXT_descriptor_heap` and `VK_KHR_unified_image_layouts` (alongside ray query / acceleration structures). It fails during Vulkan device creation, before rendering. That has been true across drivers I’ve tried, so I’m treating it as a tooling/extension support gap rather than part of the 610 to 616 crash regression. It does mean I can’t use Nsight to debug the RayQuery page faults on 616+.

Aftermath in-process crash dumps still work when enabled.

### What I’m asking

1. Are there known RayQuery / descriptor-heap / bindless AS issues on 616+ that were not present on 610.x?
2. Is Nsight Graphics expected to support apps that enable `VK_EXT_descriptor_heap` and `VK_KHR_unified_image_layouts` (with ray query) on current drivers, or are device-create failures a known limitation?
3. Any recommended isolation (e.g. specific extensions, `VK_NV_*` diagnostics, or a minimal pattern NVIDIA wants for a bug report)?

I can work on a small headless Vulkan stress sample (bindless TLAS slot + fragment RayQuery + create/destroy/grow loop) and gfxreconstruct captures if that is the preferred path. Shipping the full editor is not practical, but the failure is deterministic enough across drivers that a reduced case should be possible.

Thanks.
