pub struct ExecutionConfig { /* private fields */ }Expand description
The ExecutionConfig struct bounds a VM invocation and supplies its shader-visible thread coordinates.
Implementations§
Source§impl ExecutionConfig
impl ExecutionConfig
Sourcepub fn new(instruction_limit: usize) -> Self
pub fn new(instruction_limit: usize) -> Self
Creates an invocation config with an explicit instruction budget and default coordinates.
Sourcepub const fn instruction_limit(&self) -> usize
pub const fn instruction_limit(&self) -> usize
Returns the maximum number of instructions shared by the invocation’s call tree.
Sourcepub const fn call_depth_limit(&self) -> usize
pub const fn call_depth_limit(&self) -> usize
Returns the maximum nested BESL function-call depth.
Sourcepub const fn max_mesh_vertex_count(&self) -> u32
pub const fn max_mesh_vertex_count(&self) -> u32
Returns the maximum vertex count a mesh invocation may request.
Sourcepub const fn max_mesh_primitive_count(&self) -> u32
pub const fn max_mesh_primitive_count(&self) -> u32
Returns the maximum primitive count a mesh invocation may request.
Sourcepub const fn max_task_mesh_output_count(&self) -> u32
pub const fn max_task_mesh_output_count(&self) -> u32
Returns the maximum mesh workgroup count a task invocation may request.
Sourcepub const fn thread_id(&self) -> [u32; 2]
pub const fn thread_id(&self) -> [u32; 2]
Returns the two-dimensional compute invocation coordinate.
Sourcepub const fn thread_idx(&self) -> u32
pub const fn thread_idx(&self) -> u32
Returns the mesh or workgroup-local invocation index.
Sourcepub const fn thread_position(&self) -> u32
pub const fn thread_position(&self) -> u32
Returns the task invocation’s scalar position in the dispatched grid.
Sourcepub const fn threadgroup_position(&self) -> u32
pub const fn threadgroup_position(&self) -> u32
Returns the mesh workgroup position visible to the shader.
Sourcepub fn with_call_depth_limit(self, limit: usize) -> Self
pub fn with_call_depth_limit(self, limit: usize) -> Self
Selects an explicit nested function-call limit for this invocation.
Sourcepub fn with_max_mesh_vertex_count(self, limit: u32) -> Self
pub fn with_max_mesh_vertex_count(self, limit: u32) -> Self
Selects the maximum vertex count accepted from mesh output-count intrinsics.
Sourcepub fn with_max_mesh_primitive_count(self, limit: u32) -> Self
pub fn with_max_mesh_primitive_count(self, limit: u32) -> Self
Selects the maximum primitive count accepted from mesh output-count intrinsics.
Sourcepub fn with_max_task_mesh_output_count(self, limit: u32) -> Self
pub fn with_max_task_mesh_output_count(self, limit: u32) -> Self
Selects the maximum mesh workgroup count accepted from task output-count intrinsics.
Sourcepub fn with_thread_id(self, thread_id: [u32; 2]) -> Self
pub fn with_thread_id(self, thread_id: [u32; 2]) -> Self
Selects the two-dimensional compute invocation coordinate.
Sourcepub fn with_thread_idx(self, thread_idx: u32) -> Self
pub fn with_thread_idx(self, thread_idx: u32) -> Self
Selects the mesh or workgroup-local invocation index.
Sourcepub fn with_thread_position(self, position: u32) -> Self
pub fn with_thread_position(self, position: u32) -> Self
Selects the task invocation’s scalar position in the dispatched grid.
Sourcepub fn with_threadgroup_position(self, position: u32) -> Self
pub fn with_threadgroup_position(self, position: u32) -> Self
Selects the mesh workgroup position visible to the shader.
Trait Implementations§
Source§impl Clone for ExecutionConfig
impl Clone for ExecutionConfig
Source§fn clone(&self) -> ExecutionConfig
fn clone(&self) -> ExecutionConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more