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

shader-slang / slang-rhi / 25206682119

01 May 2026 07:33AM UTC coverage: 68.683% (+4.6%) from 64.069%
25206682119

push

github

web-flow
Metal: add useResource fallback for devices without MTLResidencySet (#727)

Replace the hard GPUFamilyApple6 gate with ArgumentBuffersTier2 and add
a runtime fallback for devices that lack MTLResidencySet (e.g. Apple
Paravirtual on CI macOS VMs).

ResidencySet path (default on capable hardware): resources are registered
in MTLResidencySet as before — no per-binding overhead.

Fallback path (!m_hasResidencySet): per-encoder useResources calls declare
resource residency before dispatches/draws. A BufferAddressMap provides
O(1) exact and O(log N) range-based GPU address → BufferImpl lookups so
that pointer fields in uniform data are automatically resolved for
residency. Pointer field offsets are collected from type layout reflection
at shader object layout init time, skipped entirely on the ResidencySet
path.

Also adds:
- Acceleration structure residency tracking (fixes pre-existing omission)
- Silent all-skip detection in the test harness: fails the run when a
  device probes as available but zero GPU tests execute
- bind-pointers-offset-address test exercising range-based address lookup
- SLANG_RHI_METAL_NO_RESIDENCY_SET env var to force the fallback path
- Feature::ResidencySet capability flag

Fixes #725
Part of shader-slang/slang#10841

12010 of 20344 branches covered (59.03%)

Branch coverage included in aggregate %.

174 of 281 new or added lines in 10 files covered. (61.92%)

28 existing lines in 5 files now uncovered.

35420 of 48712 relevant lines covered (72.71%)

278550.93 hits per line

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

56.34
/src/enum-strings.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