Struct rspirv::mr::Builder[][src]

pub struct Builder { /* fields omitted */ }

The data representation builder.

Constructs a Module by aggregating results from method calls for various instructions.

This builder is designed to be low level; its build methods' signatures basically reflects the layout of the corresponding SPIR-V instructions faithfully.

If a SPIR-V instruction generates a result id and the result id can be forward referenced, the build method will take an optional result_id parameter. Filling it with Some(val) will instruct the builder to use the given val as the result id. For other cases, an unused result id will be automatically assigned from the builder.

So for instructions forward referencing an id, to avoid id collision, you can either

  • first append the target instruction generating that id and then append the forward referencing instruction; or
  • use the id() method to get an unused id from the builder, use it in the forward referencing instruction, and then later fill the optional result_id parameter of the target instruction with the same id.

Instructions belonging to the module (e.g., OpDecorate) can be appended at any time, no matter that a basic block is currently under construction or not. Intructions that can appear both in the module and basic block (e.g., OpVariable) will be inserted to the current basic block under construction first, if any.

Errors

Methods in the builder implement little sanity check; only appending instructions that violates the module structure is guarded. So methods possibly returning errors are basically those related to function and basic block construction (e.g., OpFunction and OpLabel).

Errors returned are enumerants related to function structure from the Error enum.

Examples

extern crate rspirv;
extern crate spirv_headers as spirv;

use rspirv::binary::Disassemble;

fn main() {
    let mut b = rspirv::mr::Builder::new();
    b.set_version(1, 0);
    b.memory_model(spirv::AddressingModel::Logical, spirv::MemoryModel::Simple);
    let void = b.type_void();
    let voidf = b.type_function(void, vec![void]);
    b.begin_function(void,
                     None,
                     (spirv::FunctionControl::DONT_INLINE |
                      spirv::FunctionControl::CONST),
                     voidf)
     .unwrap();
    b.begin_basic_block(None).unwrap();
    b.ret().unwrap();
    b.end_function().unwrap();

    assert_eq!(b.module().disassemble(),
               "; SPIR-V\n\
                ; Version: 1.0\n\
                ; Generator: rspirv\n\
                ; Bound: 5\n\
                OpMemoryModel Logical Simple\n\
                %1 = OpTypeVoid\n\
                %2 = OpTypeFunction %1 %1\n\
                %3 = OpFunction  %1  DontInline|Const %2\n\
                %4 = OpLabel\n\
                OpReturn\n\
                OpFunctionEnd");
}

Methods

impl Builder
[src]

Creates a new empty builder.

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.

Returns the Module under construction.

Returns the next unused id.

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.

Ends building of the current function.

Declares a formal parameter for the current function.

Begins building of a new basic block.

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

Appends an OpCapability instruction.

Appends an OpExtension instruction.

Appends an OpExtInstImport instruction and returns the result id.

Appends an OpMemoryModel instruction.

Appends an OpEntryPoint instruction.

Appends an OpExecutionMode instruction.

impl Builder
[src]

Appends an OpTypeVoid instruction and returns the result id.

Appends an OpTypeBool instruction and returns the result id.

Appends an OpTypeInt instruction and returns the result id.

Appends an OpTypeFloat instruction and returns the result id.

Appends an OpTypeVector instruction and returns the result id.

Appends an OpTypeMatrix instruction and returns the result id.

Appends an OpTypeImage instruction and returns the result id.

Appends an OpTypeSampler instruction and returns the result id.

Appends an OpTypeSampledImage instruction and returns the result id.

Appends an OpTypeArray instruction and returns the result id.

Appends an OpTypeRuntimeArray instruction and returns the result id.

Appends an OpTypeStruct instruction and returns the result id.

Appends an OpTypeFunction instruction and returns the result id.

Appends an OpTypeEvent instruction and returns the result id.

Appends an OpTypeDeviceEvent instruction and returns the result id.

Appends an OpTypeReserveId instruction and returns the result id.

Appends an OpTypeQueue instruction and returns the result id.

Appends an OpTypePipe instruction and returns the result id.

Appends an OpTypePipeStorage instruction and returns the result id.

Appends an OpTypeNamedBarrier instruction and returns the result id.

impl Builder
[src]

Appends an OpConstantTrue instruction.

Appends an OpConstantFalse instruction.

Appends an OpConstantComposite instruction.

Appends an OpConstantSampler instruction.

Appends an OpConstantNull instruction.

Appends an OpSpecConstantTrue instruction.

Appends an OpSpecConstantFalse instruction.

Appends an OpSpecConstantComposite instruction.

Appends an OpSpecConstantOp instruction.

Appends an OpConstantPipeStorage instruction.

impl Builder
[src]

Appends an OpDecorate instruction.

Appends an OpMemberDecorate instruction.

Appends an OpGroupDecorate instruction.

Appends an OpGroupMemberDecorate instruction.

Appends an OpDecorateId instruction.

Appends an OpDecorateStringGOOGLE instruction.

Appends an OpMemberDecorateStringGOOGLE instruction.

impl Builder
[src]

Appends an OpBranch instruction and ends the current basic block.

Appends an OpBranchConditional instruction and ends the current basic block.

Appends an OpSwitch instruction and ends the current basic block.

Appends an OpKill instruction and ends the current basic block.

Appends an OpReturn instruction and ends the current basic block.

Appends an OpReturnValue instruction and ends the current basic block.

Appends an OpUnreachable instruction and ends the current basic block.

impl Builder
[src]

Appends an OpSourceContinued instruction.

Appends an OpSource instruction.

Appends an OpSourceExtension instruction.

Appends an OpName instruction.

Appends an OpMemberName instruction.

Appends an OpModuleProcessed instruction.

impl Builder
[src]

Appends an OpDecorationGroup instruction and returns the result id.

impl Builder
[src]

Appends an OpTypeForwardPointer instruction.

Appends an OpTypePointer instruction and returns the result id.

Appends an OpTypeOpaque instruction and returns the result id.

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

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

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

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

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

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

impl Builder
[src]

Appends an OpNop instruction to the current basic block.

Appends an OpExtInst instruction to the current basic block.

Appends an OpFunctionCall instruction to the current basic block.

Appends an OpImageTexelPointer instruction to the current basic block.

Appends an OpLoad instruction to the current basic block.

Appends an OpStore instruction to the current basic block.

Appends an OpCopyMemory instruction to the current basic block.

Appends an OpCopyMemorySized instruction to the current basic block.

Appends an OpAccessChain instruction to the current basic block.

Appends an OpInBoundsAccessChain instruction to the current basic block.

Appends an OpPtrAccessChain instruction to the current basic block.

Appends an OpArrayLength instruction to the current basic block.

Appends an OpGenericPtrMemSemantics instruction to the current basic block.

Appends an OpInBoundsPtrAccessChain instruction to the current basic block.

Appends an OpVectorExtractDynamic instruction to the current basic block.

Appends an OpVectorInsertDynamic instruction to the current basic block.

Appends an OpVectorShuffle instruction to the current basic block.

Appends an OpCompositeConstruct instruction to the current basic block.

Appends an OpCompositeExtract instruction to the current basic block.

Appends an OpCompositeInsert instruction to the current basic block.

Appends an OpCopyObject instruction to the current basic block.

Appends an OpTranspose instruction to the current basic block.

Appends an OpSampledImage instruction to the current basic block.

Appends an OpImageSampleImplicitLod instruction to the current basic block.

Appends an OpImageSampleExplicitLod instruction to the current basic block.

Appends an OpImageSampleDrefImplicitLod instruction to the current basic block.

Appends an OpImageSampleDrefExplicitLod instruction to the current basic block.

Appends an OpImageSampleProjImplicitLod instruction to the current basic block.

Appends an OpImageSampleProjExplicitLod instruction to the current basic block.

Appends an OpImageSampleProjDrefImplicitLod instruction to the current basic block.

Appends an OpImageSampleProjDrefExplicitLod instruction to the current basic block.

Appends an OpImageFetch instruction to the current basic block.

Appends an OpImageGather instruction to the current basic block.

Appends an OpImageDrefGather instruction to the current basic block.

Appends an OpImageRead instruction to the current basic block.

Appends an OpImageWrite instruction to the current basic block.

Appends an OpImage instruction to the current basic block.

Appends an OpImageQueryFormat instruction to the current basic block.

Appends an OpImageQueryOrder instruction to the current basic block.

Appends an OpImageQuerySizeLod instruction to the current basic block.

Appends an OpImageQuerySize instruction to the current basic block.

Appends an OpImageQueryLod instruction to the current basic block.

Appends an OpImageQueryLevels instruction to the current basic block.

Appends an OpImageQuerySamples instruction to the current basic block.

Appends an OpConvertFToU instruction to the current basic block.

Appends an OpConvertFToS instruction to the current basic block.

Appends an OpConvertSToF instruction to the current basic block.

Appends an OpConvertUToF instruction to the current basic block.

Appends an OpUConvert instruction to the current basic block.

Appends an OpSConvert instruction to the current basic block.

Appends an OpFConvert instruction to the current basic block.

Appends an OpQuantizeToF16 instruction to the current basic block.

Appends an OpConvertPtrToU instruction to the current basic block.

Appends an OpSatConvertSToU instruction to the current basic block.

Appends an OpSatConvertUToS instruction to the current basic block.

Appends an OpConvertUToPtr instruction to the current basic block.

Appends an OpPtrCastToGeneric instruction to the current basic block.

Appends an OpGenericCastToPtr instruction to the current basic block.

Appends an OpGenericCastToPtrExplicit instruction to the current basic block.

Appends an OpBitcast instruction to the current basic block.

Appends an OpSNegate instruction to the current basic block.

Appends an OpFNegate instruction to the current basic block.

Appends an OpIAdd instruction to the current basic block.

Appends an OpFAdd instruction to the current basic block.

Appends an OpISub instruction to the current basic block.

Appends an OpFSub instruction to the current basic block.

Appends an OpIMul instruction to the current basic block.

Appends an OpFMul instruction to the current basic block.

Appends an OpUDiv instruction to the current basic block.

Appends an OpSDiv instruction to the current basic block.

Appends an OpFDiv instruction to the current basic block.

Appends an OpUMod instruction to the current basic block.

Appends an OpSRem instruction to the current basic block.

Appends an OpSMod instruction to the current basic block.

Appends an OpFRem instruction to the current basic block.

Appends an OpFMod instruction to the current basic block.

Appends an OpVectorTimesScalar instruction to the current basic block.

Appends an OpMatrixTimesScalar instruction to the current basic block.

Appends an OpVectorTimesMatrix instruction to the current basic block.

Appends an OpMatrixTimesVector instruction to the current basic block.

Appends an OpMatrixTimesMatrix instruction to the current basic block.

Appends an OpOuterProduct instruction to the current basic block.

Appends an OpDot instruction to the current basic block.

Appends an OpIAddCarry instruction to the current basic block.

Appends an OpISubBorrow instruction to the current basic block.

Appends an OpUMulExtended instruction to the current basic block.

Appends an OpSMulExtended instruction to the current basic block.

Appends an OpAny instruction to the current basic block.

Appends an OpAll instruction to the current basic block.

Appends an OpIsNan instruction to the current basic block.

Appends an OpIsInf instruction to the current basic block.

Appends an OpIsFinite instruction to the current basic block.

Appends an OpIsNormal instruction to the current basic block.

Appends an OpSignBitSet instruction to the current basic block.

Appends an OpLessOrGreater instruction to the current basic block.

Appends an OpOrdered instruction to the current basic block.

Appends an OpUnordered instruction to the current basic block.

Appends an OpLogicalEqual instruction to the current basic block.

Appends an OpLogicalNotEqual instruction to the current basic block.

Appends an OpLogicalOr instruction to the current basic block.

Appends an OpLogicalAnd instruction to the current basic block.

Appends an OpLogicalNot instruction to the current basic block.

Appends an OpSelect instruction to the current basic block.

Appends an OpIEqual instruction to the current basic block.

Appends an OpINotEqual instruction to the current basic block.

Appends an OpUGreaterThan instruction to the current basic block.

Appends an OpSGreaterThan instruction to the current basic block.

Appends an OpUGreaterThanEqual instruction to the current basic block.

Appends an OpSGreaterThanEqual instruction to the current basic block.

Appends an OpULessThan instruction to the current basic block.

Appends an OpSLessThan instruction to the current basic block.

Appends an OpULessThanEqual instruction to the current basic block.

Appends an OpSLessThanEqual instruction to the current basic block.

Appends an OpFOrdEqual instruction to the current basic block.

Appends an OpFUnordEqual instruction to the current basic block.

Appends an OpFOrdNotEqual instruction to the current basic block.

Appends an OpFUnordNotEqual instruction to the current basic block.

Appends an OpFOrdLessThan instruction to the current basic block.

Appends an OpFUnordLessThan instruction to the current basic block.

Appends an OpFOrdGreaterThan instruction to the current basic block.

Appends an OpFUnordGreaterThan instruction to the current basic block.

Appends an OpFOrdLessThanEqual instruction to the current basic block.

Appends an OpFUnordLessThanEqual instruction to the current basic block.

Appends an OpFOrdGreaterThanEqual instruction to the current basic block.

Appends an OpFUnordGreaterThanEqual instruction to the current basic block.

Appends an OpShiftRightLogical instruction to the current basic block.

Appends an OpShiftRightArithmetic instruction to the current basic block.

Appends an OpShiftLeftLogical instruction to the current basic block.

Appends an OpBitwiseOr instruction to the current basic block.

Appends an OpBitwiseXor instruction to the current basic block.

Appends an OpBitwiseAnd instruction to the current basic block.

Appends an OpNot instruction to the current basic block.

Appends an OpBitFieldInsert instruction to the current basic block.

Appends an OpBitFieldSExtract instruction to the current basic block.

Appends an OpBitFieldUExtract instruction to the current basic block.

Appends an OpBitReverse instruction to the current basic block.

Appends an OpBitCount instruction to the current basic block.

Appends an OpDPdx instruction to the current basic block.

Appends an OpDPdy instruction to the current basic block.

Appends an OpFwidth instruction to the current basic block.

Appends an OpDPdxFine instruction to the current basic block.

Appends an OpDPdyFine instruction to the current basic block.

Appends an OpFwidthFine instruction to the current basic block.

Appends an OpDPdxCoarse instruction to the current basic block.

Appends an OpDPdyCoarse instruction to the current basic block.

Appends an OpFwidthCoarse instruction to the current basic block.

Appends an OpEmitVertex instruction to the current basic block.

Appends an OpEndPrimitive instruction to the current basic block.

Appends an OpEmitStreamVertex instruction to the current basic block.

Appends an OpEndStreamPrimitive instruction to the current basic block.

Appends an OpControlBarrier instruction to the current basic block.

Appends an OpMemoryBarrier instruction to the current basic block.

Appends an OpAtomicLoad instruction to the current basic block.

Appends an OpAtomicStore instruction to the current basic block.

Appends an OpAtomicExchange instruction to the current basic block.

Appends an OpAtomicCompareExchange instruction to the current basic block.

Appends an OpAtomicCompareExchangeWeak instruction to the current basic block.

Appends an OpAtomicIIncrement instruction to the current basic block.

Appends an OpAtomicIDecrement instruction to the current basic block.

Appends an OpAtomicIAdd instruction to the current basic block.

Appends an OpAtomicISub instruction to the current basic block.

Appends an OpAtomicSMin instruction to the current basic block.

Appends an OpAtomicUMin instruction to the current basic block.

Appends an OpAtomicSMax instruction to the current basic block.

Appends an OpAtomicUMax instruction to the current basic block.

Appends an OpAtomicAnd instruction to the current basic block.

Appends an OpAtomicOr instruction to the current basic block.

Appends an OpAtomicXor instruction to the current basic block.

Appends an OpPhi instruction to the current basic block.

Appends an OpLoopMerge instruction to the current basic block.

Appends an OpSelectionMerge instruction to the current basic block.

Appends an OpLifetimeStart instruction to the current basic block.

Appends an OpLifetimeStop instruction to the current basic block.

Appends an OpGroupAsyncCopy instruction to the current basic block.

Appends an OpGroupWaitEvents instruction to the current basic block.

Appends an OpGroupAll instruction to the current basic block.

Appends an OpGroupAny instruction to the current basic block.

Appends an OpGroupBroadcast instruction to the current basic block.

Appends an OpGroupIAdd instruction to the current basic block.

Appends an OpGroupFAdd instruction to the current basic block.

Appends an OpGroupFMin instruction to the current basic block.

Appends an OpGroupUMin instruction to the current basic block.

Appends an OpGroupSMin instruction to the current basic block.

Appends an OpGroupFMax instruction to the current basic block.

Appends an OpGroupUMax instruction to the current basic block.

Appends an OpGroupSMax instruction to the current basic block.

Appends an OpReadPipe instruction to the current basic block.

Appends an OpWritePipe instruction to the current basic block.

Appends an OpReservedReadPipe instruction to the current basic block.

Appends an OpReservedWritePipe instruction to the current basic block.

Appends an OpReserveReadPipePackets instruction to the current basic block.

Appends an OpReserveWritePipePackets instruction to the current basic block.

Appends an OpCommitReadPipe instruction to the current basic block.

Appends an OpCommitWritePipe instruction to the current basic block.

Appends an OpIsValidReserveId instruction to the current basic block.

Appends an OpGetNumPipePackets instruction to the current basic block.

Appends an OpGetMaxPipePackets instruction to the current basic block.

Appends an OpGroupReserveReadPipePackets instruction to the current basic block.

Appends an OpGroupReserveWritePipePackets instruction to the current basic block.

Appends an OpGroupCommitReadPipe instruction to the current basic block.

Appends an OpGroupCommitWritePipe instruction to the current basic block.

Appends an OpEnqueueMarker instruction to the current basic block.

Appends an OpEnqueueKernel instruction to the current basic block.

Appends an OpGetKernelNDrangeSubGroupCount instruction to the current basic block.

Appends an OpGetKernelNDrangeMaxSubGroupSize instruction to the current basic block.

Appends an OpGetKernelWorkGroupSize instruction to the current basic block.

Appends an OpGetKernelPreferredWorkGroupSizeMultiple instruction to the current basic block.

Appends an OpRetainEvent instruction to the current basic block.

Appends an OpReleaseEvent instruction to the current basic block.

Appends an OpCreateUserEvent instruction to the current basic block.

Appends an OpIsValidEvent instruction to the current basic block.

Appends an OpSetUserEventStatus instruction to the current basic block.

Appends an OpCaptureEventProfilingInfo instruction to the current basic block.

Appends an OpGetDefaultQueue instruction to the current basic block.

Appends an OpBuildNDRange instruction to the current basic block.

Appends an OpImageSparseSampleImplicitLod instruction to the current basic block.

Appends an OpImageSparseSampleExplicitLod instruction to the current basic block.

Appends an OpImageSparseSampleDrefImplicitLod instruction to the current basic block.

Appends an OpImageSparseSampleDrefExplicitLod instruction to the current basic block.

Appends an OpImageSparseSampleProjImplicitLod instruction to the current basic block.

Appends an OpImageSparseSampleProjExplicitLod instruction to the current basic block.

Appends an OpImageSparseSampleProjDrefImplicitLod instruction to the current basic block.

Appends an OpImageSparseSampleProjDrefExplicitLod instruction to the current basic block.

Appends an OpImageSparseFetch instruction to the current basic block.

Appends an OpImageSparseGather instruction to the current basic block.

Appends an OpImageSparseDrefGather instruction to the current basic block.

Appends an OpImageSparseTexelsResident instruction to the current basic block.

Appends an OpAtomicFlagTestAndSet instruction to the current basic block.

Appends an OpAtomicFlagClear instruction to the current basic block.

Appends an OpImageSparseRead instruction to the current basic block.

Appends an OpSizeOf instruction to the current basic block.

Appends an OpCreatePipeFromPipeStorage instruction to the current basic block.

Appends an OpGetKernelLocalSizeForSubgroupCount instruction to the current basic block.

Appends an OpGetKernelMaxNumSubgroups instruction to the current basic block.

Appends an OpNamedBarrierInitialize instruction to the current basic block.

Appends an OpMemoryNamedBarrier instruction to the current basic block.

Appends an OpGroupNonUniformElect instruction to the current basic block.

Appends an OpGroupNonUniformAll instruction to the current basic block.

Appends an OpGroupNonUniformAny instruction to the current basic block.

Appends an OpGroupNonUniformAllEqual instruction to the current basic block.

Appends an OpGroupNonUniformBroadcast instruction to the current basic block.

Appends an OpGroupNonUniformBroadcastFirst instruction to the current basic block.

Appends an OpGroupNonUniformBallot instruction to the current basic block.

Appends an OpGroupNonUniformInverseBallot instruction to the current basic block.

Appends an OpGroupNonUniformBallotBitExtract instruction to the current basic block.

Appends an OpGroupNonUniformBallotBitCount instruction to the current basic block.

Appends an OpGroupNonUniformBallotFindLSB instruction to the current basic block.

Appends an OpGroupNonUniformBallotFindMSB instruction to the current basic block.

Appends an OpGroupNonUniformShuffle instruction to the current basic block.

Appends an OpGroupNonUniformShuffleXor instruction to the current basic block.

Appends an OpGroupNonUniformShuffleUp instruction to the current basic block.

Appends an OpGroupNonUniformShuffleDown instruction to the current basic block.

Appends an OpGroupNonUniformIAdd instruction to the current basic block.

Appends an OpGroupNonUniformFAdd instruction to the current basic block.

Appends an OpGroupNonUniformIMul instruction to the current basic block.

Appends an OpGroupNonUniformFMul instruction to the current basic block.

Appends an OpGroupNonUniformSMin instruction to the current basic block.

Appends an OpGroupNonUniformUMin instruction to the current basic block.

Appends an OpGroupNonUniformFMin instruction to the current basic block.

Appends an OpGroupNonUniformSMax instruction to the current basic block.

Appends an OpGroupNonUniformUMax instruction to the current basic block.

Appends an OpGroupNonUniformFMax instruction to the current basic block.

Appends an OpGroupNonUniformBitwiseAnd instruction to the current basic block.

Appends an OpGroupNonUniformBitwiseOr instruction to the current basic block.

Appends an OpGroupNonUniformBitwiseXor instruction to the current basic block.

Appends an OpGroupNonUniformLogicalAnd instruction to the current basic block.

Appends an OpGroupNonUniformLogicalOr instruction to the current basic block.

Appends an OpGroupNonUniformLogicalXor instruction to the current basic block.

Appends an OpGroupNonUniformQuadBroadcast instruction to the current basic block.

Appends an OpGroupNonUniformQuadSwap instruction to the current basic block.

Appends an OpSubgroupBallotKHR instruction to the current basic block.

Appends an OpSubgroupFirstInvocationKHR instruction to the current basic block.

Appends an OpSubgroupAllKHR instruction to the current basic block.

Appends an OpSubgroupAnyKHR instruction to the current basic block.

Appends an OpSubgroupAllEqualKHR instruction to the current basic block.

Appends an OpSubgroupReadInvocationKHR instruction to the current basic block.

Appends an OpGroupIAddNonUniformAMD instruction to the current basic block.

Appends an OpGroupFAddNonUniformAMD instruction to the current basic block.

Appends an OpGroupFMinNonUniformAMD instruction to the current basic block.

Appends an OpGroupUMinNonUniformAMD instruction to the current basic block.

Appends an OpGroupSMinNonUniformAMD instruction to the current basic block.

Appends an OpGroupFMaxNonUniformAMD instruction to the current basic block.

Appends an OpGroupUMaxNonUniformAMD instruction to the current basic block.

Appends an OpGroupSMaxNonUniformAMD instruction to the current basic block.

Appends an OpFragmentMaskFetchAMD instruction to the current basic block.

Appends an OpFragmentFetchAMD instruction to the current basic block.

Appends an OpSubgroupShuffleINTEL instruction to the current basic block.

Appends an OpSubgroupShuffleDownINTEL instruction to the current basic block.

Appends an OpSubgroupShuffleUpINTEL instruction to the current basic block.

Appends an OpSubgroupShuffleXorINTEL instruction to the current basic block.

Appends an OpSubgroupBlockReadINTEL instruction to the current basic block.

Appends an OpSubgroupBlockWriteINTEL instruction to the current basic block.

Appends an OpSubgroupImageBlockReadINTEL instruction to the current basic block.

Appends an OpSubgroupImageBlockWriteINTEL instruction to the current basic block.

Appends an OpGroupNonUniformPartitionNV instruction to the current basic block.

Trait Implementations

impl Default for Builder
[src]

Returns the "default value" for a type. Read more

Auto Trait Implementations

impl Send for Builder

impl Sync for Builder