mirror of
https://github.com/Dongyifengs/AssetStudio-Genshin-MoYi.git
synced 2025-04-22 12:39:18 +08:00
366 lines
15 KiB
C#
366 lines
15 KiB
C#
|
namespace Smolv
|
||
|
{
|
||
|
public struct OpData
|
||
|
{
|
||
|
public OpData(byte hasResult, byte hasType, sbyte deltaFromResult, byte varrest)
|
||
|
{
|
||
|
this.hasResult = hasResult;
|
||
|
this.hasType = hasType;
|
||
|
this.deltaFromResult = deltaFromResult;
|
||
|
this.varrest = varrest;
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// Does it have result ID?
|
||
|
/// </summary>
|
||
|
public byte hasResult;
|
||
|
/// <summary>
|
||
|
/// Does it have type ID?
|
||
|
/// </summary>
|
||
|
public byte hasType;
|
||
|
/// <summary>
|
||
|
/// How many words after (optional) type+result to write out as deltas from result?
|
||
|
/// </summary>
|
||
|
public sbyte deltaFromResult;
|
||
|
/// <summary>
|
||
|
/// Should the rest of words be written in varint encoding?
|
||
|
/// </summary>
|
||
|
public byte varrest;
|
||
|
|
||
|
public static readonly OpData[] SpirvOpData =
|
||
|
{
|
||
|
new OpData(0, 0, 0, 0), // Nop
|
||
|
new OpData(1, 1, 0, 0), // Undef
|
||
|
new OpData(0, 0, 0, 0), // SourceContinued
|
||
|
new OpData(0, 0, 0, 1), // Source
|
||
|
new OpData(0, 0, 0, 0), // SourceExtension
|
||
|
new OpData(0, 0, 0, 0), // Name
|
||
|
new OpData(0, 0, 0, 0), // MemberName
|
||
|
new OpData(0, 0, 0, 0), // String
|
||
|
new OpData(0, 0, 0, 1), // Line
|
||
|
new OpData(1, 1, 0, 0), // #9
|
||
|
new OpData(0, 0, 0, 0), // Extension
|
||
|
new OpData(1, 0, 0, 0), // ExtInstImport
|
||
|
new OpData(1, 1, 0, 1), // ExtInst
|
||
|
new OpData(1, 1, 2, 1), // VectorShuffleCompact - new in SMOLV
|
||
|
new OpData(0, 0, 0, 1), // MemoryModel
|
||
|
new OpData(0, 0, 0, 1), // EntryPoint
|
||
|
new OpData(0, 0, 0, 1), // ExecutionMode
|
||
|
new OpData(0, 0, 0, 1), // Capability
|
||
|
new OpData(1, 1, 0, 0), // #18
|
||
|
new OpData(1, 0, 0, 1), // TypeVoid
|
||
|
new OpData(1, 0, 0, 1), // TypeBool
|
||
|
new OpData(1, 0, 0, 1), // TypeInt
|
||
|
new OpData(1, 0, 0, 1), // TypeFloat
|
||
|
new OpData(1, 0, 0, 1), // TypeVector
|
||
|
new OpData(1, 0, 0, 1), // TypeMatrix
|
||
|
new OpData(1, 0, 0, 1), // TypeImage
|
||
|
new OpData(1, 0, 0, 1), // TypeSampler
|
||
|
new OpData(1, 0, 0, 1), // TypeSampledImage
|
||
|
new OpData(1, 0, 0, 1), // TypeArray
|
||
|
new OpData(1, 0, 0, 1), // TypeRuntimeArray
|
||
|
new OpData(1, 0, 0, 1), // TypeStruct
|
||
|
new OpData(1, 0, 0, 1), // TypeOpaque
|
||
|
new OpData(1, 0, 0, 1), // TypePointer
|
||
|
new OpData(1, 0, 0, 1), // TypeFunction
|
||
|
new OpData(1, 0, 0, 1), // TypeEvent
|
||
|
new OpData(1, 0, 0, 1), // TypeDeviceEvent
|
||
|
new OpData(1, 0, 0, 1), // TypeReserveId
|
||
|
new OpData(1, 0, 0, 1), // TypeQueue
|
||
|
new OpData(1, 0, 0, 1), // TypePipe
|
||
|
new OpData(0, 0, 0, 1), // TypeForwardPointer
|
||
|
new OpData(1, 1, 0, 0), // #40
|
||
|
new OpData(1, 1, 0, 0), // ConstantTrue
|
||
|
new OpData(1, 1, 0, 0), // ConstantFalse
|
||
|
new OpData(1, 1, 0, 0), // Constant
|
||
|
new OpData(1, 1, 9, 0), // ConstantComposite
|
||
|
new OpData(1, 1, 0, 1), // ConstantSampler
|
||
|
new OpData(1, 1, 0, 0), // ConstantNull
|
||
|
new OpData(1, 1, 0, 0), // #47
|
||
|
new OpData(1, 1, 0, 0), // SpecConstantTrue
|
||
|
new OpData(1, 1, 0, 0), // SpecConstantFalse
|
||
|
new OpData(1, 1, 0, 0), // SpecConstant
|
||
|
new OpData(1, 1, 9, 0), // SpecConstantComposite
|
||
|
new OpData(1, 1, 0, 0), // SpecConstantOp
|
||
|
new OpData(1, 1, 0, 0), // #53
|
||
|
new OpData(1, 1, 0, 1), // Function
|
||
|
new OpData(1, 1, 0, 0), // FunctionParameter
|
||
|
new OpData(0, 0, 0, 0), // FunctionEnd
|
||
|
new OpData(1, 1, 9, 0), // FunctionCall
|
||
|
new OpData(1, 1, 0, 0), // #58
|
||
|
new OpData(1, 1, 0, 1), // Variable
|
||
|
new OpData(1, 1, 0, 0), // ImageTexelPointer
|
||
|
new OpData(1, 1, 1, 1), // Load
|
||
|
new OpData(0, 0, 2, 1), // Store
|
||
|
new OpData(0, 0, 0, 0), // CopyMemory
|
||
|
new OpData(0, 0, 0, 0), // CopyMemorySized
|
||
|
new OpData(1, 1, 0, 1), // AccessChain
|
||
|
new OpData(1, 1, 0, 0), // InBoundsAccessChain
|
||
|
new OpData(1, 1, 0, 0), // PtrAccessChain
|
||
|
new OpData(1, 1, 0, 0), // ArrayLength
|
||
|
new OpData(1, 1, 0, 0), // GenericPtrMemSemantics
|
||
|
new OpData(1, 1, 0, 0), // InBoundsPtrAccessChain
|
||
|
new OpData(0, 0, 0, 1), // Decorate
|
||
|
new OpData(0, 0, 0, 1), // MemberDecorate
|
||
|
new OpData(1, 0, 0, 0), // DecorationGroup
|
||
|
new OpData(0, 0, 0, 0), // GroupDecorate
|
||
|
new OpData(0, 0, 0, 0), // GroupMemberDecorate
|
||
|
new OpData(1, 1, 0, 0), // #76
|
||
|
new OpData(1, 1, 1, 1), // VectorExtractDynamic
|
||
|
new OpData(1, 1, 2, 1), // VectorInsertDynamic
|
||
|
new OpData(1, 1, 2, 1), // VectorShuffle
|
||
|
new OpData(1, 1, 9, 0), // CompositeConstruct
|
||
|
new OpData(1, 1, 1, 1), // CompositeExtract
|
||
|
new OpData(1, 1, 2, 1), // CompositeInsert
|
||
|
new OpData(1, 1, 1, 0), // CopyObject
|
||
|
new OpData(1, 1, 0, 0), // Transpose
|
||
|
new OpData(1, 1, 0, 0), // #85
|
||
|
new OpData(1, 1, 0, 0), // SampledImage
|
||
|
new OpData(1, 1, 2, 1), // ImageSampleImplicitLod
|
||
|
new OpData(1, 1, 2, 1), // ImageSampleExplicitLod
|
||
|
new OpData(1, 1, 3, 1), // ImageSampleDrefImplicitLod
|
||
|
new OpData(1, 1, 3, 1), // ImageSampleDrefExplicitLod
|
||
|
new OpData(1, 1, 2, 1), // ImageSampleProjImplicitLod
|
||
|
new OpData(1, 1, 2, 1), // ImageSampleProjExplicitLod
|
||
|
new OpData(1, 1, 3, 1), // ImageSampleProjDrefImplicitLod
|
||
|
new OpData(1, 1, 3, 1), // ImageSampleProjDrefExplicitLod
|
||
|
new OpData(1, 1, 2, 1), // ImageFetch
|
||
|
new OpData(1, 1, 3, 1), // ImageGather
|
||
|
new OpData(1, 1, 3, 1), // ImageDrefGather
|
||
|
new OpData(1, 1, 2, 1), // ImageRead
|
||
|
new OpData(0, 0, 3, 1), // ImageWrite
|
||
|
new OpData(1, 1, 1, 0), // Image
|
||
|
new OpData(1, 1, 1, 0), // ImageQueryFormat
|
||
|
new OpData(1, 1, 1, 0), // ImageQueryOrder
|
||
|
new OpData(1, 1, 2, 0), // ImageQuerySizeLod
|
||
|
new OpData(1, 1, 1, 0), // ImageQuerySize
|
||
|
new OpData(1, 1, 2, 0), // ImageQueryLod
|
||
|
new OpData(1, 1, 1, 0), // ImageQueryLevels
|
||
|
new OpData(1, 1, 1, 0), // ImageQuerySamples
|
||
|
new OpData(1, 1, 0, 0), // #108
|
||
|
new OpData(1, 1, 1, 0), // ConvertFToU
|
||
|
new OpData(1, 1, 1, 0), // ConvertFToS
|
||
|
new OpData(1, 1, 1, 0), // ConvertSToF
|
||
|
new OpData(1, 1, 1, 0), // ConvertUToF
|
||
|
new OpData(1, 1, 1, 0), // UConvert
|
||
|
new OpData(1, 1, 1, 0), // SConvert
|
||
|
new OpData(1, 1, 1, 0), // FConvert
|
||
|
new OpData(1, 1, 1, 0), // QuantizeToF16
|
||
|
new OpData(1, 1, 1, 0), // ConvertPtrToU
|
||
|
new OpData(1, 1, 1, 0), // SatConvertSToU
|
||
|
new OpData(1, 1, 1, 0), // SatConvertUToS
|
||
|
new OpData(1, 1, 1, 0), // ConvertUToPtr
|
||
|
new OpData(1, 1, 1, 0), // PtrCastToGeneric
|
||
|
new OpData(1, 1, 1, 0), // GenericCastToPtr
|
||
|
new OpData(1, 1, 1, 1), // GenericCastToPtrExplicit
|
||
|
new OpData(1, 1, 1, 0), // Bitcast
|
||
|
new OpData(1, 1, 0, 0), // #125
|
||
|
new OpData(1, 1, 1, 0), // SNegate
|
||
|
new OpData(1, 1, 1, 0), // FNegate
|
||
|
new OpData(1, 1, 2, 0), // IAdd
|
||
|
new OpData(1, 1, 2, 0), // FAdd
|
||
|
new OpData(1, 1, 2, 0), // ISub
|
||
|
new OpData(1, 1, 2, 0), // FSub
|
||
|
new OpData(1, 1, 2, 0), // IMul
|
||
|
new OpData(1, 1, 2, 0), // FMul
|
||
|
new OpData(1, 1, 2, 0), // UDiv
|
||
|
new OpData(1, 1, 2, 0), // SDiv
|
||
|
new OpData(1, 1, 2, 0), // FDiv
|
||
|
new OpData(1, 1, 2, 0), // UMod
|
||
|
new OpData(1, 1, 2, 0), // SRem
|
||
|
new OpData(1, 1, 2, 0), // SMod
|
||
|
new OpData(1, 1, 2, 0), // FRem
|
||
|
new OpData(1, 1, 2, 0), // FMod
|
||
|
new OpData(1, 1, 2, 0), // VectorTimesScalar
|
||
|
new OpData(1, 1, 2, 0), // MatrixTimesScalar
|
||
|
new OpData(1, 1, 2, 0), // VectorTimesMatrix
|
||
|
new OpData(1, 1, 2, 0), // MatrixTimesVector
|
||
|
new OpData(1, 1, 2, 0), // MatrixTimesMatrix
|
||
|
new OpData(1, 1, 2, 0), // OuterProduct
|
||
|
new OpData(1, 1, 2, 0), // Dot
|
||
|
new OpData(1, 1, 2, 0), // IAddCarry
|
||
|
new OpData(1, 1, 2, 0), // ISubBorrow
|
||
|
new OpData(1, 1, 2, 0), // UMulExtended
|
||
|
new OpData(1, 1, 2, 0), // SMulExtended
|
||
|
new OpData(1, 1, 0, 0), // #153
|
||
|
new OpData(1, 1, 1, 0), // Any
|
||
|
new OpData(1, 1, 1, 0), // All
|
||
|
new OpData(1, 1, 1, 0), // IsNan
|
||
|
new OpData(1, 1, 1, 0), // IsInf
|
||
|
new OpData(1, 1, 1, 0), // IsFinite
|
||
|
new OpData(1, 1, 1, 0), // IsNormal
|
||
|
new OpData(1, 1, 1, 0), // SignBitSet
|
||
|
new OpData(1, 1, 2, 0), // LessOrGreater
|
||
|
new OpData(1, 1, 2, 0), // Ordered
|
||
|
new OpData(1, 1, 2, 0), // Unordered
|
||
|
new OpData(1, 1, 2, 0), // LogicalEqual
|
||
|
new OpData(1, 1, 2, 0), // LogicalNotEqual
|
||
|
new OpData(1, 1, 2, 0), // LogicalOr
|
||
|
new OpData(1, 1, 2, 0), // LogicalAnd
|
||
|
new OpData(1, 1, 1, 0), // LogicalNot
|
||
|
new OpData(1, 1, 3, 0), // Select
|
||
|
new OpData(1, 1, 2, 0), // IEqual
|
||
|
new OpData(1, 1, 2, 0), // INotEqual
|
||
|
new OpData(1, 1, 2, 0), // UGreaterThan
|
||
|
new OpData(1, 1, 2, 0), // SGreaterThan
|
||
|
new OpData(1, 1, 2, 0), // UGreaterThanEqual
|
||
|
new OpData(1, 1, 2, 0), // SGreaterThanEqual
|
||
|
new OpData(1, 1, 2, 0), // ULessThan
|
||
|
new OpData(1, 1, 2, 0), // SLessThan
|
||
|
new OpData(1, 1, 2, 0), // ULessThanEqual
|
||
|
new OpData(1, 1, 2, 0), // SLessThanEqual
|
||
|
new OpData(1, 1, 2, 0), // FOrdEqual
|
||
|
new OpData(1, 1, 2, 0), // FUnordEqual
|
||
|
new OpData(1, 1, 2, 0), // FOrdNotEqual
|
||
|
new OpData(1, 1, 2, 0), // FUnordNotEqual
|
||
|
new OpData(1, 1, 2, 0), // FOrdLessThan
|
||
|
new OpData(1, 1, 2, 0), // FUnordLessThan
|
||
|
new OpData(1, 1, 2, 0), // FOrdGreaterThan
|
||
|
new OpData(1, 1, 2, 0), // FUnordGreaterThan
|
||
|
new OpData(1, 1, 2, 0), // FOrdLessThanEqual
|
||
|
new OpData(1, 1, 2, 0), // FUnordLessThanEqual
|
||
|
new OpData(1, 1, 2, 0), // FOrdGreaterThanEqual
|
||
|
new OpData(1, 1, 2, 0), // FUnordGreaterThanEqual
|
||
|
new OpData(1, 1, 0, 0), // #192
|
||
|
new OpData(1, 1, 0, 0), // #193
|
||
|
new OpData(1, 1, 2, 0), // ShiftRightLogical
|
||
|
new OpData(1, 1, 2, 0), // ShiftRightArithmetic
|
||
|
new OpData(1, 1, 2, 0), // ShiftLeftLogical
|
||
|
new OpData(1, 1, 2, 0), // BitwiseOr
|
||
|
new OpData(1, 1, 2, 0), // BitwiseXor
|
||
|
new OpData(1, 1, 2, 0), // BitwiseAnd
|
||
|
new OpData(1, 1, 1, 0), // Not
|
||
|
new OpData(1, 1, 4, 0), // BitFieldInsert
|
||
|
new OpData(1, 1, 3, 0), // BitFieldSExtract
|
||
|
new OpData(1, 1, 3, 0), // BitFieldUExtract
|
||
|
new OpData(1, 1, 1, 0), // BitReverse
|
||
|
new OpData(1, 1, 1, 0), // BitCount
|
||
|
new OpData(1, 1, 0, 0), // #206
|
||
|
new OpData(1, 1, 0, 0), // DPdx
|
||
|
new OpData(1, 1, 0, 0), // DPdy
|
||
|
new OpData(1, 1, 0, 0), // Fwidth
|
||
|
new OpData(1, 1, 0, 0), // DPdxFine
|
||
|
new OpData(1, 1, 0, 0), // DPdyFine
|
||
|
new OpData(1, 1, 0, 0), // FwidthFine
|
||
|
new OpData(1, 1, 0, 0), // DPdxCoarse
|
||
|
new OpData(1, 1, 0, 0), // DPdyCoarse
|
||
|
new OpData(1, 1, 0, 0), // FwidthCoarse
|
||
|
new OpData(1, 1, 0, 0), // #216
|
||
|
new OpData(1, 1, 0, 0), // #217
|
||
|
new OpData(0, 0, 0, 0), // EmitVertex
|
||
|
new OpData(0, 0, 0, 0), // EndPrimitive
|
||
|
new OpData(0, 0, 0, 0), // EmitStreamVertex
|
||
|
new OpData(0, 0, 0, 0), // EndStreamPrimitive
|
||
|
new OpData(1, 1, 0, 0), // #222
|
||
|
new OpData(1, 1, 0, 0), // #223
|
||
|
new OpData(0, 0, -3, 0), // ControlBarrier
|
||
|
new OpData(0, 0, -2, 0), // MemoryBarrier
|
||
|
new OpData(1, 1, 0, 0), // #226
|
||
|
new OpData(1, 1, 0, 0), // AtomicLoad
|
||
|
new OpData(0, 0, 0, 0), // AtomicStore
|
||
|
new OpData(1, 1, 0, 0), // AtomicExchange
|
||
|
new OpData(1, 1, 0, 0), // AtomicCompareExchange
|
||
|
new OpData(1, 1, 0, 0), // AtomicCompareExchangeWeak
|
||
|
new OpData(1, 1, 0, 0), // AtomicIIncrement
|
||
|
new OpData(1, 1, 0, 0), // AtomicIDecrement
|
||
|
new OpData(1, 1, 0, 0), // AtomicIAdd
|
||
|
new OpData(1, 1, 0, 0), // AtomicISub
|
||
|
new OpData(1, 1, 0, 0), // AtomicSMin
|
||
|
new OpData(1, 1, 0, 0), // AtomicUMin
|
||
|
new OpData(1, 1, 0, 0), // AtomicSMax
|
||
|
new OpData(1, 1, 0, 0), // AtomicUMax
|
||
|
new OpData(1, 1, 0, 0), // AtomicAnd
|
||
|
new OpData(1, 1, 0, 0), // AtomicOr
|
||
|
new OpData(1, 1, 0, 0), // AtomicXor
|
||
|
new OpData(1, 1, 0, 0), // #243
|
||
|
new OpData(1, 1, 0, 0), // #244
|
||
|
new OpData(1, 1, 0, 0), // Phi
|
||
|
new OpData(0, 0, -2, 1), // LoopMerge
|
||
|
new OpData(0, 0, -1, 1), // SelectionMerge
|
||
|
new OpData(1, 0, 0, 0), // Label
|
||
|
new OpData(0, 0, -1, 0), // Branch
|
||
|
new OpData(0, 0, -3, 1), // BranchConditional
|
||
|
new OpData(0, 0, 0, 0), // Switch
|
||
|
new OpData(0, 0, 0, 0), // Kill
|
||
|
new OpData(0, 0, 0, 0), // Return
|
||
|
new OpData(0, 0, 0, 0), // ReturnValue
|
||
|
new OpData(0, 0, 0, 0), // Unreachable
|
||
|
new OpData(0, 0, 0, 0), // LifetimeStart
|
||
|
new OpData(0, 0, 0, 0), // LifetimeStop
|
||
|
new OpData(1, 1, 0, 0), // #258
|
||
|
new OpData(1, 1, 0, 0), // GroupAsyncCopy
|
||
|
new OpData(0, 0, 0, 0), // GroupWaitEvents
|
||
|
new OpData(1, 1, 0, 0), // GroupAll
|
||
|
new OpData(1, 1, 0, 0), // GroupAny
|
||
|
new OpData(1, 1, 0, 0), // GroupBroadcast
|
||
|
new OpData(1, 1, 0, 0), // GroupIAdd
|
||
|
new OpData(1, 1, 0, 0), // GroupFAdd
|
||
|
new OpData(1, 1, 0, 0), // GroupFMin
|
||
|
new OpData(1, 1, 0, 0), // GroupUMin
|
||
|
new OpData(1, 1, 0, 0), // GroupSMin
|
||
|
new OpData(1, 1, 0, 0), // GroupFMax
|
||
|
new OpData(1, 1, 0, 0), // GroupUMax
|
||
|
new OpData(1, 1, 0, 0), // GroupSMax
|
||
|
new OpData(1, 1, 0, 0), // #272
|
||
|
new OpData(1, 1, 0, 0), // #273
|
||
|
new OpData(1, 1, 0, 0), // ReadPipe
|
||
|
new OpData(1, 1, 0, 0), // WritePipe
|
||
|
new OpData(1, 1, 0, 0), // ReservedReadPipe
|
||
|
new OpData(1, 1, 0, 0), // ReservedWritePipe
|
||
|
new OpData(1, 1, 0, 0), // ReserveReadPipePackets
|
||
|
new OpData(1, 1, 0, 0), // ReserveWritePipePackets
|
||
|
new OpData(0, 0, 0, 0), // CommitReadPipe
|
||
|
new OpData(0, 0, 0, 0), // CommitWritePipe
|
||
|
new OpData(1, 1, 0, 0), // IsValidReserveId
|
||
|
new OpData(1, 1, 0, 0), // GetNumPipePackets
|
||
|
new OpData(1, 1, 0, 0), // GetMaxPipePackets
|
||
|
new OpData(1, 1, 0, 0), // GroupReserveReadPipePackets
|
||
|
new OpData(1, 1, 0, 0), // GroupReserveWritePipePackets
|
||
|
new OpData(0, 0, 0, 0), // GroupCommitReadPipe
|
||
|
new OpData(0, 0, 0, 0), // GroupCommitWritePipe
|
||
|
new OpData(1, 1, 0, 0), // #289
|
||
|
new OpData(1, 1, 0, 0), // #290
|
||
|
new OpData(1, 1, 0, 0), // EnqueueMarker
|
||
|
new OpData(1, 1, 0, 0), // EnqueueKernel
|
||
|
new OpData(1, 1, 0, 0), // GetKernelNDrangeSubGroupCount
|
||
|
new OpData(1, 1, 0, 0), // GetKernelNDrangeMaxSubGroupSize
|
||
|
new OpData(1, 1, 0, 0), // GetKernelWorkGroupSize
|
||
|
new OpData(1, 1, 0, 0), // GetKernelPreferredWorkGroupSizeMultiple
|
||
|
new OpData(0, 0, 0, 0), // RetainEvent
|
||
|
new OpData(0, 0, 0, 0), // ReleaseEvent
|
||
|
new OpData(1, 1, 0, 0), // CreateUserEvent
|
||
|
new OpData(1, 1, 0, 0), // IsValidEvent
|
||
|
new OpData(0, 0, 0, 0), // SetUserEventStatus
|
||
|
new OpData(0, 0, 0, 0), // CaptureEventProfilingInfo
|
||
|
new OpData(1, 1, 0, 0), // GetDefaultQueue
|
||
|
new OpData(1, 1, 0, 0), // BuildNDRange
|
||
|
new OpData(1, 1, 2, 1), // ImageSparseSampleImplicitLod
|
||
|
new OpData(1, 1, 2, 1), // ImageSparseSampleExplicitLod
|
||
|
new OpData(1, 1, 3, 1), // ImageSparseSampleDrefImplicitLod
|
||
|
new OpData(1, 1, 3, 1), // ImageSparseSampleDrefExplicitLod
|
||
|
new OpData(1, 1, 2, 1), // ImageSparseSampleProjImplicitLod
|
||
|
new OpData(1, 1, 2, 1), // ImageSparseSampleProjExplicitLod
|
||
|
new OpData(1, 1, 3, 1), // ImageSparseSampleProjDrefImplicitLod
|
||
|
new OpData(1, 1, 3, 1), // ImageSparseSampleProjDrefExplicitLod
|
||
|
new OpData(1, 1, 2, 1), // ImageSparseFetch
|
||
|
new OpData(1, 1, 3, 1), // ImageSparseGather
|
||
|
new OpData(1, 1, 3, 1), // ImageSparseDrefGather
|
||
|
new OpData(1, 1, 1, 0), // ImageSparseTexelsResident
|
||
|
new OpData(0, 0, 0, 0), // NoLine
|
||
|
new OpData(1, 1, 0, 0), // AtomicFlagTestAndSet
|
||
|
new OpData(0, 0, 0, 0), // AtomicFlagClear
|
||
|
new OpData(1, 1, 0, 0), // ImageSparseRead
|
||
|
new OpData(1, 1, 0, 0), // SizeOf
|
||
|
new OpData(1, 1, 0, 0), // TypePipeStorage
|
||
|
new OpData(1, 1, 0, 0), // ConstantPipeStorage
|
||
|
new OpData(1, 1, 0, 0), // CreatePipeFromPipeStorage
|
||
|
new OpData(1, 1, 0, 0), // GetKernelLocalSizeForSubgroupCount
|
||
|
new OpData(1, 1, 0, 0), // GetKernelMaxNumSubgroups
|
||
|
new OpData(1, 1, 0, 0), // TypeNamedBarrier
|
||
|
new OpData(1, 1, 0, 1), // NamedBarrierInitialize
|
||
|
new OpData(0, 0, -2, 1), // MemoryNamedBarrier
|
||
|
new OpData(1, 1, 0, 0), // ModuleProcessed
|
||
|
};
|
||
|
};
|
||
|
}
|