pub struct ExecutableProgram { /* private fields */ }Expand description
The ExecutableProgram struct provides a reusable host-side execution form for one lexed BESL program.
Implementations§
Source§impl ExecutableProgram
impl ExecutableProgram
Sourcepub fn run_main(
&self,
descriptors: &mut DescriptorBindings<'_>,
) -> Result<(), VmError>
pub fn run_main( &self, descriptors: &mut DescriptorBindings<'_>, ) -> Result<(), VmError>
Executes the compiled main function using the currently bound descriptor resources.
Sourcepub fn run_main_with_config(
&self,
descriptors: &mut DescriptorBindings<'_>,
config: &ExecutionConfig,
) -> Result<(), VmError>
pub fn run_main_with_config( &self, descriptors: &mut DescriptorBindings<'_>, config: &ExecutionConfig, ) -> Result<(), VmError>
Executes main with explicit execution limits and shader invocation coordinates.
Each call represents one invocation. Workgroup barriers preserve local instruction order but do not schedule or wait for peer invocations.
Sourcepub fn run_task_workgroup(
&self,
descriptors: &mut DescriptorBindings<'_>,
configs: &[ExecutionConfig],
) -> Result<(), VmError>
pub fn run_task_workgroup( &self, descriptors: &mut DescriptorBindings<'_>, configs: &[ExecutionConfig], ) -> Result<(), VmError>
Executes every task invocation in one workgroup with synchronized barriers and shared bound state.
Configurations run in slice order between barriers. This ordering makes
atomic compaction deterministic for VM assertions. The scheduler rejects
barriers in nested helper functions because only the main frame participates
in the rendezvous.
Source§impl ExecutableProgram
impl ExecutableProgram
Sourcepub fn compile(program: NodeReference) -> Result<Self, VmError>
pub fn compile(program: NodeReference) -> Result<Self, VmError>
Compiles a lexed BESL program into a runnable VM program.
Sourcepub fn compile_with_specializations(
program: NodeReference,
specializations: &SpecializationValues,
) -> Result<Self, VmError>
pub fn compile_with_specializations( program: NodeReference, specializations: &SpecializationValues, ) -> Result<Self, VmError>
Compiles a lexed BESL program using host-provided specialization values.