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

shader-slang / slang-rhi / 20819876139

08 Jan 2026 02:17PM UTC coverage: 20.275% (-2.4%) from 22.723%
20819876139

push

github

web-flow
Add final ray tracing tests (#614)

* Add tests for AcceptHitAndEndSearch and IgnoreHit

* Add tests for querying ray attributes in closesthit

Add tests for these intrinsics:

- HitKind
- RayTMin
- RayTCurrent
- RayFlags
- GeometryIndex
- HitTriangleVertexPosition
- RayCurrentTime
- InstanceID
- InstanceIndex

* Add HitObject.GetRayDesc/GetInstanceID tests

* Add test for HitObject.GetClusterID

* Add test for HitObject.SetShaderTableIndex

* Add tests for HitObject SBT access intrinsics and backend support

Add tests for HitObject.LoadLocalRootTableConstant (HLSL/CUDA) and
HitObject.GetShaderRecordBufferHandle (Vulkan/SPIRV).

Changes:
- Added two new ray tracing tests that validate SBT data access
- Updated OptiX backend to apply ShaderRecordOverwrite for miss, hit
  group, and callable shaders
- Updated Vulkan backend to apply ShaderRecordOverwrite and use strides
  when dispatching rays

* Add test for CallShader

* Skip SetShaderTableIndex test when OptiX is older than 9.0

* Fix issue where ray-tracing-hitobject-get-shader-record-buffer-handle only read bottom bits of handle

* Forgot to run pre-commit

* fix(d3d12): Calculate shader table record sizes from overwrites

The D3D12 shader table implementation was using fixed record sizes
(D3D12_SHADER_IDENTIFIER_SIZE_IN_BYTES) for all shader types, which
caused buffer overruns when ShaderRecordOverwrite data extended beyond
the shader identifier.

Changes:
- Added per-shader-type stride members to ShaderTableImpl
- Calculate record sizes by examining overwrites for each shader type
- Use explicit base index calculation for different shader sections
- Update dispatch ray descriptions to use calculated strides
- Align all record sizes to D3D12_RAYTRACING_SHADER_TABLE_BYTE_ALIGNMENT

This fixes a segfault in ray-tracing-hitobject-query-invoke-hit-ch.d3d12
where hit group shader records with local root arguments (SBT overwrites)
were overflowing the allocated buffer.

* Fix Vulkan raygen shader bindin... (continued)

2871 of 18000 branches covered (15.95%)

Branch coverage included in aggregate %.

47 of 226 new or added lines in 5 files covered. (20.8%)

375 existing lines in 8 files now uncovered.

9582 of 43420 relevant lines covered (22.07%)

73.16 hits per line

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

9.52
/src/debug-layer/debug-shader-object.h


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