• 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

65.18
/src/cuda/optix-api-impl.cpp


Build SHA Not Found

The commit SHA "1ff054409c131f3f34a3fd5f10fc5039d6a84d51" was not found in your repository, so the file cannot be loaded. This may be because you posted from a local development environment, or your CI created an ephemeral commit.

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

© 2026 Coveralls, Inc