Skip to main content

Module vm

Module vm 

Source
Expand description

The vm module compiles and executes lexed BESL programs for deterministic host-side evaluation.

Structs§

Buffer
The Buffer struct provides mutable CPU storage for binding structured host data to a VM invocation.
BufferLayout
The BufferLayout struct provides the host-visible packed memory contract for one VM buffer binding.
BufferMemberLayout
The BufferMemberLayout struct defines how host code addresses one named member in packed VM memory.
DescriptorBindings
The DescriptorBindings struct provides invocation-scoped host resources to a compiled BESL program.
ExecutableProgram
The ExecutableProgram struct provides a reusable host-side execution form for one lexed BESL program.
ExecutionConfig
The ExecutionConfig struct bounds a VM invocation and supplies its shader-visible thread coordinates.
MeshOutputs
The MeshOutputs struct captures mesh-stage topology and positions for VM assertions.
ResourceSlot
The ResourceSlot struct provides a stable flat lookup key for host resources and VM interface resources.
SpecializationValues
The SpecializationValues struct supplies host-selected values for BESL specialization declarations.
TaskOutputs
The TaskOutputs struct captures task-stage mesh dispatch counts and payload values for VM assertions.
Texture
The Texture struct provides deterministic CPU texels for shader sampling, image access, and atomic assertions.
WorkgroupState
The WorkgroupState struct provides task-stage invocations with explicitly shared workgroup storage.

Enums§

DescriptorLayout
The DescriptorLayout enum stores the VM resource layout required by one descriptor slot.
Value
The Value enum stores the VM values that can move between registers, locals, and buffers.
ValueType
The ValueType enum describes portable BESL values and resource handles used by VM layouts and registers.
VmError

Functions§

builtin_position_slot
Returns the interface slot reserved for the vertex position builtin.
input_slot
output_slot