SD0030
Core code
unsupported feature for this backend
The registry text and every compiler message on these pages are the compiler's own English.
When it fires
The error already names the capability; what a reader needs next is where the per-backend support table lives, and that a capability with no row is a hard stop rather than something to work around.
Example
"use typeshade"
declare const data: storage<array<f32>, "read_write">
@compute([64])export function double(@builtin("global_invocation_id") id: vec3u): void { data[id.x] = data[id.x] * 2.}
@fragmentexport function main(@location(0) uv: vec2): vec4 { return vec4(uv, 0., 1.)}Compiled at build time against the pinned compiler, this program gets a TS8015 diagnostic, the front end reporting a backend that refused the module. The error the backend threw carries the code:
TS8015 warning, line 1: Backend emit failed: backend 'glsl-es300' cannot emit this module — missing capabilities: storageBuffer, compute
SD0030 backend 'glsl-es300' cannot emit this module — missing capabilities: storageBuffer, compute
How to fix it
The registry's hint: see AUTHORING.md#capabilities--extensions for the per-backend support table; a capability the target has no capProfile row for fails closed by design
The same program, corrected. It compiles with no diagnostic.
"use typeshade"
declare const data: storage<array<f32>, "read_write">
@compute([64])export function double(@builtin("global_invocation_id") id: vec3u): void { data[id.x] = data[id.x] * 2.}See also
-
TS8015BACKEND - A backend that refused to emit a module the front end accepted. The message is the backend's own.
Source
Where the compiler raises this code at commit 26de7be8, one line per file: