mirror of
https://github.com/aelurum/AssetStudio.git
synced 2025-07-14 02:54:16 -04:00
implemented SPIR-V shader export
This commit is contained in:
365
AssetStudioUtility/Smolv/OpData.cs
Normal file
365
AssetStudioUtility/Smolv/OpData.cs
Normal file
@ -0,0 +1,365 @@
|
||||
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
|
||||
};
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user