SD0111
Core code
portable kernel outside the gather-only tier
No "use typeshade" program on this site raises this code, so the page has no example. The fn() builder builds the IR directly and reaches the check at the lines under Source.
The registry text and every compiler message on these pages are the compiler's own English.
When it fires
SD0110 is the author-run guard (fn() rejects the declaration on a non-compute stage); SD0111 is the shape gate, reported per violation by the portable-kernel rule at every emit on both writers and thrown by the GLSL lowering. Like SD0109 the per-violation remedy travels in the diagnostic's own message — the analyzer is its single authority — so the hint below states the tier, which is the invariant half.
How to fix it
The registry's hint: the portable tier is out[gid.x] = f(reads): a 1-D gid and workgroup, one u32 storage output written once at the invocation index, a vec4<u32> dispatch uniform, no raw statements — restructure or drop portable to keep the kernel WebGPU-only
The rule this enforces
- Rule 8.7 Test
@computecarries the workgroup size as an array literal of one to three whole numbers,x,yandz, a missingyorzbeing 1, and the default is 64; every extent reaches the emitted@workgroup_sizeand the reflection, and a shape over WebGPU’s default compute limits must be reported as a warning.
See also
Source
Where the compiler raises this code at commit 26de7be8, one line per file: