cubecl_spirv

Struct SpirvCompiler

Source
pub struct SpirvCompiler<Target: SpirvTarget = GLCompute> {
    pub target: Target,
    pub mode: ExecutionMode,
    pub debug: bool,
    pub setup_block: usize,
    pub opt: Optimizer,
    pub current_block: Option<NodeIndex>,
    pub visited: HashSet<NodeIndex>,
    pub capabilities: HashSet<Capability>,
    pub state: LookupTables,
    /* private fields */
}

Fields§

§target: Target§mode: ExecutionMode§debug: bool§setup_block: usize§opt: Optimizer§current_block: Option<NodeIndex>§visited: HashSet<NodeIndex>§capabilities: HashSet<Capability>§state: LookupTables

Implementations§

Source§

impl<T: SpirvTarget> SpirvCompiler<T>

Source

pub fn compile_branch(&mut self, branch: Branch)

Source

pub fn compile_read_bound( &mut self, arr: &Variable, index: Word, item: Item, read: impl FnOnce(&mut Self) -> Word, ) -> Word

Source

pub fn compile_write_bound( &mut self, arr: &Variable, index: Word, write: impl FnOnce(&mut Self), )

Source

pub fn compile_copy_bound( &mut self, input: &Variable, out: &Variable, in_index: Word, out_index: Word, len: Option<u32>, copy: impl FnOnce(&mut Self), )

Source

pub fn compile_control_flow(&mut self, control_flow: ControlFlow)

Source§

impl<T: SpirvTarget> SpirvCompiler<T>

Source

pub fn compile_cmma(&mut self, cmma: CoopMma)

Source

pub fn deref_slice(&mut self, var: &Variable) -> Word

Source

pub fn item(&mut self, mat: &Matrix) -> Item

Source

pub fn init_coop_matrix(&mut self, mat: Matrix) -> Matrix

Source§

impl<Target: SpirvTarget> SpirvCompiler<Target>

Source

pub fn compile_kernel( &mut self, kernel: KernelDefinition, ) -> (Module, Optimizer)

Source

pub fn current_block(&self) -> &BasicBlock

Source

pub fn builtin(&mut self, builtin: BuiltIn, item: Item) -> Word

Source

pub fn compile_block(&mut self, block: NodeIndex)

Source

pub fn declare_function_variable(&mut self, ty: Word) -> Word

Source

pub fn debug_name(&mut self, var: Word, name: impl Into<String>)

Source§

impl<T: SpirvTarget> SpirvCompiler<T>

Source

pub fn compile_operation(&mut self, op: Operation)

Source

pub fn compile_operator(&mut self, op: Operator)

Source

pub fn compile_unary_op_cast( &mut self, op: UnaryOperator, exec: impl FnOnce(&mut Self, Item, Word, Word, Word), )

Source

pub fn compile_unary_op( &mut self, op: UnaryOperator, exec: impl FnOnce(&mut Self, Item, Word, Word, Word), )

Source

pub fn compile_unary_op_bool( &mut self, op: UnaryOperator, exec: impl FnOnce(&mut Self, Item, Word, Word, Word), )

Source

pub fn compile_binary_op( &mut self, op: BinaryOperator, exec: impl FnOnce(&mut Self, Item, Word, Word, Word, Word), )

Source

pub fn compile_binary_op_no_cast( &mut self, op: BinaryOperator, exec: impl FnOnce(&mut Self, Item, Word, Word, Word, Word), )

Source

pub fn compile_binary_op_bool( &mut self, op: BinaryOperator, exec: impl FnOnce(&mut Self, Item, Word, Word, Word, Word), )

Source§

impl<T: SpirvTarget> SpirvCompiler<T>

Source

pub fn compile_item(&mut self, item: Item) -> Item

Source

pub fn static_core(&mut self, val: Variable, item: &Item) -> Word

Source

pub fn static_cast(&mut self, val: ConstVal, from: &Elem, item: &Item) -> Word

Source§

impl<T: SpirvTarget> SpirvCompiler<T>

Source

pub fn init_state(&mut self, kernel: KernelDefinition)

Source

pub fn const_u32(&mut self, value: u32) -> Word

Source

pub fn get_or_insert_const( &mut self, value: ConstVal, item: Item, insert: impl FnOnce(&mut Self) -> Word, ) -> Word

Source

pub fn get_or_insert_global( &mut self, global: Globals, insert: impl FnOnce(&mut Self) -> Word, ) -> Word

Source

pub fn get_local(&mut self, id: (u16, u8), item: &Item) -> Word

Source

pub fn get_binding(&mut self, id: (u16, u8)) -> Word

Source

pub fn merge_binding(&mut self, id: (u16, u8), word: Word)

Source

pub fn get_versioned(&mut self, id: (u16, u8, u16)) -> Word

Source

pub fn label(&mut self, block: NodeIndex) -> Word

Source

pub fn end_label(&mut self, block: NodeIndex) -> Word

Source

pub fn global_scalar(&mut self, id: u16, elem: Elem) -> Variable

Source§

impl<T: SpirvTarget> SpirvCompiler<T>

Source

pub fn compile_meta(&mut self, meta: Metadata)

Source

pub fn length(&mut self, var: &Variable, out: Option<&Variable>) -> Word

Source§

impl<T: SpirvTarget> SpirvCompiler<T>

Source

pub fn compile_subcube(&mut self, subcube: Subcube)

Source§

impl<T: SpirvTarget> SpirvCompiler<T>

Source

pub fn compile_sync(&mut self, sync: Synchronization)

Source§

impl<T: SpirvTarget> SpirvCompiler<T>

Source

pub fn compile_variable(&mut self, variable: Variable) -> Variable

Source

pub fn rank(&mut self) -> Word

Source

pub fn rank_2(&mut self) -> Word

Source

pub fn read(&mut self, variable: &Variable) -> Word

Source

pub fn read_as(&mut self, variable: &Variable, item: &Item) -> Word

Source

pub fn index( &mut self, variable: &Variable, index: &Variable, unchecked: bool, ) -> IndexedVariable

Source

pub fn read_indexed( &mut self, out: &Variable, variable: &Variable, index: &Variable, ) -> Word

Source

pub fn read_indexed_unchecked( &mut self, out: &Variable, variable: &Variable, index: &Variable, ) -> Word

Source

pub fn index_ptr(&mut self, var: &Variable, index: &Variable) -> Word

Source

pub fn write_id(&mut self, variable: &Variable) -> Word

Source

pub fn write(&mut self, variable: &Variable, value: Word)

Source

pub fn write_indexed(&mut self, out: &Variable, index: &Variable, value: Word)

Source

pub fn write_indexed_unchecked( &mut self, out: &Variable, index: &Variable, value: Word, )

Methods from Deref<Target = Builder>§

Source

pub fn insert_into_block( &mut self, insert_point: InsertPoint, inst: Instruction, ) -> Result<(), Error>

Source

pub fn insert_types_global_values( &mut self, insert_point: InsertPoint, inst: Instruction, )

Source

pub fn pop_instruction(&mut self) -> Result<Instruction, Error>

Source

pub fn set_version(&mut self, major: u8, minor: u8)

Sets the SPIR-V version to the given major.minor version.

If this method is not called, the generated SPIR-V will be set as the newest version supported.

Source

pub fn version(&self) -> Option<(u8, u8)>

Get the SPIR-V version as a (major, minor) tuple

Source

pub fn module_ref(&self) -> &Module

Returns the Module under construction as a reference. Note that header.bound will be inaccurate.

Source

pub fn module_mut(&mut self) -> &mut Module

Returns the Module under construction as a mutable reference. Note that header.bound will be inaccurate.

Source

pub fn selected_function(&self) -> Option<usize>

Source

pub fn selected_block(&self) -> Option<usize>

Source

pub fn id(&mut self) -> u32

Returns the next unused id.

Source

pub fn dedup_insert_type(&mut self, inst: &Instruction) -> Option<u32>

Insert a OpType instruction, deduplicate it if needed and either return the existing ID or a new unused ID if we can’t find find the instruction already. Useful to uphold the SPIR-V rule that non-aggregate types can’t be duplicates.

Source

pub fn find_return_block_indices(&self) -> Vec<usize>

Find all blocks that end in OpReturn

Source

pub fn select_function_by_name(&mut self, name: &str) -> Result<(), Error>

Select a function to insert instructions into by name

Source

pub fn select_function(&mut self, idx: Option<usize>) -> Result<(), Error>

Select a function to insert instructions into by index (indexed into self.module.functions), or unselect if None

Source

pub fn select_block(&mut self, idx: Option<usize>) -> Result<(), Error>

Select a basic block (by index) to insert instructions into, indexed off of self.modules.functions[self.selected_function].blocks[idx], or unselect if None

Source

pub fn begin_function( &mut self, return_type: u32, function_id: Option<u32>, control: FunctionControl, function_type: u32, ) -> Result<u32, Error>

Begins building of a new function.

If function_id is Some(val), then val will be used as the result id of the function under construction; otherwise, an unused result id will be automatically assigned.

Source

pub fn end_function(&mut self) -> Result<(), Error>

Ends building of the current function.

Source

pub fn function_parameter(&mut self, result_type: u32) -> Result<u32, Error>

Declares a formal parameter for the current function.

Source

pub fn begin_block(&mut self, label_id: Option<u32>) -> Result<u32, Error>

Begins building of a new block.

If label_id is Some(val), then val will be used as the result id for the OpLabel instruction begining this block; otherwise, a unused result id will be automatically assigned.

Source

pub fn begin_block_no_label( &mut self, label_id: Option<u32>, ) -> Result<u32, Error>

Begins building of a new block.

Counter to begin_block that always generates a new OpLabel at the beginning of a block - in some cases this is undesirable (such as when constructing a branch).

Source

pub fn capability(&mut self, capability: Capability)

Appends an OpCapability instruction.

Source

pub fn extension(&mut self, extension: impl Into<String>)

Appends an OpExtension instruction.

Source

pub fn ext_inst_import(&mut self, extended_inst_set: impl Into<String>) -> u32

Appends an OpExtInstImport instruction and returns the result id.

Source

pub fn memory_model( &mut self, addressing_model: AddressingModel, memory_model: MemoryModel, )

Appends an OpMemoryModel instruction.

Source

pub fn entry_point( &mut self, execution_model: ExecutionModel, entry_point: u32, name: impl Into<String>, interface: impl AsRef<[u32]>, )

Appends an OpEntryPoint instruction.

Source

pub fn execution_mode( &mut self, entry_point: u32, execution_mode: ExecutionMode, params: impl AsRef<[u32]>, )

Appends an OpExecutionMode instruction.

Source

pub fn execution_mode_id( &mut self, entry_point: u32, execution_mode: ExecutionMode, params: impl AsRef<[u32]>, )

Appends an OpExecutionModeId instruction.

Source

pub fn ext_inst( &mut self, result_type: u32, result_id: Option<u32>, extension_set: u32, instruction: u32, operands: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Source

pub fn line(&mut self, file: u32, line: u32, column: u32)

Appends an OpLine instruction.

If a block is currently selected, the OpLine is inserted into that block. If no block is currently selected, the OpLine is inserted into types_global_values.

Source

pub fn no_line(&mut self)

Appends an OpNoLine instruction.

If a block is currently selected, the OpNoLine is inserted into that block. If no block is currently selected, the OpNoLine is inserted into types_global_values.

Source

pub fn type_void(&mut self) -> u32

Appends an OpTypeVoid instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_void_id(&mut self, result_id: Option<u32>) -> u32

Appends an OpTypeVoid instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_bool(&mut self) -> u32

Appends an OpTypeBool instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_bool_id(&mut self, result_id: Option<u32>) -> u32

Appends an OpTypeBool instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_int(&mut self, width: u32, signedness: u32) -> u32

Appends an OpTypeInt instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_int_id( &mut self, result_id: Option<u32>, width: u32, signedness: u32, ) -> u32

Appends an OpTypeInt instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_float(&mut self, width: u32) -> u32

Appends an OpTypeFloat instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_float_id(&mut self, result_id: Option<u32>, width: u32) -> u32

Appends an OpTypeFloat instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_vector(&mut self, component_type: u32, component_count: u32) -> u32

Appends an OpTypeVector instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_vector_id( &mut self, result_id: Option<u32>, component_type: u32, component_count: u32, ) -> u32

Appends an OpTypeVector instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_matrix(&mut self, column_type: u32, column_count: u32) -> u32

Appends an OpTypeMatrix instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_matrix_id( &mut self, result_id: Option<u32>, column_type: u32, column_count: u32, ) -> u32

Appends an OpTypeMatrix instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_image( &mut self, sampled_type: u32, dim: Dim, depth: u32, arrayed: u32, ms: u32, sampled: u32, image_format: ImageFormat, access_qualifier: Option<AccessQualifier>, ) -> u32

Appends an OpTypeImage instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_image_id( &mut self, result_id: Option<u32>, sampled_type: u32, dim: Dim, depth: u32, arrayed: u32, ms: u32, sampled: u32, image_format: ImageFormat, access_qualifier: Option<AccessQualifier>, ) -> u32

Appends an OpTypeImage instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_sampler(&mut self) -> u32

Appends an OpTypeSampler instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_sampler_id(&mut self, result_id: Option<u32>) -> u32

Appends an OpTypeSampler instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_sampled_image(&mut self, image_type: u32) -> u32

Appends an OpTypeSampledImage instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_sampled_image_id( &mut self, result_id: Option<u32>, image_type: u32, ) -> u32

Appends an OpTypeSampledImage instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_array(&mut self, element_type: u32, length: u32) -> u32

Appends an OpTypeArray instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_array_id( &mut self, result_id: Option<u32>, element_type: u32, length: u32, ) -> u32

Appends an OpTypeArray instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_runtime_array(&mut self, element_type: u32) -> u32

Appends an OpTypeRuntimeArray instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_runtime_array_id( &mut self, result_id: Option<u32>, element_type: u32, ) -> u32

Appends an OpTypeRuntimeArray instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_struct( &mut self, member_0_type_member_1_type: impl IntoIterator<Item = u32>, ) -> u32

Appends an OpTypeStruct instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_struct_id( &mut self, result_id: Option<u32>, member_0_type_member_1_type: impl IntoIterator<Item = u32>, ) -> u32

Appends an OpTypeStruct instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_function( &mut self, return_type: u32, parameter_0_type_parameter_1_type: impl IntoIterator<Item = u32>, ) -> u32

Appends an OpTypeFunction instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_function_id( &mut self, result_id: Option<u32>, return_type: u32, parameter_0_type_parameter_1_type: impl IntoIterator<Item = u32>, ) -> u32

Appends an OpTypeFunction instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_event(&mut self) -> u32

Appends an OpTypeEvent instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_event_id(&mut self, result_id: Option<u32>) -> u32

Appends an OpTypeEvent instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_device_event(&mut self) -> u32

Appends an OpTypeDeviceEvent instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_device_event_id(&mut self, result_id: Option<u32>) -> u32

Appends an OpTypeDeviceEvent instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_reserve_id(&mut self) -> u32

Appends an OpTypeReserveId instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_reserve_id_id(&mut self, result_id: Option<u32>) -> u32

Appends an OpTypeReserveId instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_queue(&mut self) -> u32

Appends an OpTypeQueue instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_queue_id(&mut self, result_id: Option<u32>) -> u32

Appends an OpTypeQueue instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_pipe(&mut self, qualifier: AccessQualifier) -> u32

Appends an OpTypePipe instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_pipe_id( &mut self, result_id: Option<u32>, qualifier: AccessQualifier, ) -> u32

Appends an OpTypePipe instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_pipe_storage(&mut self) -> u32

Appends an OpTypePipeStorage instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_pipe_storage_id(&mut self, result_id: Option<u32>) -> u32

Appends an OpTypePipeStorage instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_named_barrier(&mut self) -> u32

Appends an OpTypeNamedBarrier instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_named_barrier_id(&mut self, result_id: Option<u32>) -> u32

Appends an OpTypeNamedBarrier instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_cooperative_matrix_khr( &mut self, component_type: u32, scope: u32, rows: u32, columns: u32, usage: u32, ) -> u32

Appends an OpTypeCooperativeMatrixKHR instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_cooperative_matrix_khr_id( &mut self, result_id: Option<u32>, component_type: u32, scope: u32, rows: u32, columns: u32, usage: u32, ) -> u32

Appends an OpTypeCooperativeMatrixKHR instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_ray_query_khr(&mut self) -> u32

Appends an OpTypeRayQueryKHR instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_ray_query_khr_id(&mut self, result_id: Option<u32>) -> u32

Appends an OpTypeRayQueryKHR instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_hit_object_nv(&mut self) -> u32

Appends an OpTypeHitObjectNV instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_hit_object_nv_id(&mut self, result_id: Option<u32>) -> u32

Appends an OpTypeHitObjectNV instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_acceleration_structure_khr(&mut self) -> u32

Appends an OpTypeAccelerationStructureKHR instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_acceleration_structure_khr_id( &mut self, result_id: Option<u32>, ) -> u32

Appends an OpTypeAccelerationStructureKHR instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_acceleration_structure_nv(&mut self) -> u32

Appends an OpTypeAccelerationStructureNV instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_acceleration_structure_nv_id( &mut self, result_id: Option<u32>, ) -> u32

Appends an OpTypeAccelerationStructureNV instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_cooperative_matrix_nv( &mut self, component_type: u32, execution: u32, rows: u32, columns: u32, ) -> u32

Appends an OpTypeCooperativeMatrixNV instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_cooperative_matrix_nv_id( &mut self, result_id: Option<u32>, component_type: u32, execution: u32, rows: u32, columns: u32, ) -> u32

Appends an OpTypeCooperativeMatrixNV instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_buffer_surface_intel( &mut self, access_qualifier: AccessQualifier, ) -> u32

Appends an OpTypeBufferSurfaceINTEL instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_buffer_surface_intel_id( &mut self, result_id: Option<u32>, access_qualifier: AccessQualifier, ) -> u32

Appends an OpTypeBufferSurfaceINTEL instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_struct_continued_intel( &mut self, member_0_type_member_1_type: impl IntoIterator<Item = u32>, ) -> u32

Appends an OpTypeStructContinuedINTEL instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_struct_continued_intel_id( &mut self, result_id: Option<u32>, member_0_type_member_1_type: impl IntoIterator<Item = u32>, ) -> u32

Appends an OpTypeStructContinuedINTEL instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn constant_true(&mut self, result_type: u32) -> u32

Appends an OpConstantTrue instruction.

Source

pub fn constant_false(&mut self, result_type: u32) -> u32

Appends an OpConstantFalse instruction.

Source

pub fn constant_composite( &mut self, result_type: u32, constituents: impl IntoIterator<Item = u32>, ) -> u32

Appends an OpConstantComposite instruction.

Source

pub fn constant_sampler( &mut self, result_type: u32, sampler_addressing_mode: SamplerAddressingMode, param: u32, sampler_filter_mode: SamplerFilterMode, ) -> u32

Appends an OpConstantSampler instruction.

Source

pub fn constant_null(&mut self, result_type: u32) -> u32

Appends an OpConstantNull instruction.

Source

pub fn spec_constant_true(&mut self, result_type: u32) -> u32

Appends an OpSpecConstantTrue instruction.

Source

pub fn spec_constant_false(&mut self, result_type: u32) -> u32

Appends an OpSpecConstantFalse instruction.

Source

pub fn spec_constant_composite( &mut self, result_type: u32, constituents: impl IntoIterator<Item = u32>, ) -> u32

Appends an OpSpecConstantComposite instruction.

Source

pub fn spec_constant_op(&mut self, result_type: u32, opcode: Op) -> u32

Appends an OpSpecConstantOp instruction.

Source

pub fn decorate( &mut self, target: u32, decoration: Decoration, additional_params: impl IntoIterator<Item = Operand>, )

Appends an OpDecorate instruction.

Source

pub fn member_decorate( &mut self, structure_type: u32, member: u32, decoration: Decoration, additional_params: impl IntoIterator<Item = Operand>, )

Appends an OpMemberDecorate instruction.

Source

pub fn group_decorate( &mut self, decoration_group: u32, targets: impl IntoIterator<Item = u32>, )

Appends an OpGroupDecorate instruction.

Source

pub fn group_member_decorate( &mut self, decoration_group: u32, targets: impl IntoIterator<Item = (u32, u32)>, )

Appends an OpGroupMemberDecorate instruction.

Source

pub fn decorate_id( &mut self, target: u32, decoration: Decoration, additional_params: impl IntoIterator<Item = Operand>, )

Appends an OpDecorateId instruction.

Source

pub fn decorate_string( &mut self, target: u32, decoration: Decoration, additional_params: impl IntoIterator<Item = Operand>, )

Appends an OpDecorateString instruction.

Source

pub fn decorate_string_google( &mut self, target: u32, decoration: Decoration, additional_params: impl IntoIterator<Item = Operand>, )

Appends an OpDecorateStringGOOGLE instruction.

Source

pub fn member_decorate_string( &mut self, struct_type: u32, member: u32, decoration: Decoration, additional_params: impl IntoIterator<Item = Operand>, )

Appends an OpMemberDecorateString instruction.

Source

pub fn member_decorate_string_google( &mut self, struct_type: u32, member: u32, decoration: Decoration, additional_params: impl IntoIterator<Item = Operand>, )

Appends an OpMemberDecorateStringGOOGLE instruction.

Source

pub fn branch(&mut self, target_label: u32) -> Result<(), Error>

Appends an OpBranch instruction and ends the current block.

Source

pub fn insert_branch( &mut self, insert_point: InsertPoint, target_label: u32, ) -> Result<(), Error>

Insert an OpBranch instruction and ends the current block.

Source

pub fn branch_conditional( &mut self, condition: u32, true_label: u32, false_label: u32, branch_weights: impl IntoIterator<Item = u32>, ) -> Result<(), Error>

Appends an OpBranchConditional instruction and ends the current block.

Source

pub fn insert_branch_conditional( &mut self, insert_point: InsertPoint, condition: u32, true_label: u32, false_label: u32, branch_weights: impl IntoIterator<Item = u32>, ) -> Result<(), Error>

Insert an OpBranchConditional instruction and ends the current block.

Source

pub fn switch( &mut self, selector: u32, default: u32, target: impl IntoIterator<Item = (Operand, u32)>, ) -> Result<(), Error>

Appends an OpSwitch instruction and ends the current block.

Source

pub fn insert_switch( &mut self, insert_point: InsertPoint, selector: u32, default: u32, target: impl IntoIterator<Item = (Operand, u32)>, ) -> Result<(), Error>

Insert an OpSwitch instruction and ends the current block.

Source

pub fn kill(&mut self) -> Result<(), Error>

Appends an OpKill instruction and ends the current block.

Source

pub fn insert_kill(&mut self, insert_point: InsertPoint) -> Result<(), Error>

Insert an OpKill instruction and ends the current block.

Source

pub fn ret(&mut self) -> Result<(), Error>

Appends an OpReturn instruction and ends the current block.

Source

pub fn insert_ret(&mut self, insert_point: InsertPoint) -> Result<(), Error>

Insert an OpReturn instruction and ends the current block.

Source

pub fn ret_value(&mut self, value: u32) -> Result<(), Error>

Appends an OpReturnValue instruction and ends the current block.

Source

pub fn insert_ret_value( &mut self, insert_point: InsertPoint, value: u32, ) -> Result<(), Error>

Insert an OpReturnValue instruction and ends the current block.

Source

pub fn unreachable(&mut self) -> Result<(), Error>

Appends an OpUnreachable instruction and ends the current block.

Source

pub fn insert_unreachable( &mut self, insert_point: InsertPoint, ) -> Result<(), Error>

Insert an OpUnreachable instruction and ends the current block.

Source

pub fn lifetime_start(&mut self, pointer: u32, size: u32) -> Result<(), Error>

Appends an OpLifetimeStart instruction and ends the current block.

Source

pub fn insert_lifetime_start( &mut self, insert_point: InsertPoint, pointer: u32, size: u32, ) -> Result<(), Error>

Insert an OpLifetimeStart instruction and ends the current block.

Source

pub fn lifetime_stop(&mut self, pointer: u32, size: u32) -> Result<(), Error>

Appends an OpLifetimeStop instruction and ends the current block.

Source

pub fn insert_lifetime_stop( &mut self, insert_point: InsertPoint, pointer: u32, size: u32, ) -> Result<(), Error>

Insert an OpLifetimeStop instruction and ends the current block.

Source

pub fn terminate_invocation(&mut self) -> Result<(), Error>

Appends an OpTerminateInvocation instruction and ends the current block.

Source

pub fn insert_terminate_invocation( &mut self, insert_point: InsertPoint, ) -> Result<(), Error>

Insert an OpTerminateInvocation instruction and ends the current block.

Source

pub fn ignore_intersection_khr(&mut self) -> Result<(), Error>

Appends an OpIgnoreIntersectionKHR instruction and ends the current block.

Source

pub fn insert_ignore_intersection_khr( &mut self, insert_point: InsertPoint, ) -> Result<(), Error>

Insert an OpIgnoreIntersectionKHR instruction and ends the current block.

Source

pub fn terminate_ray_khr(&mut self) -> Result<(), Error>

Appends an OpTerminateRayKHR instruction and ends the current block.

Source

pub fn insert_terminate_ray_khr( &mut self, insert_point: InsertPoint, ) -> Result<(), Error>

Insert an OpTerminateRayKHR instruction and ends the current block.

Source

pub fn emit_mesh_tasks_ext( &mut self, group_count_x: u32, group_count_y: u32, group_count_z: u32, payload: Option<u32>, ) -> Result<(), Error>

Appends an OpEmitMeshTasksEXT instruction and ends the current block.

Source

pub fn insert_emit_mesh_tasks_ext( &mut self, insert_point: InsertPoint, group_count_x: u32, group_count_y: u32, group_count_z: u32, payload: Option<u32>, ) -> Result<(), Error>

Insert an OpEmitMeshTasksEXT instruction and ends the current block.

Source

pub fn demote_to_helper_invocation(&mut self) -> Result<(), Error>

Appends an OpDemoteToHelperInvocation instruction and ends the current block.

Source

pub fn insert_demote_to_helper_invocation( &mut self, insert_point: InsertPoint, ) -> Result<(), Error>

Insert an OpDemoteToHelperInvocation instruction and ends the current block.

Source

pub fn demote_to_helper_invocation_ext(&mut self) -> Result<(), Error>

Appends an OpDemoteToHelperInvocationEXT instruction and ends the current block.

Source

pub fn insert_demote_to_helper_invocation_ext( &mut self, insert_point: InsertPoint, ) -> Result<(), Error>

Insert an OpDemoteToHelperInvocationEXT instruction and ends the current block.

Source

pub fn source_continued(&mut self, continued_source: impl Into<String>)

Appends an OpSourceContinued instruction.

Source

pub fn source( &mut self, source_language: SourceLanguage, version: u32, file: Option<u32>, source: Option<impl Into<String>>, )

Appends an OpSource instruction.

Source

pub fn source_extension(&mut self, extension: impl Into<String>)

Appends an OpSourceExtension instruction.

Source

pub fn name(&mut self, target: u32, name: impl Into<String>)

Appends an OpName instruction.

Source

pub fn member_name(&mut self, ty: u32, member: u32, name: impl Into<String>)

Appends an OpMemberName instruction.

Source

pub fn module_processed(&mut self, process: impl Into<String>)

Appends an OpModuleProcessed instruction.

Source

pub fn decoration_group(&mut self) -> u32

Appends an OpDecorationGroup instruction and returns the result id.

Source

pub fn string(&mut self, s: impl Into<String>) -> u32

Source

pub fn type_forward_pointer( &mut self, pointer_type: u32, storage_class: StorageClass, )

Appends an OpTypeForwardPointer instruction.

Source

pub fn type_pointer( &mut self, result_id: Option<u32>, storage_class: StorageClass, pointee_type: u32, ) -> u32

Appends an OpTypePointer instruction and returns the result id, or return the existing id if the instruction was already present.

Source

pub fn type_opaque(&mut self, type_name: impl Into<String>) -> u32

Appends an OpTypeOpaque instruction and returns the result id.

Source

pub fn constant_bit32(&mut self, result_type: u32, value: u32) -> u32

Appends an OpConstant instruction with the given 32-bit bit pattern value. or the module if no block is under construction.

Source

pub fn constant_bit64(&mut self, result_type: u32, value: u64) -> u32

Appends an OpConstant instruction with the given 64-bit bit pattern value.

Source

pub fn spec_constant_bit32(&mut self, result_type: u32, value: u32) -> u32

Appends an OpSpecConstant instruction with the given 32-bit bit pattern value. or the module if no block is under construction.

Source

pub fn spec_constant_bit64(&mut self, result_type: u32, value: u64) -> u32

Appends an OpSpecConstant instruction with the given 64-bit bit pattern value.

Source

pub fn variable( &mut self, result_type: u32, result_id: Option<u32>, storage_class: StorageClass, initializer: Option<u32>, ) -> u32

Appends an OpVariable instruction to either the current block or the module if no block is under construction.

Source

pub fn undef(&mut self, result_type: u32, result_id: Option<u32>) -> u32

Appends an OpUndef instruction to either the current block or the module if no block is under construction.

Source

pub fn nop(&mut self) -> Result<(), Error>

Appends an OpNop instruction to the current block.

Source

pub fn insert_nop(&mut self, insert_point: InsertPoint) -> Result<(), Error>

Appends an OpNop instruction to the current block.

Source

pub fn function_call( &mut self, result_type: u32, result_id: Option<u32>, function: u32, argument_0_argument_1: impl IntoIterator<Item = u32>, ) -> Result<u32, Error>

Appends an OpFunctionCall instruction to the current block.

Source

pub fn insert_function_call( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, function: u32, argument_0_argument_1: impl IntoIterator<Item = u32>, ) -> Result<u32, Error>

Appends an OpFunctionCall instruction to the current block.

Source

pub fn image_texel_pointer( &mut self, result_type: u32, result_id: Option<u32>, image: u32, coordinate: u32, sample: u32, ) -> Result<u32, Error>

Appends an OpImageTexelPointer instruction to the current block.

Source

pub fn insert_image_texel_pointer( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, image: u32, coordinate: u32, sample: u32, ) -> Result<u32, Error>

Appends an OpImageTexelPointer instruction to the current block.

Source

pub fn load( &mut self, result_type: u32, result_id: Option<u32>, pointer: u32, memory_access: Option<MemoryAccess>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpLoad instruction to the current block.

Source

pub fn insert_load( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, pointer: u32, memory_access: Option<MemoryAccess>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpLoad instruction to the current block.

Source

pub fn store( &mut self, pointer: u32, object: u32, memory_access: Option<MemoryAccess>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<(), Error>

Appends an OpStore instruction to the current block.

Source

pub fn insert_store( &mut self, insert_point: InsertPoint, pointer: u32, object: u32, memory_access: Option<MemoryAccess>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<(), Error>

Appends an OpStore instruction to the current block.

Source

pub fn copy_memory( &mut self, target: u32, source: u32, memory_access: Option<MemoryAccess>, memory_access_2: Option<MemoryAccess>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<(), Error>

Appends an OpCopyMemory instruction to the current block.

Source

pub fn insert_copy_memory( &mut self, insert_point: InsertPoint, target: u32, source: u32, memory_access: Option<MemoryAccess>, memory_access_2: Option<MemoryAccess>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<(), Error>

Appends an OpCopyMemory instruction to the current block.

Source

pub fn copy_memory_sized( &mut self, target: u32, source: u32, size: u32, memory_access: Option<MemoryAccess>, memory_access_2: Option<MemoryAccess>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<(), Error>

Appends an OpCopyMemorySized instruction to the current block.

Source

pub fn insert_copy_memory_sized( &mut self, insert_point: InsertPoint, target: u32, source: u32, size: u32, memory_access: Option<MemoryAccess>, memory_access_2: Option<MemoryAccess>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<(), Error>

Appends an OpCopyMemorySized instruction to the current block.

Source

pub fn access_chain( &mut self, result_type: u32, result_id: Option<u32>, base: u32, indexes: impl IntoIterator<Item = u32>, ) -> Result<u32, Error>

Appends an OpAccessChain instruction to the current block.

Source

pub fn insert_access_chain( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, base: u32, indexes: impl IntoIterator<Item = u32>, ) -> Result<u32, Error>

Appends an OpAccessChain instruction to the current block.

Source

pub fn in_bounds_access_chain( &mut self, result_type: u32, result_id: Option<u32>, base: u32, indexes: impl IntoIterator<Item = u32>, ) -> Result<u32, Error>

Appends an OpInBoundsAccessChain instruction to the current block.

Source

pub fn insert_in_bounds_access_chain( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, base: u32, indexes: impl IntoIterator<Item = u32>, ) -> Result<u32, Error>

Appends an OpInBoundsAccessChain instruction to the current block.

Source

pub fn ptr_access_chain( &mut self, result_type: u32, result_id: Option<u32>, base: u32, element: u32, indexes: impl IntoIterator<Item = u32>, ) -> Result<u32, Error>

Appends an OpPtrAccessChain instruction to the current block.

Source

pub fn insert_ptr_access_chain( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, base: u32, element: u32, indexes: impl IntoIterator<Item = u32>, ) -> Result<u32, Error>

Appends an OpPtrAccessChain instruction to the current block.

Source

pub fn array_length( &mut self, result_type: u32, result_id: Option<u32>, structure: u32, array_member: u32, ) -> Result<u32, Error>

Appends an OpArrayLength instruction to the current block.

Source

pub fn insert_array_length( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, structure: u32, array_member: u32, ) -> Result<u32, Error>

Appends an OpArrayLength instruction to the current block.

Source

pub fn generic_ptr_mem_semantics( &mut self, result_type: u32, result_id: Option<u32>, pointer: u32, ) -> Result<u32, Error>

Appends an OpGenericPtrMemSemantics instruction to the current block.

Source

pub fn insert_generic_ptr_mem_semantics( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, pointer: u32, ) -> Result<u32, Error>

Appends an OpGenericPtrMemSemantics instruction to the current block.

Source

pub fn in_bounds_ptr_access_chain( &mut self, result_type: u32, result_id: Option<u32>, base: u32, element: u32, indexes: impl IntoIterator<Item = u32>, ) -> Result<u32, Error>

Appends an OpInBoundsPtrAccessChain instruction to the current block.

Source

pub fn insert_in_bounds_ptr_access_chain( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, base: u32, element: u32, indexes: impl IntoIterator<Item = u32>, ) -> Result<u32, Error>

Appends an OpInBoundsPtrAccessChain instruction to the current block.

Source

pub fn vector_extract_dynamic( &mut self, result_type: u32, result_id: Option<u32>, vector: u32, index: u32, ) -> Result<u32, Error>

Appends an OpVectorExtractDynamic instruction to the current block.

Source

pub fn insert_vector_extract_dynamic( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, vector: u32, index: u32, ) -> Result<u32, Error>

Appends an OpVectorExtractDynamic instruction to the current block.

Source

pub fn vector_insert_dynamic( &mut self, result_type: u32, result_id: Option<u32>, vector: u32, component: u32, index: u32, ) -> Result<u32, Error>

Appends an OpVectorInsertDynamic instruction to the current block.

Source

pub fn insert_vector_insert_dynamic( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, vector: u32, component: u32, index: u32, ) -> Result<u32, Error>

Appends an OpVectorInsertDynamic instruction to the current block.

Source

pub fn vector_shuffle( &mut self, result_type: u32, result_id: Option<u32>, vector_1: u32, vector_2: u32, components: impl IntoIterator<Item = u32>, ) -> Result<u32, Error>

Appends an OpVectorShuffle instruction to the current block.

Source

pub fn insert_vector_shuffle( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, vector_1: u32, vector_2: u32, components: impl IntoIterator<Item = u32>, ) -> Result<u32, Error>

Appends an OpVectorShuffle instruction to the current block.

Source

pub fn composite_construct( &mut self, result_type: u32, result_id: Option<u32>, constituents: impl IntoIterator<Item = u32>, ) -> Result<u32, Error>

Appends an OpCompositeConstruct instruction to the current block.

Source

pub fn insert_composite_construct( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, constituents: impl IntoIterator<Item = u32>, ) -> Result<u32, Error>

Appends an OpCompositeConstruct instruction to the current block.

Source

pub fn composite_extract( &mut self, result_type: u32, result_id: Option<u32>, composite: u32, indexes: impl IntoIterator<Item = u32>, ) -> Result<u32, Error>

Appends an OpCompositeExtract instruction to the current block.

Source

pub fn insert_composite_extract( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, composite: u32, indexes: impl IntoIterator<Item = u32>, ) -> Result<u32, Error>

Appends an OpCompositeExtract instruction to the current block.

Source

pub fn composite_insert( &mut self, result_type: u32, result_id: Option<u32>, object: u32, composite: u32, indexes: impl IntoIterator<Item = u32>, ) -> Result<u32, Error>

Appends an OpCompositeInsert instruction to the current block.

Source

pub fn insert_composite_insert( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, object: u32, composite: u32, indexes: impl IntoIterator<Item = u32>, ) -> Result<u32, Error>

Appends an OpCompositeInsert instruction to the current block.

Source

pub fn copy_object( &mut self, result_type: u32, result_id: Option<u32>, operand: u32, ) -> Result<u32, Error>

Appends an OpCopyObject instruction to the current block.

Source

pub fn insert_copy_object( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand: u32, ) -> Result<u32, Error>

Appends an OpCopyObject instruction to the current block.

Source

pub fn transpose( &mut self, result_type: u32, result_id: Option<u32>, matrix: u32, ) -> Result<u32, Error>

Appends an OpTranspose instruction to the current block.

Source

pub fn insert_transpose( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, matrix: u32, ) -> Result<u32, Error>

Appends an OpTranspose instruction to the current block.

Source

pub fn sampled_image( &mut self, result_type: u32, result_id: Option<u32>, image: u32, sampler: u32, ) -> Result<u32, Error>

Appends an OpSampledImage instruction to the current block.

Source

pub fn insert_sampled_image( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, image: u32, sampler: u32, ) -> Result<u32, Error>

Appends an OpSampledImage instruction to the current block.

Source

pub fn image_sample_implicit_lod( &mut self, result_type: u32, result_id: Option<u32>, sampled_image: u32, coordinate: u32, image_operands: Option<ImageOperands>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageSampleImplicitLod instruction to the current block.

Source

pub fn insert_image_sample_implicit_lod( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, sampled_image: u32, coordinate: u32, image_operands: Option<ImageOperands>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageSampleImplicitLod instruction to the current block.

Source

pub fn image_sample_explicit_lod( &mut self, result_type: u32, result_id: Option<u32>, sampled_image: u32, coordinate: u32, image_operands: ImageOperands, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageSampleExplicitLod instruction to the current block.

Source

pub fn insert_image_sample_explicit_lod( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, sampled_image: u32, coordinate: u32, image_operands: ImageOperands, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageSampleExplicitLod instruction to the current block.

Source

pub fn image_sample_dref_implicit_lod( &mut self, result_type: u32, result_id: Option<u32>, sampled_image: u32, coordinate: u32, d_ref: u32, image_operands: Option<ImageOperands>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageSampleDrefImplicitLod instruction to the current block.

Source

pub fn insert_image_sample_dref_implicit_lod( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, sampled_image: u32, coordinate: u32, d_ref: u32, image_operands: Option<ImageOperands>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageSampleDrefImplicitLod instruction to the current block.

Source

pub fn image_sample_dref_explicit_lod( &mut self, result_type: u32, result_id: Option<u32>, sampled_image: u32, coordinate: u32, d_ref: u32, image_operands: ImageOperands, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageSampleDrefExplicitLod instruction to the current block.

Source

pub fn insert_image_sample_dref_explicit_lod( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, sampled_image: u32, coordinate: u32, d_ref: u32, image_operands: ImageOperands, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageSampleDrefExplicitLod instruction to the current block.

Source

pub fn image_sample_proj_implicit_lod( &mut self, result_type: u32, result_id: Option<u32>, sampled_image: u32, coordinate: u32, image_operands: Option<ImageOperands>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageSampleProjImplicitLod instruction to the current block.

Source

pub fn insert_image_sample_proj_implicit_lod( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, sampled_image: u32, coordinate: u32, image_operands: Option<ImageOperands>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageSampleProjImplicitLod instruction to the current block.

Source

pub fn image_sample_proj_explicit_lod( &mut self, result_type: u32, result_id: Option<u32>, sampled_image: u32, coordinate: u32, image_operands: ImageOperands, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageSampleProjExplicitLod instruction to the current block.

Source

pub fn insert_image_sample_proj_explicit_lod( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, sampled_image: u32, coordinate: u32, image_operands: ImageOperands, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageSampleProjExplicitLod instruction to the current block.

Source

pub fn image_sample_proj_dref_implicit_lod( &mut self, result_type: u32, result_id: Option<u32>, sampled_image: u32, coordinate: u32, d_ref: u32, image_operands: Option<ImageOperands>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageSampleProjDrefImplicitLod instruction to the current block.

Source

pub fn insert_image_sample_proj_dref_implicit_lod( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, sampled_image: u32, coordinate: u32, d_ref: u32, image_operands: Option<ImageOperands>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageSampleProjDrefImplicitLod instruction to the current block.

Source

pub fn image_sample_proj_dref_explicit_lod( &mut self, result_type: u32, result_id: Option<u32>, sampled_image: u32, coordinate: u32, d_ref: u32, image_operands: ImageOperands, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageSampleProjDrefExplicitLod instruction to the current block.

Source

pub fn insert_image_sample_proj_dref_explicit_lod( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, sampled_image: u32, coordinate: u32, d_ref: u32, image_operands: ImageOperands, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageSampleProjDrefExplicitLod instruction to the current block.

Source

pub fn image_fetch( &mut self, result_type: u32, result_id: Option<u32>, image: u32, coordinate: u32, image_operands: Option<ImageOperands>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageFetch instruction to the current block.

Source

pub fn insert_image_fetch( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, image: u32, coordinate: u32, image_operands: Option<ImageOperands>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageFetch instruction to the current block.

Source

pub fn image_gather( &mut self, result_type: u32, result_id: Option<u32>, sampled_image: u32, coordinate: u32, component: u32, image_operands: Option<ImageOperands>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageGather instruction to the current block.

Source

pub fn insert_image_gather( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, sampled_image: u32, coordinate: u32, component: u32, image_operands: Option<ImageOperands>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageGather instruction to the current block.

Source

pub fn image_dref_gather( &mut self, result_type: u32, result_id: Option<u32>, sampled_image: u32, coordinate: u32, d_ref: u32, image_operands: Option<ImageOperands>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageDrefGather instruction to the current block.

Source

pub fn insert_image_dref_gather( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, sampled_image: u32, coordinate: u32, d_ref: u32, image_operands: Option<ImageOperands>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageDrefGather instruction to the current block.

Source

pub fn image_read( &mut self, result_type: u32, result_id: Option<u32>, image: u32, coordinate: u32, image_operands: Option<ImageOperands>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageRead instruction to the current block.

Source

pub fn insert_image_read( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, image: u32, coordinate: u32, image_operands: Option<ImageOperands>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageRead instruction to the current block.

Source

pub fn image_write( &mut self, image: u32, coordinate: u32, texel: u32, image_operands: Option<ImageOperands>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<(), Error>

Appends an OpImageWrite instruction to the current block.

Source

pub fn insert_image_write( &mut self, insert_point: InsertPoint, image: u32, coordinate: u32, texel: u32, image_operands: Option<ImageOperands>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<(), Error>

Appends an OpImageWrite instruction to the current block.

Source

pub fn image( &mut self, result_type: u32, result_id: Option<u32>, sampled_image: u32, ) -> Result<u32, Error>

Appends an OpImage instruction to the current block.

Source

pub fn insert_image( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, sampled_image: u32, ) -> Result<u32, Error>

Appends an OpImage instruction to the current block.

Source

pub fn image_query_format( &mut self, result_type: u32, result_id: Option<u32>, image: u32, ) -> Result<u32, Error>

Appends an OpImageQueryFormat instruction to the current block.

Source

pub fn insert_image_query_format( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, image: u32, ) -> Result<u32, Error>

Appends an OpImageQueryFormat instruction to the current block.

Source

pub fn image_query_order( &mut self, result_type: u32, result_id: Option<u32>, image: u32, ) -> Result<u32, Error>

Appends an OpImageQueryOrder instruction to the current block.

Source

pub fn insert_image_query_order( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, image: u32, ) -> Result<u32, Error>

Appends an OpImageQueryOrder instruction to the current block.

Source

pub fn image_query_size_lod( &mut self, result_type: u32, result_id: Option<u32>, image: u32, level_of_detail: u32, ) -> Result<u32, Error>

Appends an OpImageQuerySizeLod instruction to the current block.

Source

pub fn insert_image_query_size_lod( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, image: u32, level_of_detail: u32, ) -> Result<u32, Error>

Appends an OpImageQuerySizeLod instruction to the current block.

Source

pub fn image_query_size( &mut self, result_type: u32, result_id: Option<u32>, image: u32, ) -> Result<u32, Error>

Appends an OpImageQuerySize instruction to the current block.

Source

pub fn insert_image_query_size( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, image: u32, ) -> Result<u32, Error>

Appends an OpImageQuerySize instruction to the current block.

Source

pub fn image_query_lod( &mut self, result_type: u32, result_id: Option<u32>, sampled_image: u32, coordinate: u32, ) -> Result<u32, Error>

Appends an OpImageQueryLod instruction to the current block.

Source

pub fn insert_image_query_lod( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, sampled_image: u32, coordinate: u32, ) -> Result<u32, Error>

Appends an OpImageQueryLod instruction to the current block.

Source

pub fn image_query_levels( &mut self, result_type: u32, result_id: Option<u32>, image: u32, ) -> Result<u32, Error>

Appends an OpImageQueryLevels instruction to the current block.

Source

pub fn insert_image_query_levels( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, image: u32, ) -> Result<u32, Error>

Appends an OpImageQueryLevels instruction to the current block.

Source

pub fn image_query_samples( &mut self, result_type: u32, result_id: Option<u32>, image: u32, ) -> Result<u32, Error>

Appends an OpImageQuerySamples instruction to the current block.

Source

pub fn insert_image_query_samples( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, image: u32, ) -> Result<u32, Error>

Appends an OpImageQuerySamples instruction to the current block.

Source

pub fn convert_f_to_u( &mut self, result_type: u32, result_id: Option<u32>, float_value: u32, ) -> Result<u32, Error>

Appends an OpConvertFToU instruction to the current block.

Source

pub fn insert_convert_f_to_u( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, float_value: u32, ) -> Result<u32, Error>

Appends an OpConvertFToU instruction to the current block.

Source

pub fn convert_f_to_s( &mut self, result_type: u32, result_id: Option<u32>, float_value: u32, ) -> Result<u32, Error>

Appends an OpConvertFToS instruction to the current block.

Source

pub fn insert_convert_f_to_s( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, float_value: u32, ) -> Result<u32, Error>

Appends an OpConvertFToS instruction to the current block.

Source

pub fn convert_s_to_f( &mut self, result_type: u32, result_id: Option<u32>, signed_value: u32, ) -> Result<u32, Error>

Appends an OpConvertSToF instruction to the current block.

Source

pub fn insert_convert_s_to_f( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, signed_value: u32, ) -> Result<u32, Error>

Appends an OpConvertSToF instruction to the current block.

Source

pub fn convert_u_to_f( &mut self, result_type: u32, result_id: Option<u32>, unsigned_value: u32, ) -> Result<u32, Error>

Appends an OpConvertUToF instruction to the current block.

Source

pub fn insert_convert_u_to_f( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, unsigned_value: u32, ) -> Result<u32, Error>

Appends an OpConvertUToF instruction to the current block.

Source

pub fn u_convert( &mut self, result_type: u32, result_id: Option<u32>, unsigned_value: u32, ) -> Result<u32, Error>

Appends an OpUConvert instruction to the current block.

Source

pub fn insert_u_convert( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, unsigned_value: u32, ) -> Result<u32, Error>

Appends an OpUConvert instruction to the current block.

Source

pub fn s_convert( &mut self, result_type: u32, result_id: Option<u32>, signed_value: u32, ) -> Result<u32, Error>

Appends an OpSConvert instruction to the current block.

Source

pub fn insert_s_convert( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, signed_value: u32, ) -> Result<u32, Error>

Appends an OpSConvert instruction to the current block.

Source

pub fn f_convert( &mut self, result_type: u32, result_id: Option<u32>, float_value: u32, ) -> Result<u32, Error>

Appends an OpFConvert instruction to the current block.

Source

pub fn insert_f_convert( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, float_value: u32, ) -> Result<u32, Error>

Appends an OpFConvert instruction to the current block.

Source

pub fn quantize_to_f16( &mut self, result_type: u32, result_id: Option<u32>, value: u32, ) -> Result<u32, Error>

Appends an OpQuantizeToF16 instruction to the current block.

Source

pub fn insert_quantize_to_f16( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, value: u32, ) -> Result<u32, Error>

Appends an OpQuantizeToF16 instruction to the current block.

Source

pub fn convert_ptr_to_u( &mut self, result_type: u32, result_id: Option<u32>, pointer: u32, ) -> Result<u32, Error>

Appends an OpConvertPtrToU instruction to the current block.

Source

pub fn insert_convert_ptr_to_u( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, pointer: u32, ) -> Result<u32, Error>

Appends an OpConvertPtrToU instruction to the current block.

Source

pub fn sat_convert_s_to_u( &mut self, result_type: u32, result_id: Option<u32>, signed_value: u32, ) -> Result<u32, Error>

Appends an OpSatConvertSToU instruction to the current block.

Source

pub fn insert_sat_convert_s_to_u( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, signed_value: u32, ) -> Result<u32, Error>

Appends an OpSatConvertSToU instruction to the current block.

Source

pub fn sat_convert_u_to_s( &mut self, result_type: u32, result_id: Option<u32>, unsigned_value: u32, ) -> Result<u32, Error>

Appends an OpSatConvertUToS instruction to the current block.

Source

pub fn insert_sat_convert_u_to_s( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, unsigned_value: u32, ) -> Result<u32, Error>

Appends an OpSatConvertUToS instruction to the current block.

Source

pub fn convert_u_to_ptr( &mut self, result_type: u32, result_id: Option<u32>, integer_value: u32, ) -> Result<u32, Error>

Appends an OpConvertUToPtr instruction to the current block.

Source

pub fn insert_convert_u_to_ptr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, integer_value: u32, ) -> Result<u32, Error>

Appends an OpConvertUToPtr instruction to the current block.

Source

pub fn ptr_cast_to_generic( &mut self, result_type: u32, result_id: Option<u32>, pointer: u32, ) -> Result<u32, Error>

Appends an OpPtrCastToGeneric instruction to the current block.

Source

pub fn insert_ptr_cast_to_generic( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, pointer: u32, ) -> Result<u32, Error>

Appends an OpPtrCastToGeneric instruction to the current block.

Source

pub fn generic_cast_to_ptr( &mut self, result_type: u32, result_id: Option<u32>, pointer: u32, ) -> Result<u32, Error>

Appends an OpGenericCastToPtr instruction to the current block.

Source

pub fn insert_generic_cast_to_ptr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, pointer: u32, ) -> Result<u32, Error>

Appends an OpGenericCastToPtr instruction to the current block.

Source

pub fn generic_cast_to_ptr_explicit( &mut self, result_type: u32, result_id: Option<u32>, pointer: u32, storage: StorageClass, ) -> Result<u32, Error>

Appends an OpGenericCastToPtrExplicit instruction to the current block.

Source

pub fn insert_generic_cast_to_ptr_explicit( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, pointer: u32, storage: StorageClass, ) -> Result<u32, Error>

Appends an OpGenericCastToPtrExplicit instruction to the current block.

Source

pub fn bitcast( &mut self, result_type: u32, result_id: Option<u32>, operand: u32, ) -> Result<u32, Error>

Appends an OpBitcast instruction to the current block.

Source

pub fn insert_bitcast( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand: u32, ) -> Result<u32, Error>

Appends an OpBitcast instruction to the current block.

Source

pub fn s_negate( &mut self, result_type: u32, result_id: Option<u32>, operand: u32, ) -> Result<u32, Error>

Appends an OpSNegate instruction to the current block.

Source

pub fn insert_s_negate( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand: u32, ) -> Result<u32, Error>

Appends an OpSNegate instruction to the current block.

Source

pub fn f_negate( &mut self, result_type: u32, result_id: Option<u32>, operand: u32, ) -> Result<u32, Error>

Appends an OpFNegate instruction to the current block.

Source

pub fn insert_f_negate( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand: u32, ) -> Result<u32, Error>

Appends an OpFNegate instruction to the current block.

Source

pub fn i_add( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpIAdd instruction to the current block.

Source

pub fn insert_i_add( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpIAdd instruction to the current block.

Source

pub fn f_add( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpFAdd instruction to the current block.

Source

pub fn insert_f_add( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpFAdd instruction to the current block.

Source

pub fn i_sub( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpISub instruction to the current block.

Source

pub fn insert_i_sub( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpISub instruction to the current block.

Source

pub fn f_sub( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpFSub instruction to the current block.

Source

pub fn insert_f_sub( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpFSub instruction to the current block.

Source

pub fn i_mul( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpIMul instruction to the current block.

Source

pub fn insert_i_mul( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpIMul instruction to the current block.

Source

pub fn f_mul( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpFMul instruction to the current block.

Source

pub fn insert_f_mul( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpFMul instruction to the current block.

Source

pub fn u_div( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpUDiv instruction to the current block.

Source

pub fn insert_u_div( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpUDiv instruction to the current block.

Source

pub fn s_div( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpSDiv instruction to the current block.

Source

pub fn insert_s_div( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpSDiv instruction to the current block.

Source

pub fn f_div( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpFDiv instruction to the current block.

Source

pub fn insert_f_div( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpFDiv instruction to the current block.

Source

pub fn u_mod( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpUMod instruction to the current block.

Source

pub fn insert_u_mod( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpUMod instruction to the current block.

Source

pub fn s_rem( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpSRem instruction to the current block.

Source

pub fn insert_s_rem( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpSRem instruction to the current block.

Source

pub fn s_mod( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpSMod instruction to the current block.

Source

pub fn insert_s_mod( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpSMod instruction to the current block.

Source

pub fn f_rem( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpFRem instruction to the current block.

Source

pub fn insert_f_rem( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpFRem instruction to the current block.

Source

pub fn f_mod( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpFMod instruction to the current block.

Source

pub fn insert_f_mod( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpFMod instruction to the current block.

Source

pub fn vector_times_scalar( &mut self, result_type: u32, result_id: Option<u32>, vector: u32, scalar: u32, ) -> Result<u32, Error>

Appends an OpVectorTimesScalar instruction to the current block.

Source

pub fn insert_vector_times_scalar( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, vector: u32, scalar: u32, ) -> Result<u32, Error>

Appends an OpVectorTimesScalar instruction to the current block.

Source

pub fn matrix_times_scalar( &mut self, result_type: u32, result_id: Option<u32>, matrix: u32, scalar: u32, ) -> Result<u32, Error>

Appends an OpMatrixTimesScalar instruction to the current block.

Source

pub fn insert_matrix_times_scalar( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, matrix: u32, scalar: u32, ) -> Result<u32, Error>

Appends an OpMatrixTimesScalar instruction to the current block.

Source

pub fn vector_times_matrix( &mut self, result_type: u32, result_id: Option<u32>, vector: u32, matrix: u32, ) -> Result<u32, Error>

Appends an OpVectorTimesMatrix instruction to the current block.

Source

pub fn insert_vector_times_matrix( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, vector: u32, matrix: u32, ) -> Result<u32, Error>

Appends an OpVectorTimesMatrix instruction to the current block.

Source

pub fn matrix_times_vector( &mut self, result_type: u32, result_id: Option<u32>, matrix: u32, vector: u32, ) -> Result<u32, Error>

Appends an OpMatrixTimesVector instruction to the current block.

Source

pub fn insert_matrix_times_vector( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, matrix: u32, vector: u32, ) -> Result<u32, Error>

Appends an OpMatrixTimesVector instruction to the current block.

Source

pub fn matrix_times_matrix( &mut self, result_type: u32, result_id: Option<u32>, left_matrix: u32, right_matrix: u32, ) -> Result<u32, Error>

Appends an OpMatrixTimesMatrix instruction to the current block.

Source

pub fn insert_matrix_times_matrix( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, left_matrix: u32, right_matrix: u32, ) -> Result<u32, Error>

Appends an OpMatrixTimesMatrix instruction to the current block.

Source

pub fn outer_product( &mut self, result_type: u32, result_id: Option<u32>, vector_1: u32, vector_2: u32, ) -> Result<u32, Error>

Appends an OpOuterProduct instruction to the current block.

Source

pub fn insert_outer_product( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, vector_1: u32, vector_2: u32, ) -> Result<u32, Error>

Appends an OpOuterProduct instruction to the current block.

Source

pub fn dot( &mut self, result_type: u32, result_id: Option<u32>, vector_1: u32, vector_2: u32, ) -> Result<u32, Error>

Appends an OpDot instruction to the current block.

Source

pub fn insert_dot( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, vector_1: u32, vector_2: u32, ) -> Result<u32, Error>

Appends an OpDot instruction to the current block.

Source

pub fn i_add_carry( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpIAddCarry instruction to the current block.

Source

pub fn insert_i_add_carry( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpIAddCarry instruction to the current block.

Source

pub fn i_sub_borrow( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpISubBorrow instruction to the current block.

Source

pub fn insert_i_sub_borrow( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpISubBorrow instruction to the current block.

Source

pub fn u_mul_extended( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpUMulExtended instruction to the current block.

Source

pub fn insert_u_mul_extended( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpUMulExtended instruction to the current block.

Source

pub fn s_mul_extended( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpSMulExtended instruction to the current block.

Source

pub fn insert_s_mul_extended( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpSMulExtended instruction to the current block.

Source

pub fn any( &mut self, result_type: u32, result_id: Option<u32>, vector: u32, ) -> Result<u32, Error>

Appends an OpAny instruction to the current block.

Source

pub fn insert_any( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, vector: u32, ) -> Result<u32, Error>

Appends an OpAny instruction to the current block.

Source

pub fn all( &mut self, result_type: u32, result_id: Option<u32>, vector: u32, ) -> Result<u32, Error>

Appends an OpAll instruction to the current block.

Source

pub fn insert_all( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, vector: u32, ) -> Result<u32, Error>

Appends an OpAll instruction to the current block.

Source

pub fn is_nan( &mut self, result_type: u32, result_id: Option<u32>, x: u32, ) -> Result<u32, Error>

Appends an OpIsNan instruction to the current block.

Source

pub fn insert_is_nan( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, x: u32, ) -> Result<u32, Error>

Appends an OpIsNan instruction to the current block.

Source

pub fn is_inf( &mut self, result_type: u32, result_id: Option<u32>, x: u32, ) -> Result<u32, Error>

Appends an OpIsInf instruction to the current block.

Source

pub fn insert_is_inf( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, x: u32, ) -> Result<u32, Error>

Appends an OpIsInf instruction to the current block.

Source

pub fn is_finite( &mut self, result_type: u32, result_id: Option<u32>, x: u32, ) -> Result<u32, Error>

Appends an OpIsFinite instruction to the current block.

Source

pub fn insert_is_finite( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, x: u32, ) -> Result<u32, Error>

Appends an OpIsFinite instruction to the current block.

Source

pub fn is_normal( &mut self, result_type: u32, result_id: Option<u32>, x: u32, ) -> Result<u32, Error>

Appends an OpIsNormal instruction to the current block.

Source

pub fn insert_is_normal( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, x: u32, ) -> Result<u32, Error>

Appends an OpIsNormal instruction to the current block.

Source

pub fn sign_bit_set( &mut self, result_type: u32, result_id: Option<u32>, x: u32, ) -> Result<u32, Error>

Appends an OpSignBitSet instruction to the current block.

Source

pub fn insert_sign_bit_set( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, x: u32, ) -> Result<u32, Error>

Appends an OpSignBitSet instruction to the current block.

Source

pub fn less_or_greater( &mut self, result_type: u32, result_id: Option<u32>, x: u32, y: u32, ) -> Result<u32, Error>

Appends an OpLessOrGreater instruction to the current block.

Source

pub fn insert_less_or_greater( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, x: u32, y: u32, ) -> Result<u32, Error>

Appends an OpLessOrGreater instruction to the current block.

Source

pub fn ordered( &mut self, result_type: u32, result_id: Option<u32>, x: u32, y: u32, ) -> Result<u32, Error>

Appends an OpOrdered instruction to the current block.

Source

pub fn insert_ordered( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, x: u32, y: u32, ) -> Result<u32, Error>

Appends an OpOrdered instruction to the current block.

Source

pub fn unordered( &mut self, result_type: u32, result_id: Option<u32>, x: u32, y: u32, ) -> Result<u32, Error>

Appends an OpUnordered instruction to the current block.

Source

pub fn insert_unordered( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, x: u32, y: u32, ) -> Result<u32, Error>

Appends an OpUnordered instruction to the current block.

Source

pub fn logical_equal( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpLogicalEqual instruction to the current block.

Source

pub fn insert_logical_equal( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpLogicalEqual instruction to the current block.

Source

pub fn logical_not_equal( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpLogicalNotEqual instruction to the current block.

Source

pub fn insert_logical_not_equal( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpLogicalNotEqual instruction to the current block.

Source

pub fn logical_or( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpLogicalOr instruction to the current block.

Source

pub fn insert_logical_or( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpLogicalOr instruction to the current block.

Source

pub fn logical_and( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpLogicalAnd instruction to the current block.

Source

pub fn insert_logical_and( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpLogicalAnd instruction to the current block.

Source

pub fn logical_not( &mut self, result_type: u32, result_id: Option<u32>, operand: u32, ) -> Result<u32, Error>

Appends an OpLogicalNot instruction to the current block.

Source

pub fn insert_logical_not( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand: u32, ) -> Result<u32, Error>

Appends an OpLogicalNot instruction to the current block.

Source

pub fn select( &mut self, result_type: u32, result_id: Option<u32>, condition: u32, object_1: u32, object_2: u32, ) -> Result<u32, Error>

Appends an OpSelect instruction to the current block.

Source

pub fn insert_select( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, condition: u32, object_1: u32, object_2: u32, ) -> Result<u32, Error>

Appends an OpSelect instruction to the current block.

Source

pub fn i_equal( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpIEqual instruction to the current block.

Source

pub fn insert_i_equal( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpIEqual instruction to the current block.

Source

pub fn i_not_equal( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpINotEqual instruction to the current block.

Source

pub fn insert_i_not_equal( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpINotEqual instruction to the current block.

Source

pub fn u_greater_than( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpUGreaterThan instruction to the current block.

Source

pub fn insert_u_greater_than( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpUGreaterThan instruction to the current block.

Source

pub fn s_greater_than( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpSGreaterThan instruction to the current block.

Source

pub fn insert_s_greater_than( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpSGreaterThan instruction to the current block.

Source

pub fn u_greater_than_equal( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpUGreaterThanEqual instruction to the current block.

Source

pub fn insert_u_greater_than_equal( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpUGreaterThanEqual instruction to the current block.

Source

pub fn s_greater_than_equal( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpSGreaterThanEqual instruction to the current block.

Source

pub fn insert_s_greater_than_equal( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpSGreaterThanEqual instruction to the current block.

Source

pub fn u_less_than( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpULessThan instruction to the current block.

Source

pub fn insert_u_less_than( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpULessThan instruction to the current block.

Source

pub fn s_less_than( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpSLessThan instruction to the current block.

Source

pub fn insert_s_less_than( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpSLessThan instruction to the current block.

Source

pub fn u_less_than_equal( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpULessThanEqual instruction to the current block.

Source

pub fn insert_u_less_than_equal( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpULessThanEqual instruction to the current block.

Source

pub fn s_less_than_equal( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpSLessThanEqual instruction to the current block.

Source

pub fn insert_s_less_than_equal( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpSLessThanEqual instruction to the current block.

Source

pub fn f_ord_equal( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpFOrdEqual instruction to the current block.

Source

pub fn insert_f_ord_equal( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpFOrdEqual instruction to the current block.

Source

pub fn f_unord_equal( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpFUnordEqual instruction to the current block.

Source

pub fn insert_f_unord_equal( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpFUnordEqual instruction to the current block.

Source

pub fn f_ord_not_equal( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpFOrdNotEqual instruction to the current block.

Source

pub fn insert_f_ord_not_equal( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpFOrdNotEqual instruction to the current block.

Source

pub fn f_unord_not_equal( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpFUnordNotEqual instruction to the current block.

Source

pub fn insert_f_unord_not_equal( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpFUnordNotEqual instruction to the current block.

Source

pub fn f_ord_less_than( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpFOrdLessThan instruction to the current block.

Source

pub fn insert_f_ord_less_than( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpFOrdLessThan instruction to the current block.

Source

pub fn f_unord_less_than( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpFUnordLessThan instruction to the current block.

Source

pub fn insert_f_unord_less_than( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpFUnordLessThan instruction to the current block.

Source

pub fn f_ord_greater_than( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpFOrdGreaterThan instruction to the current block.

Source

pub fn insert_f_ord_greater_than( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpFOrdGreaterThan instruction to the current block.

Source

pub fn f_unord_greater_than( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpFUnordGreaterThan instruction to the current block.

Source

pub fn insert_f_unord_greater_than( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpFUnordGreaterThan instruction to the current block.

Source

pub fn f_ord_less_than_equal( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpFOrdLessThanEqual instruction to the current block.

Source

pub fn insert_f_ord_less_than_equal( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpFOrdLessThanEqual instruction to the current block.

Source

pub fn f_unord_less_than_equal( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpFUnordLessThanEqual instruction to the current block.

Source

pub fn insert_f_unord_less_than_equal( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpFUnordLessThanEqual instruction to the current block.

Source

pub fn f_ord_greater_than_equal( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpFOrdGreaterThanEqual instruction to the current block.

Source

pub fn insert_f_ord_greater_than_equal( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpFOrdGreaterThanEqual instruction to the current block.

Source

pub fn f_unord_greater_than_equal( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpFUnordGreaterThanEqual instruction to the current block.

Source

pub fn insert_f_unord_greater_than_equal( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpFUnordGreaterThanEqual instruction to the current block.

Source

pub fn shift_right_logical( &mut self, result_type: u32, result_id: Option<u32>, base: u32, shift: u32, ) -> Result<u32, Error>

Appends an OpShiftRightLogical instruction to the current block.

Source

pub fn insert_shift_right_logical( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, base: u32, shift: u32, ) -> Result<u32, Error>

Appends an OpShiftRightLogical instruction to the current block.

Source

pub fn shift_right_arithmetic( &mut self, result_type: u32, result_id: Option<u32>, base: u32, shift: u32, ) -> Result<u32, Error>

Appends an OpShiftRightArithmetic instruction to the current block.

Source

pub fn insert_shift_right_arithmetic( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, base: u32, shift: u32, ) -> Result<u32, Error>

Appends an OpShiftRightArithmetic instruction to the current block.

Source

pub fn shift_left_logical( &mut self, result_type: u32, result_id: Option<u32>, base: u32, shift: u32, ) -> Result<u32, Error>

Appends an OpShiftLeftLogical instruction to the current block.

Source

pub fn insert_shift_left_logical( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, base: u32, shift: u32, ) -> Result<u32, Error>

Appends an OpShiftLeftLogical instruction to the current block.

Source

pub fn bitwise_or( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpBitwiseOr instruction to the current block.

Source

pub fn insert_bitwise_or( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpBitwiseOr instruction to the current block.

Source

pub fn bitwise_xor( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpBitwiseXor instruction to the current block.

Source

pub fn insert_bitwise_xor( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpBitwiseXor instruction to the current block.

Source

pub fn bitwise_and( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpBitwiseAnd instruction to the current block.

Source

pub fn insert_bitwise_and( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpBitwiseAnd instruction to the current block.

Source

pub fn not( &mut self, result_type: u32, result_id: Option<u32>, operand: u32, ) -> Result<u32, Error>

Appends an OpNot instruction to the current block.

Source

pub fn insert_not( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand: u32, ) -> Result<u32, Error>

Appends an OpNot instruction to the current block.

Source

pub fn bit_field_insert( &mut self, result_type: u32, result_id: Option<u32>, base: u32, insert: u32, offset: u32, count: u32, ) -> Result<u32, Error>

Appends an OpBitFieldInsert instruction to the current block.

Source

pub fn insert_bit_field_insert( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, base: u32, insert: u32, offset: u32, count: u32, ) -> Result<u32, Error>

Appends an OpBitFieldInsert instruction to the current block.

Source

pub fn bit_field_s_extract( &mut self, result_type: u32, result_id: Option<u32>, base: u32, offset: u32, count: u32, ) -> Result<u32, Error>

Appends an OpBitFieldSExtract instruction to the current block.

Source

pub fn insert_bit_field_s_extract( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, base: u32, offset: u32, count: u32, ) -> Result<u32, Error>

Appends an OpBitFieldSExtract instruction to the current block.

Source

pub fn bit_field_u_extract( &mut self, result_type: u32, result_id: Option<u32>, base: u32, offset: u32, count: u32, ) -> Result<u32, Error>

Appends an OpBitFieldUExtract instruction to the current block.

Source

pub fn insert_bit_field_u_extract( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, base: u32, offset: u32, count: u32, ) -> Result<u32, Error>

Appends an OpBitFieldUExtract instruction to the current block.

Source

pub fn bit_reverse( &mut self, result_type: u32, result_id: Option<u32>, base: u32, ) -> Result<u32, Error>

Appends an OpBitReverse instruction to the current block.

Source

pub fn insert_bit_reverse( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, base: u32, ) -> Result<u32, Error>

Appends an OpBitReverse instruction to the current block.

Source

pub fn bit_count( &mut self, result_type: u32, result_id: Option<u32>, base: u32, ) -> Result<u32, Error>

Appends an OpBitCount instruction to the current block.

Source

pub fn insert_bit_count( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, base: u32, ) -> Result<u32, Error>

Appends an OpBitCount instruction to the current block.

Source

pub fn d_pdx( &mut self, result_type: u32, result_id: Option<u32>, p: u32, ) -> Result<u32, Error>

Appends an OpDPdx instruction to the current block.

Source

pub fn insert_d_pdx( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, p: u32, ) -> Result<u32, Error>

Appends an OpDPdx instruction to the current block.

Source

pub fn d_pdy( &mut self, result_type: u32, result_id: Option<u32>, p: u32, ) -> Result<u32, Error>

Appends an OpDPdy instruction to the current block.

Source

pub fn insert_d_pdy( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, p: u32, ) -> Result<u32, Error>

Appends an OpDPdy instruction to the current block.

Source

pub fn fwidth( &mut self, result_type: u32, result_id: Option<u32>, p: u32, ) -> Result<u32, Error>

Appends an OpFwidth instruction to the current block.

Source

pub fn insert_fwidth( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, p: u32, ) -> Result<u32, Error>

Appends an OpFwidth instruction to the current block.

Source

pub fn d_pdx_fine( &mut self, result_type: u32, result_id: Option<u32>, p: u32, ) -> Result<u32, Error>

Appends an OpDPdxFine instruction to the current block.

Source

pub fn insert_d_pdx_fine( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, p: u32, ) -> Result<u32, Error>

Appends an OpDPdxFine instruction to the current block.

Source

pub fn d_pdy_fine( &mut self, result_type: u32, result_id: Option<u32>, p: u32, ) -> Result<u32, Error>

Appends an OpDPdyFine instruction to the current block.

Source

pub fn insert_d_pdy_fine( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, p: u32, ) -> Result<u32, Error>

Appends an OpDPdyFine instruction to the current block.

Source

pub fn fwidth_fine( &mut self, result_type: u32, result_id: Option<u32>, p: u32, ) -> Result<u32, Error>

Appends an OpFwidthFine instruction to the current block.

Source

pub fn insert_fwidth_fine( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, p: u32, ) -> Result<u32, Error>

Appends an OpFwidthFine instruction to the current block.

Source

pub fn d_pdx_coarse( &mut self, result_type: u32, result_id: Option<u32>, p: u32, ) -> Result<u32, Error>

Appends an OpDPdxCoarse instruction to the current block.

Source

pub fn insert_d_pdx_coarse( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, p: u32, ) -> Result<u32, Error>

Appends an OpDPdxCoarse instruction to the current block.

Source

pub fn d_pdy_coarse( &mut self, result_type: u32, result_id: Option<u32>, p: u32, ) -> Result<u32, Error>

Appends an OpDPdyCoarse instruction to the current block.

Source

pub fn insert_d_pdy_coarse( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, p: u32, ) -> Result<u32, Error>

Appends an OpDPdyCoarse instruction to the current block.

Source

pub fn fwidth_coarse( &mut self, result_type: u32, result_id: Option<u32>, p: u32, ) -> Result<u32, Error>

Appends an OpFwidthCoarse instruction to the current block.

Source

pub fn insert_fwidth_coarse( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, p: u32, ) -> Result<u32, Error>

Appends an OpFwidthCoarse instruction to the current block.

Source

pub fn emit_vertex(&mut self) -> Result<(), Error>

Appends an OpEmitVertex instruction to the current block.

Source

pub fn insert_emit_vertex( &mut self, insert_point: InsertPoint, ) -> Result<(), Error>

Appends an OpEmitVertex instruction to the current block.

Source

pub fn end_primitive(&mut self) -> Result<(), Error>

Appends an OpEndPrimitive instruction to the current block.

Source

pub fn insert_end_primitive( &mut self, insert_point: InsertPoint, ) -> Result<(), Error>

Appends an OpEndPrimitive instruction to the current block.

Source

pub fn emit_stream_vertex(&mut self, stream: u32) -> Result<(), Error>

Appends an OpEmitStreamVertex instruction to the current block.

Source

pub fn insert_emit_stream_vertex( &mut self, insert_point: InsertPoint, stream: u32, ) -> Result<(), Error>

Appends an OpEmitStreamVertex instruction to the current block.

Source

pub fn end_stream_primitive(&mut self, stream: u32) -> Result<(), Error>

Appends an OpEndStreamPrimitive instruction to the current block.

Source

pub fn insert_end_stream_primitive( &mut self, insert_point: InsertPoint, stream: u32, ) -> Result<(), Error>

Appends an OpEndStreamPrimitive instruction to the current block.

Source

pub fn control_barrier( &mut self, execution: u32, memory: u32, semantics: u32, ) -> Result<(), Error>

Appends an OpControlBarrier instruction to the current block.

Source

pub fn insert_control_barrier( &mut self, insert_point: InsertPoint, execution: u32, memory: u32, semantics: u32, ) -> Result<(), Error>

Appends an OpControlBarrier instruction to the current block.

Source

pub fn memory_barrier( &mut self, memory: u32, semantics: u32, ) -> Result<(), Error>

Appends an OpMemoryBarrier instruction to the current block.

Source

pub fn insert_memory_barrier( &mut self, insert_point: InsertPoint, memory: u32, semantics: u32, ) -> Result<(), Error>

Appends an OpMemoryBarrier instruction to the current block.

Source

pub fn atomic_load( &mut self, result_type: u32, result_id: Option<u32>, pointer: u32, memory: u32, semantics: u32, ) -> Result<u32, Error>

Appends an OpAtomicLoad instruction to the current block.

Source

pub fn insert_atomic_load( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, pointer: u32, memory: u32, semantics: u32, ) -> Result<u32, Error>

Appends an OpAtomicLoad instruction to the current block.

Source

pub fn atomic_store( &mut self, pointer: u32, memory: u32, semantics: u32, value: u32, ) -> Result<(), Error>

Appends an OpAtomicStore instruction to the current block.

Source

pub fn insert_atomic_store( &mut self, insert_point: InsertPoint, pointer: u32, memory: u32, semantics: u32, value: u32, ) -> Result<(), Error>

Appends an OpAtomicStore instruction to the current block.

Source

pub fn atomic_exchange( &mut self, result_type: u32, result_id: Option<u32>, pointer: u32, memory: u32, semantics: u32, value: u32, ) -> Result<u32, Error>

Appends an OpAtomicExchange instruction to the current block.

Source

pub fn insert_atomic_exchange( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, pointer: u32, memory: u32, semantics: u32, value: u32, ) -> Result<u32, Error>

Appends an OpAtomicExchange instruction to the current block.

Source

pub fn atomic_compare_exchange( &mut self, result_type: u32, result_id: Option<u32>, pointer: u32, memory: u32, equal: u32, unequal: u32, value: u32, comparator: u32, ) -> Result<u32, Error>

Appends an OpAtomicCompareExchange instruction to the current block.

Source

pub fn insert_atomic_compare_exchange( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, pointer: u32, memory: u32, equal: u32, unequal: u32, value: u32, comparator: u32, ) -> Result<u32, Error>

Appends an OpAtomicCompareExchange instruction to the current block.

Source

pub fn atomic_compare_exchange_weak( &mut self, result_type: u32, result_id: Option<u32>, pointer: u32, memory: u32, equal: u32, unequal: u32, value: u32, comparator: u32, ) -> Result<u32, Error>

Appends an OpAtomicCompareExchangeWeak instruction to the current block.

Source

pub fn insert_atomic_compare_exchange_weak( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, pointer: u32, memory: u32, equal: u32, unequal: u32, value: u32, comparator: u32, ) -> Result<u32, Error>

Appends an OpAtomicCompareExchangeWeak instruction to the current block.

Source

pub fn atomic_i_increment( &mut self, result_type: u32, result_id: Option<u32>, pointer: u32, memory: u32, semantics: u32, ) -> Result<u32, Error>

Appends an OpAtomicIIncrement instruction to the current block.

Source

pub fn insert_atomic_i_increment( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, pointer: u32, memory: u32, semantics: u32, ) -> Result<u32, Error>

Appends an OpAtomicIIncrement instruction to the current block.

Source

pub fn atomic_i_decrement( &mut self, result_type: u32, result_id: Option<u32>, pointer: u32, memory: u32, semantics: u32, ) -> Result<u32, Error>

Appends an OpAtomicIDecrement instruction to the current block.

Source

pub fn insert_atomic_i_decrement( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, pointer: u32, memory: u32, semantics: u32, ) -> Result<u32, Error>

Appends an OpAtomicIDecrement instruction to the current block.

Source

pub fn atomic_i_add( &mut self, result_type: u32, result_id: Option<u32>, pointer: u32, memory: u32, semantics: u32, value: u32, ) -> Result<u32, Error>

Appends an OpAtomicIAdd instruction to the current block.

Source

pub fn insert_atomic_i_add( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, pointer: u32, memory: u32, semantics: u32, value: u32, ) -> Result<u32, Error>

Appends an OpAtomicIAdd instruction to the current block.

Source

pub fn atomic_i_sub( &mut self, result_type: u32, result_id: Option<u32>, pointer: u32, memory: u32, semantics: u32, value: u32, ) -> Result<u32, Error>

Appends an OpAtomicISub instruction to the current block.

Source

pub fn insert_atomic_i_sub( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, pointer: u32, memory: u32, semantics: u32, value: u32, ) -> Result<u32, Error>

Appends an OpAtomicISub instruction to the current block.

Source

pub fn atomic_s_min( &mut self, result_type: u32, result_id: Option<u32>, pointer: u32, memory: u32, semantics: u32, value: u32, ) -> Result<u32, Error>

Appends an OpAtomicSMin instruction to the current block.

Source

pub fn insert_atomic_s_min( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, pointer: u32, memory: u32, semantics: u32, value: u32, ) -> Result<u32, Error>

Appends an OpAtomicSMin instruction to the current block.

Source

pub fn atomic_u_min( &mut self, result_type: u32, result_id: Option<u32>, pointer: u32, memory: u32, semantics: u32, value: u32, ) -> Result<u32, Error>

Appends an OpAtomicUMin instruction to the current block.

Source

pub fn insert_atomic_u_min( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, pointer: u32, memory: u32, semantics: u32, value: u32, ) -> Result<u32, Error>

Appends an OpAtomicUMin instruction to the current block.

Source

pub fn atomic_s_max( &mut self, result_type: u32, result_id: Option<u32>, pointer: u32, memory: u32, semantics: u32, value: u32, ) -> Result<u32, Error>

Appends an OpAtomicSMax instruction to the current block.

Source

pub fn insert_atomic_s_max( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, pointer: u32, memory: u32, semantics: u32, value: u32, ) -> Result<u32, Error>

Appends an OpAtomicSMax instruction to the current block.

Source

pub fn atomic_u_max( &mut self, result_type: u32, result_id: Option<u32>, pointer: u32, memory: u32, semantics: u32, value: u32, ) -> Result<u32, Error>

Appends an OpAtomicUMax instruction to the current block.

Source

pub fn insert_atomic_u_max( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, pointer: u32, memory: u32, semantics: u32, value: u32, ) -> Result<u32, Error>

Appends an OpAtomicUMax instruction to the current block.

Source

pub fn atomic_and( &mut self, result_type: u32, result_id: Option<u32>, pointer: u32, memory: u32, semantics: u32, value: u32, ) -> Result<u32, Error>

Appends an OpAtomicAnd instruction to the current block.

Source

pub fn insert_atomic_and( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, pointer: u32, memory: u32, semantics: u32, value: u32, ) -> Result<u32, Error>

Appends an OpAtomicAnd instruction to the current block.

Source

pub fn atomic_or( &mut self, result_type: u32, result_id: Option<u32>, pointer: u32, memory: u32, semantics: u32, value: u32, ) -> Result<u32, Error>

Appends an OpAtomicOr instruction to the current block.

Source

pub fn insert_atomic_or( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, pointer: u32, memory: u32, semantics: u32, value: u32, ) -> Result<u32, Error>

Appends an OpAtomicOr instruction to the current block.

Source

pub fn atomic_xor( &mut self, result_type: u32, result_id: Option<u32>, pointer: u32, memory: u32, semantics: u32, value: u32, ) -> Result<u32, Error>

Appends an OpAtomicXor instruction to the current block.

Source

pub fn insert_atomic_xor( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, pointer: u32, memory: u32, semantics: u32, value: u32, ) -> Result<u32, Error>

Appends an OpAtomicXor instruction to the current block.

Source

pub fn phi( &mut self, result_type: u32, result_id: Option<u32>, variable_parent: impl IntoIterator<Item = (u32, u32)>, ) -> Result<u32, Error>

Appends an OpPhi instruction to the current block.

Source

pub fn insert_phi( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, variable_parent: impl IntoIterator<Item = (u32, u32)>, ) -> Result<u32, Error>

Appends an OpPhi instruction to the current block.

Source

pub fn loop_merge( &mut self, merge_block: u32, continue_target: u32, loop_control: LoopControl, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<(), Error>

Appends an OpLoopMerge instruction to the current block.

Source

pub fn insert_loop_merge( &mut self, insert_point: InsertPoint, merge_block: u32, continue_target: u32, loop_control: LoopControl, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<(), Error>

Appends an OpLoopMerge instruction to the current block.

Source

pub fn selection_merge( &mut self, merge_block: u32, selection_control: SelectionControl, ) -> Result<(), Error>

Appends an OpSelectionMerge instruction to the current block.

Source

pub fn insert_selection_merge( &mut self, insert_point: InsertPoint, merge_block: u32, selection_control: SelectionControl, ) -> Result<(), Error>

Appends an OpSelectionMerge instruction to the current block.

Source

pub fn group_async_copy( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, destination: u32, source: u32, num_elements: u32, stride: u32, event: u32, ) -> Result<u32, Error>

Appends an OpGroupAsyncCopy instruction to the current block.

Source

pub fn insert_group_async_copy( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, destination: u32, source: u32, num_elements: u32, stride: u32, event: u32, ) -> Result<u32, Error>

Appends an OpGroupAsyncCopy instruction to the current block.

Source

pub fn group_wait_events( &mut self, execution: u32, num_events: u32, events_list: u32, ) -> Result<(), Error>

Appends an OpGroupWaitEvents instruction to the current block.

Source

pub fn insert_group_wait_events( &mut self, insert_point: InsertPoint, execution: u32, num_events: u32, events_list: u32, ) -> Result<(), Error>

Appends an OpGroupWaitEvents instruction to the current block.

Source

pub fn group_all( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, predicate: u32, ) -> Result<u32, Error>

Appends an OpGroupAll instruction to the current block.

Source

pub fn insert_group_all( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, predicate: u32, ) -> Result<u32, Error>

Appends an OpGroupAll instruction to the current block.

Source

pub fn group_any( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, predicate: u32, ) -> Result<u32, Error>

Appends an OpGroupAny instruction to the current block.

Source

pub fn insert_group_any( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, predicate: u32, ) -> Result<u32, Error>

Appends an OpGroupAny instruction to the current block.

Source

pub fn group_broadcast( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, value: u32, local_id: u32, ) -> Result<u32, Error>

Appends an OpGroupBroadcast instruction to the current block.

Source

pub fn insert_group_broadcast( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, value: u32, local_id: u32, ) -> Result<u32, Error>

Appends an OpGroupBroadcast instruction to the current block.

Source

pub fn group_i_add( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupIAdd instruction to the current block.

Source

pub fn insert_group_i_add( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupIAdd instruction to the current block.

Source

pub fn group_f_add( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupFAdd instruction to the current block.

Source

pub fn insert_group_f_add( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupFAdd instruction to the current block.

Source

pub fn group_f_min( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupFMin instruction to the current block.

Source

pub fn insert_group_f_min( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupFMin instruction to the current block.

Source

pub fn group_u_min( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupUMin instruction to the current block.

Source

pub fn insert_group_u_min( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupUMin instruction to the current block.

Source

pub fn group_s_min( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupSMin instruction to the current block.

Source

pub fn insert_group_s_min( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupSMin instruction to the current block.

Source

pub fn group_f_max( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupFMax instruction to the current block.

Source

pub fn insert_group_f_max( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupFMax instruction to the current block.

Source

pub fn group_u_max( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupUMax instruction to the current block.

Source

pub fn insert_group_u_max( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupUMax instruction to the current block.

Source

pub fn group_s_max( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupSMax instruction to the current block.

Source

pub fn insert_group_s_max( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupSMax instruction to the current block.

Source

pub fn read_pipe( &mut self, result_type: u32, result_id: Option<u32>, pipe: u32, pointer: u32, packet_size: u32, packet_alignment: u32, ) -> Result<u32, Error>

Appends an OpReadPipe instruction to the current block.

Source

pub fn insert_read_pipe( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, pipe: u32, pointer: u32, packet_size: u32, packet_alignment: u32, ) -> Result<u32, Error>

Appends an OpReadPipe instruction to the current block.

Source

pub fn write_pipe( &mut self, result_type: u32, result_id: Option<u32>, pipe: u32, pointer: u32, packet_size: u32, packet_alignment: u32, ) -> Result<u32, Error>

Appends an OpWritePipe instruction to the current block.

Source

pub fn insert_write_pipe( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, pipe: u32, pointer: u32, packet_size: u32, packet_alignment: u32, ) -> Result<u32, Error>

Appends an OpWritePipe instruction to the current block.

Source

pub fn reserved_read_pipe( &mut self, result_type: u32, result_id: Option<u32>, pipe: u32, reserve_id: u32, index: u32, pointer: u32, packet_size: u32, packet_alignment: u32, ) -> Result<u32, Error>

Appends an OpReservedReadPipe instruction to the current block.

Source

pub fn insert_reserved_read_pipe( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, pipe: u32, reserve_id: u32, index: u32, pointer: u32, packet_size: u32, packet_alignment: u32, ) -> Result<u32, Error>

Appends an OpReservedReadPipe instruction to the current block.

Source

pub fn reserved_write_pipe( &mut self, result_type: u32, result_id: Option<u32>, pipe: u32, reserve_id: u32, index: u32, pointer: u32, packet_size: u32, packet_alignment: u32, ) -> Result<u32, Error>

Appends an OpReservedWritePipe instruction to the current block.

Source

pub fn insert_reserved_write_pipe( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, pipe: u32, reserve_id: u32, index: u32, pointer: u32, packet_size: u32, packet_alignment: u32, ) -> Result<u32, Error>

Appends an OpReservedWritePipe instruction to the current block.

Source

pub fn reserve_read_pipe_packets( &mut self, result_type: u32, result_id: Option<u32>, pipe: u32, num_packets: u32, packet_size: u32, packet_alignment: u32, ) -> Result<u32, Error>

Appends an OpReserveReadPipePackets instruction to the current block.

Source

pub fn insert_reserve_read_pipe_packets( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, pipe: u32, num_packets: u32, packet_size: u32, packet_alignment: u32, ) -> Result<u32, Error>

Appends an OpReserveReadPipePackets instruction to the current block.

Source

pub fn reserve_write_pipe_packets( &mut self, result_type: u32, result_id: Option<u32>, pipe: u32, num_packets: u32, packet_size: u32, packet_alignment: u32, ) -> Result<u32, Error>

Appends an OpReserveWritePipePackets instruction to the current block.

Source

pub fn insert_reserve_write_pipe_packets( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, pipe: u32, num_packets: u32, packet_size: u32, packet_alignment: u32, ) -> Result<u32, Error>

Appends an OpReserveWritePipePackets instruction to the current block.

Source

pub fn commit_read_pipe( &mut self, pipe: u32, reserve_id: u32, packet_size: u32, packet_alignment: u32, ) -> Result<(), Error>

Appends an OpCommitReadPipe instruction to the current block.

Source

pub fn insert_commit_read_pipe( &mut self, insert_point: InsertPoint, pipe: u32, reserve_id: u32, packet_size: u32, packet_alignment: u32, ) -> Result<(), Error>

Appends an OpCommitReadPipe instruction to the current block.

Source

pub fn commit_write_pipe( &mut self, pipe: u32, reserve_id: u32, packet_size: u32, packet_alignment: u32, ) -> Result<(), Error>

Appends an OpCommitWritePipe instruction to the current block.

Source

pub fn insert_commit_write_pipe( &mut self, insert_point: InsertPoint, pipe: u32, reserve_id: u32, packet_size: u32, packet_alignment: u32, ) -> Result<(), Error>

Appends an OpCommitWritePipe instruction to the current block.

Source

pub fn is_valid_reserve_id( &mut self, result_type: u32, result_id: Option<u32>, reserve_id: u32, ) -> Result<u32, Error>

Appends an OpIsValidReserveId instruction to the current block.

Source

pub fn insert_is_valid_reserve_id( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, reserve_id: u32, ) -> Result<u32, Error>

Appends an OpIsValidReserveId instruction to the current block.

Source

pub fn get_num_pipe_packets( &mut self, result_type: u32, result_id: Option<u32>, pipe: u32, packet_size: u32, packet_alignment: u32, ) -> Result<u32, Error>

Appends an OpGetNumPipePackets instruction to the current block.

Source

pub fn insert_get_num_pipe_packets( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, pipe: u32, packet_size: u32, packet_alignment: u32, ) -> Result<u32, Error>

Appends an OpGetNumPipePackets instruction to the current block.

Source

pub fn get_max_pipe_packets( &mut self, result_type: u32, result_id: Option<u32>, pipe: u32, packet_size: u32, packet_alignment: u32, ) -> Result<u32, Error>

Appends an OpGetMaxPipePackets instruction to the current block.

Source

pub fn insert_get_max_pipe_packets( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, pipe: u32, packet_size: u32, packet_alignment: u32, ) -> Result<u32, Error>

Appends an OpGetMaxPipePackets instruction to the current block.

Source

pub fn group_reserve_read_pipe_packets( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, pipe: u32, num_packets: u32, packet_size: u32, packet_alignment: u32, ) -> Result<u32, Error>

Appends an OpGroupReserveReadPipePackets instruction to the current block.

Source

pub fn insert_group_reserve_read_pipe_packets( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, pipe: u32, num_packets: u32, packet_size: u32, packet_alignment: u32, ) -> Result<u32, Error>

Appends an OpGroupReserveReadPipePackets instruction to the current block.

Source

pub fn group_reserve_write_pipe_packets( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, pipe: u32, num_packets: u32, packet_size: u32, packet_alignment: u32, ) -> Result<u32, Error>

Appends an OpGroupReserveWritePipePackets instruction to the current block.

Source

pub fn insert_group_reserve_write_pipe_packets( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, pipe: u32, num_packets: u32, packet_size: u32, packet_alignment: u32, ) -> Result<u32, Error>

Appends an OpGroupReserveWritePipePackets instruction to the current block.

Source

pub fn group_commit_read_pipe( &mut self, execution: u32, pipe: u32, reserve_id: u32, packet_size: u32, packet_alignment: u32, ) -> Result<(), Error>

Appends an OpGroupCommitReadPipe instruction to the current block.

Source

pub fn insert_group_commit_read_pipe( &mut self, insert_point: InsertPoint, execution: u32, pipe: u32, reserve_id: u32, packet_size: u32, packet_alignment: u32, ) -> Result<(), Error>

Appends an OpGroupCommitReadPipe instruction to the current block.

Source

pub fn group_commit_write_pipe( &mut self, execution: u32, pipe: u32, reserve_id: u32, packet_size: u32, packet_alignment: u32, ) -> Result<(), Error>

Appends an OpGroupCommitWritePipe instruction to the current block.

Source

pub fn insert_group_commit_write_pipe( &mut self, insert_point: InsertPoint, execution: u32, pipe: u32, reserve_id: u32, packet_size: u32, packet_alignment: u32, ) -> Result<(), Error>

Appends an OpGroupCommitWritePipe instruction to the current block.

Source

pub fn enqueue_marker( &mut self, result_type: u32, result_id: Option<u32>, queue: u32, num_events: u32, wait_events: u32, ret_event: u32, ) -> Result<u32, Error>

Appends an OpEnqueueMarker instruction to the current block.

Source

pub fn insert_enqueue_marker( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, queue: u32, num_events: u32, wait_events: u32, ret_event: u32, ) -> Result<u32, Error>

Appends an OpEnqueueMarker instruction to the current block.

Source

pub fn enqueue_kernel( &mut self, result_type: u32, result_id: Option<u32>, queue: u32, flags: u32, nd_range: u32, num_events: u32, wait_events: u32, ret_event: u32, invoke: u32, param: u32, param_size: u32, param_align: u32, local_size: impl IntoIterator<Item = u32>, ) -> Result<u32, Error>

Appends an OpEnqueueKernel instruction to the current block.

Source

pub fn insert_enqueue_kernel( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, queue: u32, flags: u32, nd_range: u32, num_events: u32, wait_events: u32, ret_event: u32, invoke: u32, param: u32, param_size: u32, param_align: u32, local_size: impl IntoIterator<Item = u32>, ) -> Result<u32, Error>

Appends an OpEnqueueKernel instruction to the current block.

Source

pub fn get_kernel_n_drange_sub_group_count( &mut self, result_type: u32, result_id: Option<u32>, nd_range: u32, invoke: u32, param: u32, param_size: u32, param_align: u32, ) -> Result<u32, Error>

Appends an OpGetKernelNDrangeSubGroupCount instruction to the current block.

Source

pub fn insert_get_kernel_n_drange_sub_group_count( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, nd_range: u32, invoke: u32, param: u32, param_size: u32, param_align: u32, ) -> Result<u32, Error>

Appends an OpGetKernelNDrangeSubGroupCount instruction to the current block.

Source

pub fn get_kernel_n_drange_max_sub_group_size( &mut self, result_type: u32, result_id: Option<u32>, nd_range: u32, invoke: u32, param: u32, param_size: u32, param_align: u32, ) -> Result<u32, Error>

Appends an OpGetKernelNDrangeMaxSubGroupSize instruction to the current block.

Source

pub fn insert_get_kernel_n_drange_max_sub_group_size( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, nd_range: u32, invoke: u32, param: u32, param_size: u32, param_align: u32, ) -> Result<u32, Error>

Appends an OpGetKernelNDrangeMaxSubGroupSize instruction to the current block.

Source

pub fn get_kernel_work_group_size( &mut self, result_type: u32, result_id: Option<u32>, invoke: u32, param: u32, param_size: u32, param_align: u32, ) -> Result<u32, Error>

Appends an OpGetKernelWorkGroupSize instruction to the current block.

Source

pub fn insert_get_kernel_work_group_size( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, invoke: u32, param: u32, param_size: u32, param_align: u32, ) -> Result<u32, Error>

Appends an OpGetKernelWorkGroupSize instruction to the current block.

Source

pub fn get_kernel_preferred_work_group_size_multiple( &mut self, result_type: u32, result_id: Option<u32>, invoke: u32, param: u32, param_size: u32, param_align: u32, ) -> Result<u32, Error>

Appends an OpGetKernelPreferredWorkGroupSizeMultiple instruction to the current block.

Source

pub fn insert_get_kernel_preferred_work_group_size_multiple( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, invoke: u32, param: u32, param_size: u32, param_align: u32, ) -> Result<u32, Error>

Appends an OpGetKernelPreferredWorkGroupSizeMultiple instruction to the current block.

Source

pub fn retain_event(&mut self, event: u32) -> Result<(), Error>

Appends an OpRetainEvent instruction to the current block.

Source

pub fn insert_retain_event( &mut self, insert_point: InsertPoint, event: u32, ) -> Result<(), Error>

Appends an OpRetainEvent instruction to the current block.

Source

pub fn release_event(&mut self, event: u32) -> Result<(), Error>

Appends an OpReleaseEvent instruction to the current block.

Source

pub fn insert_release_event( &mut self, insert_point: InsertPoint, event: u32, ) -> Result<(), Error>

Appends an OpReleaseEvent instruction to the current block.

Source

pub fn create_user_event( &mut self, result_type: u32, result_id: Option<u32>, ) -> Result<u32, Error>

Appends an OpCreateUserEvent instruction to the current block.

Source

pub fn insert_create_user_event( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, ) -> Result<u32, Error>

Appends an OpCreateUserEvent instruction to the current block.

Source

pub fn is_valid_event( &mut self, result_type: u32, result_id: Option<u32>, event: u32, ) -> Result<u32, Error>

Appends an OpIsValidEvent instruction to the current block.

Source

pub fn insert_is_valid_event( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, event: u32, ) -> Result<u32, Error>

Appends an OpIsValidEvent instruction to the current block.

Source

pub fn set_user_event_status( &mut self, event: u32, status: u32, ) -> Result<(), Error>

Appends an OpSetUserEventStatus instruction to the current block.

Source

pub fn insert_set_user_event_status( &mut self, insert_point: InsertPoint, event: u32, status: u32, ) -> Result<(), Error>

Appends an OpSetUserEventStatus instruction to the current block.

Source

pub fn capture_event_profiling_info( &mut self, event: u32, profiling_info: u32, value: u32, ) -> Result<(), Error>

Appends an OpCaptureEventProfilingInfo instruction to the current block.

Source

pub fn insert_capture_event_profiling_info( &mut self, insert_point: InsertPoint, event: u32, profiling_info: u32, value: u32, ) -> Result<(), Error>

Appends an OpCaptureEventProfilingInfo instruction to the current block.

Source

pub fn get_default_queue( &mut self, result_type: u32, result_id: Option<u32>, ) -> Result<u32, Error>

Appends an OpGetDefaultQueue instruction to the current block.

Source

pub fn insert_get_default_queue( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, ) -> Result<u32, Error>

Appends an OpGetDefaultQueue instruction to the current block.

Source

pub fn build_nd_range( &mut self, result_type: u32, result_id: Option<u32>, global_work_size: u32, local_work_size: u32, global_work_offset: u32, ) -> Result<u32, Error>

Appends an OpBuildNDRange instruction to the current block.

Source

pub fn insert_build_nd_range( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, global_work_size: u32, local_work_size: u32, global_work_offset: u32, ) -> Result<u32, Error>

Appends an OpBuildNDRange instruction to the current block.

Source

pub fn image_sparse_sample_implicit_lod( &mut self, result_type: u32, result_id: Option<u32>, sampled_image: u32, coordinate: u32, image_operands: Option<ImageOperands>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageSparseSampleImplicitLod instruction to the current block.

Source

pub fn insert_image_sparse_sample_implicit_lod( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, sampled_image: u32, coordinate: u32, image_operands: Option<ImageOperands>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageSparseSampleImplicitLod instruction to the current block.

Source

pub fn image_sparse_sample_explicit_lod( &mut self, result_type: u32, result_id: Option<u32>, sampled_image: u32, coordinate: u32, image_operands: ImageOperands, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageSparseSampleExplicitLod instruction to the current block.

Source

pub fn insert_image_sparse_sample_explicit_lod( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, sampled_image: u32, coordinate: u32, image_operands: ImageOperands, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageSparseSampleExplicitLod instruction to the current block.

Source

pub fn image_sparse_sample_dref_implicit_lod( &mut self, result_type: u32, result_id: Option<u32>, sampled_image: u32, coordinate: u32, d_ref: u32, image_operands: Option<ImageOperands>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageSparseSampleDrefImplicitLod instruction to the current block.

Source

pub fn insert_image_sparse_sample_dref_implicit_lod( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, sampled_image: u32, coordinate: u32, d_ref: u32, image_operands: Option<ImageOperands>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageSparseSampleDrefImplicitLod instruction to the current block.

Source

pub fn image_sparse_sample_dref_explicit_lod( &mut self, result_type: u32, result_id: Option<u32>, sampled_image: u32, coordinate: u32, d_ref: u32, image_operands: ImageOperands, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageSparseSampleDrefExplicitLod instruction to the current block.

Source

pub fn insert_image_sparse_sample_dref_explicit_lod( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, sampled_image: u32, coordinate: u32, d_ref: u32, image_operands: ImageOperands, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageSparseSampleDrefExplicitLod instruction to the current block.

Source

pub fn image_sparse_sample_proj_implicit_lod( &mut self, result_type: u32, result_id: Option<u32>, sampled_image: u32, coordinate: u32, image_operands: Option<ImageOperands>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageSparseSampleProjImplicitLod instruction to the current block.

Source

pub fn insert_image_sparse_sample_proj_implicit_lod( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, sampled_image: u32, coordinate: u32, image_operands: Option<ImageOperands>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageSparseSampleProjImplicitLod instruction to the current block.

Source

pub fn image_sparse_sample_proj_explicit_lod( &mut self, result_type: u32, result_id: Option<u32>, sampled_image: u32, coordinate: u32, image_operands: ImageOperands, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageSparseSampleProjExplicitLod instruction to the current block.

Source

pub fn insert_image_sparse_sample_proj_explicit_lod( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, sampled_image: u32, coordinate: u32, image_operands: ImageOperands, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageSparseSampleProjExplicitLod instruction to the current block.

Source

pub fn image_sparse_sample_proj_dref_implicit_lod( &mut self, result_type: u32, result_id: Option<u32>, sampled_image: u32, coordinate: u32, d_ref: u32, image_operands: Option<ImageOperands>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageSparseSampleProjDrefImplicitLod instruction to the current block.

Source

pub fn insert_image_sparse_sample_proj_dref_implicit_lod( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, sampled_image: u32, coordinate: u32, d_ref: u32, image_operands: Option<ImageOperands>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageSparseSampleProjDrefImplicitLod instruction to the current block.

Source

pub fn image_sparse_sample_proj_dref_explicit_lod( &mut self, result_type: u32, result_id: Option<u32>, sampled_image: u32, coordinate: u32, d_ref: u32, image_operands: ImageOperands, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageSparseSampleProjDrefExplicitLod instruction to the current block.

Source

pub fn insert_image_sparse_sample_proj_dref_explicit_lod( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, sampled_image: u32, coordinate: u32, d_ref: u32, image_operands: ImageOperands, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageSparseSampleProjDrefExplicitLod instruction to the current block.

Source

pub fn image_sparse_fetch( &mut self, result_type: u32, result_id: Option<u32>, image: u32, coordinate: u32, image_operands: Option<ImageOperands>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageSparseFetch instruction to the current block.

Source

pub fn insert_image_sparse_fetch( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, image: u32, coordinate: u32, image_operands: Option<ImageOperands>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageSparseFetch instruction to the current block.

Source

pub fn image_sparse_gather( &mut self, result_type: u32, result_id: Option<u32>, sampled_image: u32, coordinate: u32, component: u32, image_operands: Option<ImageOperands>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageSparseGather instruction to the current block.

Source

pub fn insert_image_sparse_gather( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, sampled_image: u32, coordinate: u32, component: u32, image_operands: Option<ImageOperands>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageSparseGather instruction to the current block.

Source

pub fn image_sparse_dref_gather( &mut self, result_type: u32, result_id: Option<u32>, sampled_image: u32, coordinate: u32, d_ref: u32, image_operands: Option<ImageOperands>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageSparseDrefGather instruction to the current block.

Source

pub fn insert_image_sparse_dref_gather( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, sampled_image: u32, coordinate: u32, d_ref: u32, image_operands: Option<ImageOperands>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageSparseDrefGather instruction to the current block.

Source

pub fn image_sparse_texels_resident( &mut self, result_type: u32, result_id: Option<u32>, resident_code: u32, ) -> Result<u32, Error>

Appends an OpImageSparseTexelsResident instruction to the current block.

Source

pub fn insert_image_sparse_texels_resident( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, resident_code: u32, ) -> Result<u32, Error>

Appends an OpImageSparseTexelsResident instruction to the current block.

Source

pub fn atomic_flag_test_and_set( &mut self, result_type: u32, result_id: Option<u32>, pointer: u32, memory: u32, semantics: u32, ) -> Result<u32, Error>

Appends an OpAtomicFlagTestAndSet instruction to the current block.

Source

pub fn insert_atomic_flag_test_and_set( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, pointer: u32, memory: u32, semantics: u32, ) -> Result<u32, Error>

Appends an OpAtomicFlagTestAndSet instruction to the current block.

Source

pub fn atomic_flag_clear( &mut self, pointer: u32, memory: u32, semantics: u32, ) -> Result<(), Error>

Appends an OpAtomicFlagClear instruction to the current block.

Source

pub fn insert_atomic_flag_clear( &mut self, insert_point: InsertPoint, pointer: u32, memory: u32, semantics: u32, ) -> Result<(), Error>

Appends an OpAtomicFlagClear instruction to the current block.

Source

pub fn image_sparse_read( &mut self, result_type: u32, result_id: Option<u32>, image: u32, coordinate: u32, image_operands: Option<ImageOperands>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageSparseRead instruction to the current block.

Source

pub fn insert_image_sparse_read( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, image: u32, coordinate: u32, image_operands: Option<ImageOperands>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageSparseRead instruction to the current block.

Source

pub fn size_of( &mut self, result_type: u32, result_id: Option<u32>, pointer: u32, ) -> Result<u32, Error>

Appends an OpSizeOf instruction to the current block.

Source

pub fn insert_size_of( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, pointer: u32, ) -> Result<u32, Error>

Appends an OpSizeOf instruction to the current block.

Source

pub fn constant_pipe_storage( &mut self, result_type: u32, result_id: Option<u32>, packet_size: u32, packet_alignment: u32, capacity: u32, ) -> Result<u32, Error>

Appends an OpConstantPipeStorage instruction to the current block.

Source

pub fn insert_constant_pipe_storage( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, packet_size: u32, packet_alignment: u32, capacity: u32, ) -> Result<u32, Error>

Appends an OpConstantPipeStorage instruction to the current block.

Source

pub fn create_pipe_from_pipe_storage( &mut self, result_type: u32, result_id: Option<u32>, pipe_storage: u32, ) -> Result<u32, Error>

Appends an OpCreatePipeFromPipeStorage instruction to the current block.

Source

pub fn insert_create_pipe_from_pipe_storage( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, pipe_storage: u32, ) -> Result<u32, Error>

Appends an OpCreatePipeFromPipeStorage instruction to the current block.

Source

pub fn get_kernel_local_size_for_subgroup_count( &mut self, result_type: u32, result_id: Option<u32>, subgroup_count: u32, invoke: u32, param: u32, param_size: u32, param_align: u32, ) -> Result<u32, Error>

Appends an OpGetKernelLocalSizeForSubgroupCount instruction to the current block.

Source

pub fn insert_get_kernel_local_size_for_subgroup_count( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, subgroup_count: u32, invoke: u32, param: u32, param_size: u32, param_align: u32, ) -> Result<u32, Error>

Appends an OpGetKernelLocalSizeForSubgroupCount instruction to the current block.

Source

pub fn get_kernel_max_num_subgroups( &mut self, result_type: u32, result_id: Option<u32>, invoke: u32, param: u32, param_size: u32, param_align: u32, ) -> Result<u32, Error>

Appends an OpGetKernelMaxNumSubgroups instruction to the current block.

Source

pub fn insert_get_kernel_max_num_subgroups( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, invoke: u32, param: u32, param_size: u32, param_align: u32, ) -> Result<u32, Error>

Appends an OpGetKernelMaxNumSubgroups instruction to the current block.

Source

pub fn named_barrier_initialize( &mut self, result_type: u32, result_id: Option<u32>, subgroup_count: u32, ) -> Result<u32, Error>

Appends an OpNamedBarrierInitialize instruction to the current block.

Source

pub fn insert_named_barrier_initialize( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, subgroup_count: u32, ) -> Result<u32, Error>

Appends an OpNamedBarrierInitialize instruction to the current block.

Source

pub fn memory_named_barrier( &mut self, named_barrier: u32, memory: u32, semantics: u32, ) -> Result<(), Error>

Appends an OpMemoryNamedBarrier instruction to the current block.

Source

pub fn insert_memory_named_barrier( &mut self, insert_point: InsertPoint, named_barrier: u32, memory: u32, semantics: u32, ) -> Result<(), Error>

Appends an OpMemoryNamedBarrier instruction to the current block.

Source

pub fn group_non_uniform_elect( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, ) -> Result<u32, Error>

Appends an OpGroupNonUniformElect instruction to the current block.

Source

pub fn insert_group_non_uniform_elect( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, ) -> Result<u32, Error>

Appends an OpGroupNonUniformElect instruction to the current block.

Source

pub fn group_non_uniform_all( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, predicate: u32, ) -> Result<u32, Error>

Appends an OpGroupNonUniformAll instruction to the current block.

Source

pub fn insert_group_non_uniform_all( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, predicate: u32, ) -> Result<u32, Error>

Appends an OpGroupNonUniformAll instruction to the current block.

Source

pub fn group_non_uniform_any( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, predicate: u32, ) -> Result<u32, Error>

Appends an OpGroupNonUniformAny instruction to the current block.

Source

pub fn insert_group_non_uniform_any( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, predicate: u32, ) -> Result<u32, Error>

Appends an OpGroupNonUniformAny instruction to the current block.

Source

pub fn group_non_uniform_all_equal( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, value: u32, ) -> Result<u32, Error>

Appends an OpGroupNonUniformAllEqual instruction to the current block.

Source

pub fn insert_group_non_uniform_all_equal( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, value: u32, ) -> Result<u32, Error>

Appends an OpGroupNonUniformAllEqual instruction to the current block.

Source

pub fn group_non_uniform_broadcast( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, value: u32, id: u32, ) -> Result<u32, Error>

Appends an OpGroupNonUniformBroadcast instruction to the current block.

Source

pub fn insert_group_non_uniform_broadcast( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, value: u32, id: u32, ) -> Result<u32, Error>

Appends an OpGroupNonUniformBroadcast instruction to the current block.

Source

pub fn group_non_uniform_broadcast_first( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, value: u32, ) -> Result<u32, Error>

Appends an OpGroupNonUniformBroadcastFirst instruction to the current block.

Source

pub fn insert_group_non_uniform_broadcast_first( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, value: u32, ) -> Result<u32, Error>

Appends an OpGroupNonUniformBroadcastFirst instruction to the current block.

Source

pub fn group_non_uniform_ballot( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, predicate: u32, ) -> Result<u32, Error>

Appends an OpGroupNonUniformBallot instruction to the current block.

Source

pub fn insert_group_non_uniform_ballot( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, predicate: u32, ) -> Result<u32, Error>

Appends an OpGroupNonUniformBallot instruction to the current block.

Source

pub fn group_non_uniform_inverse_ballot( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, value: u32, ) -> Result<u32, Error>

Appends an OpGroupNonUniformInverseBallot instruction to the current block.

Source

pub fn insert_group_non_uniform_inverse_ballot( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, value: u32, ) -> Result<u32, Error>

Appends an OpGroupNonUniformInverseBallot instruction to the current block.

Source

pub fn group_non_uniform_ballot_bit_extract( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, value: u32, index: u32, ) -> Result<u32, Error>

Appends an OpGroupNonUniformBallotBitExtract instruction to the current block.

Source

pub fn insert_group_non_uniform_ballot_bit_extract( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, value: u32, index: u32, ) -> Result<u32, Error>

Appends an OpGroupNonUniformBallotBitExtract instruction to the current block.

Source

pub fn group_non_uniform_ballot_bit_count( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, value: u32, ) -> Result<u32, Error>

Appends an OpGroupNonUniformBallotBitCount instruction to the current block.

Source

pub fn insert_group_non_uniform_ballot_bit_count( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, value: u32, ) -> Result<u32, Error>

Appends an OpGroupNonUniformBallotBitCount instruction to the current block.

Source

pub fn group_non_uniform_ballot_find_lsb( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, value: u32, ) -> Result<u32, Error>

Appends an OpGroupNonUniformBallotFindLSB instruction to the current block.

Source

pub fn insert_group_non_uniform_ballot_find_lsb( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, value: u32, ) -> Result<u32, Error>

Appends an OpGroupNonUniformBallotFindLSB instruction to the current block.

Source

pub fn group_non_uniform_ballot_find_msb( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, value: u32, ) -> Result<u32, Error>

Appends an OpGroupNonUniformBallotFindMSB instruction to the current block.

Source

pub fn insert_group_non_uniform_ballot_find_msb( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, value: u32, ) -> Result<u32, Error>

Appends an OpGroupNonUniformBallotFindMSB instruction to the current block.

Source

pub fn group_non_uniform_shuffle( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, value: u32, id: u32, ) -> Result<u32, Error>

Appends an OpGroupNonUniformShuffle instruction to the current block.

Source

pub fn insert_group_non_uniform_shuffle( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, value: u32, id: u32, ) -> Result<u32, Error>

Appends an OpGroupNonUniformShuffle instruction to the current block.

Source

pub fn group_non_uniform_shuffle_xor( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, value: u32, mask: u32, ) -> Result<u32, Error>

Appends an OpGroupNonUniformShuffleXor instruction to the current block.

Source

pub fn insert_group_non_uniform_shuffle_xor( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, value: u32, mask: u32, ) -> Result<u32, Error>

Appends an OpGroupNonUniformShuffleXor instruction to the current block.

Source

pub fn group_non_uniform_shuffle_up( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, value: u32, delta: u32, ) -> Result<u32, Error>

Appends an OpGroupNonUniformShuffleUp instruction to the current block.

Source

pub fn insert_group_non_uniform_shuffle_up( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, value: u32, delta: u32, ) -> Result<u32, Error>

Appends an OpGroupNonUniformShuffleUp instruction to the current block.

Source

pub fn group_non_uniform_shuffle_down( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, value: u32, delta: u32, ) -> Result<u32, Error>

Appends an OpGroupNonUniformShuffleDown instruction to the current block.

Source

pub fn insert_group_non_uniform_shuffle_down( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, value: u32, delta: u32, ) -> Result<u32, Error>

Appends an OpGroupNonUniformShuffleDown instruction to the current block.

Source

pub fn group_non_uniform_i_add( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, value: u32, cluster_size: Option<u32>, ) -> Result<u32, Error>

Appends an OpGroupNonUniformIAdd instruction to the current block.

Source

pub fn insert_group_non_uniform_i_add( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, value: u32, cluster_size: Option<u32>, ) -> Result<u32, Error>

Appends an OpGroupNonUniformIAdd instruction to the current block.

Source

pub fn group_non_uniform_f_add( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, value: u32, cluster_size: Option<u32>, ) -> Result<u32, Error>

Appends an OpGroupNonUniformFAdd instruction to the current block.

Source

pub fn insert_group_non_uniform_f_add( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, value: u32, cluster_size: Option<u32>, ) -> Result<u32, Error>

Appends an OpGroupNonUniformFAdd instruction to the current block.

Source

pub fn group_non_uniform_i_mul( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, value: u32, cluster_size: Option<u32>, ) -> Result<u32, Error>

Appends an OpGroupNonUniformIMul instruction to the current block.

Source

pub fn insert_group_non_uniform_i_mul( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, value: u32, cluster_size: Option<u32>, ) -> Result<u32, Error>

Appends an OpGroupNonUniformIMul instruction to the current block.

Source

pub fn group_non_uniform_f_mul( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, value: u32, cluster_size: Option<u32>, ) -> Result<u32, Error>

Appends an OpGroupNonUniformFMul instruction to the current block.

Source

pub fn insert_group_non_uniform_f_mul( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, value: u32, cluster_size: Option<u32>, ) -> Result<u32, Error>

Appends an OpGroupNonUniformFMul instruction to the current block.

Source

pub fn group_non_uniform_s_min( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, value: u32, cluster_size: Option<u32>, ) -> Result<u32, Error>

Appends an OpGroupNonUniformSMin instruction to the current block.

Source

pub fn insert_group_non_uniform_s_min( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, value: u32, cluster_size: Option<u32>, ) -> Result<u32, Error>

Appends an OpGroupNonUniformSMin instruction to the current block.

Source

pub fn group_non_uniform_u_min( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, value: u32, cluster_size: Option<u32>, ) -> Result<u32, Error>

Appends an OpGroupNonUniformUMin instruction to the current block.

Source

pub fn insert_group_non_uniform_u_min( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, value: u32, cluster_size: Option<u32>, ) -> Result<u32, Error>

Appends an OpGroupNonUniformUMin instruction to the current block.

Source

pub fn group_non_uniform_f_min( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, value: u32, cluster_size: Option<u32>, ) -> Result<u32, Error>

Appends an OpGroupNonUniformFMin instruction to the current block.

Source

pub fn insert_group_non_uniform_f_min( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, value: u32, cluster_size: Option<u32>, ) -> Result<u32, Error>

Appends an OpGroupNonUniformFMin instruction to the current block.

Source

pub fn group_non_uniform_s_max( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, value: u32, cluster_size: Option<u32>, ) -> Result<u32, Error>

Appends an OpGroupNonUniformSMax instruction to the current block.

Source

pub fn insert_group_non_uniform_s_max( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, value: u32, cluster_size: Option<u32>, ) -> Result<u32, Error>

Appends an OpGroupNonUniformSMax instruction to the current block.

Source

pub fn group_non_uniform_u_max( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, value: u32, cluster_size: Option<u32>, ) -> Result<u32, Error>

Appends an OpGroupNonUniformUMax instruction to the current block.

Source

pub fn insert_group_non_uniform_u_max( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, value: u32, cluster_size: Option<u32>, ) -> Result<u32, Error>

Appends an OpGroupNonUniformUMax instruction to the current block.

Source

pub fn group_non_uniform_f_max( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, value: u32, cluster_size: Option<u32>, ) -> Result<u32, Error>

Appends an OpGroupNonUniformFMax instruction to the current block.

Source

pub fn insert_group_non_uniform_f_max( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, value: u32, cluster_size: Option<u32>, ) -> Result<u32, Error>

Appends an OpGroupNonUniformFMax instruction to the current block.

Source

pub fn group_non_uniform_bitwise_and( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, value: u32, cluster_size: Option<u32>, ) -> Result<u32, Error>

Appends an OpGroupNonUniformBitwiseAnd instruction to the current block.

Source

pub fn insert_group_non_uniform_bitwise_and( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, value: u32, cluster_size: Option<u32>, ) -> Result<u32, Error>

Appends an OpGroupNonUniformBitwiseAnd instruction to the current block.

Source

pub fn group_non_uniform_bitwise_or( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, value: u32, cluster_size: Option<u32>, ) -> Result<u32, Error>

Appends an OpGroupNonUniformBitwiseOr instruction to the current block.

Source

pub fn insert_group_non_uniform_bitwise_or( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, value: u32, cluster_size: Option<u32>, ) -> Result<u32, Error>

Appends an OpGroupNonUniformBitwiseOr instruction to the current block.

Source

pub fn group_non_uniform_bitwise_xor( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, value: u32, cluster_size: Option<u32>, ) -> Result<u32, Error>

Appends an OpGroupNonUniformBitwiseXor instruction to the current block.

Source

pub fn insert_group_non_uniform_bitwise_xor( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, value: u32, cluster_size: Option<u32>, ) -> Result<u32, Error>

Appends an OpGroupNonUniformBitwiseXor instruction to the current block.

Source

pub fn group_non_uniform_logical_and( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, value: u32, cluster_size: Option<u32>, ) -> Result<u32, Error>

Appends an OpGroupNonUniformLogicalAnd instruction to the current block.

Source

pub fn insert_group_non_uniform_logical_and( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, value: u32, cluster_size: Option<u32>, ) -> Result<u32, Error>

Appends an OpGroupNonUniformLogicalAnd instruction to the current block.

Source

pub fn group_non_uniform_logical_or( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, value: u32, cluster_size: Option<u32>, ) -> Result<u32, Error>

Appends an OpGroupNonUniformLogicalOr instruction to the current block.

Source

pub fn insert_group_non_uniform_logical_or( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, value: u32, cluster_size: Option<u32>, ) -> Result<u32, Error>

Appends an OpGroupNonUniformLogicalOr instruction to the current block.

Source

pub fn group_non_uniform_logical_xor( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, value: u32, cluster_size: Option<u32>, ) -> Result<u32, Error>

Appends an OpGroupNonUniformLogicalXor instruction to the current block.

Source

pub fn insert_group_non_uniform_logical_xor( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, value: u32, cluster_size: Option<u32>, ) -> Result<u32, Error>

Appends an OpGroupNonUniformLogicalXor instruction to the current block.

Source

pub fn group_non_uniform_quad_broadcast( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, value: u32, index: u32, ) -> Result<u32, Error>

Appends an OpGroupNonUniformQuadBroadcast instruction to the current block.

Source

pub fn insert_group_non_uniform_quad_broadcast( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, value: u32, index: u32, ) -> Result<u32, Error>

Appends an OpGroupNonUniformQuadBroadcast instruction to the current block.

Source

pub fn group_non_uniform_quad_swap( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, value: u32, direction: u32, ) -> Result<u32, Error>

Appends an OpGroupNonUniformQuadSwap instruction to the current block.

Source

pub fn insert_group_non_uniform_quad_swap( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, value: u32, direction: u32, ) -> Result<u32, Error>

Appends an OpGroupNonUniformQuadSwap instruction to the current block.

Source

pub fn copy_logical( &mut self, result_type: u32, result_id: Option<u32>, operand: u32, ) -> Result<u32, Error>

Appends an OpCopyLogical instruction to the current block.

Source

pub fn insert_copy_logical( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand: u32, ) -> Result<u32, Error>

Appends an OpCopyLogical instruction to the current block.

Source

pub fn ptr_equal( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpPtrEqual instruction to the current block.

Source

pub fn insert_ptr_equal( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpPtrEqual instruction to the current block.

Source

pub fn ptr_not_equal( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpPtrNotEqual instruction to the current block.

Source

pub fn insert_ptr_not_equal( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpPtrNotEqual instruction to the current block.

Source

pub fn ptr_diff( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpPtrDiff instruction to the current block.

Source

pub fn insert_ptr_diff( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpPtrDiff instruction to the current block.

Source

pub fn color_attachment_read_ext( &mut self, result_type: u32, result_id: Option<u32>, attachment: u32, sample: Option<u32>, ) -> Result<u32, Error>

Appends an OpColorAttachmentReadEXT instruction to the current block.

Source

pub fn insert_color_attachment_read_ext( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, attachment: u32, sample: Option<u32>, ) -> Result<u32, Error>

Appends an OpColorAttachmentReadEXT instruction to the current block.

Source

pub fn depth_attachment_read_ext( &mut self, result_type: u32, result_id: Option<u32>, sample: Option<u32>, ) -> Result<u32, Error>

Appends an OpDepthAttachmentReadEXT instruction to the current block.

Source

pub fn insert_depth_attachment_read_ext( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, sample: Option<u32>, ) -> Result<u32, Error>

Appends an OpDepthAttachmentReadEXT instruction to the current block.

Source

pub fn stencil_attachment_read_ext( &mut self, result_type: u32, result_id: Option<u32>, sample: Option<u32>, ) -> Result<u32, Error>

Appends an OpStencilAttachmentReadEXT instruction to the current block.

Source

pub fn insert_stencil_attachment_read_ext( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, sample: Option<u32>, ) -> Result<u32, Error>

Appends an OpStencilAttachmentReadEXT instruction to the current block.

Source

pub fn subgroup_ballot_khr( &mut self, result_type: u32, result_id: Option<u32>, predicate: u32, ) -> Result<u32, Error>

Appends an OpSubgroupBallotKHR instruction to the current block.

Source

pub fn insert_subgroup_ballot_khr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, predicate: u32, ) -> Result<u32, Error>

Appends an OpSubgroupBallotKHR instruction to the current block.

Source

pub fn subgroup_first_invocation_khr( &mut self, result_type: u32, result_id: Option<u32>, value: u32, ) -> Result<u32, Error>

Appends an OpSubgroupFirstInvocationKHR instruction to the current block.

Source

pub fn insert_subgroup_first_invocation_khr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, value: u32, ) -> Result<u32, Error>

Appends an OpSubgroupFirstInvocationKHR instruction to the current block.

Source

pub fn subgroup_all_khr( &mut self, result_type: u32, result_id: Option<u32>, predicate: u32, ) -> Result<u32, Error>

Appends an OpSubgroupAllKHR instruction to the current block.

Source

pub fn insert_subgroup_all_khr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, predicate: u32, ) -> Result<u32, Error>

Appends an OpSubgroupAllKHR instruction to the current block.

Source

pub fn subgroup_any_khr( &mut self, result_type: u32, result_id: Option<u32>, predicate: u32, ) -> Result<u32, Error>

Appends an OpSubgroupAnyKHR instruction to the current block.

Source

pub fn insert_subgroup_any_khr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, predicate: u32, ) -> Result<u32, Error>

Appends an OpSubgroupAnyKHR instruction to the current block.

Source

pub fn subgroup_all_equal_khr( &mut self, result_type: u32, result_id: Option<u32>, predicate: u32, ) -> Result<u32, Error>

Appends an OpSubgroupAllEqualKHR instruction to the current block.

Source

pub fn insert_subgroup_all_equal_khr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, predicate: u32, ) -> Result<u32, Error>

Appends an OpSubgroupAllEqualKHR instruction to the current block.

Source

pub fn group_non_uniform_rotate_khr( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, value: u32, delta: u32, cluster_size: Option<u32>, ) -> Result<u32, Error>

Appends an OpGroupNonUniformRotateKHR instruction to the current block.

Source

pub fn insert_group_non_uniform_rotate_khr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, value: u32, delta: u32, cluster_size: Option<u32>, ) -> Result<u32, Error>

Appends an OpGroupNonUniformRotateKHR instruction to the current block.

Source

pub fn subgroup_read_invocation_khr( &mut self, result_type: u32, result_id: Option<u32>, value: u32, index: u32, ) -> Result<u32, Error>

Appends an OpSubgroupReadInvocationKHR instruction to the current block.

Source

pub fn insert_subgroup_read_invocation_khr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, value: u32, index: u32, ) -> Result<u32, Error>

Appends an OpSubgroupReadInvocationKHR instruction to the current block.

Source

pub fn trace_ray_khr( &mut self, accel: u32, ray_flags: u32, cull_mask: u32, sbt_offset: u32, sbt_stride: u32, miss_index: u32, ray_origin: u32, ray_tmin: u32, ray_direction: u32, ray_tmax: u32, payload: u32, ) -> Result<(), Error>

Appends an OpTraceRayKHR instruction to the current block.

Source

pub fn insert_trace_ray_khr( &mut self, insert_point: InsertPoint, accel: u32, ray_flags: u32, cull_mask: u32, sbt_offset: u32, sbt_stride: u32, miss_index: u32, ray_origin: u32, ray_tmin: u32, ray_direction: u32, ray_tmax: u32, payload: u32, ) -> Result<(), Error>

Appends an OpTraceRayKHR instruction to the current block.

Source

pub fn execute_callable_khr( &mut self, sbt_index: u32, callable_data: u32, ) -> Result<(), Error>

Appends an OpExecuteCallableKHR instruction to the current block.

Source

pub fn insert_execute_callable_khr( &mut self, insert_point: InsertPoint, sbt_index: u32, callable_data: u32, ) -> Result<(), Error>

Appends an OpExecuteCallableKHR instruction to the current block.

Source

pub fn convert_u_to_acceleration_structure_khr( &mut self, result_type: u32, result_id: Option<u32>, accel: u32, ) -> Result<u32, Error>

Appends an OpConvertUToAccelerationStructureKHR instruction to the current block.

Source

pub fn insert_convert_u_to_acceleration_structure_khr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, accel: u32, ) -> Result<u32, Error>

Appends an OpConvertUToAccelerationStructureKHR instruction to the current block.

Source

pub fn s_dot( &mut self, result_type: u32, result_id: Option<u32>, vector_1: u32, vector_2: u32, packed_vector_format: Option<PackedVectorFormat>, ) -> Result<u32, Error>

Appends an OpSDot instruction to the current block.

Source

pub fn insert_s_dot( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, vector_1: u32, vector_2: u32, packed_vector_format: Option<PackedVectorFormat>, ) -> Result<u32, Error>

Appends an OpSDot instruction to the current block.

Source

pub fn s_dot_khr( &mut self, result_type: u32, result_id: Option<u32>, vector_1: u32, vector_2: u32, packed_vector_format: Option<PackedVectorFormat>, ) -> Result<u32, Error>

Appends an OpSDotKHR instruction to the current block.

Source

pub fn insert_s_dot_khr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, vector_1: u32, vector_2: u32, packed_vector_format: Option<PackedVectorFormat>, ) -> Result<u32, Error>

Appends an OpSDotKHR instruction to the current block.

Source

pub fn u_dot( &mut self, result_type: u32, result_id: Option<u32>, vector_1: u32, vector_2: u32, packed_vector_format: Option<PackedVectorFormat>, ) -> Result<u32, Error>

Appends an OpUDot instruction to the current block.

Source

pub fn insert_u_dot( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, vector_1: u32, vector_2: u32, packed_vector_format: Option<PackedVectorFormat>, ) -> Result<u32, Error>

Appends an OpUDot instruction to the current block.

Source

pub fn u_dot_khr( &mut self, result_type: u32, result_id: Option<u32>, vector_1: u32, vector_2: u32, packed_vector_format: Option<PackedVectorFormat>, ) -> Result<u32, Error>

Appends an OpUDotKHR instruction to the current block.

Source

pub fn insert_u_dot_khr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, vector_1: u32, vector_2: u32, packed_vector_format: Option<PackedVectorFormat>, ) -> Result<u32, Error>

Appends an OpUDotKHR instruction to the current block.

Source

pub fn su_dot( &mut self, result_type: u32, result_id: Option<u32>, vector_1: u32, vector_2: u32, packed_vector_format: Option<PackedVectorFormat>, ) -> Result<u32, Error>

Appends an OpSUDot instruction to the current block.

Source

pub fn insert_su_dot( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, vector_1: u32, vector_2: u32, packed_vector_format: Option<PackedVectorFormat>, ) -> Result<u32, Error>

Appends an OpSUDot instruction to the current block.

Source

pub fn su_dot_khr( &mut self, result_type: u32, result_id: Option<u32>, vector_1: u32, vector_2: u32, packed_vector_format: Option<PackedVectorFormat>, ) -> Result<u32, Error>

Appends an OpSUDotKHR instruction to the current block.

Source

pub fn insert_su_dot_khr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, vector_1: u32, vector_2: u32, packed_vector_format: Option<PackedVectorFormat>, ) -> Result<u32, Error>

Appends an OpSUDotKHR instruction to the current block.

Source

pub fn s_dot_acc_sat( &mut self, result_type: u32, result_id: Option<u32>, vector_1: u32, vector_2: u32, accumulator: u32, packed_vector_format: Option<PackedVectorFormat>, ) -> Result<u32, Error>

Appends an OpSDotAccSat instruction to the current block.

Source

pub fn insert_s_dot_acc_sat( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, vector_1: u32, vector_2: u32, accumulator: u32, packed_vector_format: Option<PackedVectorFormat>, ) -> Result<u32, Error>

Appends an OpSDotAccSat instruction to the current block.

Source

pub fn s_dot_acc_sat_khr( &mut self, result_type: u32, result_id: Option<u32>, vector_1: u32, vector_2: u32, accumulator: u32, packed_vector_format: Option<PackedVectorFormat>, ) -> Result<u32, Error>

Appends an OpSDotAccSatKHR instruction to the current block.

Source

pub fn insert_s_dot_acc_sat_khr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, vector_1: u32, vector_2: u32, accumulator: u32, packed_vector_format: Option<PackedVectorFormat>, ) -> Result<u32, Error>

Appends an OpSDotAccSatKHR instruction to the current block.

Source

pub fn u_dot_acc_sat( &mut self, result_type: u32, result_id: Option<u32>, vector_1: u32, vector_2: u32, accumulator: u32, packed_vector_format: Option<PackedVectorFormat>, ) -> Result<u32, Error>

Appends an OpUDotAccSat instruction to the current block.

Source

pub fn insert_u_dot_acc_sat( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, vector_1: u32, vector_2: u32, accumulator: u32, packed_vector_format: Option<PackedVectorFormat>, ) -> Result<u32, Error>

Appends an OpUDotAccSat instruction to the current block.

Source

pub fn u_dot_acc_sat_khr( &mut self, result_type: u32, result_id: Option<u32>, vector_1: u32, vector_2: u32, accumulator: u32, packed_vector_format: Option<PackedVectorFormat>, ) -> Result<u32, Error>

Appends an OpUDotAccSatKHR instruction to the current block.

Source

pub fn insert_u_dot_acc_sat_khr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, vector_1: u32, vector_2: u32, accumulator: u32, packed_vector_format: Option<PackedVectorFormat>, ) -> Result<u32, Error>

Appends an OpUDotAccSatKHR instruction to the current block.

Source

pub fn su_dot_acc_sat( &mut self, result_type: u32, result_id: Option<u32>, vector_1: u32, vector_2: u32, accumulator: u32, packed_vector_format: Option<PackedVectorFormat>, ) -> Result<u32, Error>

Appends an OpSUDotAccSat instruction to the current block.

Source

pub fn insert_su_dot_acc_sat( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, vector_1: u32, vector_2: u32, accumulator: u32, packed_vector_format: Option<PackedVectorFormat>, ) -> Result<u32, Error>

Appends an OpSUDotAccSat instruction to the current block.

Source

pub fn su_dot_acc_sat_khr( &mut self, result_type: u32, result_id: Option<u32>, vector_1: u32, vector_2: u32, accumulator: u32, packed_vector_format: Option<PackedVectorFormat>, ) -> Result<u32, Error>

Appends an OpSUDotAccSatKHR instruction to the current block.

Source

pub fn insert_su_dot_acc_sat_khr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, vector_1: u32, vector_2: u32, accumulator: u32, packed_vector_format: Option<PackedVectorFormat>, ) -> Result<u32, Error>

Appends an OpSUDotAccSatKHR instruction to the current block.

Source

pub fn cooperative_matrix_load_khr( &mut self, result_type: u32, result_id: Option<u32>, pointer: u32, memory_layout: u32, stride: Option<u32>, memory_operand: Option<MemoryAccess>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpCooperativeMatrixLoadKHR instruction to the current block.

Source

pub fn insert_cooperative_matrix_load_khr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, pointer: u32, memory_layout: u32, stride: Option<u32>, memory_operand: Option<MemoryAccess>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpCooperativeMatrixLoadKHR instruction to the current block.

Source

pub fn cooperative_matrix_store_khr( &mut self, pointer: u32, object: u32, memory_layout: u32, stride: Option<u32>, memory_operand: Option<MemoryAccess>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<(), Error>

Appends an OpCooperativeMatrixStoreKHR instruction to the current block.

Source

pub fn insert_cooperative_matrix_store_khr( &mut self, insert_point: InsertPoint, pointer: u32, object: u32, memory_layout: u32, stride: Option<u32>, memory_operand: Option<MemoryAccess>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<(), Error>

Appends an OpCooperativeMatrixStoreKHR instruction to the current block.

Source

pub fn cooperative_matrix_mul_add_khr( &mut self, result_type: u32, result_id: Option<u32>, a: u32, b: u32, c: u32, cooperative_matrix_operands: Option<CooperativeMatrixOperands>, ) -> Result<u32, Error>

Appends an OpCooperativeMatrixMulAddKHR instruction to the current block.

Source

pub fn insert_cooperative_matrix_mul_add_khr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, a: u32, b: u32, c: u32, cooperative_matrix_operands: Option<CooperativeMatrixOperands>, ) -> Result<u32, Error>

Appends an OpCooperativeMatrixMulAddKHR instruction to the current block.

Source

pub fn cooperative_matrix_length_khr( &mut self, result_type: u32, result_id: Option<u32>, ty: u32, ) -> Result<u32, Error>

Appends an OpCooperativeMatrixLengthKHR instruction to the current block.

Source

pub fn insert_cooperative_matrix_length_khr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, ty: u32, ) -> Result<u32, Error>

Appends an OpCooperativeMatrixLengthKHR instruction to the current block.

Source

pub fn ray_query_initialize_khr( &mut self, ray_query: u32, accel: u32, ray_flags: u32, cull_mask: u32, ray_origin: u32, ray_t_min: u32, ray_direction: u32, ray_t_max: u32, ) -> Result<(), Error>

Appends an OpRayQueryInitializeKHR instruction to the current block.

Source

pub fn insert_ray_query_initialize_khr( &mut self, insert_point: InsertPoint, ray_query: u32, accel: u32, ray_flags: u32, cull_mask: u32, ray_origin: u32, ray_t_min: u32, ray_direction: u32, ray_t_max: u32, ) -> Result<(), Error>

Appends an OpRayQueryInitializeKHR instruction to the current block.

Source

pub fn ray_query_terminate_khr(&mut self, ray_query: u32) -> Result<(), Error>

Appends an OpRayQueryTerminateKHR instruction to the current block.

Source

pub fn insert_ray_query_terminate_khr( &mut self, insert_point: InsertPoint, ray_query: u32, ) -> Result<(), Error>

Appends an OpRayQueryTerminateKHR instruction to the current block.

Source

pub fn ray_query_generate_intersection_khr( &mut self, ray_query: u32, hit_t: u32, ) -> Result<(), Error>

Appends an OpRayQueryGenerateIntersectionKHR instruction to the current block.

Source

pub fn insert_ray_query_generate_intersection_khr( &mut self, insert_point: InsertPoint, ray_query: u32, hit_t: u32, ) -> Result<(), Error>

Appends an OpRayQueryGenerateIntersectionKHR instruction to the current block.

Source

pub fn ray_query_confirm_intersection_khr( &mut self, ray_query: u32, ) -> Result<(), Error>

Appends an OpRayQueryConfirmIntersectionKHR instruction to the current block.

Source

pub fn insert_ray_query_confirm_intersection_khr( &mut self, insert_point: InsertPoint, ray_query: u32, ) -> Result<(), Error>

Appends an OpRayQueryConfirmIntersectionKHR instruction to the current block.

Source

pub fn ray_query_proceed_khr( &mut self, result_type: u32, result_id: Option<u32>, ray_query: u32, ) -> Result<u32, Error>

Appends an OpRayQueryProceedKHR instruction to the current block.

Source

pub fn insert_ray_query_proceed_khr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, ray_query: u32, ) -> Result<u32, Error>

Appends an OpRayQueryProceedKHR instruction to the current block.

Source

pub fn ray_query_get_intersection_type_khr( &mut self, result_type: u32, result_id: Option<u32>, ray_query: u32, intersection: u32, ) -> Result<u32, Error>

Appends an OpRayQueryGetIntersectionTypeKHR instruction to the current block.

Source

pub fn insert_ray_query_get_intersection_type_khr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, ray_query: u32, intersection: u32, ) -> Result<u32, Error>

Appends an OpRayQueryGetIntersectionTypeKHR instruction to the current block.

Source

pub fn image_sample_weighted_qcom( &mut self, result_type: u32, result_id: Option<u32>, texture: u32, coordinates: u32, weights: u32, ) -> Result<u32, Error>

Appends an OpImageSampleWeightedQCOM instruction to the current block.

Source

pub fn insert_image_sample_weighted_qcom( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, texture: u32, coordinates: u32, weights: u32, ) -> Result<u32, Error>

Appends an OpImageSampleWeightedQCOM instruction to the current block.

Source

pub fn image_box_filter_qcom( &mut self, result_type: u32, result_id: Option<u32>, texture: u32, coordinates: u32, box_size: u32, ) -> Result<u32, Error>

Appends an OpImageBoxFilterQCOM instruction to the current block.

Source

pub fn insert_image_box_filter_qcom( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, texture: u32, coordinates: u32, box_size: u32, ) -> Result<u32, Error>

Appends an OpImageBoxFilterQCOM instruction to the current block.

Source

pub fn image_block_match_ssdqcom( &mut self, result_type: u32, result_id: Option<u32>, target: u32, target_coordinates: u32, reference: u32, reference_coordinates: u32, block_size: u32, ) -> Result<u32, Error>

Appends an OpImageBlockMatchSSDQCOM instruction to the current block.

Source

pub fn insert_image_block_match_ssdqcom( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, target: u32, target_coordinates: u32, reference: u32, reference_coordinates: u32, block_size: u32, ) -> Result<u32, Error>

Appends an OpImageBlockMatchSSDQCOM instruction to the current block.

Source

pub fn image_block_match_sadqcom( &mut self, result_type: u32, result_id: Option<u32>, target: u32, target_coordinates: u32, reference: u32, reference_coordinates: u32, block_size: u32, ) -> Result<u32, Error>

Appends an OpImageBlockMatchSADQCOM instruction to the current block.

Source

pub fn insert_image_block_match_sadqcom( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, target: u32, target_coordinates: u32, reference: u32, reference_coordinates: u32, block_size: u32, ) -> Result<u32, Error>

Appends an OpImageBlockMatchSADQCOM instruction to the current block.

Source

pub fn group_i_add_non_uniform_amd( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupIAddNonUniformAMD instruction to the current block.

Source

pub fn insert_group_i_add_non_uniform_amd( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupIAddNonUniformAMD instruction to the current block.

Source

pub fn group_f_add_non_uniform_amd( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupFAddNonUniformAMD instruction to the current block.

Source

pub fn insert_group_f_add_non_uniform_amd( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupFAddNonUniformAMD instruction to the current block.

Source

pub fn group_f_min_non_uniform_amd( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupFMinNonUniformAMD instruction to the current block.

Source

pub fn insert_group_f_min_non_uniform_amd( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupFMinNonUniformAMD instruction to the current block.

Source

pub fn group_u_min_non_uniform_amd( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupUMinNonUniformAMD instruction to the current block.

Source

pub fn insert_group_u_min_non_uniform_amd( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupUMinNonUniformAMD instruction to the current block.

Source

pub fn group_s_min_non_uniform_amd( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupSMinNonUniformAMD instruction to the current block.

Source

pub fn insert_group_s_min_non_uniform_amd( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupSMinNonUniformAMD instruction to the current block.

Source

pub fn group_f_max_non_uniform_amd( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupFMaxNonUniformAMD instruction to the current block.

Source

pub fn insert_group_f_max_non_uniform_amd( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupFMaxNonUniformAMD instruction to the current block.

Source

pub fn group_u_max_non_uniform_amd( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupUMaxNonUniformAMD instruction to the current block.

Source

pub fn insert_group_u_max_non_uniform_amd( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupUMaxNonUniformAMD instruction to the current block.

Source

pub fn group_s_max_non_uniform_amd( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupSMaxNonUniformAMD instruction to the current block.

Source

pub fn insert_group_s_max_non_uniform_amd( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupSMaxNonUniformAMD instruction to the current block.

Source

pub fn fragment_mask_fetch_amd( &mut self, result_type: u32, result_id: Option<u32>, image: u32, coordinate: u32, ) -> Result<u32, Error>

Appends an OpFragmentMaskFetchAMD instruction to the current block.

Source

pub fn insert_fragment_mask_fetch_amd( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, image: u32, coordinate: u32, ) -> Result<u32, Error>

Appends an OpFragmentMaskFetchAMD instruction to the current block.

Source

pub fn fragment_fetch_amd( &mut self, result_type: u32, result_id: Option<u32>, image: u32, coordinate: u32, fragment_index: u32, ) -> Result<u32, Error>

Appends an OpFragmentFetchAMD instruction to the current block.

Source

pub fn insert_fragment_fetch_amd( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, image: u32, coordinate: u32, fragment_index: u32, ) -> Result<u32, Error>

Appends an OpFragmentFetchAMD instruction to the current block.

Source

pub fn read_clock_khr( &mut self, result_type: u32, result_id: Option<u32>, scope: u32, ) -> Result<u32, Error>

Appends an OpReadClockKHR instruction to the current block.

Source

pub fn insert_read_clock_khr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, scope: u32, ) -> Result<u32, Error>

Appends an OpReadClockKHR instruction to the current block.

Source

pub fn finalize_node_payloads_amdx( &mut self, payload_array: u32, ) -> Result<(), Error>

Appends an OpFinalizeNodePayloadsAMDX instruction to the current block.

Source

pub fn insert_finalize_node_payloads_amdx( &mut self, insert_point: InsertPoint, payload_array: u32, ) -> Result<(), Error>

Appends an OpFinalizeNodePayloadsAMDX instruction to the current block.

Source

pub fn finish_writing_node_payload_amdx( &mut self, result_type: u32, result_id: Option<u32>, payload: u32, ) -> Result<u32, Error>

Appends an OpFinishWritingNodePayloadAMDX instruction to the current block.

Source

pub fn insert_finish_writing_node_payload_amdx( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, payload: u32, ) -> Result<u32, Error>

Appends an OpFinishWritingNodePayloadAMDX instruction to the current block.

Source

pub fn initialize_node_payloads_amdx( &mut self, payload_array: u32, visibility: u32, payload_count: u32, node_index: u32, ) -> Result<(), Error>

Appends an OpInitializeNodePayloadsAMDX instruction to the current block.

Source

pub fn insert_initialize_node_payloads_amdx( &mut self, insert_point: InsertPoint, payload_array: u32, visibility: u32, payload_count: u32, node_index: u32, ) -> Result<(), Error>

Appends an OpInitializeNodePayloadsAMDX instruction to the current block.

Source

pub fn hit_object_record_hit_motion_nv( &mut self, hit_object: u32, acceleration_structure: u32, instance_id: u32, primitive_id: u32, geometry_index: u32, hit_kind: u32, sbt_record_offset: u32, sbt_record_stride: u32, origin: u32, t_min: u32, direction: u32, t_max: u32, current_time: u32, hit_object_attributes: u32, ) -> Result<(), Error>

Appends an OpHitObjectRecordHitMotionNV instruction to the current block.

Source

pub fn insert_hit_object_record_hit_motion_nv( &mut self, insert_point: InsertPoint, hit_object: u32, acceleration_structure: u32, instance_id: u32, primitive_id: u32, geometry_index: u32, hit_kind: u32, sbt_record_offset: u32, sbt_record_stride: u32, origin: u32, t_min: u32, direction: u32, t_max: u32, current_time: u32, hit_object_attributes: u32, ) -> Result<(), Error>

Appends an OpHitObjectRecordHitMotionNV instruction to the current block.

Source

pub fn hit_object_record_hit_with_index_motion_nv( &mut self, hit_object: u32, acceleration_structure: u32, instance_id: u32, primitive_id: u32, geometry_index: u32, hit_kind: u32, sbt_record_index: u32, origin: u32, t_min: u32, direction: u32, t_max: u32, current_time: u32, hit_object_attributes: u32, ) -> Result<(), Error>

Appends an OpHitObjectRecordHitWithIndexMotionNV instruction to the current block.

Source

pub fn insert_hit_object_record_hit_with_index_motion_nv( &mut self, insert_point: InsertPoint, hit_object: u32, acceleration_structure: u32, instance_id: u32, primitive_id: u32, geometry_index: u32, hit_kind: u32, sbt_record_index: u32, origin: u32, t_min: u32, direction: u32, t_max: u32, current_time: u32, hit_object_attributes: u32, ) -> Result<(), Error>

Appends an OpHitObjectRecordHitWithIndexMotionNV instruction to the current block.

Source

pub fn hit_object_record_miss_motion_nv( &mut self, hit_object: u32, sbt_index: u32, origin: u32, t_min: u32, direction: u32, t_max: u32, current_time: u32, ) -> Result<(), Error>

Appends an OpHitObjectRecordMissMotionNV instruction to the current block.

Source

pub fn insert_hit_object_record_miss_motion_nv( &mut self, insert_point: InsertPoint, hit_object: u32, sbt_index: u32, origin: u32, t_min: u32, direction: u32, t_max: u32, current_time: u32, ) -> Result<(), Error>

Appends an OpHitObjectRecordMissMotionNV instruction to the current block.

Source

pub fn hit_object_get_world_to_object_nv( &mut self, result_type: u32, result_id: Option<u32>, hit_object: u32, ) -> Result<u32, Error>

Appends an OpHitObjectGetWorldToObjectNV instruction to the current block.

Source

pub fn insert_hit_object_get_world_to_object_nv( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, hit_object: u32, ) -> Result<u32, Error>

Appends an OpHitObjectGetWorldToObjectNV instruction to the current block.

Source

pub fn hit_object_get_object_to_world_nv( &mut self, result_type: u32, result_id: Option<u32>, hit_object: u32, ) -> Result<u32, Error>

Appends an OpHitObjectGetObjectToWorldNV instruction to the current block.

Source

pub fn insert_hit_object_get_object_to_world_nv( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, hit_object: u32, ) -> Result<u32, Error>

Appends an OpHitObjectGetObjectToWorldNV instruction to the current block.

Source

pub fn hit_object_get_object_ray_direction_nv( &mut self, result_type: u32, result_id: Option<u32>, hit_object: u32, ) -> Result<u32, Error>

Appends an OpHitObjectGetObjectRayDirectionNV instruction to the current block.

Source

pub fn insert_hit_object_get_object_ray_direction_nv( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, hit_object: u32, ) -> Result<u32, Error>

Appends an OpHitObjectGetObjectRayDirectionNV instruction to the current block.

Source

pub fn hit_object_get_object_ray_origin_nv( &mut self, result_type: u32, result_id: Option<u32>, hit_object: u32, ) -> Result<u32, Error>

Appends an OpHitObjectGetObjectRayOriginNV instruction to the current block.

Source

pub fn insert_hit_object_get_object_ray_origin_nv( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, hit_object: u32, ) -> Result<u32, Error>

Appends an OpHitObjectGetObjectRayOriginNV instruction to the current block.

Source

pub fn hit_object_trace_ray_motion_nv( &mut self, hit_object: u32, acceleration_structure: u32, ray_flags: u32, cullmask: u32, sbt_record_offset: u32, sbt_record_stride: u32, miss_index: u32, origin: u32, t_min: u32, direction: u32, t_max: u32, time: u32, payload: u32, ) -> Result<(), Error>

Appends an OpHitObjectTraceRayMotionNV instruction to the current block.

Source

pub fn insert_hit_object_trace_ray_motion_nv( &mut self, insert_point: InsertPoint, hit_object: u32, acceleration_structure: u32, ray_flags: u32, cullmask: u32, sbt_record_offset: u32, sbt_record_stride: u32, miss_index: u32, origin: u32, t_min: u32, direction: u32, t_max: u32, time: u32, payload: u32, ) -> Result<(), Error>

Appends an OpHitObjectTraceRayMotionNV instruction to the current block.

Source

pub fn hit_object_get_shader_record_buffer_handle_nv( &mut self, result_type: u32, result_id: Option<u32>, hit_object: u32, ) -> Result<u32, Error>

Appends an OpHitObjectGetShaderRecordBufferHandleNV instruction to the current block.

Source

pub fn insert_hit_object_get_shader_record_buffer_handle_nv( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, hit_object: u32, ) -> Result<u32, Error>

Appends an OpHitObjectGetShaderRecordBufferHandleNV instruction to the current block.

Source

pub fn hit_object_get_shader_binding_table_record_index_nv( &mut self, result_type: u32, result_id: Option<u32>, hit_object: u32, ) -> Result<u32, Error>

Appends an OpHitObjectGetShaderBindingTableRecordIndexNV instruction to the current block.

Source

pub fn insert_hit_object_get_shader_binding_table_record_index_nv( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, hit_object: u32, ) -> Result<u32, Error>

Appends an OpHitObjectGetShaderBindingTableRecordIndexNV instruction to the current block.

Source

pub fn hit_object_record_empty_nv( &mut self, hit_object: u32, ) -> Result<(), Error>

Appends an OpHitObjectRecordEmptyNV instruction to the current block.

Source

pub fn insert_hit_object_record_empty_nv( &mut self, insert_point: InsertPoint, hit_object: u32, ) -> Result<(), Error>

Appends an OpHitObjectRecordEmptyNV instruction to the current block.

Source

pub fn hit_object_trace_ray_nv( &mut self, hit_object: u32, acceleration_structure: u32, ray_flags: u32, cullmask: u32, sbt_record_offset: u32, sbt_record_stride: u32, miss_index: u32, origin: u32, t_min: u32, direction: u32, t_max: u32, payload: u32, ) -> Result<(), Error>

Appends an OpHitObjectTraceRayNV instruction to the current block.

Source

pub fn insert_hit_object_trace_ray_nv( &mut self, insert_point: InsertPoint, hit_object: u32, acceleration_structure: u32, ray_flags: u32, cullmask: u32, sbt_record_offset: u32, sbt_record_stride: u32, miss_index: u32, origin: u32, t_min: u32, direction: u32, t_max: u32, payload: u32, ) -> Result<(), Error>

Appends an OpHitObjectTraceRayNV instruction to the current block.

Source

pub fn hit_object_record_hit_nv( &mut self, hit_object: u32, acceleration_structure: u32, instance_id: u32, primitive_id: u32, geometry_index: u32, hit_kind: u32, sbt_record_offset: u32, sbt_record_stride: u32, origin: u32, t_min: u32, direction: u32, t_max: u32, hit_object_attributes: u32, ) -> Result<(), Error>

Appends an OpHitObjectRecordHitNV instruction to the current block.

Source

pub fn insert_hit_object_record_hit_nv( &mut self, insert_point: InsertPoint, hit_object: u32, acceleration_structure: u32, instance_id: u32, primitive_id: u32, geometry_index: u32, hit_kind: u32, sbt_record_offset: u32, sbt_record_stride: u32, origin: u32, t_min: u32, direction: u32, t_max: u32, hit_object_attributes: u32, ) -> Result<(), Error>

Appends an OpHitObjectRecordHitNV instruction to the current block.

Source

pub fn hit_object_record_hit_with_index_nv( &mut self, hit_object: u32, acceleration_structure: u32, instance_id: u32, primitive_id: u32, geometry_index: u32, hit_kind: u32, sbt_record_index: u32, origin: u32, t_min: u32, direction: u32, t_max: u32, hit_object_attributes: u32, ) -> Result<(), Error>

Appends an OpHitObjectRecordHitWithIndexNV instruction to the current block.

Source

pub fn insert_hit_object_record_hit_with_index_nv( &mut self, insert_point: InsertPoint, hit_object: u32, acceleration_structure: u32, instance_id: u32, primitive_id: u32, geometry_index: u32, hit_kind: u32, sbt_record_index: u32, origin: u32, t_min: u32, direction: u32, t_max: u32, hit_object_attributes: u32, ) -> Result<(), Error>

Appends an OpHitObjectRecordHitWithIndexNV instruction to the current block.

Source

pub fn hit_object_record_miss_nv( &mut self, hit_object: u32, sbt_index: u32, origin: u32, t_min: u32, direction: u32, t_max: u32, ) -> Result<(), Error>

Appends an OpHitObjectRecordMissNV instruction to the current block.

Source

pub fn insert_hit_object_record_miss_nv( &mut self, insert_point: InsertPoint, hit_object: u32, sbt_index: u32, origin: u32, t_min: u32, direction: u32, t_max: u32, ) -> Result<(), Error>

Appends an OpHitObjectRecordMissNV instruction to the current block.

Source

pub fn hit_object_execute_shader_nv( &mut self, hit_object: u32, payload: u32, ) -> Result<(), Error>

Appends an OpHitObjectExecuteShaderNV instruction to the current block.

Source

pub fn insert_hit_object_execute_shader_nv( &mut self, insert_point: InsertPoint, hit_object: u32, payload: u32, ) -> Result<(), Error>

Appends an OpHitObjectExecuteShaderNV instruction to the current block.

Source

pub fn hit_object_get_current_time_nv( &mut self, result_type: u32, result_id: Option<u32>, hit_object: u32, ) -> Result<u32, Error>

Appends an OpHitObjectGetCurrentTimeNV instruction to the current block.

Source

pub fn insert_hit_object_get_current_time_nv( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, hit_object: u32, ) -> Result<u32, Error>

Appends an OpHitObjectGetCurrentTimeNV instruction to the current block.

Source

pub fn hit_object_get_attributes_nv( &mut self, hit_object: u32, hit_object_attribute: u32, ) -> Result<(), Error>

Appends an OpHitObjectGetAttributesNV instruction to the current block.

Source

pub fn insert_hit_object_get_attributes_nv( &mut self, insert_point: InsertPoint, hit_object: u32, hit_object_attribute: u32, ) -> Result<(), Error>

Appends an OpHitObjectGetAttributesNV instruction to the current block.

Source

pub fn hit_object_get_hit_kind_nv( &mut self, result_type: u32, result_id: Option<u32>, hit_object: u32, ) -> Result<u32, Error>

Appends an OpHitObjectGetHitKindNV instruction to the current block.

Source

pub fn insert_hit_object_get_hit_kind_nv( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, hit_object: u32, ) -> Result<u32, Error>

Appends an OpHitObjectGetHitKindNV instruction to the current block.

Source

pub fn hit_object_get_primitive_index_nv( &mut self, result_type: u32, result_id: Option<u32>, hit_object: u32, ) -> Result<u32, Error>

Appends an OpHitObjectGetPrimitiveIndexNV instruction to the current block.

Source

pub fn insert_hit_object_get_primitive_index_nv( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, hit_object: u32, ) -> Result<u32, Error>

Appends an OpHitObjectGetPrimitiveIndexNV instruction to the current block.

Source

pub fn hit_object_get_geometry_index_nv( &mut self, result_type: u32, result_id: Option<u32>, hit_object: u32, ) -> Result<u32, Error>

Appends an OpHitObjectGetGeometryIndexNV instruction to the current block.

Source

pub fn insert_hit_object_get_geometry_index_nv( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, hit_object: u32, ) -> Result<u32, Error>

Appends an OpHitObjectGetGeometryIndexNV instruction to the current block.

Source

pub fn hit_object_get_instance_id_nv( &mut self, result_type: u32, result_id: Option<u32>, hit_object: u32, ) -> Result<u32, Error>

Appends an OpHitObjectGetInstanceIdNV instruction to the current block.

Source

pub fn insert_hit_object_get_instance_id_nv( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, hit_object: u32, ) -> Result<u32, Error>

Appends an OpHitObjectGetInstanceIdNV instruction to the current block.

Source

pub fn hit_object_get_instance_custom_index_nv( &mut self, result_type: u32, result_id: Option<u32>, hit_object: u32, ) -> Result<u32, Error>

Appends an OpHitObjectGetInstanceCustomIndexNV instruction to the current block.

Source

pub fn insert_hit_object_get_instance_custom_index_nv( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, hit_object: u32, ) -> Result<u32, Error>

Appends an OpHitObjectGetInstanceCustomIndexNV instruction to the current block.

Source

pub fn hit_object_get_world_ray_direction_nv( &mut self, result_type: u32, result_id: Option<u32>, hit_object: u32, ) -> Result<u32, Error>

Appends an OpHitObjectGetWorldRayDirectionNV instruction to the current block.

Source

pub fn insert_hit_object_get_world_ray_direction_nv( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, hit_object: u32, ) -> Result<u32, Error>

Appends an OpHitObjectGetWorldRayDirectionNV instruction to the current block.

Source

pub fn hit_object_get_world_ray_origin_nv( &mut self, result_type: u32, result_id: Option<u32>, hit_object: u32, ) -> Result<u32, Error>

Appends an OpHitObjectGetWorldRayOriginNV instruction to the current block.

Source

pub fn insert_hit_object_get_world_ray_origin_nv( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, hit_object: u32, ) -> Result<u32, Error>

Appends an OpHitObjectGetWorldRayOriginNV instruction to the current block.

Source

pub fn hit_object_get_ray_t_max_nv( &mut self, result_type: u32, result_id: Option<u32>, hit_object: u32, ) -> Result<u32, Error>

Appends an OpHitObjectGetRayTMaxNV instruction to the current block.

Source

pub fn insert_hit_object_get_ray_t_max_nv( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, hit_object: u32, ) -> Result<u32, Error>

Appends an OpHitObjectGetRayTMaxNV instruction to the current block.

Source

pub fn hit_object_get_ray_t_min_nv( &mut self, result_type: u32, result_id: Option<u32>, hit_object: u32, ) -> Result<u32, Error>

Appends an OpHitObjectGetRayTMinNV instruction to the current block.

Source

pub fn insert_hit_object_get_ray_t_min_nv( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, hit_object: u32, ) -> Result<u32, Error>

Appends an OpHitObjectGetRayTMinNV instruction to the current block.

Source

pub fn hit_object_is_empty_nv( &mut self, result_type: u32, result_id: Option<u32>, hit_object: u32, ) -> Result<u32, Error>

Appends an OpHitObjectIsEmptyNV instruction to the current block.

Source

pub fn insert_hit_object_is_empty_nv( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, hit_object: u32, ) -> Result<u32, Error>

Appends an OpHitObjectIsEmptyNV instruction to the current block.

Source

pub fn hit_object_is_hit_nv( &mut self, result_type: u32, result_id: Option<u32>, hit_object: u32, ) -> Result<u32, Error>

Appends an OpHitObjectIsHitNV instruction to the current block.

Source

pub fn insert_hit_object_is_hit_nv( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, hit_object: u32, ) -> Result<u32, Error>

Appends an OpHitObjectIsHitNV instruction to the current block.

Source

pub fn hit_object_is_miss_nv( &mut self, result_type: u32, result_id: Option<u32>, hit_object: u32, ) -> Result<u32, Error>

Appends an OpHitObjectIsMissNV instruction to the current block.

Source

pub fn insert_hit_object_is_miss_nv( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, hit_object: u32, ) -> Result<u32, Error>

Appends an OpHitObjectIsMissNV instruction to the current block.

Source

pub fn reorder_thread_with_hit_object_nv( &mut self, hit_object: u32, hint: Option<u32>, bits: Option<u32>, ) -> Result<(), Error>

Appends an OpReorderThreadWithHitObjectNV instruction to the current block.

Source

pub fn insert_reorder_thread_with_hit_object_nv( &mut self, insert_point: InsertPoint, hit_object: u32, hint: Option<u32>, bits: Option<u32>, ) -> Result<(), Error>

Appends an OpReorderThreadWithHitObjectNV instruction to the current block.

Source

pub fn reorder_thread_with_hint_nv( &mut self, hint: u32, bits: u32, ) -> Result<(), Error>

Appends an OpReorderThreadWithHintNV instruction to the current block.

Source

pub fn insert_reorder_thread_with_hint_nv( &mut self, insert_point: InsertPoint, hint: u32, bits: u32, ) -> Result<(), Error>

Appends an OpReorderThreadWithHintNV instruction to the current block.

Source

pub fn image_sample_footprint_nv( &mut self, result_type: u32, result_id: Option<u32>, sampled_image: u32, coordinate: u32, granularity: u32, coarse: u32, image_operands: Option<ImageOperands>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageSampleFootprintNV instruction to the current block.

Source

pub fn insert_image_sample_footprint_nv( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, sampled_image: u32, coordinate: u32, granularity: u32, coarse: u32, image_operands: Option<ImageOperands>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpImageSampleFootprintNV instruction to the current block.

Source

pub fn set_mesh_outputs_ext( &mut self, vertex_count: u32, primitive_count: u32, ) -> Result<(), Error>

Appends an OpSetMeshOutputsEXT instruction to the current block.

Source

pub fn insert_set_mesh_outputs_ext( &mut self, insert_point: InsertPoint, vertex_count: u32, primitive_count: u32, ) -> Result<(), Error>

Appends an OpSetMeshOutputsEXT instruction to the current block.

Source

pub fn group_non_uniform_partition_nv( &mut self, result_type: u32, result_id: Option<u32>, value: u32, ) -> Result<u32, Error>

Appends an OpGroupNonUniformPartitionNV instruction to the current block.

Source

pub fn insert_group_non_uniform_partition_nv( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, value: u32, ) -> Result<u32, Error>

Appends an OpGroupNonUniformPartitionNV instruction to the current block.

Source

pub fn write_packed_primitive_indices4x8_nv( &mut self, index_offset: u32, packed_indices: u32, ) -> Result<(), Error>

Appends an OpWritePackedPrimitiveIndices4x8NV instruction to the current block.

Source

pub fn insert_write_packed_primitive_indices4x8_nv( &mut self, insert_point: InsertPoint, index_offset: u32, packed_indices: u32, ) -> Result<(), Error>

Appends an OpWritePackedPrimitiveIndices4x8NV instruction to the current block.

Source

pub fn fetch_micro_triangle_vertex_position_nv( &mut self, result_type: u32, result_id: Option<u32>, accel: u32, instance_id: u32, geometry_index: u32, primitive_index: u32, barycentric: u32, ) -> Result<u32, Error>

Appends an OpFetchMicroTriangleVertexPositionNV instruction to the current block.

Source

pub fn insert_fetch_micro_triangle_vertex_position_nv( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, accel: u32, instance_id: u32, geometry_index: u32, primitive_index: u32, barycentric: u32, ) -> Result<u32, Error>

Appends an OpFetchMicroTriangleVertexPositionNV instruction to the current block.

Source

pub fn fetch_micro_triangle_vertex_barycentric_nv( &mut self, result_type: u32, result_id: Option<u32>, accel: u32, instance_id: u32, geometry_index: u32, primitive_index: u32, barycentric: u32, ) -> Result<u32, Error>

Appends an OpFetchMicroTriangleVertexBarycentricNV instruction to the current block.

Source

pub fn insert_fetch_micro_triangle_vertex_barycentric_nv( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, accel: u32, instance_id: u32, geometry_index: u32, primitive_index: u32, barycentric: u32, ) -> Result<u32, Error>

Appends an OpFetchMicroTriangleVertexBarycentricNV instruction to the current block.

Source

pub fn report_intersection_khr( &mut self, result_type: u32, result_id: Option<u32>, hit: u32, hit_kind: u32, ) -> Result<u32, Error>

Appends an OpReportIntersectionKHR instruction to the current block.

Source

pub fn insert_report_intersection_khr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, hit: u32, hit_kind: u32, ) -> Result<u32, Error>

Appends an OpReportIntersectionKHR instruction to the current block.

Source

pub fn report_intersection_nv( &mut self, result_type: u32, result_id: Option<u32>, hit: u32, hit_kind: u32, ) -> Result<u32, Error>

Appends an OpReportIntersectionNV instruction to the current block.

Source

pub fn insert_report_intersection_nv( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, hit: u32, hit_kind: u32, ) -> Result<u32, Error>

Appends an OpReportIntersectionNV instruction to the current block.

Source

pub fn ignore_intersection_nv(&mut self) -> Result<(), Error>

Appends an OpIgnoreIntersectionNV instruction to the current block.

Source

pub fn insert_ignore_intersection_nv( &mut self, insert_point: InsertPoint, ) -> Result<(), Error>

Appends an OpIgnoreIntersectionNV instruction to the current block.

Source

pub fn terminate_ray_nv(&mut self) -> Result<(), Error>

Appends an OpTerminateRayNV instruction to the current block.

Source

pub fn insert_terminate_ray_nv( &mut self, insert_point: InsertPoint, ) -> Result<(), Error>

Appends an OpTerminateRayNV instruction to the current block.

Source

pub fn trace_nv( &mut self, accel: u32, ray_flags: u32, cull_mask: u32, sbt_offset: u32, sbt_stride: u32, miss_index: u32, ray_origin: u32, ray_tmin: u32, ray_direction: u32, ray_tmax: u32, payload_id: u32, ) -> Result<(), Error>

Appends an OpTraceNV instruction to the current block.

Source

pub fn insert_trace_nv( &mut self, insert_point: InsertPoint, accel: u32, ray_flags: u32, cull_mask: u32, sbt_offset: u32, sbt_stride: u32, miss_index: u32, ray_origin: u32, ray_tmin: u32, ray_direction: u32, ray_tmax: u32, payload_id: u32, ) -> Result<(), Error>

Appends an OpTraceNV instruction to the current block.

Source

pub fn trace_motion_nv( &mut self, accel: u32, ray_flags: u32, cull_mask: u32, sbt_offset: u32, sbt_stride: u32, miss_index: u32, ray_origin: u32, ray_tmin: u32, ray_direction: u32, ray_tmax: u32, time: u32, payload_id: u32, ) -> Result<(), Error>

Appends an OpTraceMotionNV instruction to the current block.

Source

pub fn insert_trace_motion_nv( &mut self, insert_point: InsertPoint, accel: u32, ray_flags: u32, cull_mask: u32, sbt_offset: u32, sbt_stride: u32, miss_index: u32, ray_origin: u32, ray_tmin: u32, ray_direction: u32, ray_tmax: u32, time: u32, payload_id: u32, ) -> Result<(), Error>

Appends an OpTraceMotionNV instruction to the current block.

Source

pub fn trace_ray_motion_nv( &mut self, accel: u32, ray_flags: u32, cull_mask: u32, sbt_offset: u32, sbt_stride: u32, miss_index: u32, ray_origin: u32, ray_tmin: u32, ray_direction: u32, ray_tmax: u32, time: u32, payload: u32, ) -> Result<(), Error>

Appends an OpTraceRayMotionNV instruction to the current block.

Source

pub fn insert_trace_ray_motion_nv( &mut self, insert_point: InsertPoint, accel: u32, ray_flags: u32, cull_mask: u32, sbt_offset: u32, sbt_stride: u32, miss_index: u32, ray_origin: u32, ray_tmin: u32, ray_direction: u32, ray_tmax: u32, time: u32, payload: u32, ) -> Result<(), Error>

Appends an OpTraceRayMotionNV instruction to the current block.

Source

pub fn ray_query_get_intersection_triangle_vertex_positions_khr( &mut self, result_type: u32, result_id: Option<u32>, ray_query: u32, intersection: u32, ) -> Result<u32, Error>

Appends an OpRayQueryGetIntersectionTriangleVertexPositionsKHR instruction to the current block.

Source

pub fn insert_ray_query_get_intersection_triangle_vertex_positions_khr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, ray_query: u32, intersection: u32, ) -> Result<u32, Error>

Appends an OpRayQueryGetIntersectionTriangleVertexPositionsKHR instruction to the current block.

Source

pub fn execute_callable_nv( &mut self, sbt_index: u32, callable_data_id: u32, ) -> Result<(), Error>

Appends an OpExecuteCallableNV instruction to the current block.

Source

pub fn insert_execute_callable_nv( &mut self, insert_point: InsertPoint, sbt_index: u32, callable_data_id: u32, ) -> Result<(), Error>

Appends an OpExecuteCallableNV instruction to the current block.

Source

pub fn cooperative_matrix_load_nv( &mut self, result_type: u32, result_id: Option<u32>, pointer: u32, stride: u32, column_major: u32, memory_access: Option<MemoryAccess>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpCooperativeMatrixLoadNV instruction to the current block.

Source

pub fn insert_cooperative_matrix_load_nv( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, pointer: u32, stride: u32, column_major: u32, memory_access: Option<MemoryAccess>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<u32, Error>

Appends an OpCooperativeMatrixLoadNV instruction to the current block.

Source

pub fn cooperative_matrix_store_nv( &mut self, pointer: u32, object: u32, stride: u32, column_major: u32, memory_access: Option<MemoryAccess>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<(), Error>

Appends an OpCooperativeMatrixStoreNV instruction to the current block.

Source

pub fn insert_cooperative_matrix_store_nv( &mut self, insert_point: InsertPoint, pointer: u32, object: u32, stride: u32, column_major: u32, memory_access: Option<MemoryAccess>, additional_params: impl IntoIterator<Item = Operand>, ) -> Result<(), Error>

Appends an OpCooperativeMatrixStoreNV instruction to the current block.

Source

pub fn cooperative_matrix_mul_add_nv( &mut self, result_type: u32, result_id: Option<u32>, a: u32, b: u32, c: u32, ) -> Result<u32, Error>

Appends an OpCooperativeMatrixMulAddNV instruction to the current block.

Source

pub fn insert_cooperative_matrix_mul_add_nv( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, a: u32, b: u32, c: u32, ) -> Result<u32, Error>

Appends an OpCooperativeMatrixMulAddNV instruction to the current block.

Source

pub fn cooperative_matrix_length_nv( &mut self, result_type: u32, result_id: Option<u32>, ty: u32, ) -> Result<u32, Error>

Appends an OpCooperativeMatrixLengthNV instruction to the current block.

Source

pub fn insert_cooperative_matrix_length_nv( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, ty: u32, ) -> Result<u32, Error>

Appends an OpCooperativeMatrixLengthNV instruction to the current block.

Source

pub fn begin_invocation_interlock_ext(&mut self) -> Result<(), Error>

Appends an OpBeginInvocationInterlockEXT instruction to the current block.

Source

pub fn insert_begin_invocation_interlock_ext( &mut self, insert_point: InsertPoint, ) -> Result<(), Error>

Appends an OpBeginInvocationInterlockEXT instruction to the current block.

Source

pub fn end_invocation_interlock_ext(&mut self) -> Result<(), Error>

Appends an OpEndInvocationInterlockEXT instruction to the current block.

Source

pub fn insert_end_invocation_interlock_ext( &mut self, insert_point: InsertPoint, ) -> Result<(), Error>

Appends an OpEndInvocationInterlockEXT instruction to the current block.

Source

pub fn is_helper_invocation_ext( &mut self, result_type: u32, result_id: Option<u32>, ) -> Result<u32, Error>

Appends an OpIsHelperInvocationEXT instruction to the current block.

Source

pub fn insert_is_helper_invocation_ext( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, ) -> Result<u32, Error>

Appends an OpIsHelperInvocationEXT instruction to the current block.

Source

pub fn convert_u_to_image_nv( &mut self, result_type: u32, result_id: Option<u32>, operand: u32, ) -> Result<u32, Error>

Appends an OpConvertUToImageNV instruction to the current block.

Source

pub fn insert_convert_u_to_image_nv( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand: u32, ) -> Result<u32, Error>

Appends an OpConvertUToImageNV instruction to the current block.

Source

pub fn convert_u_to_sampler_nv( &mut self, result_type: u32, result_id: Option<u32>, operand: u32, ) -> Result<u32, Error>

Appends an OpConvertUToSamplerNV instruction to the current block.

Source

pub fn insert_convert_u_to_sampler_nv( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand: u32, ) -> Result<u32, Error>

Appends an OpConvertUToSamplerNV instruction to the current block.

Source

pub fn convert_image_to_unv( &mut self, result_type: u32, result_id: Option<u32>, operand: u32, ) -> Result<u32, Error>

Appends an OpConvertImageToUNV instruction to the current block.

Source

pub fn insert_convert_image_to_unv( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand: u32, ) -> Result<u32, Error>

Appends an OpConvertImageToUNV instruction to the current block.

Source

pub fn convert_sampler_to_unv( &mut self, result_type: u32, result_id: Option<u32>, operand: u32, ) -> Result<u32, Error>

Appends an OpConvertSamplerToUNV instruction to the current block.

Source

pub fn insert_convert_sampler_to_unv( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand: u32, ) -> Result<u32, Error>

Appends an OpConvertSamplerToUNV instruction to the current block.

Source

pub fn convert_u_to_sampled_image_nv( &mut self, result_type: u32, result_id: Option<u32>, operand: u32, ) -> Result<u32, Error>

Appends an OpConvertUToSampledImageNV instruction to the current block.

Source

pub fn insert_convert_u_to_sampled_image_nv( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand: u32, ) -> Result<u32, Error>

Appends an OpConvertUToSampledImageNV instruction to the current block.

Source

pub fn convert_sampled_image_to_unv( &mut self, result_type: u32, result_id: Option<u32>, operand: u32, ) -> Result<u32, Error>

Appends an OpConvertSampledImageToUNV instruction to the current block.

Source

pub fn insert_convert_sampled_image_to_unv( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand: u32, ) -> Result<u32, Error>

Appends an OpConvertSampledImageToUNV instruction to the current block.

Source

pub fn subgroup_shuffle_intel( &mut self, result_type: u32, result_id: Option<u32>, data: u32, invocation_id: u32, ) -> Result<u32, Error>

Appends an OpSubgroupShuffleINTEL instruction to the current block.

Source

pub fn insert_subgroup_shuffle_intel( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, data: u32, invocation_id: u32, ) -> Result<u32, Error>

Appends an OpSubgroupShuffleINTEL instruction to the current block.

Source

pub fn subgroup_shuffle_down_intel( &mut self, result_type: u32, result_id: Option<u32>, current: u32, next: u32, delta: u32, ) -> Result<u32, Error>

Appends an OpSubgroupShuffleDownINTEL instruction to the current block.

Source

pub fn insert_subgroup_shuffle_down_intel( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, current: u32, next: u32, delta: u32, ) -> Result<u32, Error>

Appends an OpSubgroupShuffleDownINTEL instruction to the current block.

Source

pub fn subgroup_shuffle_up_intel( &mut self, result_type: u32, result_id: Option<u32>, previous: u32, current: u32, delta: u32, ) -> Result<u32, Error>

Appends an OpSubgroupShuffleUpINTEL instruction to the current block.

Source

pub fn insert_subgroup_shuffle_up_intel( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, previous: u32, current: u32, delta: u32, ) -> Result<u32, Error>

Appends an OpSubgroupShuffleUpINTEL instruction to the current block.

Source

pub fn subgroup_shuffle_xor_intel( &mut self, result_type: u32, result_id: Option<u32>, data: u32, value: u32, ) -> Result<u32, Error>

Appends an OpSubgroupShuffleXorINTEL instruction to the current block.

Source

pub fn insert_subgroup_shuffle_xor_intel( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, data: u32, value: u32, ) -> Result<u32, Error>

Appends an OpSubgroupShuffleXorINTEL instruction to the current block.

Source

pub fn subgroup_block_read_intel( &mut self, result_type: u32, result_id: Option<u32>, ptr: u32, ) -> Result<u32, Error>

Appends an OpSubgroupBlockReadINTEL instruction to the current block.

Source

pub fn insert_subgroup_block_read_intel( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, ptr: u32, ) -> Result<u32, Error>

Appends an OpSubgroupBlockReadINTEL instruction to the current block.

Source

pub fn subgroup_block_write_intel( &mut self, ptr: u32, data: u32, ) -> Result<(), Error>

Appends an OpSubgroupBlockWriteINTEL instruction to the current block.

Source

pub fn insert_subgroup_block_write_intel( &mut self, insert_point: InsertPoint, ptr: u32, data: u32, ) -> Result<(), Error>

Appends an OpSubgroupBlockWriteINTEL instruction to the current block.

Source

pub fn subgroup_image_block_read_intel( &mut self, result_type: u32, result_id: Option<u32>, image: u32, coordinate: u32, ) -> Result<u32, Error>

Appends an OpSubgroupImageBlockReadINTEL instruction to the current block.

Source

pub fn insert_subgroup_image_block_read_intel( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, image: u32, coordinate: u32, ) -> Result<u32, Error>

Appends an OpSubgroupImageBlockReadINTEL instruction to the current block.

Source

pub fn subgroup_image_block_write_intel( &mut self, image: u32, coordinate: u32, data: u32, ) -> Result<(), Error>

Appends an OpSubgroupImageBlockWriteINTEL instruction to the current block.

Source

pub fn insert_subgroup_image_block_write_intel( &mut self, insert_point: InsertPoint, image: u32, coordinate: u32, data: u32, ) -> Result<(), Error>

Appends an OpSubgroupImageBlockWriteINTEL instruction to the current block.

Source

pub fn subgroup_image_media_block_read_intel( &mut self, result_type: u32, result_id: Option<u32>, image: u32, coordinate: u32, width: u32, height: u32, ) -> Result<u32, Error>

Appends an OpSubgroupImageMediaBlockReadINTEL instruction to the current block.

Source

pub fn insert_subgroup_image_media_block_read_intel( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, image: u32, coordinate: u32, width: u32, height: u32, ) -> Result<u32, Error>

Appends an OpSubgroupImageMediaBlockReadINTEL instruction to the current block.

Source

pub fn subgroup_image_media_block_write_intel( &mut self, image: u32, coordinate: u32, width: u32, height: u32, data: u32, ) -> Result<(), Error>

Appends an OpSubgroupImageMediaBlockWriteINTEL instruction to the current block.

Source

pub fn insert_subgroup_image_media_block_write_intel( &mut self, insert_point: InsertPoint, image: u32, coordinate: u32, width: u32, height: u32, data: u32, ) -> Result<(), Error>

Appends an OpSubgroupImageMediaBlockWriteINTEL instruction to the current block.

Source

pub fn u_count_leading_zeros_intel( &mut self, result_type: u32, result_id: Option<u32>, operand: u32, ) -> Result<u32, Error>

Appends an OpUCountLeadingZerosINTEL instruction to the current block.

Source

pub fn insert_u_count_leading_zeros_intel( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand: u32, ) -> Result<u32, Error>

Appends an OpUCountLeadingZerosINTEL instruction to the current block.

Source

pub fn u_count_trailing_zeros_intel( &mut self, result_type: u32, result_id: Option<u32>, operand: u32, ) -> Result<u32, Error>

Appends an OpUCountTrailingZerosINTEL instruction to the current block.

Source

pub fn insert_u_count_trailing_zeros_intel( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand: u32, ) -> Result<u32, Error>

Appends an OpUCountTrailingZerosINTEL instruction to the current block.

Source

pub fn abs_i_sub_intel( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpAbsISubINTEL instruction to the current block.

Source

pub fn insert_abs_i_sub_intel( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpAbsISubINTEL instruction to the current block.

Source

pub fn abs_u_sub_intel( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpAbsUSubINTEL instruction to the current block.

Source

pub fn insert_abs_u_sub_intel( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpAbsUSubINTEL instruction to the current block.

Source

pub fn i_add_sat_intel( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpIAddSatINTEL instruction to the current block.

Source

pub fn insert_i_add_sat_intel( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpIAddSatINTEL instruction to the current block.

Source

pub fn u_add_sat_intel( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpUAddSatINTEL instruction to the current block.

Source

pub fn insert_u_add_sat_intel( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpUAddSatINTEL instruction to the current block.

Source

pub fn i_average_intel( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpIAverageINTEL instruction to the current block.

Source

pub fn insert_i_average_intel( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpIAverageINTEL instruction to the current block.

Source

pub fn u_average_intel( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpUAverageINTEL instruction to the current block.

Source

pub fn insert_u_average_intel( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpUAverageINTEL instruction to the current block.

Source

pub fn i_average_rounded_intel( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpIAverageRoundedINTEL instruction to the current block.

Source

pub fn insert_i_average_rounded_intel( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpIAverageRoundedINTEL instruction to the current block.

Source

pub fn u_average_rounded_intel( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpUAverageRoundedINTEL instruction to the current block.

Source

pub fn insert_u_average_rounded_intel( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpUAverageRoundedINTEL instruction to the current block.

Source

pub fn i_sub_sat_intel( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpISubSatINTEL instruction to the current block.

Source

pub fn insert_i_sub_sat_intel( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpISubSatINTEL instruction to the current block.

Source

pub fn u_sub_sat_intel( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpUSubSatINTEL instruction to the current block.

Source

pub fn insert_u_sub_sat_intel( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpUSubSatINTEL instruction to the current block.

Source

pub fn i_mul32x16_intel( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpIMul32x16INTEL instruction to the current block.

Source

pub fn insert_i_mul32x16_intel( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpIMul32x16INTEL instruction to the current block.

Source

pub fn u_mul32x16_intel( &mut self, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpUMul32x16INTEL instruction to the current block.

Source

pub fn insert_u_mul32x16_intel( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, operand_1: u32, operand_2: u32, ) -> Result<u32, Error>

Appends an OpUMul32x16INTEL instruction to the current block.

Source

pub fn atomic_f_min_ext( &mut self, result_type: u32, result_id: Option<u32>, pointer: u32, memory: u32, semantics: u32, value: u32, ) -> Result<u32, Error>

Appends an OpAtomicFMinEXT instruction to the current block.

Source

pub fn insert_atomic_f_min_ext( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, pointer: u32, memory: u32, semantics: u32, value: u32, ) -> Result<u32, Error>

Appends an OpAtomicFMinEXT instruction to the current block.

Source

pub fn atomic_f_max_ext( &mut self, result_type: u32, result_id: Option<u32>, pointer: u32, memory: u32, semantics: u32, value: u32, ) -> Result<u32, Error>

Appends an OpAtomicFMaxEXT instruction to the current block.

Source

pub fn insert_atomic_f_max_ext( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, pointer: u32, memory: u32, semantics: u32, value: u32, ) -> Result<u32, Error>

Appends an OpAtomicFMaxEXT instruction to the current block.

Source

pub fn assume_true_khr(&mut self, condition: u32) -> Result<(), Error>

Appends an OpAssumeTrueKHR instruction to the current block.

Source

pub fn insert_assume_true_khr( &mut self, insert_point: InsertPoint, condition: u32, ) -> Result<(), Error>

Appends an OpAssumeTrueKHR instruction to the current block.

Source

pub fn expect_khr( &mut self, result_type: u32, result_id: Option<u32>, value: u32, expected_value: u32, ) -> Result<u32, Error>

Appends an OpExpectKHR instruction to the current block.

Source

pub fn insert_expect_khr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, value: u32, expected_value: u32, ) -> Result<u32, Error>

Appends an OpExpectKHR instruction to the current block.

Source

pub fn loop_control_intel( &mut self, loop_control_parameters: impl IntoIterator<Item = u32>, ) -> Result<(), Error>

Appends an OpLoopControlINTEL instruction to the current block.

Source

pub fn insert_loop_control_intel( &mut self, insert_point: InsertPoint, loop_control_parameters: impl IntoIterator<Item = u32>, ) -> Result<(), Error>

Appends an OpLoopControlINTEL instruction to the current block.

Source

pub fn read_pipe_blocking_intel( &mut self, result_type: u32, result_id: Option<u32>, packet_size: u32, packet_alignment: u32, ) -> Result<u32, Error>

Appends an OpReadPipeBlockingINTEL instruction to the current block.

Source

pub fn insert_read_pipe_blocking_intel( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, packet_size: u32, packet_alignment: u32, ) -> Result<u32, Error>

Appends an OpReadPipeBlockingINTEL instruction to the current block.

Source

pub fn write_pipe_blocking_intel( &mut self, result_type: u32, result_id: Option<u32>, packet_size: u32, packet_alignment: u32, ) -> Result<u32, Error>

Appends an OpWritePipeBlockingINTEL instruction to the current block.

Source

pub fn insert_write_pipe_blocking_intel( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, packet_size: u32, packet_alignment: u32, ) -> Result<u32, Error>

Appends an OpWritePipeBlockingINTEL instruction to the current block.

Source

pub fn fpga_reg_intel( &mut self, result_type: u32, result_id: Option<u32>, result: u32, input: u32, ) -> Result<u32, Error>

Appends an OpFPGARegINTEL instruction to the current block.

Source

pub fn insert_fpga_reg_intel( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, result: u32, input: u32, ) -> Result<u32, Error>

Appends an OpFPGARegINTEL instruction to the current block.

Source

pub fn ray_query_get_ray_t_min_khr( &mut self, result_type: u32, result_id: Option<u32>, ray_query: u32, ) -> Result<u32, Error>

Appends an OpRayQueryGetRayTMinKHR instruction to the current block.

Source

pub fn insert_ray_query_get_ray_t_min_khr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, ray_query: u32, ) -> Result<u32, Error>

Appends an OpRayQueryGetRayTMinKHR instruction to the current block.

Source

pub fn ray_query_get_ray_flags_khr( &mut self, result_type: u32, result_id: Option<u32>, ray_query: u32, ) -> Result<u32, Error>

Appends an OpRayQueryGetRayFlagsKHR instruction to the current block.

Source

pub fn insert_ray_query_get_ray_flags_khr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, ray_query: u32, ) -> Result<u32, Error>

Appends an OpRayQueryGetRayFlagsKHR instruction to the current block.

Source

pub fn ray_query_get_intersection_tkhr( &mut self, result_type: u32, result_id: Option<u32>, ray_query: u32, intersection: u32, ) -> Result<u32, Error>

Appends an OpRayQueryGetIntersectionTKHR instruction to the current block.

Source

pub fn insert_ray_query_get_intersection_tkhr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, ray_query: u32, intersection: u32, ) -> Result<u32, Error>

Appends an OpRayQueryGetIntersectionTKHR instruction to the current block.

Source

pub fn ray_query_get_intersection_instance_custom_index_khr( &mut self, result_type: u32, result_id: Option<u32>, ray_query: u32, intersection: u32, ) -> Result<u32, Error>

Appends an OpRayQueryGetIntersectionInstanceCustomIndexKHR instruction to the current block.

Source

pub fn insert_ray_query_get_intersection_instance_custom_index_khr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, ray_query: u32, intersection: u32, ) -> Result<u32, Error>

Appends an OpRayQueryGetIntersectionInstanceCustomIndexKHR instruction to the current block.

Source

pub fn ray_query_get_intersection_instance_id_khr( &mut self, result_type: u32, result_id: Option<u32>, ray_query: u32, intersection: u32, ) -> Result<u32, Error>

Appends an OpRayQueryGetIntersectionInstanceIdKHR instruction to the current block.

Source

pub fn insert_ray_query_get_intersection_instance_id_khr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, ray_query: u32, intersection: u32, ) -> Result<u32, Error>

Appends an OpRayQueryGetIntersectionInstanceIdKHR instruction to the current block.

Source

pub fn ray_query_get_intersection_instance_shader_binding_table_record_offset_khr( &mut self, result_type: u32, result_id: Option<u32>, ray_query: u32, intersection: u32, ) -> Result<u32, Error>

Appends an OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR instruction to the current block.

Source

pub fn insert_ray_query_get_intersection_instance_shader_binding_table_record_offset_khr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, ray_query: u32, intersection: u32, ) -> Result<u32, Error>

Appends an OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR instruction to the current block.

Source

pub fn ray_query_get_intersection_geometry_index_khr( &mut self, result_type: u32, result_id: Option<u32>, ray_query: u32, intersection: u32, ) -> Result<u32, Error>

Appends an OpRayQueryGetIntersectionGeometryIndexKHR instruction to the current block.

Source

pub fn insert_ray_query_get_intersection_geometry_index_khr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, ray_query: u32, intersection: u32, ) -> Result<u32, Error>

Appends an OpRayQueryGetIntersectionGeometryIndexKHR instruction to the current block.

Source

pub fn ray_query_get_intersection_primitive_index_khr( &mut self, result_type: u32, result_id: Option<u32>, ray_query: u32, intersection: u32, ) -> Result<u32, Error>

Appends an OpRayQueryGetIntersectionPrimitiveIndexKHR instruction to the current block.

Source

pub fn insert_ray_query_get_intersection_primitive_index_khr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, ray_query: u32, intersection: u32, ) -> Result<u32, Error>

Appends an OpRayQueryGetIntersectionPrimitiveIndexKHR instruction to the current block.

Source

pub fn ray_query_get_intersection_barycentrics_khr( &mut self, result_type: u32, result_id: Option<u32>, ray_query: u32, intersection: u32, ) -> Result<u32, Error>

Appends an OpRayQueryGetIntersectionBarycentricsKHR instruction to the current block.

Source

pub fn insert_ray_query_get_intersection_barycentrics_khr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, ray_query: u32, intersection: u32, ) -> Result<u32, Error>

Appends an OpRayQueryGetIntersectionBarycentricsKHR instruction to the current block.

Source

pub fn ray_query_get_intersection_front_face_khr( &mut self, result_type: u32, result_id: Option<u32>, ray_query: u32, intersection: u32, ) -> Result<u32, Error>

Appends an OpRayQueryGetIntersectionFrontFaceKHR instruction to the current block.

Source

pub fn insert_ray_query_get_intersection_front_face_khr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, ray_query: u32, intersection: u32, ) -> Result<u32, Error>

Appends an OpRayQueryGetIntersectionFrontFaceKHR instruction to the current block.

Source

pub fn ray_query_get_intersection_candidate_aabb_opaque_khr( &mut self, result_type: u32, result_id: Option<u32>, ray_query: u32, ) -> Result<u32, Error>

Appends an OpRayQueryGetIntersectionCandidateAABBOpaqueKHR instruction to the current block.

Source

pub fn insert_ray_query_get_intersection_candidate_aabb_opaque_khr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, ray_query: u32, ) -> Result<u32, Error>

Appends an OpRayQueryGetIntersectionCandidateAABBOpaqueKHR instruction to the current block.

Source

pub fn ray_query_get_intersection_object_ray_direction_khr( &mut self, result_type: u32, result_id: Option<u32>, ray_query: u32, intersection: u32, ) -> Result<u32, Error>

Appends an OpRayQueryGetIntersectionObjectRayDirectionKHR instruction to the current block.

Source

pub fn insert_ray_query_get_intersection_object_ray_direction_khr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, ray_query: u32, intersection: u32, ) -> Result<u32, Error>

Appends an OpRayQueryGetIntersectionObjectRayDirectionKHR instruction to the current block.

Source

pub fn ray_query_get_intersection_object_ray_origin_khr( &mut self, result_type: u32, result_id: Option<u32>, ray_query: u32, intersection: u32, ) -> Result<u32, Error>

Appends an OpRayQueryGetIntersectionObjectRayOriginKHR instruction to the current block.

Source

pub fn insert_ray_query_get_intersection_object_ray_origin_khr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, ray_query: u32, intersection: u32, ) -> Result<u32, Error>

Appends an OpRayQueryGetIntersectionObjectRayOriginKHR instruction to the current block.

Source

pub fn ray_query_get_world_ray_direction_khr( &mut self, result_type: u32, result_id: Option<u32>, ray_query: u32, ) -> Result<u32, Error>

Appends an OpRayQueryGetWorldRayDirectionKHR instruction to the current block.

Source

pub fn insert_ray_query_get_world_ray_direction_khr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, ray_query: u32, ) -> Result<u32, Error>

Appends an OpRayQueryGetWorldRayDirectionKHR instruction to the current block.

Source

pub fn ray_query_get_world_ray_origin_khr( &mut self, result_type: u32, result_id: Option<u32>, ray_query: u32, ) -> Result<u32, Error>

Appends an OpRayQueryGetWorldRayOriginKHR instruction to the current block.

Source

pub fn insert_ray_query_get_world_ray_origin_khr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, ray_query: u32, ) -> Result<u32, Error>

Appends an OpRayQueryGetWorldRayOriginKHR instruction to the current block.

Source

pub fn ray_query_get_intersection_object_to_world_khr( &mut self, result_type: u32, result_id: Option<u32>, ray_query: u32, intersection: u32, ) -> Result<u32, Error>

Appends an OpRayQueryGetIntersectionObjectToWorldKHR instruction to the current block.

Source

pub fn insert_ray_query_get_intersection_object_to_world_khr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, ray_query: u32, intersection: u32, ) -> Result<u32, Error>

Appends an OpRayQueryGetIntersectionObjectToWorldKHR instruction to the current block.

Source

pub fn ray_query_get_intersection_world_to_object_khr( &mut self, result_type: u32, result_id: Option<u32>, ray_query: u32, intersection: u32, ) -> Result<u32, Error>

Appends an OpRayQueryGetIntersectionWorldToObjectKHR instruction to the current block.

Source

pub fn insert_ray_query_get_intersection_world_to_object_khr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, ray_query: u32, intersection: u32, ) -> Result<u32, Error>

Appends an OpRayQueryGetIntersectionWorldToObjectKHR instruction to the current block.

Source

pub fn atomic_f_add_ext( &mut self, result_type: u32, result_id: Option<u32>, pointer: u32, memory: u32, semantics: u32, value: u32, ) -> Result<u32, Error>

Appends an OpAtomicFAddEXT instruction to the current block.

Source

pub fn insert_atomic_f_add_ext( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, pointer: u32, memory: u32, semantics: u32, value: u32, ) -> Result<u32, Error>

Appends an OpAtomicFAddEXT instruction to the current block.

Source

pub fn convert_f_to_bf16intel( &mut self, result_type: u32, result_id: Option<u32>, float_value: u32, ) -> Result<u32, Error>

Appends an OpConvertFToBF16INTEL instruction to the current block.

Source

pub fn insert_convert_f_to_bf16intel( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, float_value: u32, ) -> Result<u32, Error>

Appends an OpConvertFToBF16INTEL instruction to the current block.

Source

pub fn convert_bf16_to_fintel( &mut self, result_type: u32, result_id: Option<u32>, b_float16_value: u32, ) -> Result<u32, Error>

Appends an OpConvertBF16ToFINTEL instruction to the current block.

Source

pub fn insert_convert_bf16_to_fintel( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, b_float16_value: u32, ) -> Result<u32, Error>

Appends an OpConvertBF16ToFINTEL instruction to the current block.

Source

pub fn control_barrier_arrive_intel( &mut self, execution: u32, memory: u32, semantics: u32, ) -> Result<(), Error>

Appends an OpControlBarrierArriveINTEL instruction to the current block.

Source

pub fn insert_control_barrier_arrive_intel( &mut self, insert_point: InsertPoint, execution: u32, memory: u32, semantics: u32, ) -> Result<(), Error>

Appends an OpControlBarrierArriveINTEL instruction to the current block.

Source

pub fn control_barrier_wait_intel( &mut self, execution: u32, memory: u32, semantics: u32, ) -> Result<(), Error>

Appends an OpControlBarrierWaitINTEL instruction to the current block.

Source

pub fn insert_control_barrier_wait_intel( &mut self, insert_point: InsertPoint, execution: u32, memory: u32, semantics: u32, ) -> Result<(), Error>

Appends an OpControlBarrierWaitINTEL instruction to the current block.

Source

pub fn group_i_mul_khr( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupIMulKHR instruction to the current block.

Source

pub fn insert_group_i_mul_khr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupIMulKHR instruction to the current block.

Source

pub fn group_f_mul_khr( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupFMulKHR instruction to the current block.

Source

pub fn insert_group_f_mul_khr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupFMulKHR instruction to the current block.

Source

pub fn group_bitwise_and_khr( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupBitwiseAndKHR instruction to the current block.

Source

pub fn insert_group_bitwise_and_khr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupBitwiseAndKHR instruction to the current block.

Source

pub fn group_bitwise_or_khr( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupBitwiseOrKHR instruction to the current block.

Source

pub fn insert_group_bitwise_or_khr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupBitwiseOrKHR instruction to the current block.

Source

pub fn group_bitwise_xor_khr( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupBitwiseXorKHR instruction to the current block.

Source

pub fn insert_group_bitwise_xor_khr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupBitwiseXorKHR instruction to the current block.

Source

pub fn group_logical_and_khr( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupLogicalAndKHR instruction to the current block.

Source

pub fn insert_group_logical_and_khr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupLogicalAndKHR instruction to the current block.

Source

pub fn group_logical_or_khr( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupLogicalOrKHR instruction to the current block.

Source

pub fn insert_group_logical_or_khr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupLogicalOrKHR instruction to the current block.

Source

pub fn group_logical_xor_khr( &mut self, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupLogicalXorKHR instruction to the current block.

Source

pub fn insert_group_logical_xor_khr( &mut self, insert_point: InsertPoint, result_type: u32, result_id: Option<u32>, execution: u32, operation: GroupOperation, x: u32, ) -> Result<u32, Error>

Appends an OpGroupLogicalXorKHR instruction to the current block.

Trait Implementations§

Source§

impl<T: SpirvTarget> Clone for SpirvCompiler<T>

Source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<T: SpirvTarget> Compiler for SpirvCompiler<T>

Source§

type Representation = SpirvKernel

The representation for the compiled code.
Source§

fn compile( kernel: KernelDefinition, mode: ExecutionMode, ) -> Self::Representation

Compiles the kernel definition into the compiler’s representation.
Source§

fn elem_size(elem: Elem) -> usize

The size of the given element in bytes.
Source§

fn local_allocator() -> impl LocalAllocator

Source§

fn max_shared_memory_size() -> usize

The maximal size of a shared memory, in bytes
Source§

impl<Target: SpirvTarget> Debug for SpirvCompiler<Target>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<T: SpirvTarget> Default for SpirvCompiler<T>

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<T: SpirvTarget> Deref for SpirvCompiler<T>

Source§

type Target = Builder

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl<T: SpirvTarget> DerefMut for SpirvCompiler<T>

Source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.
Source§

impl<T: SpirvTarget> Send for SpirvCompiler<T>

Source§

impl<T: SpirvTarget> Sync for SpirvCompiler<T>

Auto Trait Implementations§

§

impl<Target> Freeze for SpirvCompiler<Target>
where Target: Freeze,

§

impl<Target = GLCompute> !RefUnwindSafe for SpirvCompiler<Target>

§

impl<Target> Unpin for SpirvCompiler<Target>
where Target: Unpin,

§

impl<Target = GLCompute> !UnwindSafe for SpirvCompiler<Target>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V