HLSL: Fix clip/cull lowering for single element.
[KhronosGroup/SPIRV-Cross.git] / spirv.hpp
blob5047b9b3023082f32b8b45002a72c8d6a0038b4d
1 // Copyright (c) 2014-2024 The Khronos Group Inc.
2 //
3 // Permission is hereby granted, free of charge, to any person obtaining a copy
4 // of this software and/or associated documentation files (the "Materials"),
5 // to deal in the Materials without restriction, including without limitation
6 // the rights to use, copy, modify, merge, publish, distribute, sublicense,
7 // and/or sell copies of the Materials, and to permit persons to whom the
8 // Materials are furnished to do so, subject to the following conditions:
9 //
10 // The above copyright notice and this permission notice shall be included in
11 // all copies or substantial portions of the Materials.
12 //
13 // MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS
14 // STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND
15 // HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/
16 //
17 // THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
18 // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20 // THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22 // FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS
23 // IN THE MATERIALS.
25 // This header is automatically generated by the same tool that creates
26 // the Binary Section of the SPIR-V specification.
28 // Enumeration tokens for SPIR-V, in various styles:
29 // C, C++, C++11, JSON, Lua, Python, C#, D, Beef
30 //
31 // - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
32 // - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
33 // - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
34 // - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
35 // - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
36 // - C# will use enum classes in the Specification class located in the "Spv" namespace,
37 // e.g.: Spv.Specification.SourceLanguage.GLSL
38 // - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL
39 // - Beef will use enum classes in the Specification class located in the "Spv" namespace,
40 // e.g.: Spv.Specification.SourceLanguage.GLSL
41 //
42 // Some tokens act like mask values, which can be OR'd together,
43 // while others are mutually exclusive. The mask-like ones have
44 // "Mask" in their name, and a parallel enum that has the shift
45 // amount (1 << x) for each corresponding enumerant.
47 #ifndef spirv_HPP
48 #define spirv_HPP
50 namespace spv {
52 typedef unsigned int Id;
54 #define SPV_VERSION 0x10600
55 #define SPV_REVISION 1
57 static const unsigned int MagicNumber = 0x07230203;
58 static const unsigned int Version = 0x00010600;
59 static const unsigned int Revision = 1;
60 static const unsigned int OpCodeMask = 0xffff;
61 static const unsigned int WordCountShift = 16;
63 enum SourceLanguage {
64 SourceLanguageUnknown = 0,
65 SourceLanguageESSL = 1,
66 SourceLanguageGLSL = 2,
67 SourceLanguageOpenCL_C = 3,
68 SourceLanguageOpenCL_CPP = 4,
69 SourceLanguageHLSL = 5,
70 SourceLanguageCPP_for_OpenCL = 6,
71 SourceLanguageSYCL = 7,
72 SourceLanguageMax = 0x7fffffff,
75 enum ExecutionModel {
76 ExecutionModelVertex = 0,
77 ExecutionModelTessellationControl = 1,
78 ExecutionModelTessellationEvaluation = 2,
79 ExecutionModelGeometry = 3,
80 ExecutionModelFragment = 4,
81 ExecutionModelGLCompute = 5,
82 ExecutionModelKernel = 6,
83 ExecutionModelTaskNV = 5267,
84 ExecutionModelMeshNV = 5268,
85 ExecutionModelRayGenerationKHR = 5313,
86 ExecutionModelRayGenerationNV = 5313,
87 ExecutionModelIntersectionKHR = 5314,
88 ExecutionModelIntersectionNV = 5314,
89 ExecutionModelAnyHitKHR = 5315,
90 ExecutionModelAnyHitNV = 5315,
91 ExecutionModelClosestHitKHR = 5316,
92 ExecutionModelClosestHitNV = 5316,
93 ExecutionModelMissKHR = 5317,
94 ExecutionModelMissNV = 5317,
95 ExecutionModelCallableKHR = 5318,
96 ExecutionModelCallableNV = 5318,
97 ExecutionModelTaskEXT = 5364,
98 ExecutionModelMeshEXT = 5365,
99 ExecutionModelMax = 0x7fffffff,
102 enum AddressingModel {
103 AddressingModelLogical = 0,
104 AddressingModelPhysical32 = 1,
105 AddressingModelPhysical64 = 2,
106 AddressingModelPhysicalStorageBuffer64 = 5348,
107 AddressingModelPhysicalStorageBuffer64EXT = 5348,
108 AddressingModelMax = 0x7fffffff,
111 enum MemoryModel {
112 MemoryModelSimple = 0,
113 MemoryModelGLSL450 = 1,
114 MemoryModelOpenCL = 2,
115 MemoryModelVulkan = 3,
116 MemoryModelVulkanKHR = 3,
117 MemoryModelMax = 0x7fffffff,
120 enum ExecutionMode {
121 ExecutionModeInvocations = 0,
122 ExecutionModeSpacingEqual = 1,
123 ExecutionModeSpacingFractionalEven = 2,
124 ExecutionModeSpacingFractionalOdd = 3,
125 ExecutionModeVertexOrderCw = 4,
126 ExecutionModeVertexOrderCcw = 5,
127 ExecutionModePixelCenterInteger = 6,
128 ExecutionModeOriginUpperLeft = 7,
129 ExecutionModeOriginLowerLeft = 8,
130 ExecutionModeEarlyFragmentTests = 9,
131 ExecutionModePointMode = 10,
132 ExecutionModeXfb = 11,
133 ExecutionModeDepthReplacing = 12,
134 ExecutionModeDepthGreater = 14,
135 ExecutionModeDepthLess = 15,
136 ExecutionModeDepthUnchanged = 16,
137 ExecutionModeLocalSize = 17,
138 ExecutionModeLocalSizeHint = 18,
139 ExecutionModeInputPoints = 19,
140 ExecutionModeInputLines = 20,
141 ExecutionModeInputLinesAdjacency = 21,
142 ExecutionModeTriangles = 22,
143 ExecutionModeInputTrianglesAdjacency = 23,
144 ExecutionModeQuads = 24,
145 ExecutionModeIsolines = 25,
146 ExecutionModeOutputVertices = 26,
147 ExecutionModeOutputPoints = 27,
148 ExecutionModeOutputLineStrip = 28,
149 ExecutionModeOutputTriangleStrip = 29,
150 ExecutionModeVecTypeHint = 30,
151 ExecutionModeContractionOff = 31,
152 ExecutionModeInitializer = 33,
153 ExecutionModeFinalizer = 34,
154 ExecutionModeSubgroupSize = 35,
155 ExecutionModeSubgroupsPerWorkgroup = 36,
156 ExecutionModeSubgroupsPerWorkgroupId = 37,
157 ExecutionModeLocalSizeId = 38,
158 ExecutionModeLocalSizeHintId = 39,
159 ExecutionModeSubgroupUniformControlFlowKHR = 4421,
160 ExecutionModePostDepthCoverage = 4446,
161 ExecutionModeDenormPreserve = 4459,
162 ExecutionModeDenormFlushToZero = 4460,
163 ExecutionModeSignedZeroInfNanPreserve = 4461,
164 ExecutionModeRoundingModeRTE = 4462,
165 ExecutionModeRoundingModeRTZ = 4463,
166 ExecutionModeEarlyAndLateFragmentTestsAMD = 5017,
167 ExecutionModeStencilRefReplacingEXT = 5027,
168 ExecutionModeStencilRefUnchangedFrontAMD = 5079,
169 ExecutionModeStencilRefGreaterFrontAMD = 5080,
170 ExecutionModeStencilRefLessFrontAMD = 5081,
171 ExecutionModeStencilRefUnchangedBackAMD = 5082,
172 ExecutionModeStencilRefGreaterBackAMD = 5083,
173 ExecutionModeStencilRefLessBackAMD = 5084,
174 ExecutionModeOutputLinesEXT = 5269,
175 ExecutionModeOutputLinesNV = 5269,
176 ExecutionModeOutputPrimitivesEXT = 5270,
177 ExecutionModeOutputPrimitivesNV = 5270,
178 ExecutionModeDerivativeGroupQuadsNV = 5289,
179 ExecutionModeDerivativeGroupLinearNV = 5290,
180 ExecutionModeOutputTrianglesEXT = 5298,
181 ExecutionModeOutputTrianglesNV = 5298,
182 ExecutionModePixelInterlockOrderedEXT = 5366,
183 ExecutionModePixelInterlockUnorderedEXT = 5367,
184 ExecutionModeSampleInterlockOrderedEXT = 5368,
185 ExecutionModeSampleInterlockUnorderedEXT = 5369,
186 ExecutionModeShadingRateInterlockOrderedEXT = 5370,
187 ExecutionModeShadingRateInterlockUnorderedEXT = 5371,
188 ExecutionModeSharedLocalMemorySizeINTEL = 5618,
189 ExecutionModeRoundingModeRTPINTEL = 5620,
190 ExecutionModeRoundingModeRTNINTEL = 5621,
191 ExecutionModeFloatingPointModeALTINTEL = 5622,
192 ExecutionModeFloatingPointModeIEEEINTEL = 5623,
193 ExecutionModeMaxWorkgroupSizeINTEL = 5893,
194 ExecutionModeMaxWorkDimINTEL = 5894,
195 ExecutionModeNoGlobalOffsetINTEL = 5895,
196 ExecutionModeNumSIMDWorkitemsINTEL = 5896,
197 ExecutionModeSchedulerTargetFmaxMhzINTEL = 5903,
198 ExecutionModeNamedBarrierCountINTEL = 6417,
199 ExecutionModeMax = 0x7fffffff,
202 enum StorageClass {
203 StorageClassUniformConstant = 0,
204 StorageClassInput = 1,
205 StorageClassUniform = 2,
206 StorageClassOutput = 3,
207 StorageClassWorkgroup = 4,
208 StorageClassCrossWorkgroup = 5,
209 StorageClassPrivate = 6,
210 StorageClassFunction = 7,
211 StorageClassGeneric = 8,
212 StorageClassPushConstant = 9,
213 StorageClassAtomicCounter = 10,
214 StorageClassImage = 11,
215 StorageClassStorageBuffer = 12,
216 StorageClassCallableDataKHR = 5328,
217 StorageClassCallableDataNV = 5328,
218 StorageClassIncomingCallableDataKHR = 5329,
219 StorageClassIncomingCallableDataNV = 5329,
220 StorageClassRayPayloadKHR = 5338,
221 StorageClassRayPayloadNV = 5338,
222 StorageClassHitAttributeKHR = 5339,
223 StorageClassHitAttributeNV = 5339,
224 StorageClassIncomingRayPayloadKHR = 5342,
225 StorageClassIncomingRayPayloadNV = 5342,
226 StorageClassShaderRecordBufferKHR = 5343,
227 StorageClassShaderRecordBufferNV = 5343,
228 StorageClassPhysicalStorageBuffer = 5349,
229 StorageClassPhysicalStorageBufferEXT = 5349,
230 StorageClassTaskPayloadWorkgroupEXT = 5402,
231 StorageClassCodeSectionINTEL = 5605,
232 StorageClassDeviceOnlyINTEL = 5936,
233 StorageClassHostOnlyINTEL = 5937,
234 StorageClassMax = 0x7fffffff,
237 enum Dim {
238 Dim1D = 0,
239 Dim2D = 1,
240 Dim3D = 2,
241 DimCube = 3,
242 DimRect = 4,
243 DimBuffer = 5,
244 DimSubpassData = 6,
245 DimMax = 0x7fffffff,
248 enum SamplerAddressingMode {
249 SamplerAddressingModeNone = 0,
250 SamplerAddressingModeClampToEdge = 1,
251 SamplerAddressingModeClamp = 2,
252 SamplerAddressingModeRepeat = 3,
253 SamplerAddressingModeRepeatMirrored = 4,
254 SamplerAddressingModeMax = 0x7fffffff,
257 enum SamplerFilterMode {
258 SamplerFilterModeNearest = 0,
259 SamplerFilterModeLinear = 1,
260 SamplerFilterModeMax = 0x7fffffff,
263 enum ImageFormat {
264 ImageFormatUnknown = 0,
265 ImageFormatRgba32f = 1,
266 ImageFormatRgba16f = 2,
267 ImageFormatR32f = 3,
268 ImageFormatRgba8 = 4,
269 ImageFormatRgba8Snorm = 5,
270 ImageFormatRg32f = 6,
271 ImageFormatRg16f = 7,
272 ImageFormatR11fG11fB10f = 8,
273 ImageFormatR16f = 9,
274 ImageFormatRgba16 = 10,
275 ImageFormatRgb10A2 = 11,
276 ImageFormatRg16 = 12,
277 ImageFormatRg8 = 13,
278 ImageFormatR16 = 14,
279 ImageFormatR8 = 15,
280 ImageFormatRgba16Snorm = 16,
281 ImageFormatRg16Snorm = 17,
282 ImageFormatRg8Snorm = 18,
283 ImageFormatR16Snorm = 19,
284 ImageFormatR8Snorm = 20,
285 ImageFormatRgba32i = 21,
286 ImageFormatRgba16i = 22,
287 ImageFormatRgba8i = 23,
288 ImageFormatR32i = 24,
289 ImageFormatRg32i = 25,
290 ImageFormatRg16i = 26,
291 ImageFormatRg8i = 27,
292 ImageFormatR16i = 28,
293 ImageFormatR8i = 29,
294 ImageFormatRgba32ui = 30,
295 ImageFormatRgba16ui = 31,
296 ImageFormatRgba8ui = 32,
297 ImageFormatR32ui = 33,
298 ImageFormatRgb10a2ui = 34,
299 ImageFormatRg32ui = 35,
300 ImageFormatRg16ui = 36,
301 ImageFormatRg8ui = 37,
302 ImageFormatR16ui = 38,
303 ImageFormatR8ui = 39,
304 ImageFormatR64ui = 40,
305 ImageFormatR64i = 41,
306 ImageFormatMax = 0x7fffffff,
309 enum ImageChannelOrder {
310 ImageChannelOrderR = 0,
311 ImageChannelOrderA = 1,
312 ImageChannelOrderRG = 2,
313 ImageChannelOrderRA = 3,
314 ImageChannelOrderRGB = 4,
315 ImageChannelOrderRGBA = 5,
316 ImageChannelOrderBGRA = 6,
317 ImageChannelOrderARGB = 7,
318 ImageChannelOrderIntensity = 8,
319 ImageChannelOrderLuminance = 9,
320 ImageChannelOrderRx = 10,
321 ImageChannelOrderRGx = 11,
322 ImageChannelOrderRGBx = 12,
323 ImageChannelOrderDepth = 13,
324 ImageChannelOrderDepthStencil = 14,
325 ImageChannelOrdersRGB = 15,
326 ImageChannelOrdersRGBx = 16,
327 ImageChannelOrdersRGBA = 17,
328 ImageChannelOrdersBGRA = 18,
329 ImageChannelOrderABGR = 19,
330 ImageChannelOrderMax = 0x7fffffff,
333 enum ImageChannelDataType {
334 ImageChannelDataTypeSnormInt8 = 0,
335 ImageChannelDataTypeSnormInt16 = 1,
336 ImageChannelDataTypeUnormInt8 = 2,
337 ImageChannelDataTypeUnormInt16 = 3,
338 ImageChannelDataTypeUnormShort565 = 4,
339 ImageChannelDataTypeUnormShort555 = 5,
340 ImageChannelDataTypeUnormInt101010 = 6,
341 ImageChannelDataTypeSignedInt8 = 7,
342 ImageChannelDataTypeSignedInt16 = 8,
343 ImageChannelDataTypeSignedInt32 = 9,
344 ImageChannelDataTypeUnsignedInt8 = 10,
345 ImageChannelDataTypeUnsignedInt16 = 11,
346 ImageChannelDataTypeUnsignedInt32 = 12,
347 ImageChannelDataTypeHalfFloat = 13,
348 ImageChannelDataTypeFloat = 14,
349 ImageChannelDataTypeUnormInt24 = 15,
350 ImageChannelDataTypeUnormInt101010_2 = 16,
351 ImageChannelDataTypeMax = 0x7fffffff,
354 enum ImageOperandsShift {
355 ImageOperandsBiasShift = 0,
356 ImageOperandsLodShift = 1,
357 ImageOperandsGradShift = 2,
358 ImageOperandsConstOffsetShift = 3,
359 ImageOperandsOffsetShift = 4,
360 ImageOperandsConstOffsetsShift = 5,
361 ImageOperandsSampleShift = 6,
362 ImageOperandsMinLodShift = 7,
363 ImageOperandsMakeTexelAvailableShift = 8,
364 ImageOperandsMakeTexelAvailableKHRShift = 8,
365 ImageOperandsMakeTexelVisibleShift = 9,
366 ImageOperandsMakeTexelVisibleKHRShift = 9,
367 ImageOperandsNonPrivateTexelShift = 10,
368 ImageOperandsNonPrivateTexelKHRShift = 10,
369 ImageOperandsVolatileTexelShift = 11,
370 ImageOperandsVolatileTexelKHRShift = 11,
371 ImageOperandsSignExtendShift = 12,
372 ImageOperandsZeroExtendShift = 13,
373 ImageOperandsNontemporalShift = 14,
374 ImageOperandsOffsetsShift = 16,
375 ImageOperandsMax = 0x7fffffff,
378 enum ImageOperandsMask {
379 ImageOperandsMaskNone = 0,
380 ImageOperandsBiasMask = 0x00000001,
381 ImageOperandsLodMask = 0x00000002,
382 ImageOperandsGradMask = 0x00000004,
383 ImageOperandsConstOffsetMask = 0x00000008,
384 ImageOperandsOffsetMask = 0x00000010,
385 ImageOperandsConstOffsetsMask = 0x00000020,
386 ImageOperandsSampleMask = 0x00000040,
387 ImageOperandsMinLodMask = 0x00000080,
388 ImageOperandsMakeTexelAvailableMask = 0x00000100,
389 ImageOperandsMakeTexelAvailableKHRMask = 0x00000100,
390 ImageOperandsMakeTexelVisibleMask = 0x00000200,
391 ImageOperandsMakeTexelVisibleKHRMask = 0x00000200,
392 ImageOperandsNonPrivateTexelMask = 0x00000400,
393 ImageOperandsNonPrivateTexelKHRMask = 0x00000400,
394 ImageOperandsVolatileTexelMask = 0x00000800,
395 ImageOperandsVolatileTexelKHRMask = 0x00000800,
396 ImageOperandsSignExtendMask = 0x00001000,
397 ImageOperandsZeroExtendMask = 0x00002000,
398 ImageOperandsNontemporalMask = 0x00004000,
399 ImageOperandsOffsetsMask = 0x00010000,
402 enum FPFastMathModeShift {
403 FPFastMathModeNotNaNShift = 0,
404 FPFastMathModeNotInfShift = 1,
405 FPFastMathModeNSZShift = 2,
406 FPFastMathModeAllowRecipShift = 3,
407 FPFastMathModeFastShift = 4,
408 FPFastMathModeAllowContractFastINTELShift = 16,
409 FPFastMathModeAllowReassocINTELShift = 17,
410 FPFastMathModeMax = 0x7fffffff,
413 enum FPFastMathModeMask {
414 FPFastMathModeMaskNone = 0,
415 FPFastMathModeNotNaNMask = 0x00000001,
416 FPFastMathModeNotInfMask = 0x00000002,
417 FPFastMathModeNSZMask = 0x00000004,
418 FPFastMathModeAllowRecipMask = 0x00000008,
419 FPFastMathModeFastMask = 0x00000010,
420 FPFastMathModeAllowContractFastINTELMask = 0x00010000,
421 FPFastMathModeAllowReassocINTELMask = 0x00020000,
424 enum FPRoundingMode {
425 FPRoundingModeRTE = 0,
426 FPRoundingModeRTZ = 1,
427 FPRoundingModeRTP = 2,
428 FPRoundingModeRTN = 3,
429 FPRoundingModeMax = 0x7fffffff,
432 enum LinkageType {
433 LinkageTypeExport = 0,
434 LinkageTypeImport = 1,
435 LinkageTypeLinkOnceODR = 2,
436 LinkageTypeMax = 0x7fffffff,
439 enum AccessQualifier {
440 AccessQualifierReadOnly = 0,
441 AccessQualifierWriteOnly = 1,
442 AccessQualifierReadWrite = 2,
443 AccessQualifierMax = 0x7fffffff,
446 enum FunctionParameterAttribute {
447 FunctionParameterAttributeZext = 0,
448 FunctionParameterAttributeSext = 1,
449 FunctionParameterAttributeByVal = 2,
450 FunctionParameterAttributeSret = 3,
451 FunctionParameterAttributeNoAlias = 4,
452 FunctionParameterAttributeNoCapture = 5,
453 FunctionParameterAttributeNoWrite = 6,
454 FunctionParameterAttributeNoReadWrite = 7,
455 FunctionParameterAttributeMax = 0x7fffffff,
458 enum Decoration {
459 DecorationRelaxedPrecision = 0,
460 DecorationSpecId = 1,
461 DecorationBlock = 2,
462 DecorationBufferBlock = 3,
463 DecorationRowMajor = 4,
464 DecorationColMajor = 5,
465 DecorationArrayStride = 6,
466 DecorationMatrixStride = 7,
467 DecorationGLSLShared = 8,
468 DecorationGLSLPacked = 9,
469 DecorationCPacked = 10,
470 DecorationBuiltIn = 11,
471 DecorationNoPerspective = 13,
472 DecorationFlat = 14,
473 DecorationPatch = 15,
474 DecorationCentroid = 16,
475 DecorationSample = 17,
476 DecorationInvariant = 18,
477 DecorationRestrict = 19,
478 DecorationAliased = 20,
479 DecorationVolatile = 21,
480 DecorationConstant = 22,
481 DecorationCoherent = 23,
482 DecorationNonWritable = 24,
483 DecorationNonReadable = 25,
484 DecorationUniform = 26,
485 DecorationUniformId = 27,
486 DecorationSaturatedConversion = 28,
487 DecorationStream = 29,
488 DecorationLocation = 30,
489 DecorationComponent = 31,
490 DecorationIndex = 32,
491 DecorationBinding = 33,
492 DecorationDescriptorSet = 34,
493 DecorationOffset = 35,
494 DecorationXfbBuffer = 36,
495 DecorationXfbStride = 37,
496 DecorationFuncParamAttr = 38,
497 DecorationFPRoundingMode = 39,
498 DecorationFPFastMathMode = 40,
499 DecorationLinkageAttributes = 41,
500 DecorationNoContraction = 42,
501 DecorationInputAttachmentIndex = 43,
502 DecorationAlignment = 44,
503 DecorationMaxByteOffset = 45,
504 DecorationAlignmentId = 46,
505 DecorationMaxByteOffsetId = 47,
506 DecorationNoSignedWrap = 4469,
507 DecorationNoUnsignedWrap = 4470,
508 DecorationWeightTextureQCOM = 4487,
509 DecorationBlockMatchTextureQCOM = 4488,
510 DecorationBlockMatchSamplerQCOM = 4499,
511 DecorationExplicitInterpAMD = 4999,
512 DecorationOverrideCoverageNV = 5248,
513 DecorationPassthroughNV = 5250,
514 DecorationViewportRelativeNV = 5252,
515 DecorationSecondaryViewportRelativeNV = 5256,
516 DecorationPerPrimitiveEXT = 5271,
517 DecorationPerPrimitiveNV = 5271,
518 DecorationPerViewNV = 5272,
519 DecorationPerTaskNV = 5273,
520 DecorationPerVertexKHR = 5285,
521 DecorationPerVertexNV = 5285,
522 DecorationNonUniform = 5300,
523 DecorationNonUniformEXT = 5300,
524 DecorationRestrictPointer = 5355,
525 DecorationRestrictPointerEXT = 5355,
526 DecorationAliasedPointer = 5356,
527 DecorationAliasedPointerEXT = 5356,
528 DecorationBindlessSamplerNV = 5398,
529 DecorationBindlessImageNV = 5399,
530 DecorationBoundSamplerNV = 5400,
531 DecorationBoundImageNV = 5401,
532 DecorationSIMTCallINTEL = 5599,
533 DecorationReferencedIndirectlyINTEL = 5602,
534 DecorationClobberINTEL = 5607,
535 DecorationSideEffectsINTEL = 5608,
536 DecorationVectorComputeVariableINTEL = 5624,
537 DecorationFuncParamIOKindINTEL = 5625,
538 DecorationVectorComputeFunctionINTEL = 5626,
539 DecorationStackCallINTEL = 5627,
540 DecorationGlobalVariableOffsetINTEL = 5628,
541 DecorationCounterBuffer = 5634,
542 DecorationHlslCounterBufferGOOGLE = 5634,
543 DecorationHlslSemanticGOOGLE = 5635,
544 DecorationUserSemantic = 5635,
545 DecorationUserTypeGOOGLE = 5636,
546 DecorationFunctionRoundingModeINTEL = 5822,
547 DecorationFunctionDenormModeINTEL = 5823,
548 DecorationRegisterINTEL = 5825,
549 DecorationMemoryINTEL = 5826,
550 DecorationNumbanksINTEL = 5827,
551 DecorationBankwidthINTEL = 5828,
552 DecorationMaxPrivateCopiesINTEL = 5829,
553 DecorationSinglepumpINTEL = 5830,
554 DecorationDoublepumpINTEL = 5831,
555 DecorationMaxReplicatesINTEL = 5832,
556 DecorationSimpleDualPortINTEL = 5833,
557 DecorationMergeINTEL = 5834,
558 DecorationBankBitsINTEL = 5835,
559 DecorationForcePow2DepthINTEL = 5836,
560 DecorationBurstCoalesceINTEL = 5899,
561 DecorationCacheSizeINTEL = 5900,
562 DecorationDontStaticallyCoalesceINTEL = 5901,
563 DecorationPrefetchINTEL = 5902,
564 DecorationStallEnableINTEL = 5905,
565 DecorationFuseLoopsInFunctionINTEL = 5907,
566 DecorationAliasScopeINTEL = 5914,
567 DecorationNoAliasINTEL = 5915,
568 DecorationBufferLocationINTEL = 5921,
569 DecorationIOPipeStorageINTEL = 5944,
570 DecorationFunctionFloatingPointModeINTEL = 6080,
571 DecorationSingleElementVectorINTEL = 6085,
572 DecorationVectorComputeCallableFunctionINTEL = 6087,
573 DecorationMediaBlockIOINTEL = 6140,
574 DecorationMax = 0x7fffffff,
577 enum BuiltIn {
578 BuiltInPosition = 0,
579 BuiltInPointSize = 1,
580 BuiltInClipDistance = 3,
581 BuiltInCullDistance = 4,
582 BuiltInVertexId = 5,
583 BuiltInInstanceId = 6,
584 BuiltInPrimitiveId = 7,
585 BuiltInInvocationId = 8,
586 BuiltInLayer = 9,
587 BuiltInViewportIndex = 10,
588 BuiltInTessLevelOuter = 11,
589 BuiltInTessLevelInner = 12,
590 BuiltInTessCoord = 13,
591 BuiltInPatchVertices = 14,
592 BuiltInFragCoord = 15,
593 BuiltInPointCoord = 16,
594 BuiltInFrontFacing = 17,
595 BuiltInSampleId = 18,
596 BuiltInSamplePosition = 19,
597 BuiltInSampleMask = 20,
598 BuiltInFragDepth = 22,
599 BuiltInHelperInvocation = 23,
600 BuiltInNumWorkgroups = 24,
601 BuiltInWorkgroupSize = 25,
602 BuiltInWorkgroupId = 26,
603 BuiltInLocalInvocationId = 27,
604 BuiltInGlobalInvocationId = 28,
605 BuiltInLocalInvocationIndex = 29,
606 BuiltInWorkDim = 30,
607 BuiltInGlobalSize = 31,
608 BuiltInEnqueuedWorkgroupSize = 32,
609 BuiltInGlobalOffset = 33,
610 BuiltInGlobalLinearId = 34,
611 BuiltInSubgroupSize = 36,
612 BuiltInSubgroupMaxSize = 37,
613 BuiltInNumSubgroups = 38,
614 BuiltInNumEnqueuedSubgroups = 39,
615 BuiltInSubgroupId = 40,
616 BuiltInSubgroupLocalInvocationId = 41,
617 BuiltInVertexIndex = 42,
618 BuiltInInstanceIndex = 43,
619 BuiltInSubgroupEqMask = 4416,
620 BuiltInSubgroupEqMaskKHR = 4416,
621 BuiltInSubgroupGeMask = 4417,
622 BuiltInSubgroupGeMaskKHR = 4417,
623 BuiltInSubgroupGtMask = 4418,
624 BuiltInSubgroupGtMaskKHR = 4418,
625 BuiltInSubgroupLeMask = 4419,
626 BuiltInSubgroupLeMaskKHR = 4419,
627 BuiltInSubgroupLtMask = 4420,
628 BuiltInSubgroupLtMaskKHR = 4420,
629 BuiltInBaseVertex = 4424,
630 BuiltInBaseInstance = 4425,
631 BuiltInDrawIndex = 4426,
632 BuiltInPrimitiveShadingRateKHR = 4432,
633 BuiltInDeviceIndex = 4438,
634 BuiltInViewIndex = 4440,
635 BuiltInShadingRateKHR = 4444,
636 BuiltInBaryCoordNoPerspAMD = 4992,
637 BuiltInBaryCoordNoPerspCentroidAMD = 4993,
638 BuiltInBaryCoordNoPerspSampleAMD = 4994,
639 BuiltInBaryCoordSmoothAMD = 4995,
640 BuiltInBaryCoordSmoothCentroidAMD = 4996,
641 BuiltInBaryCoordSmoothSampleAMD = 4997,
642 BuiltInBaryCoordPullModelAMD = 4998,
643 BuiltInFragStencilRefEXT = 5014,
644 BuiltInViewportMaskNV = 5253,
645 BuiltInSecondaryPositionNV = 5257,
646 BuiltInSecondaryViewportMaskNV = 5258,
647 BuiltInPositionPerViewNV = 5261,
648 BuiltInViewportMaskPerViewNV = 5262,
649 BuiltInFullyCoveredEXT = 5264,
650 BuiltInTaskCountNV = 5274,
651 BuiltInPrimitiveCountNV = 5275,
652 BuiltInPrimitiveIndicesNV = 5276,
653 BuiltInClipDistancePerViewNV = 5277,
654 BuiltInCullDistancePerViewNV = 5278,
655 BuiltInLayerPerViewNV = 5279,
656 BuiltInMeshViewCountNV = 5280,
657 BuiltInMeshViewIndicesNV = 5281,
658 BuiltInBaryCoordKHR = 5286,
659 BuiltInBaryCoordNV = 5286,
660 BuiltInBaryCoordNoPerspKHR = 5287,
661 BuiltInBaryCoordNoPerspNV = 5287,
662 BuiltInFragSizeEXT = 5292,
663 BuiltInFragmentSizeNV = 5292,
664 BuiltInFragInvocationCountEXT = 5293,
665 BuiltInInvocationsPerPixelNV = 5293,
666 BuiltInPrimitivePointIndicesEXT = 5294,
667 BuiltInPrimitiveLineIndicesEXT = 5295,
668 BuiltInPrimitiveTriangleIndicesEXT = 5296,
669 BuiltInCullPrimitiveEXT = 5299,
670 BuiltInLaunchIdKHR = 5319,
671 BuiltInLaunchIdNV = 5319,
672 BuiltInLaunchSizeKHR = 5320,
673 BuiltInLaunchSizeNV = 5320,
674 BuiltInWorldRayOriginKHR = 5321,
675 BuiltInWorldRayOriginNV = 5321,
676 BuiltInWorldRayDirectionKHR = 5322,
677 BuiltInWorldRayDirectionNV = 5322,
678 BuiltInObjectRayOriginKHR = 5323,
679 BuiltInObjectRayOriginNV = 5323,
680 BuiltInObjectRayDirectionKHR = 5324,
681 BuiltInObjectRayDirectionNV = 5324,
682 BuiltInRayTminKHR = 5325,
683 BuiltInRayTminNV = 5325,
684 BuiltInRayTmaxKHR = 5326,
685 BuiltInRayTmaxNV = 5326,
686 BuiltInInstanceCustomIndexKHR = 5327,
687 BuiltInInstanceCustomIndexNV = 5327,
688 BuiltInObjectToWorldKHR = 5330,
689 BuiltInObjectToWorldNV = 5330,
690 BuiltInWorldToObjectKHR = 5331,
691 BuiltInWorldToObjectNV = 5331,
692 BuiltInHitTNV = 5332,
693 BuiltInHitKindKHR = 5333,
694 BuiltInHitKindNV = 5333,
695 BuiltInCurrentRayTimeNV = 5334,
696 BuiltInIncomingRayFlagsKHR = 5351,
697 BuiltInIncomingRayFlagsNV = 5351,
698 BuiltInRayGeometryIndexKHR = 5352,
699 BuiltInWarpsPerSMNV = 5374,
700 BuiltInSMCountNV = 5375,
701 BuiltInWarpIDNV = 5376,
702 BuiltInSMIDNV = 5377,
703 BuiltInCullMaskKHR = 6021,
704 BuiltInMax = 0x7fffffff,
707 enum SelectionControlShift {
708 SelectionControlFlattenShift = 0,
709 SelectionControlDontFlattenShift = 1,
710 SelectionControlMax = 0x7fffffff,
713 enum SelectionControlMask {
714 SelectionControlMaskNone = 0,
715 SelectionControlFlattenMask = 0x00000001,
716 SelectionControlDontFlattenMask = 0x00000002,
719 enum LoopControlShift {
720 LoopControlUnrollShift = 0,
721 LoopControlDontUnrollShift = 1,
722 LoopControlDependencyInfiniteShift = 2,
723 LoopControlDependencyLengthShift = 3,
724 LoopControlMinIterationsShift = 4,
725 LoopControlMaxIterationsShift = 5,
726 LoopControlIterationMultipleShift = 6,
727 LoopControlPeelCountShift = 7,
728 LoopControlPartialCountShift = 8,
729 LoopControlInitiationIntervalINTELShift = 16,
730 LoopControlMaxConcurrencyINTELShift = 17,
731 LoopControlDependencyArrayINTELShift = 18,
732 LoopControlPipelineEnableINTELShift = 19,
733 LoopControlLoopCoalesceINTELShift = 20,
734 LoopControlMaxInterleavingINTELShift = 21,
735 LoopControlSpeculatedIterationsINTELShift = 22,
736 LoopControlNoFusionINTELShift = 23,
737 LoopControlMax = 0x7fffffff,
740 enum LoopControlMask {
741 LoopControlMaskNone = 0,
742 LoopControlUnrollMask = 0x00000001,
743 LoopControlDontUnrollMask = 0x00000002,
744 LoopControlDependencyInfiniteMask = 0x00000004,
745 LoopControlDependencyLengthMask = 0x00000008,
746 LoopControlMinIterationsMask = 0x00000010,
747 LoopControlMaxIterationsMask = 0x00000020,
748 LoopControlIterationMultipleMask = 0x00000040,
749 LoopControlPeelCountMask = 0x00000080,
750 LoopControlPartialCountMask = 0x00000100,
751 LoopControlInitiationIntervalINTELMask = 0x00010000,
752 LoopControlMaxConcurrencyINTELMask = 0x00020000,
753 LoopControlDependencyArrayINTELMask = 0x00040000,
754 LoopControlPipelineEnableINTELMask = 0x00080000,
755 LoopControlLoopCoalesceINTELMask = 0x00100000,
756 LoopControlMaxInterleavingINTELMask = 0x00200000,
757 LoopControlSpeculatedIterationsINTELMask = 0x00400000,
758 LoopControlNoFusionINTELMask = 0x00800000,
761 enum FunctionControlShift {
762 FunctionControlInlineShift = 0,
763 FunctionControlDontInlineShift = 1,
764 FunctionControlPureShift = 2,
765 FunctionControlConstShift = 3,
766 FunctionControlOptNoneINTELShift = 16,
767 FunctionControlMax = 0x7fffffff,
770 enum FunctionControlMask {
771 FunctionControlMaskNone = 0,
772 FunctionControlInlineMask = 0x00000001,
773 FunctionControlDontInlineMask = 0x00000002,
774 FunctionControlPureMask = 0x00000004,
775 FunctionControlConstMask = 0x00000008,
776 FunctionControlOptNoneINTELMask = 0x00010000,
779 enum MemorySemanticsShift {
780 MemorySemanticsAcquireShift = 1,
781 MemorySemanticsReleaseShift = 2,
782 MemorySemanticsAcquireReleaseShift = 3,
783 MemorySemanticsSequentiallyConsistentShift = 4,
784 MemorySemanticsUniformMemoryShift = 6,
785 MemorySemanticsSubgroupMemoryShift = 7,
786 MemorySemanticsWorkgroupMemoryShift = 8,
787 MemorySemanticsCrossWorkgroupMemoryShift = 9,
788 MemorySemanticsAtomicCounterMemoryShift = 10,
789 MemorySemanticsImageMemoryShift = 11,
790 MemorySemanticsOutputMemoryShift = 12,
791 MemorySemanticsOutputMemoryKHRShift = 12,
792 MemorySemanticsMakeAvailableShift = 13,
793 MemorySemanticsMakeAvailableKHRShift = 13,
794 MemorySemanticsMakeVisibleShift = 14,
795 MemorySemanticsMakeVisibleKHRShift = 14,
796 MemorySemanticsVolatileShift = 15,
797 MemorySemanticsMax = 0x7fffffff,
800 enum MemorySemanticsMask {
801 MemorySemanticsMaskNone = 0,
802 MemorySemanticsAcquireMask = 0x00000002,
803 MemorySemanticsReleaseMask = 0x00000004,
804 MemorySemanticsAcquireReleaseMask = 0x00000008,
805 MemorySemanticsSequentiallyConsistentMask = 0x00000010,
806 MemorySemanticsUniformMemoryMask = 0x00000040,
807 MemorySemanticsSubgroupMemoryMask = 0x00000080,
808 MemorySemanticsWorkgroupMemoryMask = 0x00000100,
809 MemorySemanticsCrossWorkgroupMemoryMask = 0x00000200,
810 MemorySemanticsAtomicCounterMemoryMask = 0x00000400,
811 MemorySemanticsImageMemoryMask = 0x00000800,
812 MemorySemanticsOutputMemoryMask = 0x00001000,
813 MemorySemanticsOutputMemoryKHRMask = 0x00001000,
814 MemorySemanticsMakeAvailableMask = 0x00002000,
815 MemorySemanticsMakeAvailableKHRMask = 0x00002000,
816 MemorySemanticsMakeVisibleMask = 0x00004000,
817 MemorySemanticsMakeVisibleKHRMask = 0x00004000,
818 MemorySemanticsVolatileMask = 0x00008000,
821 enum MemoryAccessShift {
822 MemoryAccessVolatileShift = 0,
823 MemoryAccessAlignedShift = 1,
824 MemoryAccessNontemporalShift = 2,
825 MemoryAccessMakePointerAvailableShift = 3,
826 MemoryAccessMakePointerAvailableKHRShift = 3,
827 MemoryAccessMakePointerVisibleShift = 4,
828 MemoryAccessMakePointerVisibleKHRShift = 4,
829 MemoryAccessNonPrivatePointerShift = 5,
830 MemoryAccessNonPrivatePointerKHRShift = 5,
831 MemoryAccessAliasScopeINTELMaskShift = 16,
832 MemoryAccessNoAliasINTELMaskShift = 17,
833 MemoryAccessMax = 0x7fffffff,
836 enum MemoryAccessMask {
837 MemoryAccessMaskNone = 0,
838 MemoryAccessVolatileMask = 0x00000001,
839 MemoryAccessAlignedMask = 0x00000002,
840 MemoryAccessNontemporalMask = 0x00000004,
841 MemoryAccessMakePointerAvailableMask = 0x00000008,
842 MemoryAccessMakePointerAvailableKHRMask = 0x00000008,
843 MemoryAccessMakePointerVisibleMask = 0x00000010,
844 MemoryAccessMakePointerVisibleKHRMask = 0x00000010,
845 MemoryAccessNonPrivatePointerMask = 0x00000020,
846 MemoryAccessNonPrivatePointerKHRMask = 0x00000020,
847 MemoryAccessAliasScopeINTELMaskMask = 0x00010000,
848 MemoryAccessNoAliasINTELMaskMask = 0x00020000,
851 enum Scope {
852 ScopeCrossDevice = 0,
853 ScopeDevice = 1,
854 ScopeWorkgroup = 2,
855 ScopeSubgroup = 3,
856 ScopeInvocation = 4,
857 ScopeQueueFamily = 5,
858 ScopeQueueFamilyKHR = 5,
859 ScopeShaderCallKHR = 6,
860 ScopeMax = 0x7fffffff,
863 enum GroupOperation {
864 GroupOperationReduce = 0,
865 GroupOperationInclusiveScan = 1,
866 GroupOperationExclusiveScan = 2,
867 GroupOperationClusteredReduce = 3,
868 GroupOperationPartitionedReduceNV = 6,
869 GroupOperationPartitionedInclusiveScanNV = 7,
870 GroupOperationPartitionedExclusiveScanNV = 8,
871 GroupOperationMax = 0x7fffffff,
874 enum KernelEnqueueFlags {
875 KernelEnqueueFlagsNoWait = 0,
876 KernelEnqueueFlagsWaitKernel = 1,
877 KernelEnqueueFlagsWaitWorkGroup = 2,
878 KernelEnqueueFlagsMax = 0x7fffffff,
881 enum KernelProfilingInfoShift {
882 KernelProfilingInfoCmdExecTimeShift = 0,
883 KernelProfilingInfoMax = 0x7fffffff,
886 enum KernelProfilingInfoMask {
887 KernelProfilingInfoMaskNone = 0,
888 KernelProfilingInfoCmdExecTimeMask = 0x00000001,
891 enum Capability {
892 CapabilityMatrix = 0,
893 CapabilityShader = 1,
894 CapabilityGeometry = 2,
895 CapabilityTessellation = 3,
896 CapabilityAddresses = 4,
897 CapabilityLinkage = 5,
898 CapabilityKernel = 6,
899 CapabilityVector16 = 7,
900 CapabilityFloat16Buffer = 8,
901 CapabilityFloat16 = 9,
902 CapabilityFloat64 = 10,
903 CapabilityInt64 = 11,
904 CapabilityInt64Atomics = 12,
905 CapabilityImageBasic = 13,
906 CapabilityImageReadWrite = 14,
907 CapabilityImageMipmap = 15,
908 CapabilityPipes = 17,
909 CapabilityGroups = 18,
910 CapabilityDeviceEnqueue = 19,
911 CapabilityLiteralSampler = 20,
912 CapabilityAtomicStorage = 21,
913 CapabilityInt16 = 22,
914 CapabilityTessellationPointSize = 23,
915 CapabilityGeometryPointSize = 24,
916 CapabilityImageGatherExtended = 25,
917 CapabilityStorageImageMultisample = 27,
918 CapabilityUniformBufferArrayDynamicIndexing = 28,
919 CapabilitySampledImageArrayDynamicIndexing = 29,
920 CapabilityStorageBufferArrayDynamicIndexing = 30,
921 CapabilityStorageImageArrayDynamicIndexing = 31,
922 CapabilityClipDistance = 32,
923 CapabilityCullDistance = 33,
924 CapabilityImageCubeArray = 34,
925 CapabilitySampleRateShading = 35,
926 CapabilityImageRect = 36,
927 CapabilitySampledRect = 37,
928 CapabilityGenericPointer = 38,
929 CapabilityInt8 = 39,
930 CapabilityInputAttachment = 40,
931 CapabilitySparseResidency = 41,
932 CapabilityMinLod = 42,
933 CapabilitySampled1D = 43,
934 CapabilityImage1D = 44,
935 CapabilitySampledCubeArray = 45,
936 CapabilitySampledBuffer = 46,
937 CapabilityImageBuffer = 47,
938 CapabilityImageMSArray = 48,
939 CapabilityStorageImageExtendedFormats = 49,
940 CapabilityImageQuery = 50,
941 CapabilityDerivativeControl = 51,
942 CapabilityInterpolationFunction = 52,
943 CapabilityTransformFeedback = 53,
944 CapabilityGeometryStreams = 54,
945 CapabilityStorageImageReadWithoutFormat = 55,
946 CapabilityStorageImageWriteWithoutFormat = 56,
947 CapabilityMultiViewport = 57,
948 CapabilitySubgroupDispatch = 58,
949 CapabilityNamedBarrier = 59,
950 CapabilityPipeStorage = 60,
951 CapabilityGroupNonUniform = 61,
952 CapabilityGroupNonUniformVote = 62,
953 CapabilityGroupNonUniformArithmetic = 63,
954 CapabilityGroupNonUniformBallot = 64,
955 CapabilityGroupNonUniformShuffle = 65,
956 CapabilityGroupNonUniformShuffleRelative = 66,
957 CapabilityGroupNonUniformClustered = 67,
958 CapabilityGroupNonUniformQuad = 68,
959 CapabilityShaderLayer = 69,
960 CapabilityShaderViewportIndex = 70,
961 CapabilityUniformDecoration = 71,
962 CapabilityFragmentShadingRateKHR = 4422,
963 CapabilitySubgroupBallotKHR = 4423,
964 CapabilityDrawParameters = 4427,
965 CapabilityWorkgroupMemoryExplicitLayoutKHR = 4428,
966 CapabilityWorkgroupMemoryExplicitLayout8BitAccessKHR = 4429,
967 CapabilityWorkgroupMemoryExplicitLayout16BitAccessKHR = 4430,
968 CapabilitySubgroupVoteKHR = 4431,
969 CapabilityStorageBuffer16BitAccess = 4433,
970 CapabilityStorageUniformBufferBlock16 = 4433,
971 CapabilityStorageUniform16 = 4434,
972 CapabilityUniformAndStorageBuffer16BitAccess = 4434,
973 CapabilityStoragePushConstant16 = 4435,
974 CapabilityStorageInputOutput16 = 4436,
975 CapabilityDeviceGroup = 4437,
976 CapabilityMultiView = 4439,
977 CapabilityVariablePointersStorageBuffer = 4441,
978 CapabilityVariablePointers = 4442,
979 CapabilityAtomicStorageOps = 4445,
980 CapabilitySampleMaskPostDepthCoverage = 4447,
981 CapabilityStorageBuffer8BitAccess = 4448,
982 CapabilityUniformAndStorageBuffer8BitAccess = 4449,
983 CapabilityStoragePushConstant8 = 4450,
984 CapabilityDenormPreserve = 4464,
985 CapabilityDenormFlushToZero = 4465,
986 CapabilitySignedZeroInfNanPreserve = 4466,
987 CapabilityRoundingModeRTE = 4467,
988 CapabilityRoundingModeRTZ = 4468,
989 CapabilityRayQueryProvisionalKHR = 4471,
990 CapabilityRayQueryKHR = 4472,
991 CapabilityRayTraversalPrimitiveCullingKHR = 4478,
992 CapabilityRayTracingKHR = 4479,
993 CapabilityTextureSampleWeightedQCOM = 4484,
994 CapabilityTextureBoxFilterQCOM = 4485,
995 CapabilityTextureBlockMatchQCOM = 4486,
996 CapabilityTextureBlockMatch2QCOM = 4498,
997 CapabilityFloat16ImageAMD = 5008,
998 CapabilityImageGatherBiasLodAMD = 5009,
999 CapabilityFragmentMaskAMD = 5010,
1000 CapabilityStencilExportEXT = 5013,
1001 CapabilityImageReadWriteLodAMD = 5015,
1002 CapabilityInt64ImageEXT = 5016,
1003 CapabilityShaderClockKHR = 5055,
1004 CapabilitySampleMaskOverrideCoverageNV = 5249,
1005 CapabilityGeometryShaderPassthroughNV = 5251,
1006 CapabilityShaderViewportIndexLayerEXT = 5254,
1007 CapabilityShaderViewportIndexLayerNV = 5254,
1008 CapabilityShaderViewportMaskNV = 5255,
1009 CapabilityShaderStereoViewNV = 5259,
1010 CapabilityPerViewAttributesNV = 5260,
1011 CapabilityFragmentFullyCoveredEXT = 5265,
1012 CapabilityMeshShadingNV = 5266,
1013 CapabilityImageFootprintNV = 5282,
1014 CapabilityMeshShadingEXT = 5283,
1015 CapabilityFragmentBarycentricKHR = 5284,
1016 CapabilityFragmentBarycentricNV = 5284,
1017 CapabilityComputeDerivativeGroupQuadsNV = 5288,
1018 CapabilityFragmentDensityEXT = 5291,
1019 CapabilityShadingRateNV = 5291,
1020 CapabilityGroupNonUniformPartitionedNV = 5297,
1021 CapabilityShaderNonUniform = 5301,
1022 CapabilityShaderNonUniformEXT = 5301,
1023 CapabilityRuntimeDescriptorArray = 5302,
1024 CapabilityRuntimeDescriptorArrayEXT = 5302,
1025 CapabilityInputAttachmentArrayDynamicIndexing = 5303,
1026 CapabilityInputAttachmentArrayDynamicIndexingEXT = 5303,
1027 CapabilityUniformTexelBufferArrayDynamicIndexing = 5304,
1028 CapabilityUniformTexelBufferArrayDynamicIndexingEXT = 5304,
1029 CapabilityStorageTexelBufferArrayDynamicIndexing = 5305,
1030 CapabilityStorageTexelBufferArrayDynamicIndexingEXT = 5305,
1031 CapabilityUniformBufferArrayNonUniformIndexing = 5306,
1032 CapabilityUniformBufferArrayNonUniformIndexingEXT = 5306,
1033 CapabilitySampledImageArrayNonUniformIndexing = 5307,
1034 CapabilitySampledImageArrayNonUniformIndexingEXT = 5307,
1035 CapabilityStorageBufferArrayNonUniformIndexing = 5308,
1036 CapabilityStorageBufferArrayNonUniformIndexingEXT = 5308,
1037 CapabilityStorageImageArrayNonUniformIndexing = 5309,
1038 CapabilityStorageImageArrayNonUniformIndexingEXT = 5309,
1039 CapabilityInputAttachmentArrayNonUniformIndexing = 5310,
1040 CapabilityInputAttachmentArrayNonUniformIndexingEXT = 5310,
1041 CapabilityUniformTexelBufferArrayNonUniformIndexing = 5311,
1042 CapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311,
1043 CapabilityStorageTexelBufferArrayNonUniformIndexing = 5312,
1044 CapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
1045 CapabilityRayTracingNV = 5340,
1046 CapabilityRayTracingMotionBlurNV = 5341,
1047 CapabilityVulkanMemoryModel = 5345,
1048 CapabilityVulkanMemoryModelKHR = 5345,
1049 CapabilityVulkanMemoryModelDeviceScope = 5346,
1050 CapabilityVulkanMemoryModelDeviceScopeKHR = 5346,
1051 CapabilityPhysicalStorageBufferAddresses = 5347,
1052 CapabilityPhysicalStorageBufferAddressesEXT = 5347,
1053 CapabilityComputeDerivativeGroupLinearNV = 5350,
1054 CapabilityRayTracingProvisionalKHR = 5353,
1055 CapabilityCooperativeMatrixNV = 5357,
1056 CapabilityFragmentShaderSampleInterlockEXT = 5363,
1057 CapabilityFragmentShaderShadingRateInterlockEXT = 5372,
1058 CapabilityShaderSMBuiltinsNV = 5373,
1059 CapabilityFragmentShaderPixelInterlockEXT = 5378,
1060 CapabilityDemoteToHelperInvocation = 5379,
1061 CapabilityDemoteToHelperInvocationEXT = 5379,
1062 CapabilityBindlessTextureNV = 5390,
1063 CapabilitySubgroupShuffleINTEL = 5568,
1064 CapabilitySubgroupBufferBlockIOINTEL = 5569,
1065 CapabilitySubgroupImageBlockIOINTEL = 5570,
1066 CapabilitySubgroupImageMediaBlockIOINTEL = 5579,
1067 CapabilityRoundToInfinityINTEL = 5582,
1068 CapabilityFloatingPointModeINTEL = 5583,
1069 CapabilityIntegerFunctions2INTEL = 5584,
1070 CapabilityFunctionPointersINTEL = 5603,
1071 CapabilityIndirectReferencesINTEL = 5604,
1072 CapabilityAsmINTEL = 5606,
1073 CapabilityAtomicFloat32MinMaxEXT = 5612,
1074 CapabilityAtomicFloat64MinMaxEXT = 5613,
1075 CapabilityAtomicFloat16MinMaxEXT = 5616,
1076 CapabilityVectorComputeINTEL = 5617,
1077 CapabilityVectorAnyINTEL = 5619,
1078 CapabilityExpectAssumeKHR = 5629,
1079 CapabilitySubgroupAvcMotionEstimationINTEL = 5696,
1080 CapabilitySubgroupAvcMotionEstimationIntraINTEL = 5697,
1081 CapabilitySubgroupAvcMotionEstimationChromaINTEL = 5698,
1082 CapabilityVariableLengthArrayINTEL = 5817,
1083 CapabilityFunctionFloatControlINTEL = 5821,
1084 CapabilityFPGAMemoryAttributesINTEL = 5824,
1085 CapabilityFPFastMathModeINTEL = 5837,
1086 CapabilityArbitraryPrecisionIntegersINTEL = 5844,
1087 CapabilityArbitraryPrecisionFloatingPointINTEL = 5845,
1088 CapabilityUnstructuredLoopControlsINTEL = 5886,
1089 CapabilityFPGALoopControlsINTEL = 5888,
1090 CapabilityKernelAttributesINTEL = 5892,
1091 CapabilityFPGAKernelAttributesINTEL = 5897,
1092 CapabilityFPGAMemoryAccessesINTEL = 5898,
1093 CapabilityFPGAClusterAttributesINTEL = 5904,
1094 CapabilityLoopFuseINTEL = 5906,
1095 CapabilityMemoryAccessAliasingINTEL = 5910,
1096 CapabilityFPGABufferLocationINTEL = 5920,
1097 CapabilityArbitraryPrecisionFixedPointINTEL = 5922,
1098 CapabilityUSMStorageClassesINTEL = 5935,
1099 CapabilityIOPipesINTEL = 5943,
1100 CapabilityBlockingPipesINTEL = 5945,
1101 CapabilityFPGARegINTEL = 5948,
1102 CapabilityDotProductInputAll = 6016,
1103 CapabilityDotProductInputAllKHR = 6016,
1104 CapabilityDotProductInput4x8Bit = 6017,
1105 CapabilityDotProductInput4x8BitKHR = 6017,
1106 CapabilityDotProductInput4x8BitPacked = 6018,
1107 CapabilityDotProductInput4x8BitPackedKHR = 6018,
1108 CapabilityDotProduct = 6019,
1109 CapabilityDotProductKHR = 6019,
1110 CapabilityRayCullMaskKHR = 6020,
1111 CapabilityBitInstructions = 6025,
1112 CapabilityGroupNonUniformRotateKHR = 6026,
1113 CapabilityAtomicFloat32AddEXT = 6033,
1114 CapabilityAtomicFloat64AddEXT = 6034,
1115 CapabilityLongConstantCompositeINTEL = 6089,
1116 CapabilityOptNoneINTEL = 6094,
1117 CapabilityAtomicFloat16AddEXT = 6095,
1118 CapabilityDebugInfoModuleINTEL = 6114,
1119 CapabilitySplitBarrierINTEL = 6141,
1120 CapabilityGroupUniformArithmeticKHR = 6400,
1121 CapabilityMax = 0x7fffffff,
1124 enum RayFlagsShift {
1125 RayFlagsOpaqueKHRShift = 0,
1126 RayFlagsNoOpaqueKHRShift = 1,
1127 RayFlagsTerminateOnFirstHitKHRShift = 2,
1128 RayFlagsSkipClosestHitShaderKHRShift = 3,
1129 RayFlagsCullBackFacingTrianglesKHRShift = 4,
1130 RayFlagsCullFrontFacingTrianglesKHRShift = 5,
1131 RayFlagsCullOpaqueKHRShift = 6,
1132 RayFlagsCullNoOpaqueKHRShift = 7,
1133 RayFlagsSkipTrianglesKHRShift = 8,
1134 RayFlagsSkipAABBsKHRShift = 9,
1135 RayFlagsMax = 0x7fffffff,
1138 enum RayFlagsMask {
1139 RayFlagsMaskNone = 0,
1140 RayFlagsOpaqueKHRMask = 0x00000001,
1141 RayFlagsNoOpaqueKHRMask = 0x00000002,
1142 RayFlagsTerminateOnFirstHitKHRMask = 0x00000004,
1143 RayFlagsSkipClosestHitShaderKHRMask = 0x00000008,
1144 RayFlagsCullBackFacingTrianglesKHRMask = 0x00000010,
1145 RayFlagsCullFrontFacingTrianglesKHRMask = 0x00000020,
1146 RayFlagsCullOpaqueKHRMask = 0x00000040,
1147 RayFlagsCullNoOpaqueKHRMask = 0x00000080,
1148 RayFlagsSkipTrianglesKHRMask = 0x00000100,
1149 RayFlagsSkipAABBsKHRMask = 0x00000200,
1152 enum RayQueryIntersection {
1153 RayQueryIntersectionRayQueryCandidateIntersectionKHR = 0,
1154 RayQueryIntersectionRayQueryCommittedIntersectionKHR = 1,
1155 RayQueryIntersectionMax = 0x7fffffff,
1158 enum RayQueryCommittedIntersectionType {
1159 RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionNoneKHR = 0,
1160 RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionTriangleKHR = 1,
1161 RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionGeneratedKHR = 2,
1162 RayQueryCommittedIntersectionTypeMax = 0x7fffffff,
1165 enum RayQueryCandidateIntersectionType {
1166 RayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionTriangleKHR = 0,
1167 RayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionAABBKHR = 1,
1168 RayQueryCandidateIntersectionTypeMax = 0x7fffffff,
1171 enum FragmentShadingRateShift {
1172 FragmentShadingRateVertical2PixelsShift = 0,
1173 FragmentShadingRateVertical4PixelsShift = 1,
1174 FragmentShadingRateHorizontal2PixelsShift = 2,
1175 FragmentShadingRateHorizontal4PixelsShift = 3,
1176 FragmentShadingRateMax = 0x7fffffff,
1179 enum FragmentShadingRateMask {
1180 FragmentShadingRateMaskNone = 0,
1181 FragmentShadingRateVertical2PixelsMask = 0x00000001,
1182 FragmentShadingRateVertical4PixelsMask = 0x00000002,
1183 FragmentShadingRateHorizontal2PixelsMask = 0x00000004,
1184 FragmentShadingRateHorizontal4PixelsMask = 0x00000008,
1187 enum FPDenormMode {
1188 FPDenormModePreserve = 0,
1189 FPDenormModeFlushToZero = 1,
1190 FPDenormModeMax = 0x7fffffff,
1193 enum FPOperationMode {
1194 FPOperationModeIEEE = 0,
1195 FPOperationModeALT = 1,
1196 FPOperationModeMax = 0x7fffffff,
1199 enum QuantizationModes {
1200 QuantizationModesTRN = 0,
1201 QuantizationModesTRN_ZERO = 1,
1202 QuantizationModesRND = 2,
1203 QuantizationModesRND_ZERO = 3,
1204 QuantizationModesRND_INF = 4,
1205 QuantizationModesRND_MIN_INF = 5,
1206 QuantizationModesRND_CONV = 6,
1207 QuantizationModesRND_CONV_ODD = 7,
1208 QuantizationModesMax = 0x7fffffff,
1211 enum OverflowModes {
1212 OverflowModesWRAP = 0,
1213 OverflowModesSAT = 1,
1214 OverflowModesSAT_ZERO = 2,
1215 OverflowModesSAT_SYM = 3,
1216 OverflowModesMax = 0x7fffffff,
1219 enum PackedVectorFormat {
1220 PackedVectorFormatPackedVectorFormat4x8Bit = 0,
1221 PackedVectorFormatPackedVectorFormat4x8BitKHR = 0,
1222 PackedVectorFormatMax = 0x7fffffff,
1225 enum Op {
1226 OpNop = 0,
1227 OpUndef = 1,
1228 OpSourceContinued = 2,
1229 OpSource = 3,
1230 OpSourceExtension = 4,
1231 OpName = 5,
1232 OpMemberName = 6,
1233 OpString = 7,
1234 OpLine = 8,
1235 OpExtension = 10,
1236 OpExtInstImport = 11,
1237 OpExtInst = 12,
1238 OpMemoryModel = 14,
1239 OpEntryPoint = 15,
1240 OpExecutionMode = 16,
1241 OpCapability = 17,
1242 OpTypeVoid = 19,
1243 OpTypeBool = 20,
1244 OpTypeInt = 21,
1245 OpTypeFloat = 22,
1246 OpTypeVector = 23,
1247 OpTypeMatrix = 24,
1248 OpTypeImage = 25,
1249 OpTypeSampler = 26,
1250 OpTypeSampledImage = 27,
1251 OpTypeArray = 28,
1252 OpTypeRuntimeArray = 29,
1253 OpTypeStruct = 30,
1254 OpTypeOpaque = 31,
1255 OpTypePointer = 32,
1256 OpTypeFunction = 33,
1257 OpTypeEvent = 34,
1258 OpTypeDeviceEvent = 35,
1259 OpTypeReserveId = 36,
1260 OpTypeQueue = 37,
1261 OpTypePipe = 38,
1262 OpTypeForwardPointer = 39,
1263 OpConstantTrue = 41,
1264 OpConstantFalse = 42,
1265 OpConstant = 43,
1266 OpConstantComposite = 44,
1267 OpConstantSampler = 45,
1268 OpConstantNull = 46,
1269 OpSpecConstantTrue = 48,
1270 OpSpecConstantFalse = 49,
1271 OpSpecConstant = 50,
1272 OpSpecConstantComposite = 51,
1273 OpSpecConstantOp = 52,
1274 OpFunction = 54,
1275 OpFunctionParameter = 55,
1276 OpFunctionEnd = 56,
1277 OpFunctionCall = 57,
1278 OpVariable = 59,
1279 OpImageTexelPointer = 60,
1280 OpLoad = 61,
1281 OpStore = 62,
1282 OpCopyMemory = 63,
1283 OpCopyMemorySized = 64,
1284 OpAccessChain = 65,
1285 OpInBoundsAccessChain = 66,
1286 OpPtrAccessChain = 67,
1287 OpArrayLength = 68,
1288 OpGenericPtrMemSemantics = 69,
1289 OpInBoundsPtrAccessChain = 70,
1290 OpDecorate = 71,
1291 OpMemberDecorate = 72,
1292 OpDecorationGroup = 73,
1293 OpGroupDecorate = 74,
1294 OpGroupMemberDecorate = 75,
1295 OpVectorExtractDynamic = 77,
1296 OpVectorInsertDynamic = 78,
1297 OpVectorShuffle = 79,
1298 OpCompositeConstruct = 80,
1299 OpCompositeExtract = 81,
1300 OpCompositeInsert = 82,
1301 OpCopyObject = 83,
1302 OpTranspose = 84,
1303 OpSampledImage = 86,
1304 OpImageSampleImplicitLod = 87,
1305 OpImageSampleExplicitLod = 88,
1306 OpImageSampleDrefImplicitLod = 89,
1307 OpImageSampleDrefExplicitLod = 90,
1308 OpImageSampleProjImplicitLod = 91,
1309 OpImageSampleProjExplicitLod = 92,
1310 OpImageSampleProjDrefImplicitLod = 93,
1311 OpImageSampleProjDrefExplicitLod = 94,
1312 OpImageFetch = 95,
1313 OpImageGather = 96,
1314 OpImageDrefGather = 97,
1315 OpImageRead = 98,
1316 OpImageWrite = 99,
1317 OpImage = 100,
1318 OpImageQueryFormat = 101,
1319 OpImageQueryOrder = 102,
1320 OpImageQuerySizeLod = 103,
1321 OpImageQuerySize = 104,
1322 OpImageQueryLod = 105,
1323 OpImageQueryLevels = 106,
1324 OpImageQuerySamples = 107,
1325 OpConvertFToU = 109,
1326 OpConvertFToS = 110,
1327 OpConvertSToF = 111,
1328 OpConvertUToF = 112,
1329 OpUConvert = 113,
1330 OpSConvert = 114,
1331 OpFConvert = 115,
1332 OpQuantizeToF16 = 116,
1333 OpConvertPtrToU = 117,
1334 OpSatConvertSToU = 118,
1335 OpSatConvertUToS = 119,
1336 OpConvertUToPtr = 120,
1337 OpPtrCastToGeneric = 121,
1338 OpGenericCastToPtr = 122,
1339 OpGenericCastToPtrExplicit = 123,
1340 OpBitcast = 124,
1341 OpSNegate = 126,
1342 OpFNegate = 127,
1343 OpIAdd = 128,
1344 OpFAdd = 129,
1345 OpISub = 130,
1346 OpFSub = 131,
1347 OpIMul = 132,
1348 OpFMul = 133,
1349 OpUDiv = 134,
1350 OpSDiv = 135,
1351 OpFDiv = 136,
1352 OpUMod = 137,
1353 OpSRem = 138,
1354 OpSMod = 139,
1355 OpFRem = 140,
1356 OpFMod = 141,
1357 OpVectorTimesScalar = 142,
1358 OpMatrixTimesScalar = 143,
1359 OpVectorTimesMatrix = 144,
1360 OpMatrixTimesVector = 145,
1361 OpMatrixTimesMatrix = 146,
1362 OpOuterProduct = 147,
1363 OpDot = 148,
1364 OpIAddCarry = 149,
1365 OpISubBorrow = 150,
1366 OpUMulExtended = 151,
1367 OpSMulExtended = 152,
1368 OpAny = 154,
1369 OpAll = 155,
1370 OpIsNan = 156,
1371 OpIsInf = 157,
1372 OpIsFinite = 158,
1373 OpIsNormal = 159,
1374 OpSignBitSet = 160,
1375 OpLessOrGreater = 161,
1376 OpOrdered = 162,
1377 OpUnordered = 163,
1378 OpLogicalEqual = 164,
1379 OpLogicalNotEqual = 165,
1380 OpLogicalOr = 166,
1381 OpLogicalAnd = 167,
1382 OpLogicalNot = 168,
1383 OpSelect = 169,
1384 OpIEqual = 170,
1385 OpINotEqual = 171,
1386 OpUGreaterThan = 172,
1387 OpSGreaterThan = 173,
1388 OpUGreaterThanEqual = 174,
1389 OpSGreaterThanEqual = 175,
1390 OpULessThan = 176,
1391 OpSLessThan = 177,
1392 OpULessThanEqual = 178,
1393 OpSLessThanEqual = 179,
1394 OpFOrdEqual = 180,
1395 OpFUnordEqual = 181,
1396 OpFOrdNotEqual = 182,
1397 OpFUnordNotEqual = 183,
1398 OpFOrdLessThan = 184,
1399 OpFUnordLessThan = 185,
1400 OpFOrdGreaterThan = 186,
1401 OpFUnordGreaterThan = 187,
1402 OpFOrdLessThanEqual = 188,
1403 OpFUnordLessThanEqual = 189,
1404 OpFOrdGreaterThanEqual = 190,
1405 OpFUnordGreaterThanEqual = 191,
1406 OpShiftRightLogical = 194,
1407 OpShiftRightArithmetic = 195,
1408 OpShiftLeftLogical = 196,
1409 OpBitwiseOr = 197,
1410 OpBitwiseXor = 198,
1411 OpBitwiseAnd = 199,
1412 OpNot = 200,
1413 OpBitFieldInsert = 201,
1414 OpBitFieldSExtract = 202,
1415 OpBitFieldUExtract = 203,
1416 OpBitReverse = 204,
1417 OpBitCount = 205,
1418 OpDPdx = 207,
1419 OpDPdy = 208,
1420 OpFwidth = 209,
1421 OpDPdxFine = 210,
1422 OpDPdyFine = 211,
1423 OpFwidthFine = 212,
1424 OpDPdxCoarse = 213,
1425 OpDPdyCoarse = 214,
1426 OpFwidthCoarse = 215,
1427 OpEmitVertex = 218,
1428 OpEndPrimitive = 219,
1429 OpEmitStreamVertex = 220,
1430 OpEndStreamPrimitive = 221,
1431 OpControlBarrier = 224,
1432 OpMemoryBarrier = 225,
1433 OpAtomicLoad = 227,
1434 OpAtomicStore = 228,
1435 OpAtomicExchange = 229,
1436 OpAtomicCompareExchange = 230,
1437 OpAtomicCompareExchangeWeak = 231,
1438 OpAtomicIIncrement = 232,
1439 OpAtomicIDecrement = 233,
1440 OpAtomicIAdd = 234,
1441 OpAtomicISub = 235,
1442 OpAtomicSMin = 236,
1443 OpAtomicUMin = 237,
1444 OpAtomicSMax = 238,
1445 OpAtomicUMax = 239,
1446 OpAtomicAnd = 240,
1447 OpAtomicOr = 241,
1448 OpAtomicXor = 242,
1449 OpPhi = 245,
1450 OpLoopMerge = 246,
1451 OpSelectionMerge = 247,
1452 OpLabel = 248,
1453 OpBranch = 249,
1454 OpBranchConditional = 250,
1455 OpSwitch = 251,
1456 OpKill = 252,
1457 OpReturn = 253,
1458 OpReturnValue = 254,
1459 OpUnreachable = 255,
1460 OpLifetimeStart = 256,
1461 OpLifetimeStop = 257,
1462 OpGroupAsyncCopy = 259,
1463 OpGroupWaitEvents = 260,
1464 OpGroupAll = 261,
1465 OpGroupAny = 262,
1466 OpGroupBroadcast = 263,
1467 OpGroupIAdd = 264,
1468 OpGroupFAdd = 265,
1469 OpGroupFMin = 266,
1470 OpGroupUMin = 267,
1471 OpGroupSMin = 268,
1472 OpGroupFMax = 269,
1473 OpGroupUMax = 270,
1474 OpGroupSMax = 271,
1475 OpReadPipe = 274,
1476 OpWritePipe = 275,
1477 OpReservedReadPipe = 276,
1478 OpReservedWritePipe = 277,
1479 OpReserveReadPipePackets = 278,
1480 OpReserveWritePipePackets = 279,
1481 OpCommitReadPipe = 280,
1482 OpCommitWritePipe = 281,
1483 OpIsValidReserveId = 282,
1484 OpGetNumPipePackets = 283,
1485 OpGetMaxPipePackets = 284,
1486 OpGroupReserveReadPipePackets = 285,
1487 OpGroupReserveWritePipePackets = 286,
1488 OpGroupCommitReadPipe = 287,
1489 OpGroupCommitWritePipe = 288,
1490 OpEnqueueMarker = 291,
1491 OpEnqueueKernel = 292,
1492 OpGetKernelNDrangeSubGroupCount = 293,
1493 OpGetKernelNDrangeMaxSubGroupSize = 294,
1494 OpGetKernelWorkGroupSize = 295,
1495 OpGetKernelPreferredWorkGroupSizeMultiple = 296,
1496 OpRetainEvent = 297,
1497 OpReleaseEvent = 298,
1498 OpCreateUserEvent = 299,
1499 OpIsValidEvent = 300,
1500 OpSetUserEventStatus = 301,
1501 OpCaptureEventProfilingInfo = 302,
1502 OpGetDefaultQueue = 303,
1503 OpBuildNDRange = 304,
1504 OpImageSparseSampleImplicitLod = 305,
1505 OpImageSparseSampleExplicitLod = 306,
1506 OpImageSparseSampleDrefImplicitLod = 307,
1507 OpImageSparseSampleDrefExplicitLod = 308,
1508 OpImageSparseSampleProjImplicitLod = 309,
1509 OpImageSparseSampleProjExplicitLod = 310,
1510 OpImageSparseSampleProjDrefImplicitLod = 311,
1511 OpImageSparseSampleProjDrefExplicitLod = 312,
1512 OpImageSparseFetch = 313,
1513 OpImageSparseGather = 314,
1514 OpImageSparseDrefGather = 315,
1515 OpImageSparseTexelsResident = 316,
1516 OpNoLine = 317,
1517 OpAtomicFlagTestAndSet = 318,
1518 OpAtomicFlagClear = 319,
1519 OpImageSparseRead = 320,
1520 OpSizeOf = 321,
1521 OpTypePipeStorage = 322,
1522 OpConstantPipeStorage = 323,
1523 OpCreatePipeFromPipeStorage = 324,
1524 OpGetKernelLocalSizeForSubgroupCount = 325,
1525 OpGetKernelMaxNumSubgroups = 326,
1526 OpTypeNamedBarrier = 327,
1527 OpNamedBarrierInitialize = 328,
1528 OpMemoryNamedBarrier = 329,
1529 OpModuleProcessed = 330,
1530 OpExecutionModeId = 331,
1531 OpDecorateId = 332,
1532 OpGroupNonUniformElect = 333,
1533 OpGroupNonUniformAll = 334,
1534 OpGroupNonUniformAny = 335,
1535 OpGroupNonUniformAllEqual = 336,
1536 OpGroupNonUniformBroadcast = 337,
1537 OpGroupNonUniformBroadcastFirst = 338,
1538 OpGroupNonUniformBallot = 339,
1539 OpGroupNonUniformInverseBallot = 340,
1540 OpGroupNonUniformBallotBitExtract = 341,
1541 OpGroupNonUniformBallotBitCount = 342,
1542 OpGroupNonUniformBallotFindLSB = 343,
1543 OpGroupNonUniformBallotFindMSB = 344,
1544 OpGroupNonUniformShuffle = 345,
1545 OpGroupNonUniformShuffleXor = 346,
1546 OpGroupNonUniformShuffleUp = 347,
1547 OpGroupNonUniformShuffleDown = 348,
1548 OpGroupNonUniformIAdd = 349,
1549 OpGroupNonUniformFAdd = 350,
1550 OpGroupNonUniformIMul = 351,
1551 OpGroupNonUniformFMul = 352,
1552 OpGroupNonUniformSMin = 353,
1553 OpGroupNonUniformUMin = 354,
1554 OpGroupNonUniformFMin = 355,
1555 OpGroupNonUniformSMax = 356,
1556 OpGroupNonUniformUMax = 357,
1557 OpGroupNonUniformFMax = 358,
1558 OpGroupNonUniformBitwiseAnd = 359,
1559 OpGroupNonUniformBitwiseOr = 360,
1560 OpGroupNonUniformBitwiseXor = 361,
1561 OpGroupNonUniformLogicalAnd = 362,
1562 OpGroupNonUniformLogicalOr = 363,
1563 OpGroupNonUniformLogicalXor = 364,
1564 OpGroupNonUniformQuadBroadcast = 365,
1565 OpGroupNonUniformQuadSwap = 366,
1566 OpCopyLogical = 400,
1567 OpPtrEqual = 401,
1568 OpPtrNotEqual = 402,
1569 OpPtrDiff = 403,
1570 OpTerminateInvocation = 4416,
1571 OpSubgroupBallotKHR = 4421,
1572 OpSubgroupFirstInvocationKHR = 4422,
1573 OpSubgroupAllKHR = 4428,
1574 OpSubgroupAnyKHR = 4429,
1575 OpSubgroupAllEqualKHR = 4430,
1576 OpGroupNonUniformRotateKHR = 4431,
1577 OpSubgroupReadInvocationKHR = 4432,
1578 OpTraceRayKHR = 4445,
1579 OpExecuteCallableKHR = 4446,
1580 OpConvertUToAccelerationStructureKHR = 4447,
1581 OpIgnoreIntersectionKHR = 4448,
1582 OpTerminateRayKHR = 4449,
1583 OpSDot = 4450,
1584 OpSDotKHR = 4450,
1585 OpUDot = 4451,
1586 OpUDotKHR = 4451,
1587 OpSUDot = 4452,
1588 OpSUDotKHR = 4452,
1589 OpSDotAccSat = 4453,
1590 OpSDotAccSatKHR = 4453,
1591 OpUDotAccSat = 4454,
1592 OpUDotAccSatKHR = 4454,
1593 OpSUDotAccSat = 4455,
1594 OpSUDotAccSatKHR = 4455,
1595 OpTypeRayQueryKHR = 4472,
1596 OpRayQueryInitializeKHR = 4473,
1597 OpRayQueryTerminateKHR = 4474,
1598 OpRayQueryGenerateIntersectionKHR = 4475,
1599 OpRayQueryConfirmIntersectionKHR = 4476,
1600 OpRayQueryProceedKHR = 4477,
1601 OpRayQueryGetIntersectionTypeKHR = 4479,
1602 OpImageSampleWeightedQCOM = 4480,
1603 OpImageBoxFilterQCOM = 4481,
1604 OpImageBlockMatchSSDQCOM = 4482,
1605 OpImageBlockMatchSADQCOM = 4483,
1606 OpImageBlockMatchWindowSSDQCOM = 4500,
1607 OpImageBlockMatchWindowSADQCOM = 4501,
1608 OpImageBlockMatchGatherSSDQCOM = 4502,
1609 OpImageBlockMatchGatherSADQCOM = 4503,
1610 OpGroupIAddNonUniformAMD = 5000,
1611 OpGroupFAddNonUniformAMD = 5001,
1612 OpGroupFMinNonUniformAMD = 5002,
1613 OpGroupUMinNonUniformAMD = 5003,
1614 OpGroupSMinNonUniformAMD = 5004,
1615 OpGroupFMaxNonUniformAMD = 5005,
1616 OpGroupUMaxNonUniformAMD = 5006,
1617 OpGroupSMaxNonUniformAMD = 5007,
1618 OpFragmentMaskFetchAMD = 5011,
1619 OpFragmentFetchAMD = 5012,
1620 OpReadClockKHR = 5056,
1621 OpImageSampleFootprintNV = 5283,
1622 OpEmitMeshTasksEXT = 5294,
1623 OpSetMeshOutputsEXT = 5295,
1624 OpGroupNonUniformPartitionNV = 5296,
1625 OpWritePackedPrimitiveIndices4x8NV = 5299,
1626 OpReportIntersectionKHR = 5334,
1627 OpReportIntersectionNV = 5334,
1628 OpIgnoreIntersectionNV = 5335,
1629 OpTerminateRayNV = 5336,
1630 OpTraceNV = 5337,
1631 OpTraceMotionNV = 5338,
1632 OpTraceRayMotionNV = 5339,
1633 OpTypeAccelerationStructureKHR = 5341,
1634 OpTypeAccelerationStructureNV = 5341,
1635 OpExecuteCallableNV = 5344,
1636 OpTypeCooperativeMatrixNV = 5358,
1637 OpCooperativeMatrixLoadNV = 5359,
1638 OpCooperativeMatrixStoreNV = 5360,
1639 OpCooperativeMatrixMulAddNV = 5361,
1640 OpCooperativeMatrixLengthNV = 5362,
1641 OpBeginInvocationInterlockEXT = 5364,
1642 OpEndInvocationInterlockEXT = 5365,
1643 OpDemoteToHelperInvocation = 5380,
1644 OpDemoteToHelperInvocationEXT = 5380,
1645 OpIsHelperInvocationEXT = 5381,
1646 OpConvertUToImageNV = 5391,
1647 OpConvertUToSamplerNV = 5392,
1648 OpConvertImageToUNV = 5393,
1649 OpConvertSamplerToUNV = 5394,
1650 OpConvertUToSampledImageNV = 5395,
1651 OpConvertSampledImageToUNV = 5396,
1652 OpSamplerImageAddressingModeNV = 5397,
1653 OpSubgroupShuffleINTEL = 5571,
1654 OpSubgroupShuffleDownINTEL = 5572,
1655 OpSubgroupShuffleUpINTEL = 5573,
1656 OpSubgroupShuffleXorINTEL = 5574,
1657 OpSubgroupBlockReadINTEL = 5575,
1658 OpSubgroupBlockWriteINTEL = 5576,
1659 OpSubgroupImageBlockReadINTEL = 5577,
1660 OpSubgroupImageBlockWriteINTEL = 5578,
1661 OpSubgroupImageMediaBlockReadINTEL = 5580,
1662 OpSubgroupImageMediaBlockWriteINTEL = 5581,
1663 OpUCountLeadingZerosINTEL = 5585,
1664 OpUCountTrailingZerosINTEL = 5586,
1665 OpAbsISubINTEL = 5587,
1666 OpAbsUSubINTEL = 5588,
1667 OpIAddSatINTEL = 5589,
1668 OpUAddSatINTEL = 5590,
1669 OpIAverageINTEL = 5591,
1670 OpUAverageINTEL = 5592,
1671 OpIAverageRoundedINTEL = 5593,
1672 OpUAverageRoundedINTEL = 5594,
1673 OpISubSatINTEL = 5595,
1674 OpUSubSatINTEL = 5596,
1675 OpIMul32x16INTEL = 5597,
1676 OpUMul32x16INTEL = 5598,
1677 OpConstantFunctionPointerINTEL = 5600,
1678 OpFunctionPointerCallINTEL = 5601,
1679 OpAsmTargetINTEL = 5609,
1680 OpAsmINTEL = 5610,
1681 OpAsmCallINTEL = 5611,
1682 OpAtomicFMinEXT = 5614,
1683 OpAtomicFMaxEXT = 5615,
1684 OpAssumeTrueKHR = 5630,
1685 OpExpectKHR = 5631,
1686 OpDecorateString = 5632,
1687 OpDecorateStringGOOGLE = 5632,
1688 OpMemberDecorateString = 5633,
1689 OpMemberDecorateStringGOOGLE = 5633,
1690 OpVmeImageINTEL = 5699,
1691 OpTypeVmeImageINTEL = 5700,
1692 OpTypeAvcImePayloadINTEL = 5701,
1693 OpTypeAvcRefPayloadINTEL = 5702,
1694 OpTypeAvcSicPayloadINTEL = 5703,
1695 OpTypeAvcMcePayloadINTEL = 5704,
1696 OpTypeAvcMceResultINTEL = 5705,
1697 OpTypeAvcImeResultINTEL = 5706,
1698 OpTypeAvcImeResultSingleReferenceStreamoutINTEL = 5707,
1699 OpTypeAvcImeResultDualReferenceStreamoutINTEL = 5708,
1700 OpTypeAvcImeSingleReferenceStreaminINTEL = 5709,
1701 OpTypeAvcImeDualReferenceStreaminINTEL = 5710,
1702 OpTypeAvcRefResultINTEL = 5711,
1703 OpTypeAvcSicResultINTEL = 5712,
1704 OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713,
1705 OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714,
1706 OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715,
1707 OpSubgroupAvcMceSetInterShapePenaltyINTEL = 5716,
1708 OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717,
1709 OpSubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718,
1710 OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719,
1711 OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720,
1712 OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721,
1713 OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722,
1714 OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723,
1715 OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724,
1716 OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725,
1717 OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726,
1718 OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727,
1719 OpSubgroupAvcMceSetAcOnlyHaarINTEL = 5728,
1720 OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729,
1721 OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730,
1722 OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731,
1723 OpSubgroupAvcMceConvertToImePayloadINTEL = 5732,
1724 OpSubgroupAvcMceConvertToImeResultINTEL = 5733,
1725 OpSubgroupAvcMceConvertToRefPayloadINTEL = 5734,
1726 OpSubgroupAvcMceConvertToRefResultINTEL = 5735,
1727 OpSubgroupAvcMceConvertToSicPayloadINTEL = 5736,
1728 OpSubgroupAvcMceConvertToSicResultINTEL = 5737,
1729 OpSubgroupAvcMceGetMotionVectorsINTEL = 5738,
1730 OpSubgroupAvcMceGetInterDistortionsINTEL = 5739,
1731 OpSubgroupAvcMceGetBestInterDistortionsINTEL = 5740,
1732 OpSubgroupAvcMceGetInterMajorShapeINTEL = 5741,
1733 OpSubgroupAvcMceGetInterMinorShapeINTEL = 5742,
1734 OpSubgroupAvcMceGetInterDirectionsINTEL = 5743,
1735 OpSubgroupAvcMceGetInterMotionVectorCountINTEL = 5744,
1736 OpSubgroupAvcMceGetInterReferenceIdsINTEL = 5745,
1737 OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746,
1738 OpSubgroupAvcImeInitializeINTEL = 5747,
1739 OpSubgroupAvcImeSetSingleReferenceINTEL = 5748,
1740 OpSubgroupAvcImeSetDualReferenceINTEL = 5749,
1741 OpSubgroupAvcImeRefWindowSizeINTEL = 5750,
1742 OpSubgroupAvcImeAdjustRefOffsetINTEL = 5751,
1743 OpSubgroupAvcImeConvertToMcePayloadINTEL = 5752,
1744 OpSubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753,
1745 OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754,
1746 OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755,
1747 OpSubgroupAvcImeSetWeightedSadINTEL = 5756,
1748 OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757,
1749 OpSubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758,
1750 OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759,
1751 OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760,
1752 OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761,
1753 OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762,
1754 OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763,
1755 OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764,
1756 OpSubgroupAvcImeConvertToMceResultINTEL = 5765,
1757 OpSubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766,
1758 OpSubgroupAvcImeGetDualReferenceStreaminINTEL = 5767,
1759 OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768,
1760 OpSubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769,
1761 OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770,
1762 OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771,
1763 OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772,
1764 OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773,
1765 OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774,
1766 OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775,
1767 OpSubgroupAvcImeGetBorderReachedINTEL = 5776,
1768 OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777,
1769 OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778,
1770 OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779,
1771 OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780,
1772 OpSubgroupAvcFmeInitializeINTEL = 5781,
1773 OpSubgroupAvcBmeInitializeINTEL = 5782,
1774 OpSubgroupAvcRefConvertToMcePayloadINTEL = 5783,
1775 OpSubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784,
1776 OpSubgroupAvcRefSetBilinearFilterEnableINTEL = 5785,
1777 OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786,
1778 OpSubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787,
1779 OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788,
1780 OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789,
1781 OpSubgroupAvcRefConvertToMceResultINTEL = 5790,
1782 OpSubgroupAvcSicInitializeINTEL = 5791,
1783 OpSubgroupAvcSicConfigureSkcINTEL = 5792,
1784 OpSubgroupAvcSicConfigureIpeLumaINTEL = 5793,
1785 OpSubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794,
1786 OpSubgroupAvcSicGetMotionVectorMaskINTEL = 5795,
1787 OpSubgroupAvcSicConvertToMcePayloadINTEL = 5796,
1788 OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797,
1789 OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798,
1790 OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799,
1791 OpSubgroupAvcSicSetBilinearFilterEnableINTEL = 5800,
1792 OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801,
1793 OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802,
1794 OpSubgroupAvcSicEvaluateIpeINTEL = 5803,
1795 OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804,
1796 OpSubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805,
1797 OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806,
1798 OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807,
1799 OpSubgroupAvcSicConvertToMceResultINTEL = 5808,
1800 OpSubgroupAvcSicGetIpeLumaShapeINTEL = 5809,
1801 OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810,
1802 OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811,
1803 OpSubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812,
1804 OpSubgroupAvcSicGetIpeChromaModeINTEL = 5813,
1805 OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
1806 OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
1807 OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
1808 OpVariableLengthArrayINTEL = 5818,
1809 OpSaveMemoryINTEL = 5819,
1810 OpRestoreMemoryINTEL = 5820,
1811 OpArbitraryFloatSinCosPiINTEL = 5840,
1812 OpArbitraryFloatCastINTEL = 5841,
1813 OpArbitraryFloatCastFromIntINTEL = 5842,
1814 OpArbitraryFloatCastToIntINTEL = 5843,
1815 OpArbitraryFloatAddINTEL = 5846,
1816 OpArbitraryFloatSubINTEL = 5847,
1817 OpArbitraryFloatMulINTEL = 5848,
1818 OpArbitraryFloatDivINTEL = 5849,
1819 OpArbitraryFloatGTINTEL = 5850,
1820 OpArbitraryFloatGEINTEL = 5851,
1821 OpArbitraryFloatLTINTEL = 5852,
1822 OpArbitraryFloatLEINTEL = 5853,
1823 OpArbitraryFloatEQINTEL = 5854,
1824 OpArbitraryFloatRecipINTEL = 5855,
1825 OpArbitraryFloatRSqrtINTEL = 5856,
1826 OpArbitraryFloatCbrtINTEL = 5857,
1827 OpArbitraryFloatHypotINTEL = 5858,
1828 OpArbitraryFloatSqrtINTEL = 5859,
1829 OpArbitraryFloatLogINTEL = 5860,
1830 OpArbitraryFloatLog2INTEL = 5861,
1831 OpArbitraryFloatLog10INTEL = 5862,
1832 OpArbitraryFloatLog1pINTEL = 5863,
1833 OpArbitraryFloatExpINTEL = 5864,
1834 OpArbitraryFloatExp2INTEL = 5865,
1835 OpArbitraryFloatExp10INTEL = 5866,
1836 OpArbitraryFloatExpm1INTEL = 5867,
1837 OpArbitraryFloatSinINTEL = 5868,
1838 OpArbitraryFloatCosINTEL = 5869,
1839 OpArbitraryFloatSinCosINTEL = 5870,
1840 OpArbitraryFloatSinPiINTEL = 5871,
1841 OpArbitraryFloatCosPiINTEL = 5872,
1842 OpArbitraryFloatASinINTEL = 5873,
1843 OpArbitraryFloatASinPiINTEL = 5874,
1844 OpArbitraryFloatACosINTEL = 5875,
1845 OpArbitraryFloatACosPiINTEL = 5876,
1846 OpArbitraryFloatATanINTEL = 5877,
1847 OpArbitraryFloatATanPiINTEL = 5878,
1848 OpArbitraryFloatATan2INTEL = 5879,
1849 OpArbitraryFloatPowINTEL = 5880,
1850 OpArbitraryFloatPowRINTEL = 5881,
1851 OpArbitraryFloatPowNINTEL = 5882,
1852 OpLoopControlINTEL = 5887,
1853 OpAliasDomainDeclINTEL = 5911,
1854 OpAliasScopeDeclINTEL = 5912,
1855 OpAliasScopeListDeclINTEL = 5913,
1856 OpFixedSqrtINTEL = 5923,
1857 OpFixedRecipINTEL = 5924,
1858 OpFixedRsqrtINTEL = 5925,
1859 OpFixedSinINTEL = 5926,
1860 OpFixedCosINTEL = 5927,
1861 OpFixedSinCosINTEL = 5928,
1862 OpFixedSinPiINTEL = 5929,
1863 OpFixedCosPiINTEL = 5930,
1864 OpFixedSinCosPiINTEL = 5931,
1865 OpFixedLogINTEL = 5932,
1866 OpFixedExpINTEL = 5933,
1867 OpPtrCastToCrossWorkgroupINTEL = 5934,
1868 OpCrossWorkgroupCastToPtrINTEL = 5938,
1869 OpReadPipeBlockingINTEL = 5946,
1870 OpWritePipeBlockingINTEL = 5947,
1871 OpFPGARegINTEL = 5949,
1872 OpRayQueryGetRayTMinKHR = 6016,
1873 OpRayQueryGetRayFlagsKHR = 6017,
1874 OpRayQueryGetIntersectionTKHR = 6018,
1875 OpRayQueryGetIntersectionInstanceCustomIndexKHR = 6019,
1876 OpRayQueryGetIntersectionInstanceIdKHR = 6020,
1877 OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = 6021,
1878 OpRayQueryGetIntersectionGeometryIndexKHR = 6022,
1879 OpRayQueryGetIntersectionPrimitiveIndexKHR = 6023,
1880 OpRayQueryGetIntersectionBarycentricsKHR = 6024,
1881 OpRayQueryGetIntersectionFrontFaceKHR = 6025,
1882 OpRayQueryGetIntersectionCandidateAABBOpaqueKHR = 6026,
1883 OpRayQueryGetIntersectionObjectRayDirectionKHR = 6027,
1884 OpRayQueryGetIntersectionObjectRayOriginKHR = 6028,
1885 OpRayQueryGetWorldRayDirectionKHR = 6029,
1886 OpRayQueryGetWorldRayOriginKHR = 6030,
1887 OpRayQueryGetIntersectionObjectToWorldKHR = 6031,
1888 OpRayQueryGetIntersectionWorldToObjectKHR = 6032,
1889 OpAtomicFAddEXT = 6035,
1890 OpTypeBufferSurfaceINTEL = 6086,
1891 OpTypeStructContinuedINTEL = 6090,
1892 OpConstantCompositeContinuedINTEL = 6091,
1893 OpSpecConstantCompositeContinuedINTEL = 6092,
1894 OpControlBarrierArriveINTEL = 6142,
1895 OpControlBarrierWaitINTEL = 6143,
1896 OpGroupIMulKHR = 6401,
1897 OpGroupFMulKHR = 6402,
1898 OpGroupBitwiseAndKHR = 6403,
1899 OpGroupBitwiseOrKHR = 6404,
1900 OpGroupBitwiseXorKHR = 6405,
1901 OpGroupLogicalAndKHR = 6406,
1902 OpGroupLogicalOrKHR = 6407,
1903 OpGroupLogicalXorKHR = 6408,
1904 OpMax = 0x7fffffff,
1907 #ifdef SPV_ENABLE_UTILITY_CODE
1908 #ifndef __cplusplus
1909 #include <stdbool.h>
1910 #endif
1911 inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
1912 *hasResult = *hasResultType = false;
1913 switch (opcode) {
1914 default: /* unknown opcode */ break;
1915 case OpNop: *hasResult = false; *hasResultType = false; break;
1916 case OpUndef: *hasResult = true; *hasResultType = true; break;
1917 case OpSourceContinued: *hasResult = false; *hasResultType = false; break;
1918 case OpSource: *hasResult = false; *hasResultType = false; break;
1919 case OpSourceExtension: *hasResult = false; *hasResultType = false; break;
1920 case OpName: *hasResult = false; *hasResultType = false; break;
1921 case OpMemberName: *hasResult = false; *hasResultType = false; break;
1922 case OpString: *hasResult = true; *hasResultType = false; break;
1923 case OpLine: *hasResult = false; *hasResultType = false; break;
1924 case OpExtension: *hasResult = false; *hasResultType = false; break;
1925 case OpExtInstImport: *hasResult = true; *hasResultType = false; break;
1926 case OpExtInst: *hasResult = true; *hasResultType = true; break;
1927 case OpMemoryModel: *hasResult = false; *hasResultType = false; break;
1928 case OpEntryPoint: *hasResult = false; *hasResultType = false; break;
1929 case OpExecutionMode: *hasResult = false; *hasResultType = false; break;
1930 case OpCapability: *hasResult = false; *hasResultType = false; break;
1931 case OpTypeVoid: *hasResult = true; *hasResultType = false; break;
1932 case OpTypeBool: *hasResult = true; *hasResultType = false; break;
1933 case OpTypeInt: *hasResult = true; *hasResultType = false; break;
1934 case OpTypeFloat: *hasResult = true; *hasResultType = false; break;
1935 case OpTypeVector: *hasResult = true; *hasResultType = false; break;
1936 case OpTypeMatrix: *hasResult = true; *hasResultType = false; break;
1937 case OpTypeImage: *hasResult = true; *hasResultType = false; break;
1938 case OpTypeSampler: *hasResult = true; *hasResultType = false; break;
1939 case OpTypeSampledImage: *hasResult = true; *hasResultType = false; break;
1940 case OpTypeArray: *hasResult = true; *hasResultType = false; break;
1941 case OpTypeRuntimeArray: *hasResult = true; *hasResultType = false; break;
1942 case OpTypeStruct: *hasResult = true; *hasResultType = false; break;
1943 case OpTypeOpaque: *hasResult = true; *hasResultType = false; break;
1944 case OpTypePointer: *hasResult = true; *hasResultType = false; break;
1945 case OpTypeFunction: *hasResult = true; *hasResultType = false; break;
1946 case OpTypeEvent: *hasResult = true; *hasResultType = false; break;
1947 case OpTypeDeviceEvent: *hasResult = true; *hasResultType = false; break;
1948 case OpTypeReserveId: *hasResult = true; *hasResultType = false; break;
1949 case OpTypeQueue: *hasResult = true; *hasResultType = false; break;
1950 case OpTypePipe: *hasResult = true; *hasResultType = false; break;
1951 case OpTypeForwardPointer: *hasResult = false; *hasResultType = false; break;
1952 case OpConstantTrue: *hasResult = true; *hasResultType = true; break;
1953 case OpConstantFalse: *hasResult = true; *hasResultType = true; break;
1954 case OpConstant: *hasResult = true; *hasResultType = true; break;
1955 case OpConstantComposite: *hasResult = true; *hasResultType = true; break;
1956 case OpConstantSampler: *hasResult = true; *hasResultType = true; break;
1957 case OpConstantNull: *hasResult = true; *hasResultType = true; break;
1958 case OpSpecConstantTrue: *hasResult = true; *hasResultType = true; break;
1959 case OpSpecConstantFalse: *hasResult = true; *hasResultType = true; break;
1960 case OpSpecConstant: *hasResult = true; *hasResultType = true; break;
1961 case OpSpecConstantComposite: *hasResult = true; *hasResultType = true; break;
1962 case OpSpecConstantOp: *hasResult = true; *hasResultType = true; break;
1963 case OpFunction: *hasResult = true; *hasResultType = true; break;
1964 case OpFunctionParameter: *hasResult = true; *hasResultType = true; break;
1965 case OpFunctionEnd: *hasResult = false; *hasResultType = false; break;
1966 case OpFunctionCall: *hasResult = true; *hasResultType = true; break;
1967 case OpVariable: *hasResult = true; *hasResultType = true; break;
1968 case OpImageTexelPointer: *hasResult = true; *hasResultType = true; break;
1969 case OpLoad: *hasResult = true; *hasResultType = true; break;
1970 case OpStore: *hasResult = false; *hasResultType = false; break;
1971 case OpCopyMemory: *hasResult = false; *hasResultType = false; break;
1972 case OpCopyMemorySized: *hasResult = false; *hasResultType = false; break;
1973 case OpAccessChain: *hasResult = true; *hasResultType = true; break;
1974 case OpInBoundsAccessChain: *hasResult = true; *hasResultType = true; break;
1975 case OpPtrAccessChain: *hasResult = true; *hasResultType = true; break;
1976 case OpArrayLength: *hasResult = true; *hasResultType = true; break;
1977 case OpGenericPtrMemSemantics: *hasResult = true; *hasResultType = true; break;
1978 case OpInBoundsPtrAccessChain: *hasResult = true; *hasResultType = true; break;
1979 case OpDecorate: *hasResult = false; *hasResultType = false; break;
1980 case OpMemberDecorate: *hasResult = false; *hasResultType = false; break;
1981 case OpDecorationGroup: *hasResult = true; *hasResultType = false; break;
1982 case OpGroupDecorate: *hasResult = false; *hasResultType = false; break;
1983 case OpGroupMemberDecorate: *hasResult = false; *hasResultType = false; break;
1984 case OpVectorExtractDynamic: *hasResult = true; *hasResultType = true; break;
1985 case OpVectorInsertDynamic: *hasResult = true; *hasResultType = true; break;
1986 case OpVectorShuffle: *hasResult = true; *hasResultType = true; break;
1987 case OpCompositeConstruct: *hasResult = true; *hasResultType = true; break;
1988 case OpCompositeExtract: *hasResult = true; *hasResultType = true; break;
1989 case OpCompositeInsert: *hasResult = true; *hasResultType = true; break;
1990 case OpCopyObject: *hasResult = true; *hasResultType = true; break;
1991 case OpTranspose: *hasResult = true; *hasResultType = true; break;
1992 case OpSampledImage: *hasResult = true; *hasResultType = true; break;
1993 case OpImageSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
1994 case OpImageSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
1995 case OpImageSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
1996 case OpImageSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
1997 case OpImageSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
1998 case OpImageSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
1999 case OpImageSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
2000 case OpImageSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
2001 case OpImageFetch: *hasResult = true; *hasResultType = true; break;
2002 case OpImageGather: *hasResult = true; *hasResultType = true; break;
2003 case OpImageDrefGather: *hasResult = true; *hasResultType = true; break;
2004 case OpImageRead: *hasResult = true; *hasResultType = true; break;
2005 case OpImageWrite: *hasResult = false; *hasResultType = false; break;
2006 case OpImage: *hasResult = true; *hasResultType = true; break;
2007 case OpImageQueryFormat: *hasResult = true; *hasResultType = true; break;
2008 case OpImageQueryOrder: *hasResult = true; *hasResultType = true; break;
2009 case OpImageQuerySizeLod: *hasResult = true; *hasResultType = true; break;
2010 case OpImageQuerySize: *hasResult = true; *hasResultType = true; break;
2011 case OpImageQueryLod: *hasResult = true; *hasResultType = true; break;
2012 case OpImageQueryLevels: *hasResult = true; *hasResultType = true; break;
2013 case OpImageQuerySamples: *hasResult = true; *hasResultType = true; break;
2014 case OpConvertFToU: *hasResult = true; *hasResultType = true; break;
2015 case OpConvertFToS: *hasResult = true; *hasResultType = true; break;
2016 case OpConvertSToF: *hasResult = true; *hasResultType = true; break;
2017 case OpConvertUToF: *hasResult = true; *hasResultType = true; break;
2018 case OpUConvert: *hasResult = true; *hasResultType = true; break;
2019 case OpSConvert: *hasResult = true; *hasResultType = true; break;
2020 case OpFConvert: *hasResult = true; *hasResultType = true; break;
2021 case OpQuantizeToF16: *hasResult = true; *hasResultType = true; break;
2022 case OpConvertPtrToU: *hasResult = true; *hasResultType = true; break;
2023 case OpSatConvertSToU: *hasResult = true; *hasResultType = true; break;
2024 case OpSatConvertUToS: *hasResult = true; *hasResultType = true; break;
2025 case OpConvertUToPtr: *hasResult = true; *hasResultType = true; break;
2026 case OpPtrCastToGeneric: *hasResult = true; *hasResultType = true; break;
2027 case OpGenericCastToPtr: *hasResult = true; *hasResultType = true; break;
2028 case OpGenericCastToPtrExplicit: *hasResult = true; *hasResultType = true; break;
2029 case OpBitcast: *hasResult = true; *hasResultType = true; break;
2030 case OpSNegate: *hasResult = true; *hasResultType = true; break;
2031 case OpFNegate: *hasResult = true; *hasResultType = true; break;
2032 case OpIAdd: *hasResult = true; *hasResultType = true; break;
2033 case OpFAdd: *hasResult = true; *hasResultType = true; break;
2034 case OpISub: *hasResult = true; *hasResultType = true; break;
2035 case OpFSub: *hasResult = true; *hasResultType = true; break;
2036 case OpIMul: *hasResult = true; *hasResultType = true; break;
2037 case OpFMul: *hasResult = true; *hasResultType = true; break;
2038 case OpUDiv: *hasResult = true; *hasResultType = true; break;
2039 case OpSDiv: *hasResult = true; *hasResultType = true; break;
2040 case OpFDiv: *hasResult = true; *hasResultType = true; break;
2041 case OpUMod: *hasResult = true; *hasResultType = true; break;
2042 case OpSRem: *hasResult = true; *hasResultType = true; break;
2043 case OpSMod: *hasResult = true; *hasResultType = true; break;
2044 case OpFRem: *hasResult = true; *hasResultType = true; break;
2045 case OpFMod: *hasResult = true; *hasResultType = true; break;
2046 case OpVectorTimesScalar: *hasResult = true; *hasResultType = true; break;
2047 case OpMatrixTimesScalar: *hasResult = true; *hasResultType = true; break;
2048 case OpVectorTimesMatrix: *hasResult = true; *hasResultType = true; break;
2049 case OpMatrixTimesVector: *hasResult = true; *hasResultType = true; break;
2050 case OpMatrixTimesMatrix: *hasResult = true; *hasResultType = true; break;
2051 case OpOuterProduct: *hasResult = true; *hasResultType = true; break;
2052 case OpDot: *hasResult = true; *hasResultType = true; break;
2053 case OpIAddCarry: *hasResult = true; *hasResultType = true; break;
2054 case OpISubBorrow: *hasResult = true; *hasResultType = true; break;
2055 case OpUMulExtended: *hasResult = true; *hasResultType = true; break;
2056 case OpSMulExtended: *hasResult = true; *hasResultType = true; break;
2057 case OpAny: *hasResult = true; *hasResultType = true; break;
2058 case OpAll: *hasResult = true; *hasResultType = true; break;
2059 case OpIsNan: *hasResult = true; *hasResultType = true; break;
2060 case OpIsInf: *hasResult = true; *hasResultType = true; break;
2061 case OpIsFinite: *hasResult = true; *hasResultType = true; break;
2062 case OpIsNormal: *hasResult = true; *hasResultType = true; break;
2063 case OpSignBitSet: *hasResult = true; *hasResultType = true; break;
2064 case OpLessOrGreater: *hasResult = true; *hasResultType = true; break;
2065 case OpOrdered: *hasResult = true; *hasResultType = true; break;
2066 case OpUnordered: *hasResult = true; *hasResultType = true; break;
2067 case OpLogicalEqual: *hasResult = true; *hasResultType = true; break;
2068 case OpLogicalNotEqual: *hasResult = true; *hasResultType = true; break;
2069 case OpLogicalOr: *hasResult = true; *hasResultType = true; break;
2070 case OpLogicalAnd: *hasResult = true; *hasResultType = true; break;
2071 case OpLogicalNot: *hasResult = true; *hasResultType = true; break;
2072 case OpSelect: *hasResult = true; *hasResultType = true; break;
2073 case OpIEqual: *hasResult = true; *hasResultType = true; break;
2074 case OpINotEqual: *hasResult = true; *hasResultType = true; break;
2075 case OpUGreaterThan: *hasResult = true; *hasResultType = true; break;
2076 case OpSGreaterThan: *hasResult = true; *hasResultType = true; break;
2077 case OpUGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
2078 case OpSGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
2079 case OpULessThan: *hasResult = true; *hasResultType = true; break;
2080 case OpSLessThan: *hasResult = true; *hasResultType = true; break;
2081 case OpULessThanEqual: *hasResult = true; *hasResultType = true; break;
2082 case OpSLessThanEqual: *hasResult = true; *hasResultType = true; break;
2083 case OpFOrdEqual: *hasResult = true; *hasResultType = true; break;
2084 case OpFUnordEqual: *hasResult = true; *hasResultType = true; break;
2085 case OpFOrdNotEqual: *hasResult = true; *hasResultType = true; break;
2086 case OpFUnordNotEqual: *hasResult = true; *hasResultType = true; break;
2087 case OpFOrdLessThan: *hasResult = true; *hasResultType = true; break;
2088 case OpFUnordLessThan: *hasResult = true; *hasResultType = true; break;
2089 case OpFOrdGreaterThan: *hasResult = true; *hasResultType = true; break;
2090 case OpFUnordGreaterThan: *hasResult = true; *hasResultType = true; break;
2091 case OpFOrdLessThanEqual: *hasResult = true; *hasResultType = true; break;
2092 case OpFUnordLessThanEqual: *hasResult = true; *hasResultType = true; break;
2093 case OpFOrdGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
2094 case OpFUnordGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
2095 case OpShiftRightLogical: *hasResult = true; *hasResultType = true; break;
2096 case OpShiftRightArithmetic: *hasResult = true; *hasResultType = true; break;
2097 case OpShiftLeftLogical: *hasResult = true; *hasResultType = true; break;
2098 case OpBitwiseOr: *hasResult = true; *hasResultType = true; break;
2099 case OpBitwiseXor: *hasResult = true; *hasResultType = true; break;
2100 case OpBitwiseAnd: *hasResult = true; *hasResultType = true; break;
2101 case OpNot: *hasResult = true; *hasResultType = true; break;
2102 case OpBitFieldInsert: *hasResult = true; *hasResultType = true; break;
2103 case OpBitFieldSExtract: *hasResult = true; *hasResultType = true; break;
2104 case OpBitFieldUExtract: *hasResult = true; *hasResultType = true; break;
2105 case OpBitReverse: *hasResult = true; *hasResultType = true; break;
2106 case OpBitCount: *hasResult = true; *hasResultType = true; break;
2107 case OpDPdx: *hasResult = true; *hasResultType = true; break;
2108 case OpDPdy: *hasResult = true; *hasResultType = true; break;
2109 case OpFwidth: *hasResult = true; *hasResultType = true; break;
2110 case OpDPdxFine: *hasResult = true; *hasResultType = true; break;
2111 case OpDPdyFine: *hasResult = true; *hasResultType = true; break;
2112 case OpFwidthFine: *hasResult = true; *hasResultType = true; break;
2113 case OpDPdxCoarse: *hasResult = true; *hasResultType = true; break;
2114 case OpDPdyCoarse: *hasResult = true; *hasResultType = true; break;
2115 case OpFwidthCoarse: *hasResult = true; *hasResultType = true; break;
2116 case OpEmitVertex: *hasResult = false; *hasResultType = false; break;
2117 case OpEndPrimitive: *hasResult = false; *hasResultType = false; break;
2118 case OpEmitStreamVertex: *hasResult = false; *hasResultType = false; break;
2119 case OpEndStreamPrimitive: *hasResult = false; *hasResultType = false; break;
2120 case OpControlBarrier: *hasResult = false; *hasResultType = false; break;
2121 case OpMemoryBarrier: *hasResult = false; *hasResultType = false; break;
2122 case OpAtomicLoad: *hasResult = true; *hasResultType = true; break;
2123 case OpAtomicStore: *hasResult = false; *hasResultType = false; break;
2124 case OpAtomicExchange: *hasResult = true; *hasResultType = true; break;
2125 case OpAtomicCompareExchange: *hasResult = true; *hasResultType = true; break;
2126 case OpAtomicCompareExchangeWeak: *hasResult = true; *hasResultType = true; break;
2127 case OpAtomicIIncrement: *hasResult = true; *hasResultType = true; break;
2128 case OpAtomicIDecrement: *hasResult = true; *hasResultType = true; break;
2129 case OpAtomicIAdd: *hasResult = true; *hasResultType = true; break;
2130 case OpAtomicISub: *hasResult = true; *hasResultType = true; break;
2131 case OpAtomicSMin: *hasResult = true; *hasResultType = true; break;
2132 case OpAtomicUMin: *hasResult = true; *hasResultType = true; break;
2133 case OpAtomicSMax: *hasResult = true; *hasResultType = true; break;
2134 case OpAtomicUMax: *hasResult = true; *hasResultType = true; break;
2135 case OpAtomicAnd: *hasResult = true; *hasResultType = true; break;
2136 case OpAtomicOr: *hasResult = true; *hasResultType = true; break;
2137 case OpAtomicXor: *hasResult = true; *hasResultType = true; break;
2138 case OpPhi: *hasResult = true; *hasResultType = true; break;
2139 case OpLoopMerge: *hasResult = false; *hasResultType = false; break;
2140 case OpSelectionMerge: *hasResult = false; *hasResultType = false; break;
2141 case OpLabel: *hasResult = true; *hasResultType = false; break;
2142 case OpBranch: *hasResult = false; *hasResultType = false; break;
2143 case OpBranchConditional: *hasResult = false; *hasResultType = false; break;
2144 case OpSwitch: *hasResult = false; *hasResultType = false; break;
2145 case OpKill: *hasResult = false; *hasResultType = false; break;
2146 case OpReturn: *hasResult = false; *hasResultType = false; break;
2147 case OpReturnValue: *hasResult = false; *hasResultType = false; break;
2148 case OpUnreachable: *hasResult = false; *hasResultType = false; break;
2149 case OpLifetimeStart: *hasResult = false; *hasResultType = false; break;
2150 case OpLifetimeStop: *hasResult = false; *hasResultType = false; break;
2151 case OpGroupAsyncCopy: *hasResult = true; *hasResultType = true; break;
2152 case OpGroupWaitEvents: *hasResult = false; *hasResultType = false; break;
2153 case OpGroupAll: *hasResult = true; *hasResultType = true; break;
2154 case OpGroupAny: *hasResult = true; *hasResultType = true; break;
2155 case OpGroupBroadcast: *hasResult = true; *hasResultType = true; break;
2156 case OpGroupIAdd: *hasResult = true; *hasResultType = true; break;
2157 case OpGroupFAdd: *hasResult = true; *hasResultType = true; break;
2158 case OpGroupFMin: *hasResult = true; *hasResultType = true; break;
2159 case OpGroupUMin: *hasResult = true; *hasResultType = true; break;
2160 case OpGroupSMin: *hasResult = true; *hasResultType = true; break;
2161 case OpGroupFMax: *hasResult = true; *hasResultType = true; break;
2162 case OpGroupUMax: *hasResult = true; *hasResultType = true; break;
2163 case OpGroupSMax: *hasResult = true; *hasResultType = true; break;
2164 case OpReadPipe: *hasResult = true; *hasResultType = true; break;
2165 case OpWritePipe: *hasResult = true; *hasResultType = true; break;
2166 case OpReservedReadPipe: *hasResult = true; *hasResultType = true; break;
2167 case OpReservedWritePipe: *hasResult = true; *hasResultType = true; break;
2168 case OpReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
2169 case OpReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
2170 case OpCommitReadPipe: *hasResult = false; *hasResultType = false; break;
2171 case OpCommitWritePipe: *hasResult = false; *hasResultType = false; break;
2172 case OpIsValidReserveId: *hasResult = true; *hasResultType = true; break;
2173 case OpGetNumPipePackets: *hasResult = true; *hasResultType = true; break;
2174 case OpGetMaxPipePackets: *hasResult = true; *hasResultType = true; break;
2175 case OpGroupReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
2176 case OpGroupReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
2177 case OpGroupCommitReadPipe: *hasResult = false; *hasResultType = false; break;
2178 case OpGroupCommitWritePipe: *hasResult = false; *hasResultType = false; break;
2179 case OpEnqueueMarker: *hasResult = true; *hasResultType = true; break;
2180 case OpEnqueueKernel: *hasResult = true; *hasResultType = true; break;
2181 case OpGetKernelNDrangeSubGroupCount: *hasResult = true; *hasResultType = true; break;
2182 case OpGetKernelNDrangeMaxSubGroupSize: *hasResult = true; *hasResultType = true; break;
2183 case OpGetKernelWorkGroupSize: *hasResult = true; *hasResultType = true; break;
2184 case OpGetKernelPreferredWorkGroupSizeMultiple: *hasResult = true; *hasResultType = true; break;
2185 case OpRetainEvent: *hasResult = false; *hasResultType = false; break;
2186 case OpReleaseEvent: *hasResult = false; *hasResultType = false; break;
2187 case OpCreateUserEvent: *hasResult = true; *hasResultType = true; break;
2188 case OpIsValidEvent: *hasResult = true; *hasResultType = true; break;
2189 case OpSetUserEventStatus: *hasResult = false; *hasResultType = false; break;
2190 case OpCaptureEventProfilingInfo: *hasResult = false; *hasResultType = false; break;
2191 case OpGetDefaultQueue: *hasResult = true; *hasResultType = true; break;
2192 case OpBuildNDRange: *hasResult = true; *hasResultType = true; break;
2193 case OpImageSparseSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
2194 case OpImageSparseSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
2195 case OpImageSparseSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
2196 case OpImageSparseSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
2197 case OpImageSparseSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
2198 case OpImageSparseSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
2199 case OpImageSparseSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
2200 case OpImageSparseSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
2201 case OpImageSparseFetch: *hasResult = true; *hasResultType = true; break;
2202 case OpImageSparseGather: *hasResult = true; *hasResultType = true; break;
2203 case OpImageSparseDrefGather: *hasResult = true; *hasResultType = true; break;
2204 case OpImageSparseTexelsResident: *hasResult = true; *hasResultType = true; break;
2205 case OpNoLine: *hasResult = false; *hasResultType = false; break;
2206 case OpAtomicFlagTestAndSet: *hasResult = true; *hasResultType = true; break;
2207 case OpAtomicFlagClear: *hasResult = false; *hasResultType = false; break;
2208 case OpImageSparseRead: *hasResult = true; *hasResultType = true; break;
2209 case OpSizeOf: *hasResult = true; *hasResultType = true; break;
2210 case OpTypePipeStorage: *hasResult = true; *hasResultType = false; break;
2211 case OpConstantPipeStorage: *hasResult = true; *hasResultType = true; break;
2212 case OpCreatePipeFromPipeStorage: *hasResult = true; *hasResultType = true; break;
2213 case OpGetKernelLocalSizeForSubgroupCount: *hasResult = true; *hasResultType = true; break;
2214 case OpGetKernelMaxNumSubgroups: *hasResult = true; *hasResultType = true; break;
2215 case OpTypeNamedBarrier: *hasResult = true; *hasResultType = false; break;
2216 case OpNamedBarrierInitialize: *hasResult = true; *hasResultType = true; break;
2217 case OpMemoryNamedBarrier: *hasResult = false; *hasResultType = false; break;
2218 case OpModuleProcessed: *hasResult = false; *hasResultType = false; break;
2219 case OpExecutionModeId: *hasResult = false; *hasResultType = false; break;
2220 case OpDecorateId: *hasResult = false; *hasResultType = false; break;
2221 case OpGroupNonUniformElect: *hasResult = true; *hasResultType = true; break;
2222 case OpGroupNonUniformAll: *hasResult = true; *hasResultType = true; break;
2223 case OpGroupNonUniformAny: *hasResult = true; *hasResultType = true; break;
2224 case OpGroupNonUniformAllEqual: *hasResult = true; *hasResultType = true; break;
2225 case OpGroupNonUniformBroadcast: *hasResult = true; *hasResultType = true; break;
2226 case OpGroupNonUniformBroadcastFirst: *hasResult = true; *hasResultType = true; break;
2227 case OpGroupNonUniformBallot: *hasResult = true; *hasResultType = true; break;
2228 case OpGroupNonUniformInverseBallot: *hasResult = true; *hasResultType = true; break;
2229 case OpGroupNonUniformBallotBitExtract: *hasResult = true; *hasResultType = true; break;
2230 case OpGroupNonUniformBallotBitCount: *hasResult = true; *hasResultType = true; break;
2231 case OpGroupNonUniformBallotFindLSB: *hasResult = true; *hasResultType = true; break;
2232 case OpGroupNonUniformBallotFindMSB: *hasResult = true; *hasResultType = true; break;
2233 case OpGroupNonUniformShuffle: *hasResult = true; *hasResultType = true; break;
2234 case OpGroupNonUniformShuffleXor: *hasResult = true; *hasResultType = true; break;
2235 case OpGroupNonUniformShuffleUp: *hasResult = true; *hasResultType = true; break;
2236 case OpGroupNonUniformShuffleDown: *hasResult = true; *hasResultType = true; break;
2237 case OpGroupNonUniformIAdd: *hasResult = true; *hasResultType = true; break;
2238 case OpGroupNonUniformFAdd: *hasResult = true; *hasResultType = true; break;
2239 case OpGroupNonUniformIMul: *hasResult = true; *hasResultType = true; break;
2240 case OpGroupNonUniformFMul: *hasResult = true; *hasResultType = true; break;
2241 case OpGroupNonUniformSMin: *hasResult = true; *hasResultType = true; break;
2242 case OpGroupNonUniformUMin: *hasResult = true; *hasResultType = true; break;
2243 case OpGroupNonUniformFMin: *hasResult = true; *hasResultType = true; break;
2244 case OpGroupNonUniformSMax: *hasResult = true; *hasResultType = true; break;
2245 case OpGroupNonUniformUMax: *hasResult = true; *hasResultType = true; break;
2246 case OpGroupNonUniformFMax: *hasResult = true; *hasResultType = true; break;
2247 case OpGroupNonUniformBitwiseAnd: *hasResult = true; *hasResultType = true; break;
2248 case OpGroupNonUniformBitwiseOr: *hasResult = true; *hasResultType = true; break;
2249 case OpGroupNonUniformBitwiseXor: *hasResult = true; *hasResultType = true; break;
2250 case OpGroupNonUniformLogicalAnd: *hasResult = true; *hasResultType = true; break;
2251 case OpGroupNonUniformLogicalOr: *hasResult = true; *hasResultType = true; break;
2252 case OpGroupNonUniformLogicalXor: *hasResult = true; *hasResultType = true; break;
2253 case OpGroupNonUniformQuadBroadcast: *hasResult = true; *hasResultType = true; break;
2254 case OpGroupNonUniformQuadSwap: *hasResult = true; *hasResultType = true; break;
2255 case OpCopyLogical: *hasResult = true; *hasResultType = true; break;
2256 case OpPtrEqual: *hasResult = true; *hasResultType = true; break;
2257 case OpPtrNotEqual: *hasResult = true; *hasResultType = true; break;
2258 case OpPtrDiff: *hasResult = true; *hasResultType = true; break;
2259 case OpTerminateInvocation: *hasResult = false; *hasResultType = false; break;
2260 case OpSubgroupBallotKHR: *hasResult = true; *hasResultType = true; break;
2261 case OpSubgroupFirstInvocationKHR: *hasResult = true; *hasResultType = true; break;
2262 case OpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
2263 case OpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
2264 case OpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
2265 case OpGroupNonUniformRotateKHR: *hasResult = true; *hasResultType = true; break;
2266 case OpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
2267 case OpTraceRayKHR: *hasResult = false; *hasResultType = false; break;
2268 case OpExecuteCallableKHR: *hasResult = false; *hasResultType = false; break;
2269 case OpConvertUToAccelerationStructureKHR: *hasResult = true; *hasResultType = true; break;
2270 case OpIgnoreIntersectionKHR: *hasResult = false; *hasResultType = false; break;
2271 case OpTerminateRayKHR: *hasResult = false; *hasResultType = false; break;
2272 case OpSDot: *hasResult = true; *hasResultType = true; break;
2273 case OpUDot: *hasResult = true; *hasResultType = true; break;
2274 case OpSUDot: *hasResult = true; *hasResultType = true; break;
2275 case OpSDotAccSat: *hasResult = true; *hasResultType = true; break;
2276 case OpUDotAccSat: *hasResult = true; *hasResultType = true; break;
2277 case OpSUDotAccSat: *hasResult = true; *hasResultType = true; break;
2278 case OpTypeRayQueryKHR: *hasResult = true; *hasResultType = false; break;
2279 case OpRayQueryInitializeKHR: *hasResult = false; *hasResultType = false; break;
2280 case OpRayQueryTerminateKHR: *hasResult = false; *hasResultType = false; break;
2281 case OpRayQueryGenerateIntersectionKHR: *hasResult = false; *hasResultType = false; break;
2282 case OpRayQueryConfirmIntersectionKHR: *hasResult = false; *hasResultType = false; break;
2283 case OpRayQueryProceedKHR: *hasResult = true; *hasResultType = true; break;
2284 case OpRayQueryGetIntersectionTypeKHR: *hasResult = true; *hasResultType = true; break;
2285 case OpImageSampleWeightedQCOM: *hasResult = true; *hasResultType = true; break;
2286 case OpImageBoxFilterQCOM: *hasResult = true; *hasResultType = true; break;
2287 case OpImageBlockMatchSSDQCOM: *hasResult = true; *hasResultType = true; break;
2288 case OpImageBlockMatchSADQCOM: *hasResult = true; *hasResultType = true; break;
2289 case OpImageBlockMatchWindowSSDQCOM: *hasResult = true; *hasResultType = true; break;
2290 case OpImageBlockMatchWindowSADQCOM: *hasResult = true; *hasResultType = true; break;
2291 case OpImageBlockMatchGatherSSDQCOM: *hasResult = true; *hasResultType = true; break;
2292 case OpImageBlockMatchGatherSADQCOM: *hasResult = true; *hasResultType = true; break;
2293 case OpGroupIAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
2294 case OpGroupFAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
2295 case OpGroupFMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
2296 case OpGroupUMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
2297 case OpGroupSMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
2298 case OpGroupFMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
2299 case OpGroupUMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
2300 case OpGroupSMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
2301 case OpFragmentMaskFetchAMD: *hasResult = true; *hasResultType = true; break;
2302 case OpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break;
2303 case OpReadClockKHR: *hasResult = true; *hasResultType = true; break;
2304 case OpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; break;
2305 case OpEmitMeshTasksEXT: *hasResult = false; *hasResultType = false; break;
2306 case OpSetMeshOutputsEXT: *hasResult = false; *hasResultType = false; break;
2307 case OpGroupNonUniformPartitionNV: *hasResult = true; *hasResultType = true; break;
2308 case OpWritePackedPrimitiveIndices4x8NV: *hasResult = false; *hasResultType = false; break;
2309 case OpReportIntersectionNV: *hasResult = true; *hasResultType = true; break;
2310 case OpIgnoreIntersectionNV: *hasResult = false; *hasResultType = false; break;
2311 case OpTerminateRayNV: *hasResult = false; *hasResultType = false; break;
2312 case OpTraceNV: *hasResult = false; *hasResultType = false; break;
2313 case OpTraceMotionNV: *hasResult = false; *hasResultType = false; break;
2314 case OpTraceRayMotionNV: *hasResult = false; *hasResultType = false; break;
2315 case OpTypeAccelerationStructureNV: *hasResult = true; *hasResultType = false; break;
2316 case OpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;
2317 case OpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;
2318 case OpCooperativeMatrixLoadNV: *hasResult = true; *hasResultType = true; break;
2319 case OpCooperativeMatrixStoreNV: *hasResult = false; *hasResultType = false; break;
2320 case OpCooperativeMatrixMulAddNV: *hasResult = true; *hasResultType = true; break;
2321 case OpCooperativeMatrixLengthNV: *hasResult = true; *hasResultType = true; break;
2322 case OpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
2323 case OpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
2324 case OpDemoteToHelperInvocation: *hasResult = false; *hasResultType = false; break;
2325 case OpIsHelperInvocationEXT: *hasResult = true; *hasResultType = true; break;
2326 case OpConvertUToImageNV: *hasResult = true; *hasResultType = true; break;
2327 case OpConvertUToSamplerNV: *hasResult = true; *hasResultType = true; break;
2328 case OpConvertImageToUNV: *hasResult = true; *hasResultType = true; break;
2329 case OpConvertSamplerToUNV: *hasResult = true; *hasResultType = true; break;
2330 case OpConvertUToSampledImageNV: *hasResult = true; *hasResultType = true; break;
2331 case OpConvertSampledImageToUNV: *hasResult = true; *hasResultType = true; break;
2332 case OpSamplerImageAddressingModeNV: *hasResult = false; *hasResultType = false; break;
2333 case OpSubgroupShuffleINTEL: *hasResult = true; *hasResultType = true; break;
2334 case OpSubgroupShuffleDownINTEL: *hasResult = true; *hasResultType = true; break;
2335 case OpSubgroupShuffleUpINTEL: *hasResult = true; *hasResultType = true; break;
2336 case OpSubgroupShuffleXorINTEL: *hasResult = true; *hasResultType = true; break;
2337 case OpSubgroupBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
2338 case OpSubgroupBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
2339 case OpSubgroupImageBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
2340 case OpSubgroupImageBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
2341 case OpSubgroupImageMediaBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
2342 case OpSubgroupImageMediaBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
2343 case OpUCountLeadingZerosINTEL: *hasResult = true; *hasResultType = true; break;
2344 case OpUCountTrailingZerosINTEL: *hasResult = true; *hasResultType = true; break;
2345 case OpAbsISubINTEL: *hasResult = true; *hasResultType = true; break;
2346 case OpAbsUSubINTEL: *hasResult = true; *hasResultType = true; break;
2347 case OpIAddSatINTEL: *hasResult = true; *hasResultType = true; break;
2348 case OpUAddSatINTEL: *hasResult = true; *hasResultType = true; break;
2349 case OpIAverageINTEL: *hasResult = true; *hasResultType = true; break;
2350 case OpUAverageINTEL: *hasResult = true; *hasResultType = true; break;
2351 case OpIAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
2352 case OpUAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
2353 case OpISubSatINTEL: *hasResult = true; *hasResultType = true; break;
2354 case OpUSubSatINTEL: *hasResult = true; *hasResultType = true; break;
2355 case OpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
2356 case OpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
2357 case OpConstantFunctionPointerINTEL: *hasResult = true; *hasResultType = true; break;
2358 case OpFunctionPointerCallINTEL: *hasResult = true; *hasResultType = true; break;
2359 case OpAsmTargetINTEL: *hasResult = true; *hasResultType = true; break;
2360 case OpAsmINTEL: *hasResult = true; *hasResultType = true; break;
2361 case OpAsmCallINTEL: *hasResult = true; *hasResultType = true; break;
2362 case OpAtomicFMinEXT: *hasResult = true; *hasResultType = true; break;
2363 case OpAtomicFMaxEXT: *hasResult = true; *hasResultType = true; break;
2364 case OpAssumeTrueKHR: *hasResult = false; *hasResultType = false; break;
2365 case OpExpectKHR: *hasResult = true; *hasResultType = true; break;
2366 case OpDecorateString: *hasResult = false; *hasResultType = false; break;
2367 case OpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
2368 case OpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;
2369 case OpTypeVmeImageINTEL: *hasResult = true; *hasResultType = false; break;
2370 case OpTypeAvcImePayloadINTEL: *hasResult = true; *hasResultType = false; break;
2371 case OpTypeAvcRefPayloadINTEL: *hasResult = true; *hasResultType = false; break;
2372 case OpTypeAvcSicPayloadINTEL: *hasResult = true; *hasResultType = false; break;
2373 case OpTypeAvcMcePayloadINTEL: *hasResult = true; *hasResultType = false; break;
2374 case OpTypeAvcMceResultINTEL: *hasResult = true; *hasResultType = false; break;
2375 case OpTypeAvcImeResultINTEL: *hasResult = true; *hasResultType = false; break;
2376 case OpTypeAvcImeResultSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
2377 case OpTypeAvcImeResultDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
2378 case OpTypeAvcImeSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
2379 case OpTypeAvcImeDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
2380 case OpTypeAvcRefResultINTEL: *hasResult = true; *hasResultType = false; break;
2381 case OpTypeAvcSicResultINTEL: *hasResult = true; *hasResultType = false; break;
2382 case OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2383 case OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2384 case OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2385 case OpSubgroupAvcMceSetInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2386 case OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2387 case OpSubgroupAvcMceSetInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2388 case OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2389 case OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL: *hasResult = true; *hasResultType = true; break;
2390 case OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
2391 case OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
2392 case OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
2393 case OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
2394 case OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2395 case OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2396 case OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2397 case OpSubgroupAvcMceSetAcOnlyHaarINTEL: *hasResult = true; *hasResultType = true; break;
2398 case OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
2399 case OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
2400 case OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
2401 case OpSubgroupAvcMceConvertToImePayloadINTEL: *hasResult = true; *hasResultType = true; break;
2402 case OpSubgroupAvcMceConvertToImeResultINTEL: *hasResult = true; *hasResultType = true; break;
2403 case OpSubgroupAvcMceConvertToRefPayloadINTEL: *hasResult = true; *hasResultType = true; break;
2404 case OpSubgroupAvcMceConvertToRefResultINTEL: *hasResult = true; *hasResultType = true; break;
2405 case OpSubgroupAvcMceConvertToSicPayloadINTEL: *hasResult = true; *hasResultType = true; break;
2406 case OpSubgroupAvcMceConvertToSicResultINTEL: *hasResult = true; *hasResultType = true; break;
2407 case OpSubgroupAvcMceGetMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
2408 case OpSubgroupAvcMceGetInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
2409 case OpSubgroupAvcMceGetBestInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
2410 case OpSubgroupAvcMceGetInterMajorShapeINTEL: *hasResult = true; *hasResultType = true; break;
2411 case OpSubgroupAvcMceGetInterMinorShapeINTEL: *hasResult = true; *hasResultType = true; break;
2412 case OpSubgroupAvcMceGetInterDirectionsINTEL: *hasResult = true; *hasResultType = true; break;
2413 case OpSubgroupAvcMceGetInterMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
2414 case OpSubgroupAvcMceGetInterReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
2415 case OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
2416 case OpSubgroupAvcImeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
2417 case OpSubgroupAvcImeSetSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2418 case OpSubgroupAvcImeSetDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2419 case OpSubgroupAvcImeRefWindowSizeINTEL: *hasResult = true; *hasResultType = true; break;
2420 case OpSubgroupAvcImeAdjustRefOffsetINTEL: *hasResult = true; *hasResultType = true; break;
2421 case OpSubgroupAvcImeConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
2422 case OpSubgroupAvcImeSetMaxMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
2423 case OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
2424 case OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL: *hasResult = true; *hasResultType = true; break;
2425 case OpSubgroupAvcImeSetWeightedSadINTEL: *hasResult = true; *hasResultType = true; break;
2426 case OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2427 case OpSubgroupAvcImeEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2428 case OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
2429 case OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
2430 case OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
2431 case OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
2432 case OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
2433 case OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
2434 case OpSubgroupAvcImeConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
2435 case OpSubgroupAvcImeGetSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
2436 case OpSubgroupAvcImeGetDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
2437 case OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
2438 case OpSubgroupAvcImeStripDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
2439 case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
2440 case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
2441 case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
2442 case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
2443 case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
2444 case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
2445 case OpSubgroupAvcImeGetBorderReachedINTEL: *hasResult = true; *hasResultType = true; break;
2446 case OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL: *hasResult = true; *hasResultType = true; break;
2447 case OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL: *hasResult = true; *hasResultType = true; break;
2448 case OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL: *hasResult = true; *hasResultType = true; break;
2449 case OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL: *hasResult = true; *hasResultType = true; break;
2450 case OpSubgroupAvcFmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
2451 case OpSubgroupAvcBmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
2452 case OpSubgroupAvcRefConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
2453 case OpSubgroupAvcRefSetBidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
2454 case OpSubgroupAvcRefSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
2455 case OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2456 case OpSubgroupAvcRefEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2457 case OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2458 case OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
2459 case OpSubgroupAvcRefConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
2460 case OpSubgroupAvcSicInitializeINTEL: *hasResult = true; *hasResultType = true; break;
2461 case OpSubgroupAvcSicConfigureSkcINTEL: *hasResult = true; *hasResultType = true; break;
2462 case OpSubgroupAvcSicConfigureIpeLumaINTEL: *hasResult = true; *hasResultType = true; break;
2463 case OpSubgroupAvcSicConfigureIpeLumaChromaINTEL: *hasResult = true; *hasResultType = true; break;
2464 case OpSubgroupAvcSicGetMotionVectorMaskINTEL: *hasResult = true; *hasResultType = true; break;
2465 case OpSubgroupAvcSicConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
2466 case OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
2467 case OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
2468 case OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
2469 case OpSubgroupAvcSicSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
2470 case OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL: *hasResult = true; *hasResultType = true; break;
2471 case OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL: *hasResult = true; *hasResultType = true; break;
2472 case OpSubgroupAvcSicEvaluateIpeINTEL: *hasResult = true; *hasResultType = true; break;
2473 case OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2474 case OpSubgroupAvcSicEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2475 case OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
2476 case OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
2477 case OpSubgroupAvcSicConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
2478 case OpSubgroupAvcSicGetIpeLumaShapeINTEL: *hasResult = true; *hasResultType = true; break;
2479 case OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
2480 case OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
2481 case OpSubgroupAvcSicGetPackedIpeLumaModesINTEL: *hasResult = true; *hasResultType = true; break;
2482 case OpSubgroupAvcSicGetIpeChromaModeINTEL: *hasResult = true; *hasResultType = true; break;
2483 case OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: *hasResult = true; *hasResultType = true; break;
2484 case OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: *hasResult = true; *hasResultType = true; break;
2485 case OpSubgroupAvcSicGetInterRawSadsINTEL: *hasResult = true; *hasResultType = true; break;
2486 case OpVariableLengthArrayINTEL: *hasResult = true; *hasResultType = true; break;
2487 case OpSaveMemoryINTEL: *hasResult = true; *hasResultType = true; break;
2488 case OpRestoreMemoryINTEL: *hasResult = false; *hasResultType = false; break;
2489 case OpArbitraryFloatSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;
2490 case OpArbitraryFloatCastINTEL: *hasResult = true; *hasResultType = true; break;
2491 case OpArbitraryFloatCastFromIntINTEL: *hasResult = true; *hasResultType = true; break;
2492 case OpArbitraryFloatCastToIntINTEL: *hasResult = true; *hasResultType = true; break;
2493 case OpArbitraryFloatAddINTEL: *hasResult = true; *hasResultType = true; break;
2494 case OpArbitraryFloatSubINTEL: *hasResult = true; *hasResultType = true; break;
2495 case OpArbitraryFloatMulINTEL: *hasResult = true; *hasResultType = true; break;
2496 case OpArbitraryFloatDivINTEL: *hasResult = true; *hasResultType = true; break;
2497 case OpArbitraryFloatGTINTEL: *hasResult = true; *hasResultType = true; break;
2498 case OpArbitraryFloatGEINTEL: *hasResult = true; *hasResultType = true; break;
2499 case OpArbitraryFloatLTINTEL: *hasResult = true; *hasResultType = true; break;
2500 case OpArbitraryFloatLEINTEL: *hasResult = true; *hasResultType = true; break;
2501 case OpArbitraryFloatEQINTEL: *hasResult = true; *hasResultType = true; break;
2502 case OpArbitraryFloatRecipINTEL: *hasResult = true; *hasResultType = true; break;
2503 case OpArbitraryFloatRSqrtINTEL: *hasResult = true; *hasResultType = true; break;
2504 case OpArbitraryFloatCbrtINTEL: *hasResult = true; *hasResultType = true; break;
2505 case OpArbitraryFloatHypotINTEL: *hasResult = true; *hasResultType = true; break;
2506 case OpArbitraryFloatSqrtINTEL: *hasResult = true; *hasResultType = true; break;
2507 case OpArbitraryFloatLogINTEL: *hasResult = true; *hasResultType = true; break;
2508 case OpArbitraryFloatLog2INTEL: *hasResult = true; *hasResultType = true; break;
2509 case OpArbitraryFloatLog10INTEL: *hasResult = true; *hasResultType = true; break;
2510 case OpArbitraryFloatLog1pINTEL: *hasResult = true; *hasResultType = true; break;
2511 case OpArbitraryFloatExpINTEL: *hasResult = true; *hasResultType = true; break;
2512 case OpArbitraryFloatExp2INTEL: *hasResult = true; *hasResultType = true; break;
2513 case OpArbitraryFloatExp10INTEL: *hasResult = true; *hasResultType = true; break;
2514 case OpArbitraryFloatExpm1INTEL: *hasResult = true; *hasResultType = true; break;
2515 case OpArbitraryFloatSinINTEL: *hasResult = true; *hasResultType = true; break;
2516 case OpArbitraryFloatCosINTEL: *hasResult = true; *hasResultType = true; break;
2517 case OpArbitraryFloatSinCosINTEL: *hasResult = true; *hasResultType = true; break;
2518 case OpArbitraryFloatSinPiINTEL: *hasResult = true; *hasResultType = true; break;
2519 case OpArbitraryFloatCosPiINTEL: *hasResult = true; *hasResultType = true; break;
2520 case OpArbitraryFloatASinINTEL: *hasResult = true; *hasResultType = true; break;
2521 case OpArbitraryFloatASinPiINTEL: *hasResult = true; *hasResultType = true; break;
2522 case OpArbitraryFloatACosINTEL: *hasResult = true; *hasResultType = true; break;
2523 case OpArbitraryFloatACosPiINTEL: *hasResult = true; *hasResultType = true; break;
2524 case OpArbitraryFloatATanINTEL: *hasResult = true; *hasResultType = true; break;
2525 case OpArbitraryFloatATanPiINTEL: *hasResult = true; *hasResultType = true; break;
2526 case OpArbitraryFloatATan2INTEL: *hasResult = true; *hasResultType = true; break;
2527 case OpArbitraryFloatPowINTEL: *hasResult = true; *hasResultType = true; break;
2528 case OpArbitraryFloatPowRINTEL: *hasResult = true; *hasResultType = true; break;
2529 case OpArbitraryFloatPowNINTEL: *hasResult = true; *hasResultType = true; break;
2530 case OpLoopControlINTEL: *hasResult = false; *hasResultType = false; break;
2531 case OpAliasDomainDeclINTEL: *hasResult = true; *hasResultType = false; break;
2532 case OpAliasScopeDeclINTEL: *hasResult = true; *hasResultType = false; break;
2533 case OpAliasScopeListDeclINTEL: *hasResult = true; *hasResultType = false; break;
2534 case OpFixedSqrtINTEL: *hasResult = true; *hasResultType = true; break;
2535 case OpFixedRecipINTEL: *hasResult = true; *hasResultType = true; break;
2536 case OpFixedRsqrtINTEL: *hasResult = true; *hasResultType = true; break;
2537 case OpFixedSinINTEL: *hasResult = true; *hasResultType = true; break;
2538 case OpFixedCosINTEL: *hasResult = true; *hasResultType = true; break;
2539 case OpFixedSinCosINTEL: *hasResult = true; *hasResultType = true; break;
2540 case OpFixedSinPiINTEL: *hasResult = true; *hasResultType = true; break;
2541 case OpFixedCosPiINTEL: *hasResult = true; *hasResultType = true; break;
2542 case OpFixedSinCosPiINTEL: *hasResult = true; *hasResultType = true; break;
2543 case OpFixedLogINTEL: *hasResult = true; *hasResultType = true; break;
2544 case OpFixedExpINTEL: *hasResult = true; *hasResultType = true; break;
2545 case OpPtrCastToCrossWorkgroupINTEL: *hasResult = true; *hasResultType = true; break;
2546 case OpCrossWorkgroupCastToPtrINTEL: *hasResult = true; *hasResultType = true; break;
2547 case OpReadPipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
2548 case OpWritePipeBlockingINTEL: *hasResult = true; *hasResultType = true; break;
2549 case OpFPGARegINTEL: *hasResult = true; *hasResultType = true; break;
2550 case OpRayQueryGetRayTMinKHR: *hasResult = true; *hasResultType = true; break;
2551 case OpRayQueryGetRayFlagsKHR: *hasResult = true; *hasResultType = true; break;
2552 case OpRayQueryGetIntersectionTKHR: *hasResult = true; *hasResultType = true; break;
2553 case OpRayQueryGetIntersectionInstanceCustomIndexKHR: *hasResult = true; *hasResultType = true; break;
2554 case OpRayQueryGetIntersectionInstanceIdKHR: *hasResult = true; *hasResultType = true; break;
2555 case OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: *hasResult = true; *hasResultType = true; break;
2556 case OpRayQueryGetIntersectionGeometryIndexKHR: *hasResult = true; *hasResultType = true; break;
2557 case OpRayQueryGetIntersectionPrimitiveIndexKHR: *hasResult = true; *hasResultType = true; break;
2558 case OpRayQueryGetIntersectionBarycentricsKHR: *hasResult = true; *hasResultType = true; break;
2559 case OpRayQueryGetIntersectionFrontFaceKHR: *hasResult = true; *hasResultType = true; break;
2560 case OpRayQueryGetIntersectionCandidateAABBOpaqueKHR: *hasResult = true; *hasResultType = true; break;
2561 case OpRayQueryGetIntersectionObjectRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
2562 case OpRayQueryGetIntersectionObjectRayOriginKHR: *hasResult = true; *hasResultType = true; break;
2563 case OpRayQueryGetWorldRayDirectionKHR: *hasResult = true; *hasResultType = true; break;
2564 case OpRayQueryGetWorldRayOriginKHR: *hasResult = true; *hasResultType = true; break;
2565 case OpRayQueryGetIntersectionObjectToWorldKHR: *hasResult = true; *hasResultType = true; break;
2566 case OpRayQueryGetIntersectionWorldToObjectKHR: *hasResult = true; *hasResultType = true; break;
2567 case OpAtomicFAddEXT: *hasResult = true; *hasResultType = true; break;
2568 case OpTypeBufferSurfaceINTEL: *hasResult = true; *hasResultType = false; break;
2569 case OpTypeStructContinuedINTEL: *hasResult = false; *hasResultType = false; break;
2570 case OpConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
2571 case OpSpecConstantCompositeContinuedINTEL: *hasResult = false; *hasResultType = false; break;
2572 case OpControlBarrierArriveINTEL: *hasResult = false; *hasResultType = false; break;
2573 case OpControlBarrierWaitINTEL: *hasResult = false; *hasResultType = false; break;
2574 case OpGroupIMulKHR: *hasResult = true; *hasResultType = true; break;
2575 case OpGroupFMulKHR: *hasResult = true; *hasResultType = true; break;
2576 case OpGroupBitwiseAndKHR: *hasResult = true; *hasResultType = true; break;
2577 case OpGroupBitwiseOrKHR: *hasResult = true; *hasResultType = true; break;
2578 case OpGroupBitwiseXorKHR: *hasResult = true; *hasResultType = true; break;
2579 case OpGroupLogicalAndKHR: *hasResult = true; *hasResultType = true; break;
2580 case OpGroupLogicalOrKHR: *hasResult = true; *hasResultType = true; break;
2581 case OpGroupLogicalXorKHR: *hasResult = true; *hasResultType = true; break;
2584 #endif /* SPV_ENABLE_UTILITY_CODE */
2586 // Overload operator| for mask bit combining
2588 inline ImageOperandsMask operator|(ImageOperandsMask a, ImageOperandsMask b) { return ImageOperandsMask(unsigned(a) | unsigned(b)); }
2589 inline FPFastMathModeMask operator|(FPFastMathModeMask a, FPFastMathModeMask b) { return FPFastMathModeMask(unsigned(a) | unsigned(b)); }
2590 inline SelectionControlMask operator|(SelectionControlMask a, SelectionControlMask b) { return SelectionControlMask(unsigned(a) | unsigned(b)); }
2591 inline LoopControlMask operator|(LoopControlMask a, LoopControlMask b) { return LoopControlMask(unsigned(a) | unsigned(b)); }
2592 inline FunctionControlMask operator|(FunctionControlMask a, FunctionControlMask b) { return FunctionControlMask(unsigned(a) | unsigned(b)); }
2593 inline MemorySemanticsMask operator|(MemorySemanticsMask a, MemorySemanticsMask b) { return MemorySemanticsMask(unsigned(a) | unsigned(b)); }
2594 inline MemoryAccessMask operator|(MemoryAccessMask a, MemoryAccessMask b) { return MemoryAccessMask(unsigned(a) | unsigned(b)); }
2595 inline KernelProfilingInfoMask operator|(KernelProfilingInfoMask a, KernelProfilingInfoMask b) { return KernelProfilingInfoMask(unsigned(a) | unsigned(b)); }
2596 inline RayFlagsMask operator|(RayFlagsMask a, RayFlagsMask b) { return RayFlagsMask(unsigned(a) | unsigned(b)); }
2597 inline FragmentShadingRateMask operator|(FragmentShadingRateMask a, FragmentShadingRateMask b) { return FragmentShadingRateMask(unsigned(a) | unsigned(b)); }
2599 } // end namespace spv
2601 #endif // #ifndef spirv_HPP