a large table of textures, samplers and buffers that shaders index (level Voll): binding 0
sampled textures, 1 samplers, 2 storage buffers, 3 storage textures; slots may be changed
while command buffers that use the table are pending, as long as those do not use the slot
(G5d) a queue of its own for compute shaders and copies, beside the device’s queue (Device::compute_queue): its
encoders record no render passes, its submissions run in parallel with the device queue’s unless one waits for the
other (submit_after)
a pipeline-overridable constant: WGSL @id(id) override, SPIR-V SpecId id. The value
is an f64 as in WebGPU’s GPUProgrammableStage.constants and is converted to the
override’s type the way WebGPU converts it: bool true unless 0 or NaN; i32 / u32 (and the
other integers) truncated toward 0, Invalid when not finite or out of range; f32 / f16 /
f64 rounded to nearest, Invalid when not finite or out of range. An id the module does not
declare, or the same id twice, is Invalid (Vulkan would ignore it; WebGPU does not).
Overrides the pipeline leaves out keep the module’s default.
the layout of texel data in a buffer or slice: rows of bytes_per_row bytes (0: tightly
packed), rows_per_image rows per layer / slice (0: the region’s height)
(G5d) what Adapter::create_device_with sets up beyond DeviceDesc; DEFAULT is what create_device does. Fields may
come in later versions: start from DEFAULT
the order of adapters for showing windows, lower first (None: not for this): the adapter that
drives the display needs no copy across GPUs and is awake anyway; an integrated one before a
discrete one that would have to wake up
validation errors and warnings reported by the debug messenger so far (every instance of
the process; 0, 0 without jfgui_GPU_VALIDATE / jfgui_GPU_DEBUG)