Enum spirv_utils::instruction::Instruction [] [src]

pub enum Instruction {
    Nop,
    Undef(TypeIdResultId),
    SourceContinued(String),
    Source(SrcLangu32ValueIdOption<String>),
    SourceExtension(String),
    Name(IdString),
    MemberName(TypeIdu32String),
    String(ResultIdString),
    Line(ValueIdu32u32),
    Extension(String),
    ExtInstImport(ResultIdString),
    ExtInst(TypeIdResultIdValueIdu32Box<[Id]>),
    MemoryModel(AddressingModelMemoryModel),
    EntryPoint(ExecutionModelValueIdStringBox<[ValueId]>),
    ExecutionMode(ValueIdExecutionMode),
    Capability(Capability),
    TypeVoid(ResultId),
    TypeBool(ResultId),
    TypeInt(ResultIdu32bool),
    TypeFloat(ResultIdu32),
    TypeVector(ResultIdTypeIdu32),
    TypeMatrix(ResultIdTypeIdu32),
    TypeImage(ResultIdTypeIdDimu32boolboolu32ImageFormatOption<AccessQualifier>),
    TypeSampler(ResultId),
    TypeSampledImage(ResultIdTypeId),
    TypeArray(ResultIdTypeIdValueId),
    TypeRuntimeArray(ResultIdTypeId),
    TypeStruct(ResultIdBox<[TypeId]>),
    TypeOpaque(ResultIdString),
    TypePointer(ResultIdStorageClassTypeId),
    TypeFunction(ResultIdTypeIdBox<[TypeId]>),
    TypeEvent(ResultId),
    TypeDeviceEvent(ResultId),
    TypeReserveId(ResultId),
    TypeQueue(ResultId),
    TypePipe(ResultId),
    TypeForwardPointer(ResultIdStorageClass),
    ConstantTrue(TypeIdResultId),
    ConstantFalse(TypeIdResultId),
    Constant(TypeIdResultIdBox<[u32]>),
    ConstantComposite(TypeIdResultIdBox<[ValueId]>),
    ConstantSampler(TypeIdResultIdSamplerAddressingModeboolSamplerFilterMode),
    ConstantNull(TypeIdResultId),
    SpecConstantTrue(TypeIdResultId),
    SpecConstantFalse(TypeIdResultId),
    SpecConstant(TypeIdResultIdBox<[u32]>),
    SpecConstantComposite(TypeIdResultIdBox<[ValueId]>),
    SpecConstantOp(TypeIdResultIdu32Box<[ValueId]>),
    Function(TypeIdResultIdFunctionControlTypeId),
    FunctionParameter(TypeIdResultId),
    FunctionEnd,
    FunctionCall(TypeIdResultIdValueIdBox<[ValueId]>),
    Variable(TypeIdResultIdStorageClassValueId),
    ImageTexelPointer(TypeIdResultIdValueIdValueIdValueId),
    Load(TypeIdResultIdValueIdMemoryAccess),
    Store(ValueIdValueIdMemoryAccess),
    CopyMemory(ValueIdValueIdMemoryAccess),
    CopyMemorySized(ValueIdValueIdValueIdMemoryAccess),
    AccessChain(TypeIdResultIdValueIdBox<[ValueId]>),
    InBoundsAccessChain(TypeIdResultIdValueIdBox<[ValueId]>),
    PtrAccessChain(TypeIdResultIdValueIdValueIdBox<[ValueId]>),
    ArrayLength(TypeIdResultIdValueIdu32),
    GenericPtrMemSemantics(TypeIdResultIdValueId),
    InBoundsPtrAccessChain(TypeIdResultIdValueIdValueIdBox<[ValueId]>),
    Decorate(IdDecoration),
    MemberDecorate(TypeIdu32Decoration),
    DecorationGroup(ResultId),
    GroupDecorate(ValueIdBox<[Id]>),
    GroupMemberDecorate(ValueIdBox<[(TypeId, u32)]>),
    VectorExtractDynamic(TypeIdResultIdValueIdValueId),
    VectorInsertDynamic(TypeIdResultIdValueIdValueIdValueId),
    VectorShuffle(TypeIdResultIdValueIdValueIdBox<[u32]>),
    CompositeConstruct(TypeIdResultIdBox<[ValueId]>),
    CompositeExtract(TypeIdResultIdValueIdBox<[u32]>),
    CompositeInsert(TypeIdResultIdValueIdValueIdBox<[u32]>),
    CopyObject(TypeIdResultIdValueId),
    Transpose(TypeIdResultIdValueId),
    SampledImage,
    ImageSampleImplicitLod,
    ImageSampleExplicitLod,
    ImageSampleDrefImplicitLod,
    ImageSampleDrefExplicitLod,
    ImageSampleProjImplicitLod,
    ImageSampleProjExplicitLod,
    ImageSampleProjDrefImplicitLod,
    ImageSampleProjDrefExplicitLod,
    ImageFetch,
    ImageGather,
    ImageDrefGather,
    ImageRead,
    ImageWrite,
    Image,
    ImageQueryFormat,
    ImageQueryOrder,
    ImageQuerySizeLod,
    ImageQuerySize,
    ImageQueryLod,
    ImageQueryLevels,
    ImageQuerySamples,
    ConvertFToU,
    ConvertFToS,
    ConvertSToF,
    ConvertUToF,
    UConvert,
    SConvert,
    FConvert,
    QuantizeToF16,
    ConvertPtrToU,
    SatConvertSToU,
    SatConvertUToS,
    ConvertUToPtr,
    PtrCastToGeneric,
    GenericCastToPtr,
    GenericCastToPtrExplicit,
    Bitcast,
    SNegate,
    FNegate,
    IAdd,
    FAdd,
    ISub,
    FSub,
    IMul,
    FMul,
    UDiv,
    SDiv,
    FDiv,
    UMod,
    SRem,
    SMod,
    FRem,
    FMod,
    VectorTimesScalar,
    MatrixTimesScalar,
    VectorTimesMatrix,
    MatrixTimesVector,
    MatrixTimesMatrix,
    OuterProduct,
    Dot,
    IAddCarry,
    ISubBorrow,
    UMulExtended,
    SMulExtended,
    Any,
    All,
    IsNan,
    IsInf,
    IsFinite,
    IsNormal,
    SignBitSet,
    LessOrGreater,
    Ordered,
    Unordered,
    LogicalEqual,
    LogicalNotEqual,
    LogicalOr,
    LogicalAnd,
    LogicalNot,
    Select,
    IEqual,
    INotEqual,
    UGreaterThan,
    SGreaterThan,
    UGreaterThanEqual,
    SGreaterThanEqual,
    ULessThan,
    SLessThan,
    ULessThanEqual,
    SLessThanEqual,
    FOrdEqual,
    FUnordEqual,
    FOrdNotEqual,
    FUnordNotEqual,
    FOrdLessThan,
    FUnordLessThan,
    FOrdGreaterThan,
    FUnordGreaterThan,
    FOrdLessThanEqual,
    FUnordLessThanEqual,
    FOrdGreaterThanEqual,
    FUnordGreaterThanEqual,
    ShiftRightLogical,
    ShiftRightArithmetic,
    ShiftLeftLogical,
    BitwiseOr,
    BitwiseXor,
    BitwiseAnd,
    Not,
    BitFieldInsert,
    BitFieldSExtract,
    BitFieldUExtract,
    BitReverse,
    BitCount,
    DPdx,
    DPdy,
    Fwidth,
    DPdxFine,
    DPdyFine,
    FwidthFine,
    DPdxCoarse,
    DPdyCoarse,
    FwidthCoarse,
    EmitVertex,
    EndPrimitive,
    EmitStreamVertex,
    EndStreamPrimitive,
    ControlBarrier,
    MemoryBarrier,
    AtomicLoad,
    AtomicStore,
    AtomicExchange,
    AtomicCompareExchange,
    AtomicCompareExchangeWeak,
    AtomicIIncrement,
    AtomicIDecrement,
    AtomicIAdd,
    AtomicISub,
    AtomicSMin,
    AtomicUMin,
    AtomicSMax,
    AtomicUMax,
    AtomicAnd,
    AtomicOr,
    AtomicXor,
    Phi,
    LoopMerge,
    SelectionMerge,
    Label,
    Branch,
    BranchConditional,
    Switch,
    Kill,
    Return,
    ReturnValue,
    Unreachable,
    LifetimeStart,
    LifetimeStop,
    GroupAsyncCopy,
    GroupWaitEvents,
    GroupAll,
    GroupAny,
    GroupBroadcast,
    GroupIAdd,
    GroupFAdd,
    GroupFMin,
    GroupUMin,
    GroupSMin,
    GroupFMax,
    GroupUMax,
    GroupSMax,
    ReadPipe,
    WritePipe,
    ReservedReadPipe,
    ReservedWritePipe,
    ReserveReadPipePackets,
    ReserveWritePipePackets,
    CommitReadPipe,
    CommitWritePipe,
    IsValidReserveId,
    GetNumPipePackets,
    GetMaxPipePackets,
    GroupReserveReadPipePackets,
    GroupReserveWritePipePackets,
    GroupCommitReadPipe,
    GroupCommitWritePipe,
    EnqueueMarker,
    EnqueueKernel,
    GetKernelNDrangeSubGroupCount,
    GetKernelNDrangeMaxSubGroupSize,
    GetKernelWorkGroupSize,
    GetKernelPreferredWorkGroupSizeMultiple,
    RetainEvent,
    ReleaseEvent,
    CreateUserEvent,
    IsValidEvent,
    SetUserEventStatus,
    CaptureEventProfilingInfo,
    GetDefaultQueue,
    BuildNDRange,
    ImageSparseSampleImplicitLod,
    ImageSparseSampleExplicitLod,
    ImageSparseSampleDrefImplicitLod,
    ImageSparseSampleDrefExplicitLod,
    ImageSparseSampleProjImplicitLod,
    ImageSparseSampleProjExplicitLod,
    ImageSparseSampleProjDrefImplicitLod,
    ImageSparseSampleProjDrefExplicitLod,
    ImageSparseFetch,
    ImageSparseGather,
    ImageSparseDrefGather,
    ImageSparseTexelsResident,
    NoLine,
    AtomicFlagTestAndSet,
    AtomicFlagClear,
    ImageSparseRead,
    Unknown(u16Box<[u32]>),
}

Variants

NopUndef(TypeIdResultId)SourceContinued(String)Source(SrcLangu32ValueIdOption<String>)SourceExtension(String)Name(IdString)MemberName(TypeIdu32String)String(ResultIdString)Line(ValueIdu32u32)Extension(String)ExtInstImport(ResultIdString)ExtInst(TypeIdResultIdValueIdu32Box<[Id]>)MemoryModel(AddressingModelMemoryModel)EntryPoint(ExecutionModelValueIdStringBox<[ValueId]>)ExecutionMode(ValueIdExecutionMode)Capability(Capability)TypeVoid(ResultId)TypeBool(ResultId)TypeInt(ResultIdu32bool)TypeFloat(ResultIdu32)TypeVector(ResultIdTypeIdu32)TypeMatrix(ResultIdTypeIdu32)TypeImage(ResultIdTypeIdDimu32boolboolu32ImageFormatOption<AccessQualifier>)TypeSampler(ResultId)TypeSampledImage(ResultIdTypeId)TypeArray(ResultIdTypeIdValueId)TypeRuntimeArray(ResultIdTypeId)TypeStruct(ResultIdBox<[TypeId]>)TypeOpaque(ResultIdString)TypePointer(ResultIdStorageClassTypeId)TypeFunction(ResultIdTypeIdBox<[TypeId]>)TypeEvent(ResultId)TypeDeviceEvent(ResultId)TypeReserveId(ResultId)TypeQueue(ResultId)TypePipe(ResultId)TypeForwardPointer(ResultIdStorageClass)ConstantTrue(TypeIdResultId)ConstantFalse(TypeIdResultId)Constant(TypeIdResultIdBox<[u32]>)ConstantComposite(TypeIdResultIdBox<[ValueId]>)ConstantSampler(TypeIdResultIdSamplerAddressingModeboolSamplerFilterMode)ConstantNull(TypeIdResultId)SpecConstantTrue(TypeIdResultId)SpecConstantFalse(TypeIdResultId)SpecConstant(TypeIdResultIdBox<[u32]>)SpecConstantComposite(TypeIdResultIdBox<[ValueId]>)SpecConstantOp(TypeIdResultIdu32Box<[ValueId]>)Function(TypeIdResultIdFunctionControlTypeId)FunctionParameter(TypeIdResultId)FunctionEndFunctionCall(TypeIdResultIdValueIdBox<[ValueId]>)Variable(TypeIdResultIdStorageClassValueId)ImageTexelPointer(TypeIdResultIdValueIdValueIdValueId)Load(TypeIdResultIdValueIdMemoryAccess)Store(ValueIdValueIdMemoryAccess)CopyMemory(ValueIdValueIdMemoryAccess)CopyMemorySized(ValueIdValueIdValueIdMemoryAccess)AccessChain(TypeIdResultIdValueIdBox<[ValueId]>)InBoundsAccessChain(TypeIdResultIdValueIdBox<[ValueId]>)PtrAccessChain(TypeIdResultIdValueIdValueIdBox<[ValueId]>)ArrayLength(TypeIdResultIdValueIdu32)GenericPtrMemSemantics(TypeIdResultIdValueId)InBoundsPtrAccessChain(TypeIdResultIdValueIdValueIdBox<[ValueId]>)Decorate(IdDecoration)MemberDecorate(TypeIdu32Decoration)DecorationGroup(ResultId)GroupDecorate(ValueIdBox<[Id]>)GroupMemberDecorate(ValueIdBox<[(TypeId, u32)]>)VectorExtractDynamic(TypeIdResultIdValueIdValueId)VectorInsertDynamic(TypeIdResultIdValueIdValueIdValueId)VectorShuffle(TypeIdResultIdValueIdValueIdBox<[u32]>)CompositeConstruct(TypeIdResultIdBox<[ValueId]>)CompositeExtract(TypeIdResultIdValueIdBox<[u32]>)CompositeInsert(TypeIdResultIdValueIdValueIdBox<[u32]>)CopyObject(TypeIdResultIdValueId)Transpose(TypeIdResultIdValueId)SampledImageImageSampleImplicitLodImageSampleExplicitLodImageSampleDrefImplicitLodImageSampleDrefExplicitLodImageSampleProjImplicitLodImageSampleProjExplicitLodImageSampleProjDrefImplicitLodImageSampleProjDrefExplicitLodImageFetchImageGatherImageDrefGatherImageReadImageWriteImageImageQueryFormatImageQueryOrderImageQuerySizeLodImageQuerySizeImageQueryLodImageQueryLevelsImageQuerySamplesConvertFToUConvertFToSConvertSToFConvertUToFUConvertSConvertFConvertQuantizeToF16ConvertPtrToUSatConvertSToUSatConvertUToSConvertUToPtrPtrCastToGenericGenericCastToPtrGenericCastToPtrExplicitBitcastSNegateFNegateIAddFAddISubFSubIMulFMulUDivSDivFDivUModSRemSModFRemFModVectorTimesScalarMatrixTimesScalarVectorTimesMatrixMatrixTimesVectorMatrixTimesMatrixOuterProductDotIAddCarryISubBorrowUMulExtendedSMulExtendedAnyAllIsNanIsInfIsFiniteIsNormalSignBitSetLessOrGreaterOrderedUnorderedLogicalEqualLogicalNotEqualLogicalOrLogicalAndLogicalNotSelectIEqualINotEqualUGreaterThanSGreaterThanUGreaterThanEqualSGreaterThanEqualULessThanSLessThanULessThanEqualSLessThanEqualFOrdEqualFUnordEqualFOrdNotEqualFUnordNotEqualFOrdLessThanFUnordLessThanFOrdGreaterThanFUnordGreaterThanFOrdLessThanEqualFUnordLessThanEqualFOrdGreaterThanEqualFUnordGreaterThanEqualShiftRightLogicalShiftRightArithmeticShiftLeftLogicalBitwiseOrBitwiseXorBitwiseAndNotBitFieldInsertBitFieldSExtractBitFieldUExtractBitReverseBitCountDPdxDPdyFwidthDPdxFineDPdyFineFwidthFineDPdxCoarseDPdyCoarseFwidthCoarseEmitVertexEndPrimitiveEmitStreamVertexEndStreamPrimitiveControlBarrierMemoryBarrierAtomicLoadAtomicStoreAtomicExchangeAtomicCompareExchangeAtomicCompareExchangeWeakAtomicIIncrementAtomicIDecrementAtomicIAddAtomicISubAtomicSMinAtomicUMinAtomicSMaxAtomicUMaxAtomicAndAtomicOrAtomicXorPhiLoopMergeSelectionMergeLabelBranchBranchConditionalSwitchKillReturnReturnValueUnreachableLifetimeStartLifetimeStopGroupAsyncCopyGroupWaitEventsGroupAllGroupAnyGroupBroadcastGroupIAddGroupFAddGroupFMinGroupUMinGroupSMinGroupFMaxGroupUMaxGroupSMaxReadPipeWritePipeReservedReadPipeReservedWritePipeReserveReadPipePacketsReserveWritePipePacketsCommitReadPipeCommitWritePipeIsValidReserveIdGetNumPipePacketsGetMaxPipePacketsGroupReserveReadPipePacketsGroupReserveWritePipePacketsGroupCommitReadPipeGroupCommitWritePipeEnqueueMarkerEnqueueKernelGetKernelNDrangeSubGroupCountGetKernelNDrangeMaxSubGroupSizeGetKernelWorkGroupSizeGetKernelPreferredWorkGroupSizeMultipleRetainEventReleaseEventCreateUserEventIsValidEventSetUserEventStatusCaptureEventProfilingInfoGetDefaultQueueBuildNDRangeImageSparseSampleImplicitLodImageSparseSampleExplicitLodImageSparseSampleDrefImplicitLodImageSparseSampleDrefExplicitLodImageSparseSampleProjImplicitLodImageSparseSampleProjExplicitLodImageSparseSampleProjDrefImplicitLodImageSparseSampleProjDrefExplicitLodImageSparseFetchImageSparseGatherImageSparseDrefGatherImageSparseTexelsResidentNoLineAtomicFlagTestAndSetAtomicFlagClearImageSparseReadUnknown(u16Box<[u32]>)

Trait Implementations

impl Debug for Instruction
[src]

fn fmt(&self, __arg_0: &mut Formatter) -> Result

Formats the value using the given formatter.

impl Clone for Instruction
[src]

fn clone(&self) -> Instruction

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)
1.0.0

Performs copy-assignment from source. Read more