GpuFeature¶
Import: import system.gpu;
This reference lists the public declarations for this part of the library. See Reading API signatures for parameter and result notation. Shader-only declarations can be used only inside @compute, @vertex, @fragment, inferred helpers and ray tracing shader functions; using them elsewhere is a compile error.
GpuFeature¶
An optional GPU capability. Ask a device with GpuDevice.supports; pipelines that need a capability the device lacks fail with GpuError.UnsupportedCapability.
RayTracing¶
Ray tracing pipelines: @ray_generation, hit, miss, intersection and callable shaders.
RayQuery¶
Inline ray queries with GpuRayQuery in ordinary shaders.
Bindless¶
Bindless resources through GpuHandle.
Subgroups¶
Subgroup operations such as subgroup_add. On WebGPU this is the optional subgroups feature, which the browser may not grant.
CooperativeVectors¶
Hardware cooperative vectors (GpuCoopVec, GpuMlpWeights), on Vulkan and D3D12 devices whose drivers expose them.
CooperativeMatrices¶
Hardware cooperative matrices (GpuCoopMat): Vulkan devices with the cooperative matrix extension, and Metal on Apple-silicon GPUs (8 by 8 tiles).
Float16¶
float16 arithmetic and float16 buffer elements in shaders. On WebGPU this is the optional shader-f16 feature. GpuBuffer<float16> uploads and downloads work without it.
Atomics64¶
64-bit atomic operations on buffers.