mirror of
https://github.com/doitsujin/dxvk.git
synced 2024-11-29 01:24:11 +01:00
[meta] Update SPIR-V headers
This commit is contained in:
parent
5c7f8d8e30
commit
e076b75579
@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2014-2018 The Khronos Group Inc.
|
||||
// Copyright (c) 2014-2019 The Khronos Group Inc.
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and/or associated documentation files (the "Materials"),
|
||||
@ -26,13 +26,16 @@
|
||||
// the Binary Section of the SPIR-V specification.
|
||||
|
||||
// Enumeration tokens for SPIR-V, in various styles:
|
||||
// C, C++, C++11, JSON, Lua, Python
|
||||
// C, C++, C++11, JSON, Lua, Python, C#, D
|
||||
//
|
||||
// - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
|
||||
// - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
|
||||
// - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
|
||||
// - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
|
||||
// - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
|
||||
// - C# will use enum classes in the Specification class located in the "Spv" namespace,
|
||||
// e.g.: Spv.Specification.SourceLanguage.GLSL
|
||||
// - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL
|
||||
//
|
||||
// Some tokens act like mask values, which can be OR'd together,
|
||||
// while others are mutually exclusive. The mask-like ones have
|
||||
@ -46,11 +49,11 @@ namespace spv {
|
||||
|
||||
typedef unsigned int Id;
|
||||
|
||||
#define SPV_VERSION 0x10300
|
||||
#define SPV_VERSION 0x10400
|
||||
#define SPV_REVISION 1
|
||||
|
||||
static const unsigned int MagicNumber = 0x07230203;
|
||||
static const unsigned int Version = 0x00010300;
|
||||
static const unsigned int Version = 0x00010400;
|
||||
static const unsigned int Revision = 1;
|
||||
static const unsigned int OpCodeMask = 0xffff;
|
||||
static const unsigned int WordCountShift = 16;
|
||||
@ -73,6 +76,14 @@ enum ExecutionModel {
|
||||
ExecutionModelFragment = 4,
|
||||
ExecutionModelGLCompute = 5,
|
||||
ExecutionModelKernel = 6,
|
||||
ExecutionModelTaskNV = 5267,
|
||||
ExecutionModelMeshNV = 5268,
|
||||
ExecutionModelRayGenerationNV = 5313,
|
||||
ExecutionModelIntersectionNV = 5314,
|
||||
ExecutionModelAnyHitNV = 5315,
|
||||
ExecutionModelClosestHitNV = 5316,
|
||||
ExecutionModelMissNV = 5317,
|
||||
ExecutionModelCallableNV = 5318,
|
||||
ExecutionModelMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -80,6 +91,7 @@ enum AddressingModel {
|
||||
AddressingModelLogical = 0,
|
||||
AddressingModelPhysical32 = 1,
|
||||
AddressingModelPhysical64 = 2,
|
||||
AddressingModelPhysicalStorageBuffer64EXT = 5348,
|
||||
AddressingModelMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -131,7 +143,23 @@ enum ExecutionMode {
|
||||
ExecutionModeLocalSizeId = 38,
|
||||
ExecutionModeLocalSizeHintId = 39,
|
||||
ExecutionModePostDepthCoverage = 4446,
|
||||
ExecutionModeDenormPreserve = 4459,
|
||||
ExecutionModeDenormFlushToZero = 4460,
|
||||
ExecutionModeSignedZeroInfNanPreserve = 4461,
|
||||
ExecutionModeRoundingModeRTE = 4462,
|
||||
ExecutionModeRoundingModeRTZ = 4463,
|
||||
ExecutionModeStencilRefReplacingEXT = 5027,
|
||||
ExecutionModeOutputLinesNV = 5269,
|
||||
ExecutionModeOutputPrimitivesNV = 5270,
|
||||
ExecutionModeDerivativeGroupQuadsNV = 5289,
|
||||
ExecutionModeDerivativeGroupLinearNV = 5290,
|
||||
ExecutionModeOutputTrianglesNV = 5298,
|
||||
ExecutionModePixelInterlockOrderedEXT = 5366,
|
||||
ExecutionModePixelInterlockUnorderedEXT = 5367,
|
||||
ExecutionModeSampleInterlockOrderedEXT = 5368,
|
||||
ExecutionModeSampleInterlockUnorderedEXT = 5369,
|
||||
ExecutionModeShadingRateInterlockOrderedEXT = 5370,
|
||||
ExecutionModeShadingRateInterlockUnorderedEXT = 5371,
|
||||
ExecutionModeMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -149,6 +177,13 @@ enum StorageClass {
|
||||
StorageClassAtomicCounter = 10,
|
||||
StorageClassImage = 11,
|
||||
StorageClassStorageBuffer = 12,
|
||||
StorageClassCallableDataNV = 5328,
|
||||
StorageClassIncomingCallableDataNV = 5329,
|
||||
StorageClassRayPayloadNV = 5338,
|
||||
StorageClassHitAttributeNV = 5339,
|
||||
StorageClassIncomingRayPayloadNV = 5342,
|
||||
StorageClassShaderRecordBufferNV = 5343,
|
||||
StorageClassPhysicalStorageBufferEXT = 5349,
|
||||
StorageClassMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -280,6 +315,8 @@ enum ImageOperandsShift {
|
||||
ImageOperandsMakeTexelVisibleKHRShift = 9,
|
||||
ImageOperandsNonPrivateTexelKHRShift = 10,
|
||||
ImageOperandsVolatileTexelKHRShift = 11,
|
||||
ImageOperandsSignExtendShift = 12,
|
||||
ImageOperandsZeroExtendShift = 13,
|
||||
ImageOperandsMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -297,6 +334,8 @@ enum ImageOperandsMask {
|
||||
ImageOperandsMakeTexelVisibleKHRMask = 0x00000200,
|
||||
ImageOperandsNonPrivateTexelKHRMask = 0x00000400,
|
||||
ImageOperandsVolatileTexelKHRMask = 0x00000800,
|
||||
ImageOperandsSignExtendMask = 0x00001000,
|
||||
ImageOperandsZeroExtendMask = 0x00002000,
|
||||
};
|
||||
|
||||
enum FPFastMathModeShift {
|
||||
@ -377,6 +416,7 @@ enum Decoration {
|
||||
DecorationNonWritable = 24,
|
||||
DecorationNonReadable = 25,
|
||||
DecorationUniform = 26,
|
||||
DecorationUniformId = 27,
|
||||
DecorationSaturatedConversion = 28,
|
||||
DecorationStream = 29,
|
||||
DecorationLocation = 30,
|
||||
@ -397,14 +437,25 @@ enum Decoration {
|
||||
DecorationMaxByteOffset = 45,
|
||||
DecorationAlignmentId = 46,
|
||||
DecorationMaxByteOffsetId = 47,
|
||||
DecorationNoSignedWrap = 4469,
|
||||
DecorationNoUnsignedWrap = 4470,
|
||||
DecorationExplicitInterpAMD = 4999,
|
||||
DecorationOverrideCoverageNV = 5248,
|
||||
DecorationPassthroughNV = 5250,
|
||||
DecorationViewportRelativeNV = 5252,
|
||||
DecorationSecondaryViewportRelativeNV = 5256,
|
||||
DecorationPerPrimitiveNV = 5271,
|
||||
DecorationPerViewNV = 5272,
|
||||
DecorationPerTaskNV = 5273,
|
||||
DecorationPerVertexNV = 5285,
|
||||
DecorationNonUniformEXT = 5300,
|
||||
DecorationRestrictPointerEXT = 5355,
|
||||
DecorationAliasedPointerEXT = 5356,
|
||||
DecorationCounterBuffer = 5634,
|
||||
DecorationHlslCounterBufferGOOGLE = 5634,
|
||||
DecorationHlslSemanticGOOGLE = 5635,
|
||||
DecorationUserSemantic = 5635,
|
||||
DecorationUserTypeGOOGLE = 5636,
|
||||
DecorationMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -479,6 +530,38 @@ enum BuiltIn {
|
||||
BuiltInPositionPerViewNV = 5261,
|
||||
BuiltInViewportMaskPerViewNV = 5262,
|
||||
BuiltInFullyCoveredEXT = 5264,
|
||||
BuiltInTaskCountNV = 5274,
|
||||
BuiltInPrimitiveCountNV = 5275,
|
||||
BuiltInPrimitiveIndicesNV = 5276,
|
||||
BuiltInClipDistancePerViewNV = 5277,
|
||||
BuiltInCullDistancePerViewNV = 5278,
|
||||
BuiltInLayerPerViewNV = 5279,
|
||||
BuiltInMeshViewCountNV = 5280,
|
||||
BuiltInMeshViewIndicesNV = 5281,
|
||||
BuiltInBaryCoordNV = 5286,
|
||||
BuiltInBaryCoordNoPerspNV = 5287,
|
||||
BuiltInFragSizeEXT = 5292,
|
||||
BuiltInFragmentSizeNV = 5292,
|
||||
BuiltInFragInvocationCountEXT = 5293,
|
||||
BuiltInInvocationsPerPixelNV = 5293,
|
||||
BuiltInLaunchIdNV = 5319,
|
||||
BuiltInLaunchSizeNV = 5320,
|
||||
BuiltInWorldRayOriginNV = 5321,
|
||||
BuiltInWorldRayDirectionNV = 5322,
|
||||
BuiltInObjectRayOriginNV = 5323,
|
||||
BuiltInObjectRayDirectionNV = 5324,
|
||||
BuiltInRayTminNV = 5325,
|
||||
BuiltInRayTmaxNV = 5326,
|
||||
BuiltInInstanceCustomIndexNV = 5327,
|
||||
BuiltInObjectToWorldNV = 5330,
|
||||
BuiltInWorldToObjectNV = 5331,
|
||||
BuiltInHitTNV = 5332,
|
||||
BuiltInHitKindNV = 5333,
|
||||
BuiltInIncomingRayFlagsNV = 5351,
|
||||
BuiltInWarpsPerSMNV = 5374,
|
||||
BuiltInSMCountNV = 5375,
|
||||
BuiltInWarpIDNV = 5376,
|
||||
BuiltInSMIDNV = 5377,
|
||||
BuiltInMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -499,6 +582,11 @@ enum LoopControlShift {
|
||||
LoopControlDontUnrollShift = 1,
|
||||
LoopControlDependencyInfiniteShift = 2,
|
||||
LoopControlDependencyLengthShift = 3,
|
||||
LoopControlMinIterationsShift = 4,
|
||||
LoopControlMaxIterationsShift = 5,
|
||||
LoopControlIterationMultipleShift = 6,
|
||||
LoopControlPeelCountShift = 7,
|
||||
LoopControlPartialCountShift = 8,
|
||||
LoopControlMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -508,6 +596,11 @@ enum LoopControlMask {
|
||||
LoopControlDontUnrollMask = 0x00000002,
|
||||
LoopControlDependencyInfiniteMask = 0x00000004,
|
||||
LoopControlDependencyLengthMask = 0x00000008,
|
||||
LoopControlMinIterationsMask = 0x00000010,
|
||||
LoopControlMaxIterationsMask = 0x00000020,
|
||||
LoopControlIterationMultipleMask = 0x00000040,
|
||||
LoopControlPeelCountMask = 0x00000080,
|
||||
LoopControlPartialCountMask = 0x00000100,
|
||||
};
|
||||
|
||||
enum FunctionControlShift {
|
||||
@ -540,6 +633,7 @@ enum MemorySemanticsShift {
|
||||
MemorySemanticsOutputMemoryKHRShift = 12,
|
||||
MemorySemanticsMakeAvailableKHRShift = 13,
|
||||
MemorySemanticsMakeVisibleKHRShift = 14,
|
||||
MemorySemanticsVolatileShift = 15,
|
||||
MemorySemanticsMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -558,6 +652,7 @@ enum MemorySemanticsMask {
|
||||
MemorySemanticsOutputMemoryKHRMask = 0x00001000,
|
||||
MemorySemanticsMakeAvailableKHRMask = 0x00002000,
|
||||
MemorySemanticsMakeVisibleKHRMask = 0x00004000,
|
||||
MemorySemanticsVolatileMask = 0x00008000,
|
||||
};
|
||||
|
||||
enum MemoryAccessShift {
|
||||
@ -704,6 +799,11 @@ enum Capability {
|
||||
CapabilityStorageBuffer8BitAccess = 4448,
|
||||
CapabilityUniformAndStorageBuffer8BitAccess = 4449,
|
||||
CapabilityStoragePushConstant8 = 4450,
|
||||
CapabilityDenormPreserve = 4464,
|
||||
CapabilityDenormFlushToZero = 4465,
|
||||
CapabilitySignedZeroInfNanPreserve = 4466,
|
||||
CapabilityRoundingModeRTE = 4467,
|
||||
CapabilityRoundingModeRTZ = 4468,
|
||||
CapabilityFloat16ImageAMD = 5008,
|
||||
CapabilityImageGatherBiasLodAMD = 5009,
|
||||
CapabilityFragmentMaskAMD = 5010,
|
||||
@ -717,6 +817,12 @@ enum Capability {
|
||||
CapabilityShaderStereoViewNV = 5259,
|
||||
CapabilityPerViewAttributesNV = 5260,
|
||||
CapabilityFragmentFullyCoveredEXT = 5265,
|
||||
CapabilityMeshShadingNV = 5266,
|
||||
CapabilityImageFootprintNV = 5282,
|
||||
CapabilityFragmentBarycentricNV = 5284,
|
||||
CapabilityComputeDerivativeGroupQuadsNV = 5288,
|
||||
CapabilityFragmentDensityEXT = 5291,
|
||||
CapabilityShadingRateNV = 5291,
|
||||
CapabilityGroupNonUniformPartitionedNV = 5297,
|
||||
CapabilityShaderNonUniformEXT = 5301,
|
||||
CapabilityRuntimeDescriptorArrayEXT = 5302,
|
||||
@ -730,11 +836,25 @@ enum Capability {
|
||||
CapabilityInputAttachmentArrayNonUniformIndexingEXT = 5310,
|
||||
CapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311,
|
||||
CapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
|
||||
CapabilityRayTracingNV = 5340,
|
||||
CapabilityVulkanMemoryModelKHR = 5345,
|
||||
CapabilityVulkanMemoryModelDeviceScopeKHR = 5346,
|
||||
CapabilityPhysicalStorageBufferAddressesEXT = 5347,
|
||||
CapabilityComputeDerivativeGroupLinearNV = 5350,
|
||||
CapabilityCooperativeMatrixNV = 5357,
|
||||
CapabilityFragmentShaderSampleInterlockEXT = 5363,
|
||||
CapabilityFragmentShaderShadingRateInterlockEXT = 5372,
|
||||
CapabilityShaderSMBuiltinsNV = 5373,
|
||||
CapabilityFragmentShaderPixelInterlockEXT = 5378,
|
||||
CapabilityDemoteToHelperInvocationEXT = 5379,
|
||||
CapabilitySubgroupShuffleINTEL = 5568,
|
||||
CapabilitySubgroupBufferBlockIOINTEL = 5569,
|
||||
CapabilitySubgroupImageBlockIOINTEL = 5570,
|
||||
CapabilitySubgroupImageMediaBlockIOINTEL = 5579,
|
||||
CapabilityIntegerFunctions2INTEL = 5584,
|
||||
CapabilitySubgroupAvcMotionEstimationINTEL = 5696,
|
||||
CapabilitySubgroupAvcMotionEstimationIntraINTEL = 5697,
|
||||
CapabilitySubgroupAvcMotionEstimationChromaINTEL = 5698,
|
||||
CapabilityMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
@ -1079,6 +1199,10 @@ enum Op {
|
||||
OpGroupNonUniformLogicalXor = 364,
|
||||
OpGroupNonUniformQuadBroadcast = 365,
|
||||
OpGroupNonUniformQuadSwap = 366,
|
||||
OpCopyLogical = 400,
|
||||
OpPtrEqual = 401,
|
||||
OpPtrNotEqual = 402,
|
||||
OpPtrDiff = 403,
|
||||
OpSubgroupBallotKHR = 4421,
|
||||
OpSubgroupFirstInvocationKHR = 4422,
|
||||
OpSubgroupAllKHR = 4428,
|
||||
@ -1095,7 +1219,24 @@ enum Op {
|
||||
OpGroupSMaxNonUniformAMD = 5007,
|
||||
OpFragmentMaskFetchAMD = 5011,
|
||||
OpFragmentFetchAMD = 5012,
|
||||
OpImageSampleFootprintNV = 5283,
|
||||
OpGroupNonUniformPartitionNV = 5296,
|
||||
OpWritePackedPrimitiveIndices4x8NV = 5299,
|
||||
OpReportIntersectionNV = 5334,
|
||||
OpIgnoreIntersectionNV = 5335,
|
||||
OpTerminateRayNV = 5336,
|
||||
OpTraceNV = 5337,
|
||||
OpTypeAccelerationStructureNV = 5341,
|
||||
OpExecuteCallableNV = 5344,
|
||||
OpTypeCooperativeMatrixNV = 5358,
|
||||
OpCooperativeMatrixLoadNV = 5359,
|
||||
OpCooperativeMatrixStoreNV = 5360,
|
||||
OpCooperativeMatrixMulAddNV = 5361,
|
||||
OpCooperativeMatrixLengthNV = 5362,
|
||||
OpBeginInvocationInterlockEXT = 5364,
|
||||
OpEndInvocationInterlockEXT = 5365,
|
||||
OpDemoteToHelperInvocationEXT = 5380,
|
||||
OpIsHelperInvocationEXT = 5381,
|
||||
OpSubgroupShuffleINTEL = 5571,
|
||||
OpSubgroupShuffleDownINTEL = 5572,
|
||||
OpSubgroupShuffleUpINTEL = 5573,
|
||||
@ -1104,11 +1245,678 @@ enum Op {
|
||||
OpSubgroupBlockWriteINTEL = 5576,
|
||||
OpSubgroupImageBlockReadINTEL = 5577,
|
||||
OpSubgroupImageBlockWriteINTEL = 5578,
|
||||
OpSubgroupImageMediaBlockReadINTEL = 5580,
|
||||
OpSubgroupImageMediaBlockWriteINTEL = 5581,
|
||||
OpUCountLeadingZerosINTEL = 5585,
|
||||
OpUCountTrailingZerosINTEL = 5586,
|
||||
OpAbsISubINTEL = 5587,
|
||||
OpAbsUSubINTEL = 5588,
|
||||
OpIAddSatINTEL = 5589,
|
||||
OpUAddSatINTEL = 5590,
|
||||
OpIAverageINTEL = 5591,
|
||||
OpUAverageINTEL = 5592,
|
||||
OpIAverageRoundedINTEL = 5593,
|
||||
OpUAverageRoundedINTEL = 5594,
|
||||
OpISubSatINTEL = 5595,
|
||||
OpUSubSatINTEL = 5596,
|
||||
OpIMul32x16INTEL = 5597,
|
||||
OpUMul32x16INTEL = 5598,
|
||||
OpDecorateString = 5632,
|
||||
OpDecorateStringGOOGLE = 5632,
|
||||
OpMemberDecorateString = 5633,
|
||||
OpMemberDecorateStringGOOGLE = 5633,
|
||||
OpVmeImageINTEL = 5699,
|
||||
OpTypeVmeImageINTEL = 5700,
|
||||
OpTypeAvcImePayloadINTEL = 5701,
|
||||
OpTypeAvcRefPayloadINTEL = 5702,
|
||||
OpTypeAvcSicPayloadINTEL = 5703,
|
||||
OpTypeAvcMcePayloadINTEL = 5704,
|
||||
OpTypeAvcMceResultINTEL = 5705,
|
||||
OpTypeAvcImeResultINTEL = 5706,
|
||||
OpTypeAvcImeResultSingleReferenceStreamoutINTEL = 5707,
|
||||
OpTypeAvcImeResultDualReferenceStreamoutINTEL = 5708,
|
||||
OpTypeAvcImeSingleReferenceStreaminINTEL = 5709,
|
||||
OpTypeAvcImeDualReferenceStreaminINTEL = 5710,
|
||||
OpTypeAvcRefResultINTEL = 5711,
|
||||
OpTypeAvcSicResultINTEL = 5712,
|
||||
OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713,
|
||||
OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714,
|
||||
OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715,
|
||||
OpSubgroupAvcMceSetInterShapePenaltyINTEL = 5716,
|
||||
OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717,
|
||||
OpSubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718,
|
||||
OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719,
|
||||
OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720,
|
||||
OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721,
|
||||
OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722,
|
||||
OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723,
|
||||
OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724,
|
||||
OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725,
|
||||
OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726,
|
||||
OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727,
|
||||
OpSubgroupAvcMceSetAcOnlyHaarINTEL = 5728,
|
||||
OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729,
|
||||
OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730,
|
||||
OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731,
|
||||
OpSubgroupAvcMceConvertToImePayloadINTEL = 5732,
|
||||
OpSubgroupAvcMceConvertToImeResultINTEL = 5733,
|
||||
OpSubgroupAvcMceConvertToRefPayloadINTEL = 5734,
|
||||
OpSubgroupAvcMceConvertToRefResultINTEL = 5735,
|
||||
OpSubgroupAvcMceConvertToSicPayloadINTEL = 5736,
|
||||
OpSubgroupAvcMceConvertToSicResultINTEL = 5737,
|
||||
OpSubgroupAvcMceGetMotionVectorsINTEL = 5738,
|
||||
OpSubgroupAvcMceGetInterDistortionsINTEL = 5739,
|
||||
OpSubgroupAvcMceGetBestInterDistortionsINTEL = 5740,
|
||||
OpSubgroupAvcMceGetInterMajorShapeINTEL = 5741,
|
||||
OpSubgroupAvcMceGetInterMinorShapeINTEL = 5742,
|
||||
OpSubgroupAvcMceGetInterDirectionsINTEL = 5743,
|
||||
OpSubgroupAvcMceGetInterMotionVectorCountINTEL = 5744,
|
||||
OpSubgroupAvcMceGetInterReferenceIdsINTEL = 5745,
|
||||
OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746,
|
||||
OpSubgroupAvcImeInitializeINTEL = 5747,
|
||||
OpSubgroupAvcImeSetSingleReferenceINTEL = 5748,
|
||||
OpSubgroupAvcImeSetDualReferenceINTEL = 5749,
|
||||
OpSubgroupAvcImeRefWindowSizeINTEL = 5750,
|
||||
OpSubgroupAvcImeAdjustRefOffsetINTEL = 5751,
|
||||
OpSubgroupAvcImeConvertToMcePayloadINTEL = 5752,
|
||||
OpSubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753,
|
||||
OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754,
|
||||
OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755,
|
||||
OpSubgroupAvcImeSetWeightedSadINTEL = 5756,
|
||||
OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757,
|
||||
OpSubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758,
|
||||
OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759,
|
||||
OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760,
|
||||
OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761,
|
||||
OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762,
|
||||
OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763,
|
||||
OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764,
|
||||
OpSubgroupAvcImeConvertToMceResultINTEL = 5765,
|
||||
OpSubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766,
|
||||
OpSubgroupAvcImeGetDualReferenceStreaminINTEL = 5767,
|
||||
OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768,
|
||||
OpSubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769,
|
||||
OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770,
|
||||
OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771,
|
||||
OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772,
|
||||
OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773,
|
||||
OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774,
|
||||
OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775,
|
||||
OpSubgroupAvcImeGetBorderReachedINTEL = 5776,
|
||||
OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777,
|
||||
OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778,
|
||||
OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779,
|
||||
OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780,
|
||||
OpSubgroupAvcFmeInitializeINTEL = 5781,
|
||||
OpSubgroupAvcBmeInitializeINTEL = 5782,
|
||||
OpSubgroupAvcRefConvertToMcePayloadINTEL = 5783,
|
||||
OpSubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784,
|
||||
OpSubgroupAvcRefSetBilinearFilterEnableINTEL = 5785,
|
||||
OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786,
|
||||
OpSubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787,
|
||||
OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788,
|
||||
OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789,
|
||||
OpSubgroupAvcRefConvertToMceResultINTEL = 5790,
|
||||
OpSubgroupAvcSicInitializeINTEL = 5791,
|
||||
OpSubgroupAvcSicConfigureSkcINTEL = 5792,
|
||||
OpSubgroupAvcSicConfigureIpeLumaINTEL = 5793,
|
||||
OpSubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794,
|
||||
OpSubgroupAvcSicGetMotionVectorMaskINTEL = 5795,
|
||||
OpSubgroupAvcSicConvertToMcePayloadINTEL = 5796,
|
||||
OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797,
|
||||
OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798,
|
||||
OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799,
|
||||
OpSubgroupAvcSicSetBilinearFilterEnableINTEL = 5800,
|
||||
OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801,
|
||||
OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802,
|
||||
OpSubgroupAvcSicEvaluateIpeINTEL = 5803,
|
||||
OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804,
|
||||
OpSubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805,
|
||||
OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806,
|
||||
OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807,
|
||||
OpSubgroupAvcSicConvertToMceResultINTEL = 5808,
|
||||
OpSubgroupAvcSicGetIpeLumaShapeINTEL = 5809,
|
||||
OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810,
|
||||
OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811,
|
||||
OpSubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812,
|
||||
OpSubgroupAvcSicGetIpeChromaModeINTEL = 5813,
|
||||
OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
|
||||
OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
|
||||
OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
|
||||
OpMax = 0x7fffffff,
|
||||
};
|
||||
|
||||
#ifdef SPV_ENABLE_UTILITY_CODE
|
||||
inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
|
||||
*hasResult = *hasResultType = false;
|
||||
switch (opcode) {
|
||||
default: /* unknown opcode */ break;
|
||||
case OpNop: *hasResult = false; *hasResultType = false; break;
|
||||
case OpUndef: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSourceContinued: *hasResult = false; *hasResultType = false; break;
|
||||
case OpSource: *hasResult = false; *hasResultType = false; break;
|
||||
case OpSourceExtension: *hasResult = false; *hasResultType = false; break;
|
||||
case OpName: *hasResult = false; *hasResultType = false; break;
|
||||
case OpMemberName: *hasResult = false; *hasResultType = false; break;
|
||||
case OpString: *hasResult = true; *hasResultType = false; break;
|
||||
case OpLine: *hasResult = false; *hasResultType = false; break;
|
||||
case OpExtension: *hasResult = false; *hasResultType = false; break;
|
||||
case OpExtInstImport: *hasResult = true; *hasResultType = false; break;
|
||||
case OpExtInst: *hasResult = true; *hasResultType = true; break;
|
||||
case OpMemoryModel: *hasResult = false; *hasResultType = false; break;
|
||||
case OpEntryPoint: *hasResult = false; *hasResultType = false; break;
|
||||
case OpExecutionMode: *hasResult = false; *hasResultType = false; break;
|
||||
case OpCapability: *hasResult = false; *hasResultType = false; break;
|
||||
case OpTypeVoid: *hasResult = true; *hasResultType = false; break;
|
||||
case OpTypeBool: *hasResult = true; *hasResultType = false; break;
|
||||
case OpTypeInt: *hasResult = true; *hasResultType = false; break;
|
||||
case OpTypeFloat: *hasResult = true; *hasResultType = false; break;
|
||||
case OpTypeVector: *hasResult = true; *hasResultType = false; break;
|
||||
case OpTypeMatrix: *hasResult = true; *hasResultType = false; break;
|
||||
case OpTypeImage: *hasResult = true; *hasResultType = false; break;
|
||||
case OpTypeSampler: *hasResult = true; *hasResultType = false; break;
|
||||
case OpTypeSampledImage: *hasResult = true; *hasResultType = false; break;
|
||||
case OpTypeArray: *hasResult = true; *hasResultType = false; break;
|
||||
case OpTypeRuntimeArray: *hasResult = true; *hasResultType = false; break;
|
||||
case OpTypeStruct: *hasResult = true; *hasResultType = false; break;
|
||||
case OpTypeOpaque: *hasResult = true; *hasResultType = false; break;
|
||||
case OpTypePointer: *hasResult = true; *hasResultType = false; break;
|
||||
case OpTypeFunction: *hasResult = true; *hasResultType = false; break;
|
||||
case OpTypeEvent: *hasResult = true; *hasResultType = false; break;
|
||||
case OpTypeDeviceEvent: *hasResult = true; *hasResultType = false; break;
|
||||
case OpTypeReserveId: *hasResult = true; *hasResultType = false; break;
|
||||
case OpTypeQueue: *hasResult = true; *hasResultType = false; break;
|
||||
case OpTypePipe: *hasResult = true; *hasResultType = false; break;
|
||||
case OpTypeForwardPointer: *hasResult = false; *hasResultType = false; break;
|
||||
case OpConstantTrue: *hasResult = true; *hasResultType = true; break;
|
||||
case OpConstantFalse: *hasResult = true; *hasResultType = true; break;
|
||||
case OpConstant: *hasResult = true; *hasResultType = true; break;
|
||||
case OpConstantComposite: *hasResult = true; *hasResultType = true; break;
|
||||
case OpConstantSampler: *hasResult = true; *hasResultType = true; break;
|
||||
case OpConstantNull: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSpecConstantTrue: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSpecConstantFalse: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSpecConstant: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSpecConstantComposite: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSpecConstantOp: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFunction: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFunctionParameter: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFunctionEnd: *hasResult = false; *hasResultType = false; break;
|
||||
case OpFunctionCall: *hasResult = true; *hasResultType = true; break;
|
||||
case OpVariable: *hasResult = true; *hasResultType = true; break;
|
||||
case OpImageTexelPointer: *hasResult = true; *hasResultType = true; break;
|
||||
case OpLoad: *hasResult = true; *hasResultType = true; break;
|
||||
case OpStore: *hasResult = false; *hasResultType = false; break;
|
||||
case OpCopyMemory: *hasResult = false; *hasResultType = false; break;
|
||||
case OpCopyMemorySized: *hasResult = false; *hasResultType = false; break;
|
||||
case OpAccessChain: *hasResult = true; *hasResultType = true; break;
|
||||
case OpInBoundsAccessChain: *hasResult = true; *hasResultType = true; break;
|
||||
case OpPtrAccessChain: *hasResult = true; *hasResultType = true; break;
|
||||
case OpArrayLength: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGenericPtrMemSemantics: *hasResult = true; *hasResultType = true; break;
|
||||
case OpInBoundsPtrAccessChain: *hasResult = true; *hasResultType = true; break;
|
||||
case OpDecorate: *hasResult = false; *hasResultType = false; break;
|
||||
case OpMemberDecorate: *hasResult = false; *hasResultType = false; break;
|
||||
case OpDecorationGroup: *hasResult = true; *hasResultType = false; break;
|
||||
case OpGroupDecorate: *hasResult = false; *hasResultType = false; break;
|
||||
case OpGroupMemberDecorate: *hasResult = false; *hasResultType = false; break;
|
||||
case OpVectorExtractDynamic: *hasResult = true; *hasResultType = true; break;
|
||||
case OpVectorInsertDynamic: *hasResult = true; *hasResultType = true; break;
|
||||
case OpVectorShuffle: *hasResult = true; *hasResultType = true; break;
|
||||
case OpCompositeConstruct: *hasResult = true; *hasResultType = true; break;
|
||||
case OpCompositeExtract: *hasResult = true; *hasResultType = true; break;
|
||||
case OpCompositeInsert: *hasResult = true; *hasResultType = true; break;
|
||||
case OpCopyObject: *hasResult = true; *hasResultType = true; break;
|
||||
case OpTranspose: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSampledImage: *hasResult = true; *hasResultType = true; break;
|
||||
case OpImageSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
|
||||
case OpImageSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
|
||||
case OpImageSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
|
||||
case OpImageSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
|
||||
case OpImageSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
|
||||
case OpImageSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
|
||||
case OpImageSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
|
||||
case OpImageSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
|
||||
case OpImageFetch: *hasResult = true; *hasResultType = true; break;
|
||||
case OpImageGather: *hasResult = true; *hasResultType = true; break;
|
||||
case OpImageDrefGather: *hasResult = true; *hasResultType = true; break;
|
||||
case OpImageRead: *hasResult = true; *hasResultType = true; break;
|
||||
case OpImageWrite: *hasResult = false; *hasResultType = false; break;
|
||||
case OpImage: *hasResult = true; *hasResultType = true; break;
|
||||
case OpImageQueryFormat: *hasResult = true; *hasResultType = true; break;
|
||||
case OpImageQueryOrder: *hasResult = true; *hasResultType = true; break;
|
||||
case OpImageQuerySizeLod: *hasResult = true; *hasResultType = true; break;
|
||||
case OpImageQuerySize: *hasResult = true; *hasResultType = true; break;
|
||||
case OpImageQueryLod: *hasResult = true; *hasResultType = true; break;
|
||||
case OpImageQueryLevels: *hasResult = true; *hasResultType = true; break;
|
||||
case OpImageQuerySamples: *hasResult = true; *hasResultType = true; break;
|
||||
case OpConvertFToU: *hasResult = true; *hasResultType = true; break;
|
||||
case OpConvertFToS: *hasResult = true; *hasResultType = true; break;
|
||||
case OpConvertSToF: *hasResult = true; *hasResultType = true; break;
|
||||
case OpConvertUToF: *hasResult = true; *hasResultType = true; break;
|
||||
case OpUConvert: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSConvert: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFConvert: *hasResult = true; *hasResultType = true; break;
|
||||
case OpQuantizeToF16: *hasResult = true; *hasResultType = true; break;
|
||||
case OpConvertPtrToU: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSatConvertSToU: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSatConvertUToS: *hasResult = true; *hasResultType = true; break;
|
||||
case OpConvertUToPtr: *hasResult = true; *hasResultType = true; break;
|
||||
case OpPtrCastToGeneric: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGenericCastToPtr: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGenericCastToPtrExplicit: *hasResult = true; *hasResultType = true; break;
|
||||
case OpBitcast: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSNegate: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFNegate: *hasResult = true; *hasResultType = true; break;
|
||||
case OpIAdd: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFAdd: *hasResult = true; *hasResultType = true; break;
|
||||
case OpISub: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFSub: *hasResult = true; *hasResultType = true; break;
|
||||
case OpIMul: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFMul: *hasResult = true; *hasResultType = true; break;
|
||||
case OpUDiv: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSDiv: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFDiv: *hasResult = true; *hasResultType = true; break;
|
||||
case OpUMod: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSRem: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSMod: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFRem: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFMod: *hasResult = true; *hasResultType = true; break;
|
||||
case OpVectorTimesScalar: *hasResult = true; *hasResultType = true; break;
|
||||
case OpMatrixTimesScalar: *hasResult = true; *hasResultType = true; break;
|
||||
case OpVectorTimesMatrix: *hasResult = true; *hasResultType = true; break;
|
||||
case OpMatrixTimesVector: *hasResult = true; *hasResultType = true; break;
|
||||
case OpMatrixTimesMatrix: *hasResult = true; *hasResultType = true; break;
|
||||
case OpOuterProduct: *hasResult = true; *hasResultType = true; break;
|
||||
case OpDot: *hasResult = true; *hasResultType = true; break;
|
||||
case OpIAddCarry: *hasResult = true; *hasResultType = true; break;
|
||||
case OpISubBorrow: *hasResult = true; *hasResultType = true; break;
|
||||
case OpUMulExtended: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSMulExtended: *hasResult = true; *hasResultType = true; break;
|
||||
case OpAny: *hasResult = true; *hasResultType = true; break;
|
||||
case OpAll: *hasResult = true; *hasResultType = true; break;
|
||||
case OpIsNan: *hasResult = true; *hasResultType = true; break;
|
||||
case OpIsInf: *hasResult = true; *hasResultType = true; break;
|
||||
case OpIsFinite: *hasResult = true; *hasResultType = true; break;
|
||||
case OpIsNormal: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSignBitSet: *hasResult = true; *hasResultType = true; break;
|
||||
case OpLessOrGreater: *hasResult = true; *hasResultType = true; break;
|
||||
case OpOrdered: *hasResult = true; *hasResultType = true; break;
|
||||
case OpUnordered: *hasResult = true; *hasResultType = true; break;
|
||||
case OpLogicalEqual: *hasResult = true; *hasResultType = true; break;
|
||||
case OpLogicalNotEqual: *hasResult = true; *hasResultType = true; break;
|
||||
case OpLogicalOr: *hasResult = true; *hasResultType = true; break;
|
||||
case OpLogicalAnd: *hasResult = true; *hasResultType = true; break;
|
||||
case OpLogicalNot: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSelect: *hasResult = true; *hasResultType = true; break;
|
||||
case OpIEqual: *hasResult = true; *hasResultType = true; break;
|
||||
case OpINotEqual: *hasResult = true; *hasResultType = true; break;
|
||||
case OpUGreaterThan: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSGreaterThan: *hasResult = true; *hasResultType = true; break;
|
||||
case OpUGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
|
||||
case OpULessThan: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSLessThan: *hasResult = true; *hasResultType = true; break;
|
||||
case OpULessThanEqual: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSLessThanEqual: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFOrdEqual: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFUnordEqual: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFOrdNotEqual: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFUnordNotEqual: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFOrdLessThan: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFUnordLessThan: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFOrdGreaterThan: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFUnordGreaterThan: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFOrdLessThanEqual: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFUnordLessThanEqual: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFOrdGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFUnordGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
|
||||
case OpShiftRightLogical: *hasResult = true; *hasResultType = true; break;
|
||||
case OpShiftRightArithmetic: *hasResult = true; *hasResultType = true; break;
|
||||
case OpShiftLeftLogical: *hasResult = true; *hasResultType = true; break;
|
||||
case OpBitwiseOr: *hasResult = true; *hasResultType = true; break;
|
||||
case OpBitwiseXor: *hasResult = true; *hasResultType = true; break;
|
||||
case OpBitwiseAnd: *hasResult = true; *hasResultType = true; break;
|
||||
case OpNot: *hasResult = true; *hasResultType = true; break;
|
||||
case OpBitFieldInsert: *hasResult = true; *hasResultType = true; break;
|
||||
case OpBitFieldSExtract: *hasResult = true; *hasResultType = true; break;
|
||||
case OpBitFieldUExtract: *hasResult = true; *hasResultType = true; break;
|
||||
case OpBitReverse: *hasResult = true; *hasResultType = true; break;
|
||||
case OpBitCount: *hasResult = true; *hasResultType = true; break;
|
||||
case OpDPdx: *hasResult = true; *hasResultType = true; break;
|
||||
case OpDPdy: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFwidth: *hasResult = true; *hasResultType = true; break;
|
||||
case OpDPdxFine: *hasResult = true; *hasResultType = true; break;
|
||||
case OpDPdyFine: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFwidthFine: *hasResult = true; *hasResultType = true; break;
|
||||
case OpDPdxCoarse: *hasResult = true; *hasResultType = true; break;
|
||||
case OpDPdyCoarse: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFwidthCoarse: *hasResult = true; *hasResultType = true; break;
|
||||
case OpEmitVertex: *hasResult = false; *hasResultType = false; break;
|
||||
case OpEndPrimitive: *hasResult = false; *hasResultType = false; break;
|
||||
case OpEmitStreamVertex: *hasResult = false; *hasResultType = false; break;
|
||||
case OpEndStreamPrimitive: *hasResult = false; *hasResultType = false; break;
|
||||
case OpControlBarrier: *hasResult = false; *hasResultType = false; break;
|
||||
case OpMemoryBarrier: *hasResult = false; *hasResultType = false; break;
|
||||
case OpAtomicLoad: *hasResult = true; *hasResultType = true; break;
|
||||
case OpAtomicStore: *hasResult = false; *hasResultType = false; break;
|
||||
case OpAtomicExchange: *hasResult = true; *hasResultType = true; break;
|
||||
case OpAtomicCompareExchange: *hasResult = true; *hasResultType = true; break;
|
||||
case OpAtomicCompareExchangeWeak: *hasResult = true; *hasResultType = true; break;
|
||||
case OpAtomicIIncrement: *hasResult = true; *hasResultType = true; break;
|
||||
case OpAtomicIDecrement: *hasResult = true; *hasResultType = true; break;
|
||||
case OpAtomicIAdd: *hasResult = true; *hasResultType = true; break;
|
||||
case OpAtomicISub: *hasResult = true; *hasResultType = true; break;
|
||||
case OpAtomicSMin: *hasResult = true; *hasResultType = true; break;
|
||||
case OpAtomicUMin: *hasResult = true; *hasResultType = true; break;
|
||||
case OpAtomicSMax: *hasResult = true; *hasResultType = true; break;
|
||||
case OpAtomicUMax: *hasResult = true; *hasResultType = true; break;
|
||||
case OpAtomicAnd: *hasResult = true; *hasResultType = true; break;
|
||||
case OpAtomicOr: *hasResult = true; *hasResultType = true; break;
|
||||
case OpAtomicXor: *hasResult = true; *hasResultType = true; break;
|
||||
case OpPhi: *hasResult = true; *hasResultType = true; break;
|
||||
case OpLoopMerge: *hasResult = false; *hasResultType = false; break;
|
||||
case OpSelectionMerge: *hasResult = false; *hasResultType = false; break;
|
||||
case OpLabel: *hasResult = true; *hasResultType = false; break;
|
||||
case OpBranch: *hasResult = false; *hasResultType = false; break;
|
||||
case OpBranchConditional: *hasResult = false; *hasResultType = false; break;
|
||||
case OpSwitch: *hasResult = false; *hasResultType = false; break;
|
||||
case OpKill: *hasResult = false; *hasResultType = false; break;
|
||||
case OpReturn: *hasResult = false; *hasResultType = false; break;
|
||||
case OpReturnValue: *hasResult = false; *hasResultType = false; break;
|
||||
case OpUnreachable: *hasResult = false; *hasResultType = false; break;
|
||||
case OpLifetimeStart: *hasResult = false; *hasResultType = false; break;
|
||||
case OpLifetimeStop: *hasResult = false; *hasResultType = false; break;
|
||||
case OpGroupAsyncCopy: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupWaitEvents: *hasResult = false; *hasResultType = false; break;
|
||||
case OpGroupAll: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupAny: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupBroadcast: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupIAdd: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupFAdd: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupFMin: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupUMin: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupSMin: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupFMax: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupUMax: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupSMax: *hasResult = true; *hasResultType = true; break;
|
||||
case OpReadPipe: *hasResult = true; *hasResultType = true; break;
|
||||
case OpWritePipe: *hasResult = true; *hasResultType = true; break;
|
||||
case OpReservedReadPipe: *hasResult = true; *hasResultType = true; break;
|
||||
case OpReservedWritePipe: *hasResult = true; *hasResultType = true; break;
|
||||
case OpReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
|
||||
case OpReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
|
||||
case OpCommitReadPipe: *hasResult = false; *hasResultType = false; break;
|
||||
case OpCommitWritePipe: *hasResult = false; *hasResultType = false; break;
|
||||
case OpIsValidReserveId: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGetNumPipePackets: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGetMaxPipePackets: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupCommitReadPipe: *hasResult = false; *hasResultType = false; break;
|
||||
case OpGroupCommitWritePipe: *hasResult = false; *hasResultType = false; break;
|
||||
case OpEnqueueMarker: *hasResult = true; *hasResultType = true; break;
|
||||
case OpEnqueueKernel: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGetKernelNDrangeSubGroupCount: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGetKernelNDrangeMaxSubGroupSize: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGetKernelWorkGroupSize: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGetKernelPreferredWorkGroupSizeMultiple: *hasResult = true; *hasResultType = true; break;
|
||||
case OpRetainEvent: *hasResult = false; *hasResultType = false; break;
|
||||
case OpReleaseEvent: *hasResult = false; *hasResultType = false; break;
|
||||
case OpCreateUserEvent: *hasResult = true; *hasResultType = true; break;
|
||||
case OpIsValidEvent: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSetUserEventStatus: *hasResult = false; *hasResultType = false; break;
|
||||
case OpCaptureEventProfilingInfo: *hasResult = false; *hasResultType = false; break;
|
||||
case OpGetDefaultQueue: *hasResult = true; *hasResultType = true; break;
|
||||
case OpBuildNDRange: *hasResult = true; *hasResultType = true; break;
|
||||
case OpImageSparseSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
|
||||
case OpImageSparseSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
|
||||
case OpImageSparseSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
|
||||
case OpImageSparseSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
|
||||
case OpImageSparseSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
|
||||
case OpImageSparseSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
|
||||
case OpImageSparseSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
|
||||
case OpImageSparseSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
|
||||
case OpImageSparseFetch: *hasResult = true; *hasResultType = true; break;
|
||||
case OpImageSparseGather: *hasResult = true; *hasResultType = true; break;
|
||||
case OpImageSparseDrefGather: *hasResult = true; *hasResultType = true; break;
|
||||
case OpImageSparseTexelsResident: *hasResult = true; *hasResultType = true; break;
|
||||
case OpNoLine: *hasResult = false; *hasResultType = false; break;
|
||||
case OpAtomicFlagTestAndSet: *hasResult = true; *hasResultType = true; break;
|
||||
case OpAtomicFlagClear: *hasResult = false; *hasResultType = false; break;
|
||||
case OpImageSparseRead: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSizeOf: *hasResult = true; *hasResultType = true; break;
|
||||
case OpTypePipeStorage: *hasResult = true; *hasResultType = false; break;
|
||||
case OpConstantPipeStorage: *hasResult = true; *hasResultType = true; break;
|
||||
case OpCreatePipeFromPipeStorage: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGetKernelLocalSizeForSubgroupCount: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGetKernelMaxNumSubgroups: *hasResult = true; *hasResultType = true; break;
|
||||
case OpTypeNamedBarrier: *hasResult = true; *hasResultType = false; break;
|
||||
case OpNamedBarrierInitialize: *hasResult = true; *hasResultType = true; break;
|
||||
case OpMemoryNamedBarrier: *hasResult = false; *hasResultType = false; break;
|
||||
case OpModuleProcessed: *hasResult = false; *hasResultType = false; break;
|
||||
case OpExecutionModeId: *hasResult = false; *hasResultType = false; break;
|
||||
case OpDecorateId: *hasResult = false; *hasResultType = false; break;
|
||||
case OpGroupNonUniformElect: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupNonUniformAll: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupNonUniformAny: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupNonUniformAllEqual: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupNonUniformBroadcast: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupNonUniformBroadcastFirst: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupNonUniformBallot: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupNonUniformInverseBallot: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupNonUniformBallotBitExtract: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupNonUniformBallotBitCount: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupNonUniformBallotFindLSB: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupNonUniformBallotFindMSB: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupNonUniformShuffle: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupNonUniformShuffleXor: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupNonUniformShuffleUp: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupNonUniformShuffleDown: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupNonUniformIAdd: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupNonUniformFAdd: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupNonUniformIMul: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupNonUniformFMul: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupNonUniformSMin: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupNonUniformUMin: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupNonUniformFMin: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupNonUniformSMax: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupNonUniformUMax: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupNonUniformFMax: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupNonUniformBitwiseAnd: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupNonUniformBitwiseOr: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupNonUniformBitwiseXor: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupNonUniformLogicalAnd: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupNonUniformLogicalOr: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupNonUniformLogicalXor: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupNonUniformQuadBroadcast: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupNonUniformQuadSwap: *hasResult = true; *hasResultType = true; break;
|
||||
case OpCopyLogical: *hasResult = true; *hasResultType = true; break;
|
||||
case OpPtrEqual: *hasResult = true; *hasResultType = true; break;
|
||||
case OpPtrNotEqual: *hasResult = true; *hasResultType = true; break;
|
||||
case OpPtrDiff: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupBallotKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupFirstInvocationKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupIAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupFAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupFMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupUMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupSMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupFMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupUMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupSMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFragmentMaskFetchAMD: *hasResult = true; *hasResultType = true; break;
|
||||
case OpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break;
|
||||
case OpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; break;
|
||||
case OpGroupNonUniformPartitionNV: *hasResult = true; *hasResultType = true; break;
|
||||
case OpWritePackedPrimitiveIndices4x8NV: *hasResult = false; *hasResultType = false; break;
|
||||
case OpReportIntersectionNV: *hasResult = true; *hasResultType = true; break;
|
||||
case OpIgnoreIntersectionNV: *hasResult = false; *hasResultType = false; break;
|
||||
case OpTerminateRayNV: *hasResult = false; *hasResultType = false; break;
|
||||
case OpTraceNV: *hasResult = false; *hasResultType = false; break;
|
||||
case OpTypeAccelerationStructureNV: *hasResult = true; *hasResultType = false; break;
|
||||
case OpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;
|
||||
case OpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;
|
||||
case OpCooperativeMatrixLoadNV: *hasResult = true; *hasResultType = true; break;
|
||||
case OpCooperativeMatrixStoreNV: *hasResult = false; *hasResultType = false; break;
|
||||
case OpCooperativeMatrixMulAddNV: *hasResult = true; *hasResultType = true; break;
|
||||
case OpCooperativeMatrixLengthNV: *hasResult = true; *hasResultType = true; break;
|
||||
case OpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
|
||||
case OpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
|
||||
case OpDemoteToHelperInvocationEXT: *hasResult = false; *hasResultType = false; break;
|
||||
case OpIsHelperInvocationEXT: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupShuffleINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupShuffleDownINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupShuffleUpINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupShuffleXorINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
case OpSubgroupImageBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupImageBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
case OpSubgroupImageMediaBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupImageMediaBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
|
||||
case OpUCountLeadingZerosINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpUCountTrailingZerosINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpAbsISubINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpAbsUSubINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpIAddSatINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpUAddSatINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpIAverageINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpUAverageINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpIAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpUAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpISubSatINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpUSubSatINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpDecorateString: *hasResult = false; *hasResultType = false; break;
|
||||
case OpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
|
||||
case OpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpTypeVmeImageINTEL: *hasResult = true; *hasResultType = false; break;
|
||||
case OpTypeAvcImePayloadINTEL: *hasResult = true; *hasResultType = false; break;
|
||||
case OpTypeAvcRefPayloadINTEL: *hasResult = true; *hasResultType = false; break;
|
||||
case OpTypeAvcSicPayloadINTEL: *hasResult = true; *hasResultType = false; break;
|
||||
case OpTypeAvcMcePayloadINTEL: *hasResult = true; *hasResultType = false; break;
|
||||
case OpTypeAvcMceResultINTEL: *hasResult = true; *hasResultType = false; break;
|
||||
case OpTypeAvcImeResultINTEL: *hasResult = true; *hasResultType = false; break;
|
||||
case OpTypeAvcImeResultSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
|
||||
case OpTypeAvcImeResultDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
|
||||
case OpTypeAvcImeSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
|
||||
case OpTypeAvcImeDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
|
||||
case OpTypeAvcRefResultINTEL: *hasResult = true; *hasResultType = false; break;
|
||||
case OpTypeAvcSicResultINTEL: *hasResult = true; *hasResultType = false; break;
|
||||
case OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcMceSetInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcMceSetInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcMceSetAcOnlyHaarINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcMceConvertToImePayloadINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcMceConvertToImeResultINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcMceConvertToRefPayloadINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcMceConvertToRefResultINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcMceConvertToSicPayloadINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcMceConvertToSicResultINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcMceGetMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcMceGetInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcMceGetBestInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcMceGetInterMajorShapeINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcMceGetInterMinorShapeINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcMceGetInterDirectionsINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcMceGetInterMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcMceGetInterReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcImeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcImeSetSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcImeSetDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcImeRefWindowSizeINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcImeAdjustRefOffsetINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcImeConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcImeSetMaxMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcImeSetWeightedSadINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcImeEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcImeConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcImeGetSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcImeGetDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcImeStripDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcImeGetBorderReachedINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcFmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcBmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcRefConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcRefSetBidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcRefSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcRefEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcRefConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcSicInitializeINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcSicConfigureSkcINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcSicConfigureIpeLumaINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcSicConfigureIpeLumaChromaINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcSicGetMotionVectorMaskINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcSicConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcSicSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcSicEvaluateIpeINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcSicEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcSicConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcSicGetIpeLumaShapeINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcSicGetPackedIpeLumaModesINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcSicGetIpeChromaModeINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
case OpSubgroupAvcSicGetInterRawSadsINTEL: *hasResult = true; *hasResultType = true; break;
|
||||
}
|
||||
}
|
||||
#endif /* SPV_ENABLE_UTILITY_CODE */
|
||||
|
||||
// Overload operator| for mask bit combining
|
||||
|
||||
inline ImageOperandsMask operator|(ImageOperandsMask a, ImageOperandsMask b) { return ImageOperandsMask(unsigned(a) | unsigned(b)); }
|
||||
|
Loading…
Reference in New Issue
Block a user