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

shader-slang / slang-rhi / 25206682119
69%

Build:
DEFAULT BRANCH: main
Ran 01 May 2026 07:37AM UTC
Jobs 3
Files 253
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

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

Uncovered Changes

Lines Coverage ∆ File
42
61.93
54.42% src/metal/metal-device.cpp
35
71.24
71.24% src/metal/metal-shader-object.cpp
20
65.8
65.8% src/metal/metal-command.cpp
5
0.0
0.0% src/metal/metal-acceleration-structure.cpp
3
89.23
src/metal/metal-buffer-address-map.h
1
94.16
94.16% src/metal/metal-shader-object-layout.cpp
1
83.08
83.08% src/metal/metal-shader-object-layout.h

Coverage Regressions

Lines Coverage ∆ File
16
65.18
-0.84% src/cuda/optix-api-impl.cpp
7
61.93
54.42% src/metal/metal-device.cpp
2
71.41
5.24% include/slang-rhi.h
2
56.34
-0.38% src/enum-strings.cpp
1
47.59
-0.69% src/strings.h
Jobs
ID Job ID Ran Files Coverage
2 linux-x86_64 - 25206682119.2 01 May 2026 07:37AM UTC 173
64.14
GitHub Action Run
3 macos-aarch64 - 25206682119.3 01 May 2026 07:40AM UTC 166
38.34
GitHub Action Run
1 windows-x86_64 - 25172326390.1 30 Apr 2026 03:00PM UTC 227
67.94
GitHub Action Run
Source Files on build 25206682119
  • Tree
  • List 253
  • Changed 48
  • Source Changed 11
  • Coverage Changed 48
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #25206682119
  • 1ff05440 on github
  • Prev Build on main (#25172326390)
  • Next Build on main (#25320415611)
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