|
|
@@ -0,0 +1,2167 @@
|
|
|
+// Copyright (c) 2014-2020 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"),
|
|
|
+// to deal in the Materials without restriction, including without limitation
|
|
|
+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
|
|
+// and/or sell copies of the Materials, and to permit persons to whom the
|
|
|
+// Materials are furnished to do so, subject to the following conditions:
|
|
|
+//
|
|
|
+// The above copyright notice and this permission notice shall be included in
|
|
|
+// all copies or substantial portions of the Materials.
|
|
|
+//
|
|
|
+// MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS
|
|
|
+// STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND
|
|
|
+// HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/
|
|
|
+//
|
|
|
+// THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
|
|
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
|
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
|
|
+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
|
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
|
+// FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS
|
|
|
+// IN THE MATERIALS.
|
|
|
+
|
|
|
+// This header is automatically generated by the same tool that creates
|
|
|
+// the Binary Section of the SPIR-V specification.
|
|
|
+
|
|
|
+// Enumeration tokens for SPIR-V, in various styles:
|
|
|
+// 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
|
|
|
+// "Mask" in their name, and a parallel enum that has the shift
|
|
|
+// amount (1 << x) for each corresponding enumerant.
|
|
|
+
|
|
|
+#ifndef spirv_HPP
|
|
|
+#define spirv_HPP
|
|
|
+
|
|
|
+namespace spv {
|
|
|
+
|
|
|
+typedef unsigned int Id;
|
|
|
+
|
|
|
+#define SPV_VERSION 0x10500
|
|
|
+#define SPV_REVISION 3
|
|
|
+
|
|
|
+static const unsigned int MagicNumber = 0x07230203;
|
|
|
+static const unsigned int Version = 0x00010500;
|
|
|
+static const unsigned int Revision = 3;
|
|
|
+static const unsigned int OpCodeMask = 0xffff;
|
|
|
+static const unsigned int WordCountShift = 16;
|
|
|
+
|
|
|
+enum SourceLanguage {
|
|
|
+ SourceLanguageUnknown = 0,
|
|
|
+ SourceLanguageESSL = 1,
|
|
|
+ SourceLanguageGLSL = 2,
|
|
|
+ SourceLanguageOpenCL_C = 3,
|
|
|
+ SourceLanguageOpenCL_CPP = 4,
|
|
|
+ SourceLanguageHLSL = 5,
|
|
|
+ SourceLanguageMax = 0x7fffffff,
|
|
|
+};
|
|
|
+
|
|
|
+enum ExecutionModel {
|
|
|
+ ExecutionModelVertex = 0,
|
|
|
+ ExecutionModelTessellationControl = 1,
|
|
|
+ ExecutionModelTessellationEvaluation = 2,
|
|
|
+ ExecutionModelGeometry = 3,
|
|
|
+ ExecutionModelFragment = 4,
|
|
|
+ ExecutionModelGLCompute = 5,
|
|
|
+ ExecutionModelKernel = 6,
|
|
|
+ ExecutionModelTaskNV = 5267,
|
|
|
+ ExecutionModelMeshNV = 5268,
|
|
|
+ ExecutionModelRayGenerationKHR = 5313,
|
|
|
+ ExecutionModelRayGenerationNV = 5313,
|
|
|
+ ExecutionModelIntersectionKHR = 5314,
|
|
|
+ ExecutionModelIntersectionNV = 5314,
|
|
|
+ ExecutionModelAnyHitKHR = 5315,
|
|
|
+ ExecutionModelAnyHitNV = 5315,
|
|
|
+ ExecutionModelClosestHitKHR = 5316,
|
|
|
+ ExecutionModelClosestHitNV = 5316,
|
|
|
+ ExecutionModelMissKHR = 5317,
|
|
|
+ ExecutionModelMissNV = 5317,
|
|
|
+ ExecutionModelCallableKHR = 5318,
|
|
|
+ ExecutionModelCallableNV = 5318,
|
|
|
+ ExecutionModelMax = 0x7fffffff,
|
|
|
+};
|
|
|
+
|
|
|
+enum AddressingModel {
|
|
|
+ AddressingModelLogical = 0,
|
|
|
+ AddressingModelPhysical32 = 1,
|
|
|
+ AddressingModelPhysical64 = 2,
|
|
|
+ AddressingModelPhysicalStorageBuffer64 = 5348,
|
|
|
+ AddressingModelPhysicalStorageBuffer64EXT = 5348,
|
|
|
+ AddressingModelMax = 0x7fffffff,
|
|
|
+};
|
|
|
+
|
|
|
+enum MemoryModel {
|
|
|
+ MemoryModelSimple = 0,
|
|
|
+ MemoryModelGLSL450 = 1,
|
|
|
+ MemoryModelOpenCL = 2,
|
|
|
+ MemoryModelVulkan = 3,
|
|
|
+ MemoryModelVulkanKHR = 3,
|
|
|
+ MemoryModelMax = 0x7fffffff,
|
|
|
+};
|
|
|
+
|
|
|
+enum ExecutionMode {
|
|
|
+ ExecutionModeInvocations = 0,
|
|
|
+ ExecutionModeSpacingEqual = 1,
|
|
|
+ ExecutionModeSpacingFractionalEven = 2,
|
|
|
+ ExecutionModeSpacingFractionalOdd = 3,
|
|
|
+ ExecutionModeVertexOrderCw = 4,
|
|
|
+ ExecutionModeVertexOrderCcw = 5,
|
|
|
+ ExecutionModePixelCenterInteger = 6,
|
|
|
+ ExecutionModeOriginUpperLeft = 7,
|
|
|
+ ExecutionModeOriginLowerLeft = 8,
|
|
|
+ ExecutionModeEarlyFragmentTests = 9,
|
|
|
+ ExecutionModePointMode = 10,
|
|
|
+ ExecutionModeXfb = 11,
|
|
|
+ ExecutionModeDepthReplacing = 12,
|
|
|
+ ExecutionModeDepthGreater = 14,
|
|
|
+ ExecutionModeDepthLess = 15,
|
|
|
+ ExecutionModeDepthUnchanged = 16,
|
|
|
+ ExecutionModeLocalSize = 17,
|
|
|
+ ExecutionModeLocalSizeHint = 18,
|
|
|
+ ExecutionModeInputPoints = 19,
|
|
|
+ ExecutionModeInputLines = 20,
|
|
|
+ ExecutionModeInputLinesAdjacency = 21,
|
|
|
+ ExecutionModeTriangles = 22,
|
|
|
+ ExecutionModeInputTrianglesAdjacency = 23,
|
|
|
+ ExecutionModeQuads = 24,
|
|
|
+ ExecutionModeIsolines = 25,
|
|
|
+ ExecutionModeOutputVertices = 26,
|
|
|
+ ExecutionModeOutputPoints = 27,
|
|
|
+ ExecutionModeOutputLineStrip = 28,
|
|
|
+ ExecutionModeOutputTriangleStrip = 29,
|
|
|
+ ExecutionModeVecTypeHint = 30,
|
|
|
+ ExecutionModeContractionOff = 31,
|
|
|
+ ExecutionModeInitializer = 33,
|
|
|
+ ExecutionModeFinalizer = 34,
|
|
|
+ ExecutionModeSubgroupSize = 35,
|
|
|
+ ExecutionModeSubgroupsPerWorkgroup = 36,
|
|
|
+ ExecutionModeSubgroupsPerWorkgroupId = 37,
|
|
|
+ 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,
|
|
|
+ ExecutionModeMaxWorkgroupSizeINTEL = 5893,
|
|
|
+ ExecutionModeMaxWorkDimINTEL = 5894,
|
|
|
+ ExecutionModeNoGlobalOffsetINTEL = 5895,
|
|
|
+ ExecutionModeNumSIMDWorkitemsINTEL = 5896,
|
|
|
+ ExecutionModeMax = 0x7fffffff,
|
|
|
+};
|
|
|
+
|
|
|
+enum StorageClass {
|
|
|
+ StorageClassUniformConstant = 0,
|
|
|
+ StorageClassInput = 1,
|
|
|
+ StorageClassUniform = 2,
|
|
|
+ StorageClassOutput = 3,
|
|
|
+ StorageClassWorkgroup = 4,
|
|
|
+ StorageClassCrossWorkgroup = 5,
|
|
|
+ StorageClassPrivate = 6,
|
|
|
+ StorageClassFunction = 7,
|
|
|
+ StorageClassGeneric = 8,
|
|
|
+ StorageClassPushConstant = 9,
|
|
|
+ StorageClassAtomicCounter = 10,
|
|
|
+ StorageClassImage = 11,
|
|
|
+ StorageClassStorageBuffer = 12,
|
|
|
+ StorageClassCallableDataKHR = 5328,
|
|
|
+ StorageClassCallableDataNV = 5328,
|
|
|
+ StorageClassIncomingCallableDataKHR = 5329,
|
|
|
+ StorageClassIncomingCallableDataNV = 5329,
|
|
|
+ StorageClassRayPayloadKHR = 5338,
|
|
|
+ StorageClassRayPayloadNV = 5338,
|
|
|
+ StorageClassHitAttributeKHR = 5339,
|
|
|
+ StorageClassHitAttributeNV = 5339,
|
|
|
+ StorageClassIncomingRayPayloadKHR = 5342,
|
|
|
+ StorageClassIncomingRayPayloadNV = 5342,
|
|
|
+ StorageClassShaderRecordBufferKHR = 5343,
|
|
|
+ StorageClassShaderRecordBufferNV = 5343,
|
|
|
+ StorageClassPhysicalStorageBuffer = 5349,
|
|
|
+ StorageClassPhysicalStorageBufferEXT = 5349,
|
|
|
+ StorageClassCodeSectionINTEL = 5605,
|
|
|
+ StorageClassMax = 0x7fffffff,
|
|
|
+};
|
|
|
+
|
|
|
+enum Dim {
|
|
|
+ Dim1D = 0,
|
|
|
+ Dim2D = 1,
|
|
|
+ Dim3D = 2,
|
|
|
+ DimCube = 3,
|
|
|
+ DimRect = 4,
|
|
|
+ DimBuffer = 5,
|
|
|
+ DimSubpassData = 6,
|
|
|
+ DimMax = 0x7fffffff,
|
|
|
+};
|
|
|
+
|
|
|
+enum SamplerAddressingMode {
|
|
|
+ SamplerAddressingModeNone = 0,
|
|
|
+ SamplerAddressingModeClampToEdge = 1,
|
|
|
+ SamplerAddressingModeClamp = 2,
|
|
|
+ SamplerAddressingModeRepeat = 3,
|
|
|
+ SamplerAddressingModeRepeatMirrored = 4,
|
|
|
+ SamplerAddressingModeMax = 0x7fffffff,
|
|
|
+};
|
|
|
+
|
|
|
+enum SamplerFilterMode {
|
|
|
+ SamplerFilterModeNearest = 0,
|
|
|
+ SamplerFilterModeLinear = 1,
|
|
|
+ SamplerFilterModeMax = 0x7fffffff,
|
|
|
+};
|
|
|
+
|
|
|
+enum ImageFormat {
|
|
|
+ ImageFormatUnknown = 0,
|
|
|
+ ImageFormatRgba32f = 1,
|
|
|
+ ImageFormatRgba16f = 2,
|
|
|
+ ImageFormatR32f = 3,
|
|
|
+ ImageFormatRgba8 = 4,
|
|
|
+ ImageFormatRgba8Snorm = 5,
|
|
|
+ ImageFormatRg32f = 6,
|
|
|
+ ImageFormatRg16f = 7,
|
|
|
+ ImageFormatR11fG11fB10f = 8,
|
|
|
+ ImageFormatR16f = 9,
|
|
|
+ ImageFormatRgba16 = 10,
|
|
|
+ ImageFormatRgb10A2 = 11,
|
|
|
+ ImageFormatRg16 = 12,
|
|
|
+ ImageFormatRg8 = 13,
|
|
|
+ ImageFormatR16 = 14,
|
|
|
+ ImageFormatR8 = 15,
|
|
|
+ ImageFormatRgba16Snorm = 16,
|
|
|
+ ImageFormatRg16Snorm = 17,
|
|
|
+ ImageFormatRg8Snorm = 18,
|
|
|
+ ImageFormatR16Snorm = 19,
|
|
|
+ ImageFormatR8Snorm = 20,
|
|
|
+ ImageFormatRgba32i = 21,
|
|
|
+ ImageFormatRgba16i = 22,
|
|
|
+ ImageFormatRgba8i = 23,
|
|
|
+ ImageFormatR32i = 24,
|
|
|
+ ImageFormatRg32i = 25,
|
|
|
+ ImageFormatRg16i = 26,
|
|
|
+ ImageFormatRg8i = 27,
|
|
|
+ ImageFormatR16i = 28,
|
|
|
+ ImageFormatR8i = 29,
|
|
|
+ ImageFormatRgba32ui = 30,
|
|
|
+ ImageFormatRgba16ui = 31,
|
|
|
+ ImageFormatRgba8ui = 32,
|
|
|
+ ImageFormatR32ui = 33,
|
|
|
+ ImageFormatRgb10a2ui = 34,
|
|
|
+ ImageFormatRg32ui = 35,
|
|
|
+ ImageFormatRg16ui = 36,
|
|
|
+ ImageFormatRg8ui = 37,
|
|
|
+ ImageFormatR16ui = 38,
|
|
|
+ ImageFormatR8ui = 39,
|
|
|
+ ImageFormatMax = 0x7fffffff,
|
|
|
+};
|
|
|
+
|
|
|
+enum ImageChannelOrder {
|
|
|
+ ImageChannelOrderR = 0,
|
|
|
+ ImageChannelOrderA = 1,
|
|
|
+ ImageChannelOrderRG = 2,
|
|
|
+ ImageChannelOrderRA = 3,
|
|
|
+ ImageChannelOrderRGB = 4,
|
|
|
+ ImageChannelOrderRGBA = 5,
|
|
|
+ ImageChannelOrderBGRA = 6,
|
|
|
+ ImageChannelOrderARGB = 7,
|
|
|
+ ImageChannelOrderIntensity = 8,
|
|
|
+ ImageChannelOrderLuminance = 9,
|
|
|
+ ImageChannelOrderRx = 10,
|
|
|
+ ImageChannelOrderRGx = 11,
|
|
|
+ ImageChannelOrderRGBx = 12,
|
|
|
+ ImageChannelOrderDepth = 13,
|
|
|
+ ImageChannelOrderDepthStencil = 14,
|
|
|
+ ImageChannelOrdersRGB = 15,
|
|
|
+ ImageChannelOrdersRGBx = 16,
|
|
|
+ ImageChannelOrdersRGBA = 17,
|
|
|
+ ImageChannelOrdersBGRA = 18,
|
|
|
+ ImageChannelOrderABGR = 19,
|
|
|
+ ImageChannelOrderMax = 0x7fffffff,
|
|
|
+};
|
|
|
+
|
|
|
+enum ImageChannelDataType {
|
|
|
+ ImageChannelDataTypeSnormInt8 = 0,
|
|
|
+ ImageChannelDataTypeSnormInt16 = 1,
|
|
|
+ ImageChannelDataTypeUnormInt8 = 2,
|
|
|
+ ImageChannelDataTypeUnormInt16 = 3,
|
|
|
+ ImageChannelDataTypeUnormShort565 = 4,
|
|
|
+ ImageChannelDataTypeUnormShort555 = 5,
|
|
|
+ ImageChannelDataTypeUnormInt101010 = 6,
|
|
|
+ ImageChannelDataTypeSignedInt8 = 7,
|
|
|
+ ImageChannelDataTypeSignedInt16 = 8,
|
|
|
+ ImageChannelDataTypeSignedInt32 = 9,
|
|
|
+ ImageChannelDataTypeUnsignedInt8 = 10,
|
|
|
+ ImageChannelDataTypeUnsignedInt16 = 11,
|
|
|
+ ImageChannelDataTypeUnsignedInt32 = 12,
|
|
|
+ ImageChannelDataTypeHalfFloat = 13,
|
|
|
+ ImageChannelDataTypeFloat = 14,
|
|
|
+ ImageChannelDataTypeUnormInt24 = 15,
|
|
|
+ ImageChannelDataTypeUnormInt101010_2 = 16,
|
|
|
+ ImageChannelDataTypeMax = 0x7fffffff,
|
|
|
+};
|
|
|
+
|
|
|
+enum ImageOperandsShift {
|
|
|
+ ImageOperandsBiasShift = 0,
|
|
|
+ ImageOperandsLodShift = 1,
|
|
|
+ ImageOperandsGradShift = 2,
|
|
|
+ ImageOperandsConstOffsetShift = 3,
|
|
|
+ ImageOperandsOffsetShift = 4,
|
|
|
+ ImageOperandsConstOffsetsShift = 5,
|
|
|
+ ImageOperandsSampleShift = 6,
|
|
|
+ ImageOperandsMinLodShift = 7,
|
|
|
+ ImageOperandsMakeTexelAvailableShift = 8,
|
|
|
+ ImageOperandsMakeTexelAvailableKHRShift = 8,
|
|
|
+ ImageOperandsMakeTexelVisibleShift = 9,
|
|
|
+ ImageOperandsMakeTexelVisibleKHRShift = 9,
|
|
|
+ ImageOperandsNonPrivateTexelShift = 10,
|
|
|
+ ImageOperandsNonPrivateTexelKHRShift = 10,
|
|
|
+ ImageOperandsVolatileTexelShift = 11,
|
|
|
+ ImageOperandsVolatileTexelKHRShift = 11,
|
|
|
+ ImageOperandsSignExtendShift = 12,
|
|
|
+ ImageOperandsZeroExtendShift = 13,
|
|
|
+ ImageOperandsMax = 0x7fffffff,
|
|
|
+};
|
|
|
+
|
|
|
+enum ImageOperandsMask {
|
|
|
+ ImageOperandsMaskNone = 0,
|
|
|
+ ImageOperandsBiasMask = 0x00000001,
|
|
|
+ ImageOperandsLodMask = 0x00000002,
|
|
|
+ ImageOperandsGradMask = 0x00000004,
|
|
|
+ ImageOperandsConstOffsetMask = 0x00000008,
|
|
|
+ ImageOperandsOffsetMask = 0x00000010,
|
|
|
+ ImageOperandsConstOffsetsMask = 0x00000020,
|
|
|
+ ImageOperandsSampleMask = 0x00000040,
|
|
|
+ ImageOperandsMinLodMask = 0x00000080,
|
|
|
+ ImageOperandsMakeTexelAvailableMask = 0x00000100,
|
|
|
+ ImageOperandsMakeTexelAvailableKHRMask = 0x00000100,
|
|
|
+ ImageOperandsMakeTexelVisibleMask = 0x00000200,
|
|
|
+ ImageOperandsMakeTexelVisibleKHRMask = 0x00000200,
|
|
|
+ ImageOperandsNonPrivateTexelMask = 0x00000400,
|
|
|
+ ImageOperandsNonPrivateTexelKHRMask = 0x00000400,
|
|
|
+ ImageOperandsVolatileTexelMask = 0x00000800,
|
|
|
+ ImageOperandsVolatileTexelKHRMask = 0x00000800,
|
|
|
+ ImageOperandsSignExtendMask = 0x00001000,
|
|
|
+ ImageOperandsZeroExtendMask = 0x00002000,
|
|
|
+};
|
|
|
+
|
|
|
+enum FPFastMathModeShift {
|
|
|
+ FPFastMathModeNotNaNShift = 0,
|
|
|
+ FPFastMathModeNotInfShift = 1,
|
|
|
+ FPFastMathModeNSZShift = 2,
|
|
|
+ FPFastMathModeAllowRecipShift = 3,
|
|
|
+ FPFastMathModeFastShift = 4,
|
|
|
+ FPFastMathModeMax = 0x7fffffff,
|
|
|
+};
|
|
|
+
|
|
|
+enum FPFastMathModeMask {
|
|
|
+ FPFastMathModeMaskNone = 0,
|
|
|
+ FPFastMathModeNotNaNMask = 0x00000001,
|
|
|
+ FPFastMathModeNotInfMask = 0x00000002,
|
|
|
+ FPFastMathModeNSZMask = 0x00000004,
|
|
|
+ FPFastMathModeAllowRecipMask = 0x00000008,
|
|
|
+ FPFastMathModeFastMask = 0x00000010,
|
|
|
+};
|
|
|
+
|
|
|
+enum FPRoundingMode {
|
|
|
+ FPRoundingModeRTE = 0,
|
|
|
+ FPRoundingModeRTZ = 1,
|
|
|
+ FPRoundingModeRTP = 2,
|
|
|
+ FPRoundingModeRTN = 3,
|
|
|
+ FPRoundingModeMax = 0x7fffffff,
|
|
|
+};
|
|
|
+
|
|
|
+enum LinkageType {
|
|
|
+ LinkageTypeExport = 0,
|
|
|
+ LinkageTypeImport = 1,
|
|
|
+ LinkageTypeMax = 0x7fffffff,
|
|
|
+};
|
|
|
+
|
|
|
+enum AccessQualifier {
|
|
|
+ AccessQualifierReadOnly = 0,
|
|
|
+ AccessQualifierWriteOnly = 1,
|
|
|
+ AccessQualifierReadWrite = 2,
|
|
|
+ AccessQualifierMax = 0x7fffffff,
|
|
|
+};
|
|
|
+
|
|
|
+enum FunctionParameterAttribute {
|
|
|
+ FunctionParameterAttributeZext = 0,
|
|
|
+ FunctionParameterAttributeSext = 1,
|
|
|
+ FunctionParameterAttributeByVal = 2,
|
|
|
+ FunctionParameterAttributeSret = 3,
|
|
|
+ FunctionParameterAttributeNoAlias = 4,
|
|
|
+ FunctionParameterAttributeNoCapture = 5,
|
|
|
+ FunctionParameterAttributeNoWrite = 6,
|
|
|
+ FunctionParameterAttributeNoReadWrite = 7,
|
|
|
+ FunctionParameterAttributeMax = 0x7fffffff,
|
|
|
+};
|
|
|
+
|
|
|
+enum Decoration {
|
|
|
+ DecorationRelaxedPrecision = 0,
|
|
|
+ DecorationSpecId = 1,
|
|
|
+ DecorationBlock = 2,
|
|
|
+ DecorationBufferBlock = 3,
|
|
|
+ DecorationRowMajor = 4,
|
|
|
+ DecorationColMajor = 5,
|
|
|
+ DecorationArrayStride = 6,
|
|
|
+ DecorationMatrixStride = 7,
|
|
|
+ DecorationGLSLShared = 8,
|
|
|
+ DecorationGLSLPacked = 9,
|
|
|
+ DecorationCPacked = 10,
|
|
|
+ DecorationBuiltIn = 11,
|
|
|
+ DecorationNoPerspective = 13,
|
|
|
+ DecorationFlat = 14,
|
|
|
+ DecorationPatch = 15,
|
|
|
+ DecorationCentroid = 16,
|
|
|
+ DecorationSample = 17,
|
|
|
+ DecorationInvariant = 18,
|
|
|
+ DecorationRestrict = 19,
|
|
|
+ DecorationAliased = 20,
|
|
|
+ DecorationVolatile = 21,
|
|
|
+ DecorationConstant = 22,
|
|
|
+ DecorationCoherent = 23,
|
|
|
+ DecorationNonWritable = 24,
|
|
|
+ DecorationNonReadable = 25,
|
|
|
+ DecorationUniform = 26,
|
|
|
+ DecorationUniformId = 27,
|
|
|
+ DecorationSaturatedConversion = 28,
|
|
|
+ DecorationStream = 29,
|
|
|
+ DecorationLocation = 30,
|
|
|
+ DecorationComponent = 31,
|
|
|
+ DecorationIndex = 32,
|
|
|
+ DecorationBinding = 33,
|
|
|
+ DecorationDescriptorSet = 34,
|
|
|
+ DecorationOffset = 35,
|
|
|
+ DecorationXfbBuffer = 36,
|
|
|
+ DecorationXfbStride = 37,
|
|
|
+ DecorationFuncParamAttr = 38,
|
|
|
+ DecorationFPRoundingMode = 39,
|
|
|
+ DecorationFPFastMathMode = 40,
|
|
|
+ DecorationLinkageAttributes = 41,
|
|
|
+ DecorationNoContraction = 42,
|
|
|
+ DecorationInputAttachmentIndex = 43,
|
|
|
+ DecorationAlignment = 44,
|
|
|
+ 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,
|
|
|
+ DecorationNonUniform = 5300,
|
|
|
+ DecorationNonUniformEXT = 5300,
|
|
|
+ DecorationRestrictPointer = 5355,
|
|
|
+ DecorationRestrictPointerEXT = 5355,
|
|
|
+ DecorationAliasedPointer = 5356,
|
|
|
+ DecorationAliasedPointerEXT = 5356,
|
|
|
+ DecorationReferencedIndirectlyINTEL = 5602,
|
|
|
+ DecorationCounterBuffer = 5634,
|
|
|
+ DecorationHlslCounterBufferGOOGLE = 5634,
|
|
|
+ DecorationHlslSemanticGOOGLE = 5635,
|
|
|
+ DecorationUserSemantic = 5635,
|
|
|
+ DecorationUserTypeGOOGLE = 5636,
|
|
|
+ DecorationRegisterINTEL = 5825,
|
|
|
+ DecorationMemoryINTEL = 5826,
|
|
|
+ DecorationNumbanksINTEL = 5827,
|
|
|
+ DecorationBankwidthINTEL = 5828,
|
|
|
+ DecorationMaxPrivateCopiesINTEL = 5829,
|
|
|
+ DecorationSinglepumpINTEL = 5830,
|
|
|
+ DecorationDoublepumpINTEL = 5831,
|
|
|
+ DecorationMaxReplicatesINTEL = 5832,
|
|
|
+ DecorationSimpleDualPortINTEL = 5833,
|
|
|
+ DecorationMergeINTEL = 5834,
|
|
|
+ DecorationBankBitsINTEL = 5835,
|
|
|
+ DecorationForcePow2DepthINTEL = 5836,
|
|
|
+ DecorationMax = 0x7fffffff,
|
|
|
+};
|
|
|
+
|
|
|
+enum BuiltIn {
|
|
|
+ BuiltInPosition = 0,
|
|
|
+ BuiltInPointSize = 1,
|
|
|
+ BuiltInClipDistance = 3,
|
|
|
+ BuiltInCullDistance = 4,
|
|
|
+ BuiltInVertexId = 5,
|
|
|
+ BuiltInInstanceId = 6,
|
|
|
+ BuiltInPrimitiveId = 7,
|
|
|
+ BuiltInInvocationId = 8,
|
|
|
+ BuiltInLayer = 9,
|
|
|
+ BuiltInViewportIndex = 10,
|
|
|
+ BuiltInTessLevelOuter = 11,
|
|
|
+ BuiltInTessLevelInner = 12,
|
|
|
+ BuiltInTessCoord = 13,
|
|
|
+ BuiltInPatchVertices = 14,
|
|
|
+ BuiltInFragCoord = 15,
|
|
|
+ BuiltInPointCoord = 16,
|
|
|
+ BuiltInFrontFacing = 17,
|
|
|
+ BuiltInSampleId = 18,
|
|
|
+ BuiltInSamplePosition = 19,
|
|
|
+ BuiltInSampleMask = 20,
|
|
|
+ BuiltInFragDepth = 22,
|
|
|
+ BuiltInHelperInvocation = 23,
|
|
|
+ BuiltInNumWorkgroups = 24,
|
|
|
+ BuiltInWorkgroupSize = 25,
|
|
|
+ BuiltInWorkgroupId = 26,
|
|
|
+ BuiltInLocalInvocationId = 27,
|
|
|
+ BuiltInGlobalInvocationId = 28,
|
|
|
+ BuiltInLocalInvocationIndex = 29,
|
|
|
+ BuiltInWorkDim = 30,
|
|
|
+ BuiltInGlobalSize = 31,
|
|
|
+ BuiltInEnqueuedWorkgroupSize = 32,
|
|
|
+ BuiltInGlobalOffset = 33,
|
|
|
+ BuiltInGlobalLinearId = 34,
|
|
|
+ BuiltInSubgroupSize = 36,
|
|
|
+ BuiltInSubgroupMaxSize = 37,
|
|
|
+ BuiltInNumSubgroups = 38,
|
|
|
+ BuiltInNumEnqueuedSubgroups = 39,
|
|
|
+ BuiltInSubgroupId = 40,
|
|
|
+ BuiltInSubgroupLocalInvocationId = 41,
|
|
|
+ BuiltInVertexIndex = 42,
|
|
|
+ BuiltInInstanceIndex = 43,
|
|
|
+ BuiltInSubgroupEqMask = 4416,
|
|
|
+ BuiltInSubgroupEqMaskKHR = 4416,
|
|
|
+ BuiltInSubgroupGeMask = 4417,
|
|
|
+ BuiltInSubgroupGeMaskKHR = 4417,
|
|
|
+ BuiltInSubgroupGtMask = 4418,
|
|
|
+ BuiltInSubgroupGtMaskKHR = 4418,
|
|
|
+ BuiltInSubgroupLeMask = 4419,
|
|
|
+ BuiltInSubgroupLeMaskKHR = 4419,
|
|
|
+ BuiltInSubgroupLtMask = 4420,
|
|
|
+ BuiltInSubgroupLtMaskKHR = 4420,
|
|
|
+ BuiltInBaseVertex = 4424,
|
|
|
+ BuiltInBaseInstance = 4425,
|
|
|
+ BuiltInDrawIndex = 4426,
|
|
|
+ BuiltInDeviceIndex = 4438,
|
|
|
+ BuiltInViewIndex = 4440,
|
|
|
+ BuiltInBaryCoordNoPerspAMD = 4992,
|
|
|
+ BuiltInBaryCoordNoPerspCentroidAMD = 4993,
|
|
|
+ BuiltInBaryCoordNoPerspSampleAMD = 4994,
|
|
|
+ BuiltInBaryCoordSmoothAMD = 4995,
|
|
|
+ BuiltInBaryCoordSmoothCentroidAMD = 4996,
|
|
|
+ BuiltInBaryCoordSmoothSampleAMD = 4997,
|
|
|
+ BuiltInBaryCoordPullModelAMD = 4998,
|
|
|
+ BuiltInFragStencilRefEXT = 5014,
|
|
|
+ BuiltInViewportMaskNV = 5253,
|
|
|
+ BuiltInSecondaryPositionNV = 5257,
|
|
|
+ BuiltInSecondaryViewportMaskNV = 5258,
|
|
|
+ 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,
|
|
|
+ BuiltInLaunchIdKHR = 5319,
|
|
|
+ BuiltInLaunchIdNV = 5319,
|
|
|
+ BuiltInLaunchSizeKHR = 5320,
|
|
|
+ BuiltInLaunchSizeNV = 5320,
|
|
|
+ BuiltInWorldRayOriginKHR = 5321,
|
|
|
+ BuiltInWorldRayOriginNV = 5321,
|
|
|
+ BuiltInWorldRayDirectionKHR = 5322,
|
|
|
+ BuiltInWorldRayDirectionNV = 5322,
|
|
|
+ BuiltInObjectRayOriginKHR = 5323,
|
|
|
+ BuiltInObjectRayOriginNV = 5323,
|
|
|
+ BuiltInObjectRayDirectionKHR = 5324,
|
|
|
+ BuiltInObjectRayDirectionNV = 5324,
|
|
|
+ BuiltInRayTminKHR = 5325,
|
|
|
+ BuiltInRayTminNV = 5325,
|
|
|
+ BuiltInRayTmaxKHR = 5326,
|
|
|
+ BuiltInRayTmaxNV = 5326,
|
|
|
+ BuiltInInstanceCustomIndexKHR = 5327,
|
|
|
+ BuiltInInstanceCustomIndexNV = 5327,
|
|
|
+ BuiltInObjectToWorldKHR = 5330,
|
|
|
+ BuiltInObjectToWorldNV = 5330,
|
|
|
+ BuiltInWorldToObjectKHR = 5331,
|
|
|
+ BuiltInWorldToObjectNV = 5331,
|
|
|
+ BuiltInHitTKHR = 5332,
|
|
|
+ BuiltInHitTNV = 5332,
|
|
|
+ BuiltInHitKindKHR = 5333,
|
|
|
+ BuiltInHitKindNV = 5333,
|
|
|
+ BuiltInIncomingRayFlagsKHR = 5351,
|
|
|
+ BuiltInIncomingRayFlagsNV = 5351,
|
|
|
+ BuiltInRayGeometryIndexKHR = 5352,
|
|
|
+ BuiltInWarpsPerSMNV = 5374,
|
|
|
+ BuiltInSMCountNV = 5375,
|
|
|
+ BuiltInWarpIDNV = 5376,
|
|
|
+ BuiltInSMIDNV = 5377,
|
|
|
+ BuiltInMax = 0x7fffffff,
|
|
|
+};
|
|
|
+
|
|
|
+enum SelectionControlShift {
|
|
|
+ SelectionControlFlattenShift = 0,
|
|
|
+ SelectionControlDontFlattenShift = 1,
|
|
|
+ SelectionControlMax = 0x7fffffff,
|
|
|
+};
|
|
|
+
|
|
|
+enum SelectionControlMask {
|
|
|
+ SelectionControlMaskNone = 0,
|
|
|
+ SelectionControlFlattenMask = 0x00000001,
|
|
|
+ SelectionControlDontFlattenMask = 0x00000002,
|
|
|
+};
|
|
|
+
|
|
|
+enum LoopControlShift {
|
|
|
+ LoopControlUnrollShift = 0,
|
|
|
+ LoopControlDontUnrollShift = 1,
|
|
|
+ LoopControlDependencyInfiniteShift = 2,
|
|
|
+ LoopControlDependencyLengthShift = 3,
|
|
|
+ LoopControlMinIterationsShift = 4,
|
|
|
+ LoopControlMaxIterationsShift = 5,
|
|
|
+ LoopControlIterationMultipleShift = 6,
|
|
|
+ LoopControlPeelCountShift = 7,
|
|
|
+ LoopControlPartialCountShift = 8,
|
|
|
+ LoopControlInitiationIntervalINTELShift = 16,
|
|
|
+ LoopControlMaxConcurrencyINTELShift = 17,
|
|
|
+ LoopControlDependencyArrayINTELShift = 18,
|
|
|
+ LoopControlPipelineEnableINTELShift = 19,
|
|
|
+ LoopControlLoopCoalesceINTELShift = 20,
|
|
|
+ LoopControlMaxInterleavingINTELShift = 21,
|
|
|
+ LoopControlSpeculatedIterationsINTELShift = 22,
|
|
|
+ LoopControlMax = 0x7fffffff,
|
|
|
+};
|
|
|
+
|
|
|
+enum LoopControlMask {
|
|
|
+ LoopControlMaskNone = 0,
|
|
|
+ LoopControlUnrollMask = 0x00000001,
|
|
|
+ LoopControlDontUnrollMask = 0x00000002,
|
|
|
+ LoopControlDependencyInfiniteMask = 0x00000004,
|
|
|
+ LoopControlDependencyLengthMask = 0x00000008,
|
|
|
+ LoopControlMinIterationsMask = 0x00000010,
|
|
|
+ LoopControlMaxIterationsMask = 0x00000020,
|
|
|
+ LoopControlIterationMultipleMask = 0x00000040,
|
|
|
+ LoopControlPeelCountMask = 0x00000080,
|
|
|
+ LoopControlPartialCountMask = 0x00000100,
|
|
|
+ LoopControlInitiationIntervalINTELMask = 0x00010000,
|
|
|
+ LoopControlMaxConcurrencyINTELMask = 0x00020000,
|
|
|
+ LoopControlDependencyArrayINTELMask = 0x00040000,
|
|
|
+ LoopControlPipelineEnableINTELMask = 0x00080000,
|
|
|
+ LoopControlLoopCoalesceINTELMask = 0x00100000,
|
|
|
+ LoopControlMaxInterleavingINTELMask = 0x00200000,
|
|
|
+ LoopControlSpeculatedIterationsINTELMask = 0x00400000,
|
|
|
+};
|
|
|
+
|
|
|
+enum FunctionControlShift {
|
|
|
+ FunctionControlInlineShift = 0,
|
|
|
+ FunctionControlDontInlineShift = 1,
|
|
|
+ FunctionControlPureShift = 2,
|
|
|
+ FunctionControlConstShift = 3,
|
|
|
+ FunctionControlMax = 0x7fffffff,
|
|
|
+};
|
|
|
+
|
|
|
+enum FunctionControlMask {
|
|
|
+ FunctionControlMaskNone = 0,
|
|
|
+ FunctionControlInlineMask = 0x00000001,
|
|
|
+ FunctionControlDontInlineMask = 0x00000002,
|
|
|
+ FunctionControlPureMask = 0x00000004,
|
|
|
+ FunctionControlConstMask = 0x00000008,
|
|
|
+};
|
|
|
+
|
|
|
+enum MemorySemanticsShift {
|
|
|
+ MemorySemanticsAcquireShift = 1,
|
|
|
+ MemorySemanticsReleaseShift = 2,
|
|
|
+ MemorySemanticsAcquireReleaseShift = 3,
|
|
|
+ MemorySemanticsSequentiallyConsistentShift = 4,
|
|
|
+ MemorySemanticsUniformMemoryShift = 6,
|
|
|
+ MemorySemanticsSubgroupMemoryShift = 7,
|
|
|
+ MemorySemanticsWorkgroupMemoryShift = 8,
|
|
|
+ MemorySemanticsCrossWorkgroupMemoryShift = 9,
|
|
|
+ MemorySemanticsAtomicCounterMemoryShift = 10,
|
|
|
+ MemorySemanticsImageMemoryShift = 11,
|
|
|
+ MemorySemanticsOutputMemoryShift = 12,
|
|
|
+ MemorySemanticsOutputMemoryKHRShift = 12,
|
|
|
+ MemorySemanticsMakeAvailableShift = 13,
|
|
|
+ MemorySemanticsMakeAvailableKHRShift = 13,
|
|
|
+ MemorySemanticsMakeVisibleShift = 14,
|
|
|
+ MemorySemanticsMakeVisibleKHRShift = 14,
|
|
|
+ MemorySemanticsVolatileShift = 15,
|
|
|
+ MemorySemanticsMax = 0x7fffffff,
|
|
|
+};
|
|
|
+
|
|
|
+enum MemorySemanticsMask {
|
|
|
+ MemorySemanticsMaskNone = 0,
|
|
|
+ MemorySemanticsAcquireMask = 0x00000002,
|
|
|
+ MemorySemanticsReleaseMask = 0x00000004,
|
|
|
+ MemorySemanticsAcquireReleaseMask = 0x00000008,
|
|
|
+ MemorySemanticsSequentiallyConsistentMask = 0x00000010,
|
|
|
+ MemorySemanticsUniformMemoryMask = 0x00000040,
|
|
|
+ MemorySemanticsSubgroupMemoryMask = 0x00000080,
|
|
|
+ MemorySemanticsWorkgroupMemoryMask = 0x00000100,
|
|
|
+ MemorySemanticsCrossWorkgroupMemoryMask = 0x00000200,
|
|
|
+ MemorySemanticsAtomicCounterMemoryMask = 0x00000400,
|
|
|
+ MemorySemanticsImageMemoryMask = 0x00000800,
|
|
|
+ MemorySemanticsOutputMemoryMask = 0x00001000,
|
|
|
+ MemorySemanticsOutputMemoryKHRMask = 0x00001000,
|
|
|
+ MemorySemanticsMakeAvailableMask = 0x00002000,
|
|
|
+ MemorySemanticsMakeAvailableKHRMask = 0x00002000,
|
|
|
+ MemorySemanticsMakeVisibleMask = 0x00004000,
|
|
|
+ MemorySemanticsMakeVisibleKHRMask = 0x00004000,
|
|
|
+ MemorySemanticsVolatileMask = 0x00008000,
|
|
|
+};
|
|
|
+
|
|
|
+enum MemoryAccessShift {
|
|
|
+ MemoryAccessVolatileShift = 0,
|
|
|
+ MemoryAccessAlignedShift = 1,
|
|
|
+ MemoryAccessNontemporalShift = 2,
|
|
|
+ MemoryAccessMakePointerAvailableShift = 3,
|
|
|
+ MemoryAccessMakePointerAvailableKHRShift = 3,
|
|
|
+ MemoryAccessMakePointerVisibleShift = 4,
|
|
|
+ MemoryAccessMakePointerVisibleKHRShift = 4,
|
|
|
+ MemoryAccessNonPrivatePointerShift = 5,
|
|
|
+ MemoryAccessNonPrivatePointerKHRShift = 5,
|
|
|
+ MemoryAccessMax = 0x7fffffff,
|
|
|
+};
|
|
|
+
|
|
|
+enum MemoryAccessMask {
|
|
|
+ MemoryAccessMaskNone = 0,
|
|
|
+ MemoryAccessVolatileMask = 0x00000001,
|
|
|
+ MemoryAccessAlignedMask = 0x00000002,
|
|
|
+ MemoryAccessNontemporalMask = 0x00000004,
|
|
|
+ MemoryAccessMakePointerAvailableMask = 0x00000008,
|
|
|
+ MemoryAccessMakePointerAvailableKHRMask = 0x00000008,
|
|
|
+ MemoryAccessMakePointerVisibleMask = 0x00000010,
|
|
|
+ MemoryAccessMakePointerVisibleKHRMask = 0x00000010,
|
|
|
+ MemoryAccessNonPrivatePointerMask = 0x00000020,
|
|
|
+ MemoryAccessNonPrivatePointerKHRMask = 0x00000020,
|
|
|
+};
|
|
|
+
|
|
|
+enum Scope {
|
|
|
+ ScopeCrossDevice = 0,
|
|
|
+ ScopeDevice = 1,
|
|
|
+ ScopeWorkgroup = 2,
|
|
|
+ ScopeSubgroup = 3,
|
|
|
+ ScopeInvocation = 4,
|
|
|
+ ScopeQueueFamily = 5,
|
|
|
+ ScopeQueueFamilyKHR = 5,
|
|
|
+ ScopeShaderCallKHR = 6,
|
|
|
+ ScopeMax = 0x7fffffff,
|
|
|
+};
|
|
|
+
|
|
|
+enum GroupOperation {
|
|
|
+ GroupOperationReduce = 0,
|
|
|
+ GroupOperationInclusiveScan = 1,
|
|
|
+ GroupOperationExclusiveScan = 2,
|
|
|
+ GroupOperationClusteredReduce = 3,
|
|
|
+ GroupOperationPartitionedReduceNV = 6,
|
|
|
+ GroupOperationPartitionedInclusiveScanNV = 7,
|
|
|
+ GroupOperationPartitionedExclusiveScanNV = 8,
|
|
|
+ GroupOperationMax = 0x7fffffff,
|
|
|
+};
|
|
|
+
|
|
|
+enum KernelEnqueueFlags {
|
|
|
+ KernelEnqueueFlagsNoWait = 0,
|
|
|
+ KernelEnqueueFlagsWaitKernel = 1,
|
|
|
+ KernelEnqueueFlagsWaitWorkGroup = 2,
|
|
|
+ KernelEnqueueFlagsMax = 0x7fffffff,
|
|
|
+};
|
|
|
+
|
|
|
+enum KernelProfilingInfoShift {
|
|
|
+ KernelProfilingInfoCmdExecTimeShift = 0,
|
|
|
+ KernelProfilingInfoMax = 0x7fffffff,
|
|
|
+};
|
|
|
+
|
|
|
+enum KernelProfilingInfoMask {
|
|
|
+ KernelProfilingInfoMaskNone = 0,
|
|
|
+ KernelProfilingInfoCmdExecTimeMask = 0x00000001,
|
|
|
+};
|
|
|
+
|
|
|
+enum Capability {
|
|
|
+ CapabilityMatrix = 0,
|
|
|
+ CapabilityShader = 1,
|
|
|
+ CapabilityGeometry = 2,
|
|
|
+ CapabilityTessellation = 3,
|
|
|
+ CapabilityAddresses = 4,
|
|
|
+ CapabilityLinkage = 5,
|
|
|
+ CapabilityKernel = 6,
|
|
|
+ CapabilityVector16 = 7,
|
|
|
+ CapabilityFloat16Buffer = 8,
|
|
|
+ CapabilityFloat16 = 9,
|
|
|
+ CapabilityFloat64 = 10,
|
|
|
+ CapabilityInt64 = 11,
|
|
|
+ CapabilityInt64Atomics = 12,
|
|
|
+ CapabilityImageBasic = 13,
|
|
|
+ CapabilityImageReadWrite = 14,
|
|
|
+ CapabilityImageMipmap = 15,
|
|
|
+ CapabilityPipes = 17,
|
|
|
+ CapabilityGroups = 18,
|
|
|
+ CapabilityDeviceEnqueue = 19,
|
|
|
+ CapabilityLiteralSampler = 20,
|
|
|
+ CapabilityAtomicStorage = 21,
|
|
|
+ CapabilityInt16 = 22,
|
|
|
+ CapabilityTessellationPointSize = 23,
|
|
|
+ CapabilityGeometryPointSize = 24,
|
|
|
+ CapabilityImageGatherExtended = 25,
|
|
|
+ CapabilityStorageImageMultisample = 27,
|
|
|
+ CapabilityUniformBufferArrayDynamicIndexing = 28,
|
|
|
+ CapabilitySampledImageArrayDynamicIndexing = 29,
|
|
|
+ CapabilityStorageBufferArrayDynamicIndexing = 30,
|
|
|
+ CapabilityStorageImageArrayDynamicIndexing = 31,
|
|
|
+ CapabilityClipDistance = 32,
|
|
|
+ CapabilityCullDistance = 33,
|
|
|
+ CapabilityImageCubeArray = 34,
|
|
|
+ CapabilitySampleRateShading = 35,
|
|
|
+ CapabilityImageRect = 36,
|
|
|
+ CapabilitySampledRect = 37,
|
|
|
+ CapabilityGenericPointer = 38,
|
|
|
+ CapabilityInt8 = 39,
|
|
|
+ CapabilityInputAttachment = 40,
|
|
|
+ CapabilitySparseResidency = 41,
|
|
|
+ CapabilityMinLod = 42,
|
|
|
+ CapabilitySampled1D = 43,
|
|
|
+ CapabilityImage1D = 44,
|
|
|
+ CapabilitySampledCubeArray = 45,
|
|
|
+ CapabilitySampledBuffer = 46,
|
|
|
+ CapabilityImageBuffer = 47,
|
|
|
+ CapabilityImageMSArray = 48,
|
|
|
+ CapabilityStorageImageExtendedFormats = 49,
|
|
|
+ CapabilityImageQuery = 50,
|
|
|
+ CapabilityDerivativeControl = 51,
|
|
|
+ CapabilityInterpolationFunction = 52,
|
|
|
+ CapabilityTransformFeedback = 53,
|
|
|
+ CapabilityGeometryStreams = 54,
|
|
|
+ CapabilityStorageImageReadWithoutFormat = 55,
|
|
|
+ CapabilityStorageImageWriteWithoutFormat = 56,
|
|
|
+ CapabilityMultiViewport = 57,
|
|
|
+ CapabilitySubgroupDispatch = 58,
|
|
|
+ CapabilityNamedBarrier = 59,
|
|
|
+ CapabilityPipeStorage = 60,
|
|
|
+ CapabilityGroupNonUniform = 61,
|
|
|
+ CapabilityGroupNonUniformVote = 62,
|
|
|
+ CapabilityGroupNonUniformArithmetic = 63,
|
|
|
+ CapabilityGroupNonUniformBallot = 64,
|
|
|
+ CapabilityGroupNonUniformShuffle = 65,
|
|
|
+ CapabilityGroupNonUniformShuffleRelative = 66,
|
|
|
+ CapabilityGroupNonUniformClustered = 67,
|
|
|
+ CapabilityGroupNonUniformQuad = 68,
|
|
|
+ CapabilityShaderLayer = 69,
|
|
|
+ CapabilityShaderViewportIndex = 70,
|
|
|
+ CapabilitySubgroupBallotKHR = 4423,
|
|
|
+ CapabilityDrawParameters = 4427,
|
|
|
+ CapabilitySubgroupVoteKHR = 4431,
|
|
|
+ CapabilityStorageBuffer16BitAccess = 4433,
|
|
|
+ CapabilityStorageUniformBufferBlock16 = 4433,
|
|
|
+ CapabilityStorageUniform16 = 4434,
|
|
|
+ CapabilityUniformAndStorageBuffer16BitAccess = 4434,
|
|
|
+ CapabilityStoragePushConstant16 = 4435,
|
|
|
+ CapabilityStorageInputOutput16 = 4436,
|
|
|
+ CapabilityDeviceGroup = 4437,
|
|
|
+ CapabilityMultiView = 4439,
|
|
|
+ CapabilityVariablePointersStorageBuffer = 4441,
|
|
|
+ CapabilityVariablePointers = 4442,
|
|
|
+ CapabilityAtomicStorageOps = 4445,
|
|
|
+ CapabilitySampleMaskPostDepthCoverage = 4447,
|
|
|
+ CapabilityStorageBuffer8BitAccess = 4448,
|
|
|
+ CapabilityUniformAndStorageBuffer8BitAccess = 4449,
|
|
|
+ CapabilityStoragePushConstant8 = 4450,
|
|
|
+ CapabilityDenormPreserve = 4464,
|
|
|
+ CapabilityDenormFlushToZero = 4465,
|
|
|
+ CapabilitySignedZeroInfNanPreserve = 4466,
|
|
|
+ CapabilityRoundingModeRTE = 4467,
|
|
|
+ CapabilityRoundingModeRTZ = 4468,
|
|
|
+ CapabilityRayQueryProvisionalKHR = 4471,
|
|
|
+ CapabilityRayTraversalPrimitiveCullingProvisionalKHR = 4478,
|
|
|
+ CapabilityFloat16ImageAMD = 5008,
|
|
|
+ CapabilityImageGatherBiasLodAMD = 5009,
|
|
|
+ CapabilityFragmentMaskAMD = 5010,
|
|
|
+ CapabilityStencilExportEXT = 5013,
|
|
|
+ CapabilityImageReadWriteLodAMD = 5015,
|
|
|
+ CapabilityShaderClockKHR = 5055,
|
|
|
+ CapabilitySampleMaskOverrideCoverageNV = 5249,
|
|
|
+ CapabilityGeometryShaderPassthroughNV = 5251,
|
|
|
+ CapabilityShaderViewportIndexLayerEXT = 5254,
|
|
|
+ CapabilityShaderViewportIndexLayerNV = 5254,
|
|
|
+ CapabilityShaderViewportMaskNV = 5255,
|
|
|
+ CapabilityShaderStereoViewNV = 5259,
|
|
|
+ CapabilityPerViewAttributesNV = 5260,
|
|
|
+ CapabilityFragmentFullyCoveredEXT = 5265,
|
|
|
+ CapabilityMeshShadingNV = 5266,
|
|
|
+ CapabilityImageFootprintNV = 5282,
|
|
|
+ CapabilityFragmentBarycentricNV = 5284,
|
|
|
+ CapabilityComputeDerivativeGroupQuadsNV = 5288,
|
|
|
+ CapabilityFragmentDensityEXT = 5291,
|
|
|
+ CapabilityShadingRateNV = 5291,
|
|
|
+ CapabilityGroupNonUniformPartitionedNV = 5297,
|
|
|
+ CapabilityShaderNonUniform = 5301,
|
|
|
+ CapabilityShaderNonUniformEXT = 5301,
|
|
|
+ CapabilityRuntimeDescriptorArray = 5302,
|
|
|
+ CapabilityRuntimeDescriptorArrayEXT = 5302,
|
|
|
+ CapabilityInputAttachmentArrayDynamicIndexing = 5303,
|
|
|
+ CapabilityInputAttachmentArrayDynamicIndexingEXT = 5303,
|
|
|
+ CapabilityUniformTexelBufferArrayDynamicIndexing = 5304,
|
|
|
+ CapabilityUniformTexelBufferArrayDynamicIndexingEXT = 5304,
|
|
|
+ CapabilityStorageTexelBufferArrayDynamicIndexing = 5305,
|
|
|
+ CapabilityStorageTexelBufferArrayDynamicIndexingEXT = 5305,
|
|
|
+ CapabilityUniformBufferArrayNonUniformIndexing = 5306,
|
|
|
+ CapabilityUniformBufferArrayNonUniformIndexingEXT = 5306,
|
|
|
+ CapabilitySampledImageArrayNonUniformIndexing = 5307,
|
|
|
+ CapabilitySampledImageArrayNonUniformIndexingEXT = 5307,
|
|
|
+ CapabilityStorageBufferArrayNonUniformIndexing = 5308,
|
|
|
+ CapabilityStorageBufferArrayNonUniformIndexingEXT = 5308,
|
|
|
+ CapabilityStorageImageArrayNonUniformIndexing = 5309,
|
|
|
+ CapabilityStorageImageArrayNonUniformIndexingEXT = 5309,
|
|
|
+ CapabilityInputAttachmentArrayNonUniformIndexing = 5310,
|
|
|
+ CapabilityInputAttachmentArrayNonUniformIndexingEXT = 5310,
|
|
|
+ CapabilityUniformTexelBufferArrayNonUniformIndexing = 5311,
|
|
|
+ CapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311,
|
|
|
+ CapabilityStorageTexelBufferArrayNonUniformIndexing = 5312,
|
|
|
+ CapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
|
|
|
+ CapabilityRayTracingNV = 5340,
|
|
|
+ CapabilityVulkanMemoryModel = 5345,
|
|
|
+ CapabilityVulkanMemoryModelKHR = 5345,
|
|
|
+ CapabilityVulkanMemoryModelDeviceScope = 5346,
|
|
|
+ CapabilityVulkanMemoryModelDeviceScopeKHR = 5346,
|
|
|
+ CapabilityPhysicalStorageBufferAddresses = 5347,
|
|
|
+ CapabilityPhysicalStorageBufferAddressesEXT = 5347,
|
|
|
+ CapabilityComputeDerivativeGroupLinearNV = 5350,
|
|
|
+ CapabilityRayTracingProvisionalKHR = 5353,
|
|
|
+ CapabilityCooperativeMatrixNV = 5357,
|
|
|
+ CapabilityFragmentShaderSampleInterlockEXT = 5363,
|
|
|
+ CapabilityFragmentShaderShadingRateInterlockEXT = 5372,
|
|
|
+ CapabilityShaderSMBuiltinsNV = 5373,
|
|
|
+ CapabilityFragmentShaderPixelInterlockEXT = 5378,
|
|
|
+ CapabilityDemoteToHelperInvocationEXT = 5379,
|
|
|
+ CapabilitySubgroupShuffleINTEL = 5568,
|
|
|
+ CapabilitySubgroupBufferBlockIOINTEL = 5569,
|
|
|
+ CapabilitySubgroupImageBlockIOINTEL = 5570,
|
|
|
+ CapabilitySubgroupImageMediaBlockIOINTEL = 5579,
|
|
|
+ CapabilityIntegerFunctions2INTEL = 5584,
|
|
|
+ CapabilityFunctionPointersINTEL = 5603,
|
|
|
+ CapabilityIndirectReferencesINTEL = 5604,
|
|
|
+ CapabilitySubgroupAvcMotionEstimationINTEL = 5696,
|
|
|
+ CapabilitySubgroupAvcMotionEstimationIntraINTEL = 5697,
|
|
|
+ CapabilitySubgroupAvcMotionEstimationChromaINTEL = 5698,
|
|
|
+ CapabilityFPGAMemoryAttributesINTEL = 5824,
|
|
|
+ CapabilityUnstructuredLoopControlsINTEL = 5886,
|
|
|
+ CapabilityFPGALoopControlsINTEL = 5888,
|
|
|
+ CapabilityKernelAttributesINTEL = 5892,
|
|
|
+ CapabilityFPGAKernelAttributesINTEL = 5897,
|
|
|
+ CapabilityBlockingPipesINTEL = 5945,
|
|
|
+ CapabilityFPGARegINTEL = 5948,
|
|
|
+ CapabilityMax = 0x7fffffff,
|
|
|
+};
|
|
|
+
|
|
|
+enum RayFlagsShift {
|
|
|
+ RayFlagsOpaqueKHRShift = 0,
|
|
|
+ RayFlagsNoOpaqueKHRShift = 1,
|
|
|
+ RayFlagsTerminateOnFirstHitKHRShift = 2,
|
|
|
+ RayFlagsSkipClosestHitShaderKHRShift = 3,
|
|
|
+ RayFlagsCullBackFacingTrianglesKHRShift = 4,
|
|
|
+ RayFlagsCullFrontFacingTrianglesKHRShift = 5,
|
|
|
+ RayFlagsCullOpaqueKHRShift = 6,
|
|
|
+ RayFlagsCullNoOpaqueKHRShift = 7,
|
|
|
+ RayFlagsSkipTrianglesKHRShift = 8,
|
|
|
+ RayFlagsSkipAABBsKHRShift = 9,
|
|
|
+ RayFlagsMax = 0x7fffffff,
|
|
|
+};
|
|
|
+
|
|
|
+enum RayFlagsMask {
|
|
|
+ RayFlagsMaskNone = 0,
|
|
|
+ RayFlagsOpaqueKHRMask = 0x00000001,
|
|
|
+ RayFlagsNoOpaqueKHRMask = 0x00000002,
|
|
|
+ RayFlagsTerminateOnFirstHitKHRMask = 0x00000004,
|
|
|
+ RayFlagsSkipClosestHitShaderKHRMask = 0x00000008,
|
|
|
+ RayFlagsCullBackFacingTrianglesKHRMask = 0x00000010,
|
|
|
+ RayFlagsCullFrontFacingTrianglesKHRMask = 0x00000020,
|
|
|
+ RayFlagsCullOpaqueKHRMask = 0x00000040,
|
|
|
+ RayFlagsCullNoOpaqueKHRMask = 0x00000080,
|
|
|
+ RayFlagsSkipTrianglesKHRMask = 0x00000100,
|
|
|
+ RayFlagsSkipAABBsKHRMask = 0x00000200,
|
|
|
+};
|
|
|
+
|
|
|
+enum RayQueryIntersection {
|
|
|
+ RayQueryIntersectionRayQueryCandidateIntersectionKHR = 0,
|
|
|
+ RayQueryIntersectionRayQueryCommittedIntersectionKHR = 1,
|
|
|
+ RayQueryIntersectionMax = 0x7fffffff,
|
|
|
+};
|
|
|
+
|
|
|
+enum RayQueryCommittedIntersectionType {
|
|
|
+ RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionNoneKHR = 0,
|
|
|
+ RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionTriangleKHR = 1,
|
|
|
+ RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionGeneratedKHR = 2,
|
|
|
+ RayQueryCommittedIntersectionTypeMax = 0x7fffffff,
|
|
|
+};
|
|
|
+
|
|
|
+enum RayQueryCandidateIntersectionType {
|
|
|
+ RayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionTriangleKHR = 0,
|
|
|
+ RayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionAABBKHR = 1,
|
|
|
+ RayQueryCandidateIntersectionTypeMax = 0x7fffffff,
|
|
|
+};
|
|
|
+
|
|
|
+enum Op {
|
|
|
+ OpNop = 0,
|
|
|
+ OpUndef = 1,
|
|
|
+ OpSourceContinued = 2,
|
|
|
+ OpSource = 3,
|
|
|
+ OpSourceExtension = 4,
|
|
|
+ OpName = 5,
|
|
|
+ OpMemberName = 6,
|
|
|
+ OpString = 7,
|
|
|
+ OpLine = 8,
|
|
|
+ OpExtension = 10,
|
|
|
+ OpExtInstImport = 11,
|
|
|
+ OpExtInst = 12,
|
|
|
+ OpMemoryModel = 14,
|
|
|
+ OpEntryPoint = 15,
|
|
|
+ OpExecutionMode = 16,
|
|
|
+ OpCapability = 17,
|
|
|
+ OpTypeVoid = 19,
|
|
|
+ OpTypeBool = 20,
|
|
|
+ OpTypeInt = 21,
|
|
|
+ OpTypeFloat = 22,
|
|
|
+ OpTypeVector = 23,
|
|
|
+ OpTypeMatrix = 24,
|
|
|
+ OpTypeImage = 25,
|
|
|
+ OpTypeSampler = 26,
|
|
|
+ OpTypeSampledImage = 27,
|
|
|
+ OpTypeArray = 28,
|
|
|
+ OpTypeRuntimeArray = 29,
|
|
|
+ OpTypeStruct = 30,
|
|
|
+ OpTypeOpaque = 31,
|
|
|
+ OpTypePointer = 32,
|
|
|
+ OpTypeFunction = 33,
|
|
|
+ OpTypeEvent = 34,
|
|
|
+ OpTypeDeviceEvent = 35,
|
|
|
+ OpTypeReserveId = 36,
|
|
|
+ OpTypeQueue = 37,
|
|
|
+ OpTypePipe = 38,
|
|
|
+ OpTypeForwardPointer = 39,
|
|
|
+ OpConstantTrue = 41,
|
|
|
+ OpConstantFalse = 42,
|
|
|
+ OpConstant = 43,
|
|
|
+ OpConstantComposite = 44,
|
|
|
+ OpConstantSampler = 45,
|
|
|
+ OpConstantNull = 46,
|
|
|
+ OpSpecConstantTrue = 48,
|
|
|
+ OpSpecConstantFalse = 49,
|
|
|
+ OpSpecConstant = 50,
|
|
|
+ OpSpecConstantComposite = 51,
|
|
|
+ OpSpecConstantOp = 52,
|
|
|
+ OpFunction = 54,
|
|
|
+ OpFunctionParameter = 55,
|
|
|
+ OpFunctionEnd = 56,
|
|
|
+ OpFunctionCall = 57,
|
|
|
+ OpVariable = 59,
|
|
|
+ OpImageTexelPointer = 60,
|
|
|
+ OpLoad = 61,
|
|
|
+ OpStore = 62,
|
|
|
+ OpCopyMemory = 63,
|
|
|
+ OpCopyMemorySized = 64,
|
|
|
+ OpAccessChain = 65,
|
|
|
+ OpInBoundsAccessChain = 66,
|
|
|
+ OpPtrAccessChain = 67,
|
|
|
+ OpArrayLength = 68,
|
|
|
+ OpGenericPtrMemSemantics = 69,
|
|
|
+ OpInBoundsPtrAccessChain = 70,
|
|
|
+ OpDecorate = 71,
|
|
|
+ OpMemberDecorate = 72,
|
|
|
+ OpDecorationGroup = 73,
|
|
|
+ OpGroupDecorate = 74,
|
|
|
+ OpGroupMemberDecorate = 75,
|
|
|
+ OpVectorExtractDynamic = 77,
|
|
|
+ OpVectorInsertDynamic = 78,
|
|
|
+ OpVectorShuffle = 79,
|
|
|
+ OpCompositeConstruct = 80,
|
|
|
+ OpCompositeExtract = 81,
|
|
|
+ OpCompositeInsert = 82,
|
|
|
+ OpCopyObject = 83,
|
|
|
+ OpTranspose = 84,
|
|
|
+ OpSampledImage = 86,
|
|
|
+ OpImageSampleImplicitLod = 87,
|
|
|
+ OpImageSampleExplicitLod = 88,
|
|
|
+ OpImageSampleDrefImplicitLod = 89,
|
|
|
+ OpImageSampleDrefExplicitLod = 90,
|
|
|
+ OpImageSampleProjImplicitLod = 91,
|
|
|
+ OpImageSampleProjExplicitLod = 92,
|
|
|
+ OpImageSampleProjDrefImplicitLod = 93,
|
|
|
+ OpImageSampleProjDrefExplicitLod = 94,
|
|
|
+ OpImageFetch = 95,
|
|
|
+ OpImageGather = 96,
|
|
|
+ OpImageDrefGather = 97,
|
|
|
+ OpImageRead = 98,
|
|
|
+ OpImageWrite = 99,
|
|
|
+ OpImage = 100,
|
|
|
+ OpImageQueryFormat = 101,
|
|
|
+ OpImageQueryOrder = 102,
|
|
|
+ OpImageQuerySizeLod = 103,
|
|
|
+ OpImageQuerySize = 104,
|
|
|
+ OpImageQueryLod = 105,
|
|
|
+ OpImageQueryLevels = 106,
|
|
|
+ OpImageQuerySamples = 107,
|
|
|
+ OpConvertFToU = 109,
|
|
|
+ OpConvertFToS = 110,
|
|
|
+ OpConvertSToF = 111,
|
|
|
+ OpConvertUToF = 112,
|
|
|
+ OpUConvert = 113,
|
|
|
+ OpSConvert = 114,
|
|
|
+ OpFConvert = 115,
|
|
|
+ OpQuantizeToF16 = 116,
|
|
|
+ OpConvertPtrToU = 117,
|
|
|
+ OpSatConvertSToU = 118,
|
|
|
+ OpSatConvertUToS = 119,
|
|
|
+ OpConvertUToPtr = 120,
|
|
|
+ OpPtrCastToGeneric = 121,
|
|
|
+ OpGenericCastToPtr = 122,
|
|
|
+ OpGenericCastToPtrExplicit = 123,
|
|
|
+ OpBitcast = 124,
|
|
|
+ OpSNegate = 126,
|
|
|
+ OpFNegate = 127,
|
|
|
+ OpIAdd = 128,
|
|
|
+ OpFAdd = 129,
|
|
|
+ OpISub = 130,
|
|
|
+ OpFSub = 131,
|
|
|
+ OpIMul = 132,
|
|
|
+ OpFMul = 133,
|
|
|
+ OpUDiv = 134,
|
|
|
+ OpSDiv = 135,
|
|
|
+ OpFDiv = 136,
|
|
|
+ OpUMod = 137,
|
|
|
+ OpSRem = 138,
|
|
|
+ OpSMod = 139,
|
|
|
+ OpFRem = 140,
|
|
|
+ OpFMod = 141,
|
|
|
+ OpVectorTimesScalar = 142,
|
|
|
+ OpMatrixTimesScalar = 143,
|
|
|
+ OpVectorTimesMatrix = 144,
|
|
|
+ OpMatrixTimesVector = 145,
|
|
|
+ OpMatrixTimesMatrix = 146,
|
|
|
+ OpOuterProduct = 147,
|
|
|
+ OpDot = 148,
|
|
|
+ OpIAddCarry = 149,
|
|
|
+ OpISubBorrow = 150,
|
|
|
+ OpUMulExtended = 151,
|
|
|
+ OpSMulExtended = 152,
|
|
|
+ OpAny = 154,
|
|
|
+ OpAll = 155,
|
|
|
+ OpIsNan = 156,
|
|
|
+ OpIsInf = 157,
|
|
|
+ OpIsFinite = 158,
|
|
|
+ OpIsNormal = 159,
|
|
|
+ OpSignBitSet = 160,
|
|
|
+ OpLessOrGreater = 161,
|
|
|
+ OpOrdered = 162,
|
|
|
+ OpUnordered = 163,
|
|
|
+ OpLogicalEqual = 164,
|
|
|
+ OpLogicalNotEqual = 165,
|
|
|
+ OpLogicalOr = 166,
|
|
|
+ OpLogicalAnd = 167,
|
|
|
+ OpLogicalNot = 168,
|
|
|
+ OpSelect = 169,
|
|
|
+ OpIEqual = 170,
|
|
|
+ OpINotEqual = 171,
|
|
|
+ OpUGreaterThan = 172,
|
|
|
+ OpSGreaterThan = 173,
|
|
|
+ OpUGreaterThanEqual = 174,
|
|
|
+ OpSGreaterThanEqual = 175,
|
|
|
+ OpULessThan = 176,
|
|
|
+ OpSLessThan = 177,
|
|
|
+ OpULessThanEqual = 178,
|
|
|
+ OpSLessThanEqual = 179,
|
|
|
+ OpFOrdEqual = 180,
|
|
|
+ OpFUnordEqual = 181,
|
|
|
+ OpFOrdNotEqual = 182,
|
|
|
+ OpFUnordNotEqual = 183,
|
|
|
+ OpFOrdLessThan = 184,
|
|
|
+ OpFUnordLessThan = 185,
|
|
|
+ OpFOrdGreaterThan = 186,
|
|
|
+ OpFUnordGreaterThan = 187,
|
|
|
+ OpFOrdLessThanEqual = 188,
|
|
|
+ OpFUnordLessThanEqual = 189,
|
|
|
+ OpFOrdGreaterThanEqual = 190,
|
|
|
+ OpFUnordGreaterThanEqual = 191,
|
|
|
+ OpShiftRightLogical = 194,
|
|
|
+ OpShiftRightArithmetic = 195,
|
|
|
+ OpShiftLeftLogical = 196,
|
|
|
+ OpBitwiseOr = 197,
|
|
|
+ OpBitwiseXor = 198,
|
|
|
+ OpBitwiseAnd = 199,
|
|
|
+ OpNot = 200,
|
|
|
+ OpBitFieldInsert = 201,
|
|
|
+ OpBitFieldSExtract = 202,
|
|
|
+ OpBitFieldUExtract = 203,
|
|
|
+ OpBitReverse = 204,
|
|
|
+ OpBitCount = 205,
|
|
|
+ OpDPdx = 207,
|
|
|
+ OpDPdy = 208,
|
|
|
+ OpFwidth = 209,
|
|
|
+ OpDPdxFine = 210,
|
|
|
+ OpDPdyFine = 211,
|
|
|
+ OpFwidthFine = 212,
|
|
|
+ OpDPdxCoarse = 213,
|
|
|
+ OpDPdyCoarse = 214,
|
|
|
+ OpFwidthCoarse = 215,
|
|
|
+ OpEmitVertex = 218,
|
|
|
+ OpEndPrimitive = 219,
|
|
|
+ OpEmitStreamVertex = 220,
|
|
|
+ OpEndStreamPrimitive = 221,
|
|
|
+ OpControlBarrier = 224,
|
|
|
+ OpMemoryBarrier = 225,
|
|
|
+ OpAtomicLoad = 227,
|
|
|
+ OpAtomicStore = 228,
|
|
|
+ OpAtomicExchange = 229,
|
|
|
+ OpAtomicCompareExchange = 230,
|
|
|
+ OpAtomicCompareExchangeWeak = 231,
|
|
|
+ OpAtomicIIncrement = 232,
|
|
|
+ OpAtomicIDecrement = 233,
|
|
|
+ OpAtomicIAdd = 234,
|
|
|
+ OpAtomicISub = 235,
|
|
|
+ OpAtomicSMin = 236,
|
|
|
+ OpAtomicUMin = 237,
|
|
|
+ OpAtomicSMax = 238,
|
|
|
+ OpAtomicUMax = 239,
|
|
|
+ OpAtomicAnd = 240,
|
|
|
+ OpAtomicOr = 241,
|
|
|
+ OpAtomicXor = 242,
|
|
|
+ OpPhi = 245,
|
|
|
+ OpLoopMerge = 246,
|
|
|
+ OpSelectionMerge = 247,
|
|
|
+ OpLabel = 248,
|
|
|
+ OpBranch = 249,
|
|
|
+ OpBranchConditional = 250,
|
|
|
+ OpSwitch = 251,
|
|
|
+ OpKill = 252,
|
|
|
+ OpReturn = 253,
|
|
|
+ OpReturnValue = 254,
|
|
|
+ OpUnreachable = 255,
|
|
|
+ OpLifetimeStart = 256,
|
|
|
+ OpLifetimeStop = 257,
|
|
|
+ OpGroupAsyncCopy = 259,
|
|
|
+ OpGroupWaitEvents = 260,
|
|
|
+ OpGroupAll = 261,
|
|
|
+ OpGroupAny = 262,
|
|
|
+ OpGroupBroadcast = 263,
|
|
|
+ OpGroupIAdd = 264,
|
|
|
+ OpGroupFAdd = 265,
|
|
|
+ OpGroupFMin = 266,
|
|
|
+ OpGroupUMin = 267,
|
|
|
+ OpGroupSMin = 268,
|
|
|
+ OpGroupFMax = 269,
|
|
|
+ OpGroupUMax = 270,
|
|
|
+ OpGroupSMax = 271,
|
|
|
+ OpReadPipe = 274,
|
|
|
+ OpWritePipe = 275,
|
|
|
+ OpReservedReadPipe = 276,
|
|
|
+ OpReservedWritePipe = 277,
|
|
|
+ OpReserveReadPipePackets = 278,
|
|
|
+ OpReserveWritePipePackets = 279,
|
|
|
+ OpCommitReadPipe = 280,
|
|
|
+ OpCommitWritePipe = 281,
|
|
|
+ OpIsValidReserveId = 282,
|
|
|
+ OpGetNumPipePackets = 283,
|
|
|
+ OpGetMaxPipePackets = 284,
|
|
|
+ OpGroupReserveReadPipePackets = 285,
|
|
|
+ OpGroupReserveWritePipePackets = 286,
|
|
|
+ OpGroupCommitReadPipe = 287,
|
|
|
+ OpGroupCommitWritePipe = 288,
|
|
|
+ OpEnqueueMarker = 291,
|
|
|
+ OpEnqueueKernel = 292,
|
|
|
+ OpGetKernelNDrangeSubGroupCount = 293,
|
|
|
+ OpGetKernelNDrangeMaxSubGroupSize = 294,
|
|
|
+ OpGetKernelWorkGroupSize = 295,
|
|
|
+ OpGetKernelPreferredWorkGroupSizeMultiple = 296,
|
|
|
+ OpRetainEvent = 297,
|
|
|
+ OpReleaseEvent = 298,
|
|
|
+ OpCreateUserEvent = 299,
|
|
|
+ OpIsValidEvent = 300,
|
|
|
+ OpSetUserEventStatus = 301,
|
|
|
+ OpCaptureEventProfilingInfo = 302,
|
|
|
+ OpGetDefaultQueue = 303,
|
|
|
+ OpBuildNDRange = 304,
|
|
|
+ OpImageSparseSampleImplicitLod = 305,
|
|
|
+ OpImageSparseSampleExplicitLod = 306,
|
|
|
+ OpImageSparseSampleDrefImplicitLod = 307,
|
|
|
+ OpImageSparseSampleDrefExplicitLod = 308,
|
|
|
+ OpImageSparseSampleProjImplicitLod = 309,
|
|
|
+ OpImageSparseSampleProjExplicitLod = 310,
|
|
|
+ OpImageSparseSampleProjDrefImplicitLod = 311,
|
|
|
+ OpImageSparseSampleProjDrefExplicitLod = 312,
|
|
|
+ OpImageSparseFetch = 313,
|
|
|
+ OpImageSparseGather = 314,
|
|
|
+ OpImageSparseDrefGather = 315,
|
|
|
+ OpImageSparseTexelsResident = 316,
|
|
|
+ OpNoLine = 317,
|
|
|
+ OpAtomicFlagTestAndSet = 318,
|
|
|
+ OpAtomicFlagClear = 319,
|
|
|
+ OpImageSparseRead = 320,
|
|
|
+ OpSizeOf = 321,
|
|
|
+ OpTypePipeStorage = 322,
|
|
|
+ OpConstantPipeStorage = 323,
|
|
|
+ OpCreatePipeFromPipeStorage = 324,
|
|
|
+ OpGetKernelLocalSizeForSubgroupCount = 325,
|
|
|
+ OpGetKernelMaxNumSubgroups = 326,
|
|
|
+ OpTypeNamedBarrier = 327,
|
|
|
+ OpNamedBarrierInitialize = 328,
|
|
|
+ OpMemoryNamedBarrier = 329,
|
|
|
+ OpModuleProcessed = 330,
|
|
|
+ OpExecutionModeId = 331,
|
|
|
+ OpDecorateId = 332,
|
|
|
+ OpGroupNonUniformElect = 333,
|
|
|
+ OpGroupNonUniformAll = 334,
|
|
|
+ OpGroupNonUniformAny = 335,
|
|
|
+ OpGroupNonUniformAllEqual = 336,
|
|
|
+ OpGroupNonUniformBroadcast = 337,
|
|
|
+ OpGroupNonUniformBroadcastFirst = 338,
|
|
|
+ OpGroupNonUniformBallot = 339,
|
|
|
+ OpGroupNonUniformInverseBallot = 340,
|
|
|
+ OpGroupNonUniformBallotBitExtract = 341,
|
|
|
+ OpGroupNonUniformBallotBitCount = 342,
|
|
|
+ OpGroupNonUniformBallotFindLSB = 343,
|
|
|
+ OpGroupNonUniformBallotFindMSB = 344,
|
|
|
+ OpGroupNonUniformShuffle = 345,
|
|
|
+ OpGroupNonUniformShuffleXor = 346,
|
|
|
+ OpGroupNonUniformShuffleUp = 347,
|
|
|
+ OpGroupNonUniformShuffleDown = 348,
|
|
|
+ OpGroupNonUniformIAdd = 349,
|
|
|
+ OpGroupNonUniformFAdd = 350,
|
|
|
+ OpGroupNonUniformIMul = 351,
|
|
|
+ OpGroupNonUniformFMul = 352,
|
|
|
+ OpGroupNonUniformSMin = 353,
|
|
|
+ OpGroupNonUniformUMin = 354,
|
|
|
+ OpGroupNonUniformFMin = 355,
|
|
|
+ OpGroupNonUniformSMax = 356,
|
|
|
+ OpGroupNonUniformUMax = 357,
|
|
|
+ OpGroupNonUniformFMax = 358,
|
|
|
+ OpGroupNonUniformBitwiseAnd = 359,
|
|
|
+ OpGroupNonUniformBitwiseOr = 360,
|
|
|
+ OpGroupNonUniformBitwiseXor = 361,
|
|
|
+ OpGroupNonUniformLogicalAnd = 362,
|
|
|
+ OpGroupNonUniformLogicalOr = 363,
|
|
|
+ OpGroupNonUniformLogicalXor = 364,
|
|
|
+ OpGroupNonUniformQuadBroadcast = 365,
|
|
|
+ OpGroupNonUniformQuadSwap = 366,
|
|
|
+ OpCopyLogical = 400,
|
|
|
+ OpPtrEqual = 401,
|
|
|
+ OpPtrNotEqual = 402,
|
|
|
+ OpPtrDiff = 403,
|
|
|
+ OpSubgroupBallotKHR = 4421,
|
|
|
+ OpSubgroupFirstInvocationKHR = 4422,
|
|
|
+ OpSubgroupAllKHR = 4428,
|
|
|
+ OpSubgroupAnyKHR = 4429,
|
|
|
+ OpSubgroupAllEqualKHR = 4430,
|
|
|
+ OpSubgroupReadInvocationKHR = 4432,
|
|
|
+ OpTypeRayQueryProvisionalKHR = 4472,
|
|
|
+ OpRayQueryInitializeKHR = 4473,
|
|
|
+ OpRayQueryTerminateKHR = 4474,
|
|
|
+ OpRayQueryGenerateIntersectionKHR = 4475,
|
|
|
+ OpRayQueryConfirmIntersectionKHR = 4476,
|
|
|
+ OpRayQueryProceedKHR = 4477,
|
|
|
+ OpRayQueryGetIntersectionTypeKHR = 4479,
|
|
|
+ OpGroupIAddNonUniformAMD = 5000,
|
|
|
+ OpGroupFAddNonUniformAMD = 5001,
|
|
|
+ OpGroupFMinNonUniformAMD = 5002,
|
|
|
+ OpGroupUMinNonUniformAMD = 5003,
|
|
|
+ OpGroupSMinNonUniformAMD = 5004,
|
|
|
+ OpGroupFMaxNonUniformAMD = 5005,
|
|
|
+ OpGroupUMaxNonUniformAMD = 5006,
|
|
|
+ OpGroupSMaxNonUniformAMD = 5007,
|
|
|
+ OpFragmentMaskFetchAMD = 5011,
|
|
|
+ OpFragmentFetchAMD = 5012,
|
|
|
+ OpReadClockKHR = 5056,
|
|
|
+ OpImageSampleFootprintNV = 5283,
|
|
|
+ OpGroupNonUniformPartitionNV = 5296,
|
|
|
+ OpWritePackedPrimitiveIndices4x8NV = 5299,
|
|
|
+ OpReportIntersectionKHR = 5334,
|
|
|
+ OpReportIntersectionNV = 5334,
|
|
|
+ OpIgnoreIntersectionKHR = 5335,
|
|
|
+ OpIgnoreIntersectionNV = 5335,
|
|
|
+ OpTerminateRayKHR = 5336,
|
|
|
+ OpTerminateRayNV = 5336,
|
|
|
+ OpTraceNV = 5337,
|
|
|
+ OpTraceRayKHR = 5337,
|
|
|
+ OpTypeAccelerationStructureKHR = 5341,
|
|
|
+ OpTypeAccelerationStructureNV = 5341,
|
|
|
+ OpExecuteCallableKHR = 5344,
|
|
|
+ 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,
|
|
|
+ OpSubgroupShuffleXorINTEL = 5574,
|
|
|
+ OpSubgroupBlockReadINTEL = 5575,
|
|
|
+ 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,
|
|
|
+ OpFunctionPointerINTEL = 5600,
|
|
|
+ OpFunctionPointerCallINTEL = 5601,
|
|
|
+ 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,
|
|
|
+ OpLoopControlINTEL = 5887,
|
|
|
+ OpReadPipeBlockingINTEL = 5946,
|
|
|
+ OpWritePipeBlockingINTEL = 5947,
|
|
|
+ OpFPGARegINTEL = 5949,
|
|
|
+ OpRayQueryGetRayTMinKHR = 6016,
|
|
|
+ OpRayQueryGetRayFlagsKHR = 6017,
|
|
|
+ OpRayQueryGetIntersectionTKHR = 6018,
|
|
|
+ OpRayQueryGetIntersectionInstanceCustomIndexKHR = 6019,
|
|
|
+ OpRayQueryGetIntersectionInstanceIdKHR = 6020,
|
|
|
+ OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = 6021,
|
|
|
+ OpRayQueryGetIntersectionGeometryIndexKHR = 6022,
|
|
|
+ OpRayQueryGetIntersectionPrimitiveIndexKHR = 6023,
|
|
|
+ OpRayQueryGetIntersectionBarycentricsKHR = 6024,
|
|
|
+ OpRayQueryGetIntersectionFrontFaceKHR = 6025,
|
|
|
+ OpRayQueryGetIntersectionCandidateAABBOpaqueKHR = 6026,
|
|
|
+ OpRayQueryGetIntersectionObjectRayDirectionKHR = 6027,
|
|
|
+ OpRayQueryGetIntersectionObjectRayOriginKHR = 6028,
|
|
|
+ OpRayQueryGetWorldRayDirectionKHR = 6029,
|
|
|
+ OpRayQueryGetWorldRayOriginKHR = 6030,
|
|
|
+ OpRayQueryGetIntersectionObjectToWorldKHR = 6031,
|
|
|
+ OpRayQueryGetIntersectionWorldToObjectKHR = 6032,
|
|
|
+ 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 OpTypeRayQueryProvisionalKHR: *hasResult = true; *hasResultType = false; break;
|
|
|
+ case OpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
|
|
|
+ case OpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
|
|
|
+ case OpRayQueryGenerateIntersectionKHR: *hasResult = false; *hasResultType = false; break;
|
|
|
+ case OpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break;
|
|
|
+ case OpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case OpRayQueryGetIntersectionTypeKHR: *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 OpReadClockKHR: *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 OpFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case OpFunctionPointerCallINTEL: *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;
|
|
|
+ case OpLoopControlINTEL: *hasResult = false; *hasResultType = false; break;
|
|
|
+ case OpReadPipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case OpWritePipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case OpFPGARegINTEL: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case OpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case OpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case OpRayQueryGetIntersectionTKHR: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case OpRayQueryGetIntersectionInstanceCustomIndexKHR: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case OpRayQueryGetIntersectionInstanceIdKHR: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case OpRayQueryGetIntersectionGeometryIndexKHR: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case OpRayQueryGetIntersectionPrimitiveIndexKHR: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case OpRayQueryGetIntersectionBarycentricsKHR: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case OpRayQueryGetIntersectionFrontFaceKHR: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case OpRayQueryGetIntersectionCandidateAABBOpaqueKHR: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case OpRayQueryGetIntersectionObjectRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case OpRayQueryGetIntersectionObjectRayOriginKHR: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case OpRayQueryGetWorldRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case OpRayQueryGetWorldRayOriginKHR: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case OpRayQueryGetIntersectionObjectToWorldKHR: *hasResult = true; *hasResultType = true; break;
|
|
|
+ case OpRayQueryGetIntersectionWorldToObjectKHR: *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)); }
|
|
|
+inline FPFastMathModeMask operator|(FPFastMathModeMask a, FPFastMathModeMask b) { return FPFastMathModeMask(unsigned(a) | unsigned(b)); }
|
|
|
+inline SelectionControlMask operator|(SelectionControlMask a, SelectionControlMask b) { return SelectionControlMask(unsigned(a) | unsigned(b)); }
|
|
|
+inline LoopControlMask operator|(LoopControlMask a, LoopControlMask b) { return LoopControlMask(unsigned(a) | unsigned(b)); }
|
|
|
+inline FunctionControlMask operator|(FunctionControlMask a, FunctionControlMask b) { return FunctionControlMask(unsigned(a) | unsigned(b)); }
|
|
|
+inline MemorySemanticsMask operator|(MemorySemanticsMask a, MemorySemanticsMask b) { return MemorySemanticsMask(unsigned(a) | unsigned(b)); }
|
|
|
+inline MemoryAccessMask operator|(MemoryAccessMask a, MemoryAccessMask b) { return MemoryAccessMask(unsigned(a) | unsigned(b)); }
|
|
|
+inline KernelProfilingInfoMask operator|(KernelProfilingInfoMask a, KernelProfilingInfoMask b) { return KernelProfilingInfoMask(unsigned(a) | unsigned(b)); }
|
|
|
+inline RayFlagsMask operator|(RayFlagsMask a, RayFlagsMask b) { return RayFlagsMask(unsigned(a) | unsigned(b)); }
|
|
|
+
|
|
|
+} // end namespace spv
|
|
|
+
|
|
|
+#endif // #ifndef spirv_HPP
|
|
|
+
|