Skip to content

ludus::graphics::rhi::ComputeDispatch

Ludus Wiki · API overview · Browse API

Struct

One logical compute pass contains exactly one dispatch. Dependent dispatches need separate ordered graph passes. Shader-local races remain kernel obligations.

Note

On native Metal, storage-buffer GetDimensions uses the bound range's byte length, not the full allocation. Querying ranges beyond uint32 byte capacity returns Unsupported before dispatch; shaders must still bound their own indices.

Declared in modules/graphics/rhi/include/ludus/graphics/rhi/compute.h

#include <ludus/graphics/rhi/compute.h>
struct ludus::graphics::rhi::ComputeDispatch final

Fields

Pipeline

ComputePipelineHandle ludus::graphics::rhi::ComputeDispatch::Pipeline {}
Ready immutable pipeline.

Related types: ComputePipelineHandle

Declared in modules/graphics/rhi/include/ludus/graphics/rhi/compute.h

Bindings

BindingSetHandle ludus::graphics::rhi::ComputeDispatch::Bindings {}
Ready binding snapshot with exactly the pipeline layout.

Related types: BindingSetHandle

Declared in modules/graphics/rhi/include/ludus/graphics/rhi/compute.h

Groups

ludus::foundation::uint32 ludus::graphics::rhi::ComputeDispatch::Groups[3][3] {1, 1, 1}
Number of workgroups, nonzero and bounded on every axis.

Related types: ludus::foundation::uint32

Declared in modules/graphics/rhi/include/ludus/graphics/rhi/compute.h

BindingOffsets

RasterBindingOffsets ludus::graphics::rhi::ComputeDispatch::BindingOffsets {}
Additional byte offsets for dynamic uniform/storage entries, copied into the graph.

Related types: RasterBindingOffsets

Declared in modules/graphics/rhi/include/ludus/graphics/rhi/compute.h