• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

shader-slang / slang-rhi / 28387478726

29 Jun 2026 04:33PM UTC coverage: 67.103% (-1.2%) from 68.301%
28387478726

push

github

web-flow
Vulkan: support VK_KHR_shader_abort + VK_KHR_device_fault (#782)

* Vulkan: enable VK_KHR_shader_abort + VK_KHR_device_fault for runtime abort testing

Adds device-side plumbing so a shader calling abort() (lowered to OpAbortKHR)
can be dispatched, the resulting device loss observed, and the abort message
read back via VK_KHR_device_fault. A single Feature::ShaderAbort is reported
only when the full extension chain (shader_abort, which hard-depends on
device_fault and shader_constant_data) is available, and the abort message is
surfaced through the existing debug-message callback on device loss.

Requires bumping the Vulkan-Headers dependency v1.4.318 -> v1.4.347, the
minimal release that defines VK_KHR_shader_abort; all new code is
#ifdef-guarded so older header overrides still compile.

Prerequisite for shader-slang/slang#11790.

Co-authored-by: Harsh Aggarwal <haaggarwal@nvidia.com>

* Address review: stabilize Feature value, require shaderConstantData, report fence-wait device loss

- Append Feature::ShaderAbort at the end of SLANG_RHI_FEATURES rather than in the
  Vulkan section, so the numeric values of existing enumerators stay stable
  (Feature is part of the public API).
- Require the shaderConstantData feature bit (not just the extension) before
  reporting Feature::ShaderAbort, and enable all three extensions uniformly via
  addFeatureExtension.
- Guard reportShaderAbortMessage on both VK_KHR_device_fault and VK_KHR_shader_abort,
  since VkDeviceFaultShaderAbortMessageInfoKHR comes from shader_abort.
- Report device loss from DeviceImpl::waitForFences instead of failing silently, so a
  caller waiting on timeline fences after an aborting dispatch also sees the abort message.

Co-authored-by: Harsh Aggarwal <haaggarwal@nvidia.com>

* Address review feedback on VK_KHR_shader_abort enablement

- Drop the #ifdef VK_KHR_shader_abort / VK_KHR_device_fault / VK_KHR_shader_constant_data
  guards: slang-rhi pins its own Vulkan-Headers, so these symb... (continued)

12362 of 22596 branches covered (54.71%)

Branch coverage included in aggregate %.

11 of 43 new or added lines in 3 files covered. (25.58%)

5 existing lines in 2 files now uncovered.

36790 of 50653 relevant lines covered (72.63%)

268994.55 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

60.56
/src/vulkan/vk-device.cpp


Source Not Available

STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc