2 ** Copyright (c) 2014-2018 The Khronos Group Inc.
4 ** Permission is hereby granted, free of charge, to any person obtaining a copy
5 ** of this software and/or associated documentation files (the "Materials"),
6 ** to deal in the Materials without restriction, including without limitation
7 ** the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 ** and/or sell copies of the Materials, and to permit persons to whom the
9 ** Materials are furnished to do so, subject to the following conditions:
11 ** The above copyright notice and this permission notice shall be included in
12 ** all copies or substantial portions of the Materials.
14 ** MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS
15 ** STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND
16 ** HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/
18 ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
19 ** OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 ** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
21 ** THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 ** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23 ** FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS
28 ** This header is automatically generated by the same tool that creates
29 ** the Binary Section of the SPIR-V specification.
33 ** Enumeration tokens for SPIR-V, in various styles:
34 ** C, C++, C++11, JSON, Lua, Python
36 ** - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
37 ** - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
38 ** - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
39 ** - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
40 ** - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
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.
51 typedef unsigned int SpvId
;
53 #define SPV_VERSION 0x10300
54 #define SPV_REVISION 1
56 static const unsigned int SpvMagicNumber
= 0x07230203;
57 static const unsigned int SpvVersion
= 0x00010300;
58 static const unsigned int SpvRevision
= 1;
59 static const unsigned int SpvOpCodeMask
= 0xffff;
60 static const unsigned int SpvWordCountShift
= 16;
62 typedef enum SpvSourceLanguage_
{
63 SpvSourceLanguageUnknown
= 0,
64 SpvSourceLanguageESSL
= 1,
65 SpvSourceLanguageGLSL
= 2,
66 SpvSourceLanguageOpenCL_C
= 3,
67 SpvSourceLanguageOpenCL_CPP
= 4,
68 SpvSourceLanguageHLSL
= 5,
69 SpvSourceLanguageMax
= 0x7fffffff,
72 typedef enum SpvExecutionModel_
{
73 SpvExecutionModelVertex
= 0,
74 SpvExecutionModelTessellationControl
= 1,
75 SpvExecutionModelTessellationEvaluation
= 2,
76 SpvExecutionModelGeometry
= 3,
77 SpvExecutionModelFragment
= 4,
78 SpvExecutionModelGLCompute
= 5,
79 SpvExecutionModelKernel
= 6,
80 SpvExecutionModelTaskNV
= 5267,
81 SpvExecutionModelMeshNV
= 5268,
82 SpvExecutionModelRayGenerationNVX
= 5313,
83 SpvExecutionModelIntersectionNVX
= 5314,
84 SpvExecutionModelAnyHitNVX
= 5315,
85 SpvExecutionModelClosestHitNVX
= 5316,
86 SpvExecutionModelMissNVX
= 5317,
87 SpvExecutionModelCallableNVX
= 5318,
88 SpvExecutionModelMax
= 0x7fffffff,
91 typedef enum SpvAddressingModel_
{
92 SpvAddressingModelLogical
= 0,
93 SpvAddressingModelPhysical32
= 1,
94 SpvAddressingModelPhysical64
= 2,
95 SpvAddressingModelMax
= 0x7fffffff,
98 typedef enum SpvMemoryModel_
{
99 SpvMemoryModelSimple
= 0,
100 SpvMemoryModelGLSL450
= 1,
101 SpvMemoryModelOpenCL
= 2,
102 SpvMemoryModelVulkanKHR
= 3,
103 SpvMemoryModelMax
= 0x7fffffff,
106 typedef enum SpvExecutionMode_
{
107 SpvExecutionModeInvocations
= 0,
108 SpvExecutionModeSpacingEqual
= 1,
109 SpvExecutionModeSpacingFractionalEven
= 2,
110 SpvExecutionModeSpacingFractionalOdd
= 3,
111 SpvExecutionModeVertexOrderCw
= 4,
112 SpvExecutionModeVertexOrderCcw
= 5,
113 SpvExecutionModePixelCenterInteger
= 6,
114 SpvExecutionModeOriginUpperLeft
= 7,
115 SpvExecutionModeOriginLowerLeft
= 8,
116 SpvExecutionModeEarlyFragmentTests
= 9,
117 SpvExecutionModePointMode
= 10,
118 SpvExecutionModeXfb
= 11,
119 SpvExecutionModeDepthReplacing
= 12,
120 SpvExecutionModeDepthGreater
= 14,
121 SpvExecutionModeDepthLess
= 15,
122 SpvExecutionModeDepthUnchanged
= 16,
123 SpvExecutionModeLocalSize
= 17,
124 SpvExecutionModeLocalSizeHint
= 18,
125 SpvExecutionModeInputPoints
= 19,
126 SpvExecutionModeInputLines
= 20,
127 SpvExecutionModeInputLinesAdjacency
= 21,
128 SpvExecutionModeTriangles
= 22,
129 SpvExecutionModeInputTrianglesAdjacency
= 23,
130 SpvExecutionModeQuads
= 24,
131 SpvExecutionModeIsolines
= 25,
132 SpvExecutionModeOutputVertices
= 26,
133 SpvExecutionModeOutputPoints
= 27,
134 SpvExecutionModeOutputLineStrip
= 28,
135 SpvExecutionModeOutputTriangleStrip
= 29,
136 SpvExecutionModeVecTypeHint
= 30,
137 SpvExecutionModeContractionOff
= 31,
138 SpvExecutionModeInitializer
= 33,
139 SpvExecutionModeFinalizer
= 34,
140 SpvExecutionModeSubgroupSize
= 35,
141 SpvExecutionModeSubgroupsPerWorkgroup
= 36,
142 SpvExecutionModeSubgroupsPerWorkgroupId
= 37,
143 SpvExecutionModeLocalSizeId
= 38,
144 SpvExecutionModeLocalSizeHintId
= 39,
145 SpvExecutionModePostDepthCoverage
= 4446,
146 SpvExecutionModeStencilRefReplacingEXT
= 5027,
147 SpvExecutionModeOutputLinesNV
= 5269,
148 SpvExecutionModeOutputPrimitivesNV
= 5270,
149 SpvExecutionModeDerivativeGroupQuadsNV
= 5289,
150 SpvExecutionModeDerivativeGroupLinearNV
= 5290,
151 SpvExecutionModeOutputTrianglesNV
= 5298,
152 SpvExecutionModeMax
= 0x7fffffff,
155 typedef enum SpvStorageClass_
{
156 SpvStorageClassUniformConstant
= 0,
157 SpvStorageClassInput
= 1,
158 SpvStorageClassUniform
= 2,
159 SpvStorageClassOutput
= 3,
160 SpvStorageClassWorkgroup
= 4,
161 SpvStorageClassCrossWorkgroup
= 5,
162 SpvStorageClassPrivate
= 6,
163 SpvStorageClassFunction
= 7,
164 SpvStorageClassGeneric
= 8,
165 SpvStorageClassPushConstant
= 9,
166 SpvStorageClassAtomicCounter
= 10,
167 SpvStorageClassImage
= 11,
168 SpvStorageClassStorageBuffer
= 12,
169 SpvStorageClassRayPayloadNVX
= 5338,
170 SpvStorageClassHitAttributeNVX
= 5339,
171 SpvStorageClassIncomingRayPayloadNVX
= 5342,
172 SpvStorageClassShaderRecordBufferNVX
= 5343,
173 SpvStorageClassMax
= 0x7fffffff,
176 typedef enum SpvDim_
{
183 SpvDimSubpassData
= 6,
184 SpvDimMax
= 0x7fffffff,
187 typedef enum SpvSamplerAddressingMode_
{
188 SpvSamplerAddressingModeNone
= 0,
189 SpvSamplerAddressingModeClampToEdge
= 1,
190 SpvSamplerAddressingModeClamp
= 2,
191 SpvSamplerAddressingModeRepeat
= 3,
192 SpvSamplerAddressingModeRepeatMirrored
= 4,
193 SpvSamplerAddressingModeMax
= 0x7fffffff,
194 } SpvSamplerAddressingMode
;
196 typedef enum SpvSamplerFilterMode_
{
197 SpvSamplerFilterModeNearest
= 0,
198 SpvSamplerFilterModeLinear
= 1,
199 SpvSamplerFilterModeMax
= 0x7fffffff,
200 } SpvSamplerFilterMode
;
202 typedef enum SpvImageFormat_
{
203 SpvImageFormatUnknown
= 0,
204 SpvImageFormatRgba32f
= 1,
205 SpvImageFormatRgba16f
= 2,
206 SpvImageFormatR32f
= 3,
207 SpvImageFormatRgba8
= 4,
208 SpvImageFormatRgba8Snorm
= 5,
209 SpvImageFormatRg32f
= 6,
210 SpvImageFormatRg16f
= 7,
211 SpvImageFormatR11fG11fB10f
= 8,
212 SpvImageFormatR16f
= 9,
213 SpvImageFormatRgba16
= 10,
214 SpvImageFormatRgb10A2
= 11,
215 SpvImageFormatRg16
= 12,
216 SpvImageFormatRg8
= 13,
217 SpvImageFormatR16
= 14,
218 SpvImageFormatR8
= 15,
219 SpvImageFormatRgba16Snorm
= 16,
220 SpvImageFormatRg16Snorm
= 17,
221 SpvImageFormatRg8Snorm
= 18,
222 SpvImageFormatR16Snorm
= 19,
223 SpvImageFormatR8Snorm
= 20,
224 SpvImageFormatRgba32i
= 21,
225 SpvImageFormatRgba16i
= 22,
226 SpvImageFormatRgba8i
= 23,
227 SpvImageFormatR32i
= 24,
228 SpvImageFormatRg32i
= 25,
229 SpvImageFormatRg16i
= 26,
230 SpvImageFormatRg8i
= 27,
231 SpvImageFormatR16i
= 28,
232 SpvImageFormatR8i
= 29,
233 SpvImageFormatRgba32ui
= 30,
234 SpvImageFormatRgba16ui
= 31,
235 SpvImageFormatRgba8ui
= 32,
236 SpvImageFormatR32ui
= 33,
237 SpvImageFormatRgb10a2ui
= 34,
238 SpvImageFormatRg32ui
= 35,
239 SpvImageFormatRg16ui
= 36,
240 SpvImageFormatRg8ui
= 37,
241 SpvImageFormatR16ui
= 38,
242 SpvImageFormatR8ui
= 39,
243 SpvImageFormatMax
= 0x7fffffff,
246 typedef enum SpvImageChannelOrder_
{
247 SpvImageChannelOrderR
= 0,
248 SpvImageChannelOrderA
= 1,
249 SpvImageChannelOrderRG
= 2,
250 SpvImageChannelOrderRA
= 3,
251 SpvImageChannelOrderRGB
= 4,
252 SpvImageChannelOrderRGBA
= 5,
253 SpvImageChannelOrderBGRA
= 6,
254 SpvImageChannelOrderARGB
= 7,
255 SpvImageChannelOrderIntensity
= 8,
256 SpvImageChannelOrderLuminance
= 9,
257 SpvImageChannelOrderRx
= 10,
258 SpvImageChannelOrderRGx
= 11,
259 SpvImageChannelOrderRGBx
= 12,
260 SpvImageChannelOrderDepth
= 13,
261 SpvImageChannelOrderDepthStencil
= 14,
262 SpvImageChannelOrdersRGB
= 15,
263 SpvImageChannelOrdersRGBx
= 16,
264 SpvImageChannelOrdersRGBA
= 17,
265 SpvImageChannelOrdersBGRA
= 18,
266 SpvImageChannelOrderABGR
= 19,
267 SpvImageChannelOrderMax
= 0x7fffffff,
268 } SpvImageChannelOrder
;
270 typedef enum SpvImageChannelDataType_
{
271 SpvImageChannelDataTypeSnormInt8
= 0,
272 SpvImageChannelDataTypeSnormInt16
= 1,
273 SpvImageChannelDataTypeUnormInt8
= 2,
274 SpvImageChannelDataTypeUnormInt16
= 3,
275 SpvImageChannelDataTypeUnormShort565
= 4,
276 SpvImageChannelDataTypeUnormShort555
= 5,
277 SpvImageChannelDataTypeUnormInt101010
= 6,
278 SpvImageChannelDataTypeSignedInt8
= 7,
279 SpvImageChannelDataTypeSignedInt16
= 8,
280 SpvImageChannelDataTypeSignedInt32
= 9,
281 SpvImageChannelDataTypeUnsignedInt8
= 10,
282 SpvImageChannelDataTypeUnsignedInt16
= 11,
283 SpvImageChannelDataTypeUnsignedInt32
= 12,
284 SpvImageChannelDataTypeHalfFloat
= 13,
285 SpvImageChannelDataTypeFloat
= 14,
286 SpvImageChannelDataTypeUnormInt24
= 15,
287 SpvImageChannelDataTypeUnormInt101010_2
= 16,
288 SpvImageChannelDataTypeMax
= 0x7fffffff,
289 } SpvImageChannelDataType
;
291 typedef enum SpvImageOperandsShift_
{
292 SpvImageOperandsBiasShift
= 0,
293 SpvImageOperandsLodShift
= 1,
294 SpvImageOperandsGradShift
= 2,
295 SpvImageOperandsConstOffsetShift
= 3,
296 SpvImageOperandsOffsetShift
= 4,
297 SpvImageOperandsConstOffsetsShift
= 5,
298 SpvImageOperandsSampleShift
= 6,
299 SpvImageOperandsMinLodShift
= 7,
300 SpvImageOperandsMakeTexelAvailableKHRShift
= 8,
301 SpvImageOperandsMakeTexelVisibleKHRShift
= 9,
302 SpvImageOperandsNonPrivateTexelKHRShift
= 10,
303 SpvImageOperandsVolatileTexelKHRShift
= 11,
304 SpvImageOperandsMax
= 0x7fffffff,
305 } SpvImageOperandsShift
;
307 typedef enum SpvImageOperandsMask_
{
308 SpvImageOperandsMaskNone
= 0,
309 SpvImageOperandsBiasMask
= 0x00000001,
310 SpvImageOperandsLodMask
= 0x00000002,
311 SpvImageOperandsGradMask
= 0x00000004,
312 SpvImageOperandsConstOffsetMask
= 0x00000008,
313 SpvImageOperandsOffsetMask
= 0x00000010,
314 SpvImageOperandsConstOffsetsMask
= 0x00000020,
315 SpvImageOperandsSampleMask
= 0x00000040,
316 SpvImageOperandsMinLodMask
= 0x00000080,
317 SpvImageOperandsMakeTexelAvailableKHRMask
= 0x00000100,
318 SpvImageOperandsMakeTexelVisibleKHRMask
= 0x00000200,
319 SpvImageOperandsNonPrivateTexelKHRMask
= 0x00000400,
320 SpvImageOperandsVolatileTexelKHRMask
= 0x00000800,
321 } SpvImageOperandsMask
;
323 typedef enum SpvFPFastMathModeShift_
{
324 SpvFPFastMathModeNotNaNShift
= 0,
325 SpvFPFastMathModeNotInfShift
= 1,
326 SpvFPFastMathModeNSZShift
= 2,
327 SpvFPFastMathModeAllowRecipShift
= 3,
328 SpvFPFastMathModeFastShift
= 4,
329 SpvFPFastMathModeMax
= 0x7fffffff,
330 } SpvFPFastMathModeShift
;
332 typedef enum SpvFPFastMathModeMask_
{
333 SpvFPFastMathModeMaskNone
= 0,
334 SpvFPFastMathModeNotNaNMask
= 0x00000001,
335 SpvFPFastMathModeNotInfMask
= 0x00000002,
336 SpvFPFastMathModeNSZMask
= 0x00000004,
337 SpvFPFastMathModeAllowRecipMask
= 0x00000008,
338 SpvFPFastMathModeFastMask
= 0x00000010,
339 } SpvFPFastMathModeMask
;
341 typedef enum SpvFPRoundingMode_
{
342 SpvFPRoundingModeRTE
= 0,
343 SpvFPRoundingModeRTZ
= 1,
344 SpvFPRoundingModeRTP
= 2,
345 SpvFPRoundingModeRTN
= 3,
346 SpvFPRoundingModeMax
= 0x7fffffff,
349 typedef enum SpvLinkageType_
{
350 SpvLinkageTypeExport
= 0,
351 SpvLinkageTypeImport
= 1,
352 SpvLinkageTypeMax
= 0x7fffffff,
355 typedef enum SpvAccessQualifier_
{
356 SpvAccessQualifierReadOnly
= 0,
357 SpvAccessQualifierWriteOnly
= 1,
358 SpvAccessQualifierReadWrite
= 2,
359 SpvAccessQualifierMax
= 0x7fffffff,
360 } SpvAccessQualifier
;
362 typedef enum SpvFunctionParameterAttribute_
{
363 SpvFunctionParameterAttributeZext
= 0,
364 SpvFunctionParameterAttributeSext
= 1,
365 SpvFunctionParameterAttributeByVal
= 2,
366 SpvFunctionParameterAttributeSret
= 3,
367 SpvFunctionParameterAttributeNoAlias
= 4,
368 SpvFunctionParameterAttributeNoCapture
= 5,
369 SpvFunctionParameterAttributeNoWrite
= 6,
370 SpvFunctionParameterAttributeNoReadWrite
= 7,
371 SpvFunctionParameterAttributeMax
= 0x7fffffff,
372 } SpvFunctionParameterAttribute
;
374 typedef enum SpvDecoration_
{
375 SpvDecorationRelaxedPrecision
= 0,
376 SpvDecorationSpecId
= 1,
377 SpvDecorationBlock
= 2,
378 SpvDecorationBufferBlock
= 3,
379 SpvDecorationRowMajor
= 4,
380 SpvDecorationColMajor
= 5,
381 SpvDecorationArrayStride
= 6,
382 SpvDecorationMatrixStride
= 7,
383 SpvDecorationGLSLShared
= 8,
384 SpvDecorationGLSLPacked
= 9,
385 SpvDecorationCPacked
= 10,
386 SpvDecorationBuiltIn
= 11,
387 SpvDecorationNoPerspective
= 13,
388 SpvDecorationFlat
= 14,
389 SpvDecorationPatch
= 15,
390 SpvDecorationCentroid
= 16,
391 SpvDecorationSample
= 17,
392 SpvDecorationInvariant
= 18,
393 SpvDecorationRestrict
= 19,
394 SpvDecorationAliased
= 20,
395 SpvDecorationVolatile
= 21,
396 SpvDecorationConstant
= 22,
397 SpvDecorationCoherent
= 23,
398 SpvDecorationNonWritable
= 24,
399 SpvDecorationNonReadable
= 25,
400 SpvDecorationUniform
= 26,
401 SpvDecorationSaturatedConversion
= 28,
402 SpvDecorationStream
= 29,
403 SpvDecorationLocation
= 30,
404 SpvDecorationComponent
= 31,
405 SpvDecorationIndex
= 32,
406 SpvDecorationBinding
= 33,
407 SpvDecorationDescriptorSet
= 34,
408 SpvDecorationOffset
= 35,
409 SpvDecorationXfbBuffer
= 36,
410 SpvDecorationXfbStride
= 37,
411 SpvDecorationFuncParamAttr
= 38,
412 SpvDecorationFPRoundingMode
= 39,
413 SpvDecorationFPFastMathMode
= 40,
414 SpvDecorationLinkageAttributes
= 41,
415 SpvDecorationNoContraction
= 42,
416 SpvDecorationInputAttachmentIndex
= 43,
417 SpvDecorationAlignment
= 44,
418 SpvDecorationMaxByteOffset
= 45,
419 SpvDecorationAlignmentId
= 46,
420 SpvDecorationMaxByteOffsetId
= 47,
421 SpvDecorationExplicitInterpAMD
= 4999,
422 SpvDecorationOverrideCoverageNV
= 5248,
423 SpvDecorationPassthroughNV
= 5250,
424 SpvDecorationViewportRelativeNV
= 5252,
425 SpvDecorationSecondaryViewportRelativeNV
= 5256,
426 SpvDecorationPerPrimitiveNV
= 5271,
427 SpvDecorationPerViewNV
= 5272,
428 SpvDecorationPerTaskNV
= 5273,
429 SpvDecorationPerVertexNV
= 5285,
430 SpvDecorationNonUniformEXT
= 5300,
431 SpvDecorationHlslCounterBufferGOOGLE
= 5634,
432 SpvDecorationHlslSemanticGOOGLE
= 5635,
433 SpvDecorationMax
= 0x7fffffff,
436 typedef enum SpvBuiltIn_
{
437 SpvBuiltInPosition
= 0,
438 SpvBuiltInPointSize
= 1,
439 SpvBuiltInClipDistance
= 3,
440 SpvBuiltInCullDistance
= 4,
441 SpvBuiltInVertexId
= 5,
442 SpvBuiltInInstanceId
= 6,
443 SpvBuiltInPrimitiveId
= 7,
444 SpvBuiltInInvocationId
= 8,
446 SpvBuiltInViewportIndex
= 10,
447 SpvBuiltInTessLevelOuter
= 11,
448 SpvBuiltInTessLevelInner
= 12,
449 SpvBuiltInTessCoord
= 13,
450 SpvBuiltInPatchVertices
= 14,
451 SpvBuiltInFragCoord
= 15,
452 SpvBuiltInPointCoord
= 16,
453 SpvBuiltInFrontFacing
= 17,
454 SpvBuiltInSampleId
= 18,
455 SpvBuiltInSamplePosition
= 19,
456 SpvBuiltInSampleMask
= 20,
457 SpvBuiltInFragDepth
= 22,
458 SpvBuiltInHelperInvocation
= 23,
459 SpvBuiltInNumWorkgroups
= 24,
460 SpvBuiltInWorkgroupSize
= 25,
461 SpvBuiltInWorkgroupId
= 26,
462 SpvBuiltInLocalInvocationId
= 27,
463 SpvBuiltInGlobalInvocationId
= 28,
464 SpvBuiltInLocalInvocationIndex
= 29,
465 SpvBuiltInWorkDim
= 30,
466 SpvBuiltInGlobalSize
= 31,
467 SpvBuiltInEnqueuedWorkgroupSize
= 32,
468 SpvBuiltInGlobalOffset
= 33,
469 SpvBuiltInGlobalLinearId
= 34,
470 SpvBuiltInSubgroupSize
= 36,
471 SpvBuiltInSubgroupMaxSize
= 37,
472 SpvBuiltInNumSubgroups
= 38,
473 SpvBuiltInNumEnqueuedSubgroups
= 39,
474 SpvBuiltInSubgroupId
= 40,
475 SpvBuiltInSubgroupLocalInvocationId
= 41,
476 SpvBuiltInVertexIndex
= 42,
477 SpvBuiltInInstanceIndex
= 43,
478 SpvBuiltInSubgroupEqMask
= 4416,
479 SpvBuiltInSubgroupEqMaskKHR
= 4416,
480 SpvBuiltInSubgroupGeMask
= 4417,
481 SpvBuiltInSubgroupGeMaskKHR
= 4417,
482 SpvBuiltInSubgroupGtMask
= 4418,
483 SpvBuiltInSubgroupGtMaskKHR
= 4418,
484 SpvBuiltInSubgroupLeMask
= 4419,
485 SpvBuiltInSubgroupLeMaskKHR
= 4419,
486 SpvBuiltInSubgroupLtMask
= 4420,
487 SpvBuiltInSubgroupLtMaskKHR
= 4420,
488 SpvBuiltInBaseVertex
= 4424,
489 SpvBuiltInBaseInstance
= 4425,
490 SpvBuiltInDrawIndex
= 4426,
491 SpvBuiltInDeviceIndex
= 4438,
492 SpvBuiltInViewIndex
= 4440,
493 SpvBuiltInBaryCoordNoPerspAMD
= 4992,
494 SpvBuiltInBaryCoordNoPerspCentroidAMD
= 4993,
495 SpvBuiltInBaryCoordNoPerspSampleAMD
= 4994,
496 SpvBuiltInBaryCoordSmoothAMD
= 4995,
497 SpvBuiltInBaryCoordSmoothCentroidAMD
= 4996,
498 SpvBuiltInBaryCoordSmoothSampleAMD
= 4997,
499 SpvBuiltInBaryCoordPullModelAMD
= 4998,
500 SpvBuiltInFragStencilRefEXT
= 5014,
501 SpvBuiltInViewportMaskNV
= 5253,
502 SpvBuiltInSecondaryPositionNV
= 5257,
503 SpvBuiltInSecondaryViewportMaskNV
= 5258,
504 SpvBuiltInPositionPerViewNV
= 5261,
505 SpvBuiltInViewportMaskPerViewNV
= 5262,
506 SpvBuiltInFullyCoveredEXT
= 5264,
507 SpvBuiltInTaskCountNV
= 5274,
508 SpvBuiltInPrimitiveCountNV
= 5275,
509 SpvBuiltInPrimitiveIndicesNV
= 5276,
510 SpvBuiltInClipDistancePerViewNV
= 5277,
511 SpvBuiltInCullDistancePerViewNV
= 5278,
512 SpvBuiltInLayerPerViewNV
= 5279,
513 SpvBuiltInMeshViewCountNV
= 5280,
514 SpvBuiltInMeshViewIndicesNV
= 5281,
515 SpvBuiltInBaryCoordNV
= 5286,
516 SpvBuiltInBaryCoordNoPerspNV
= 5287,
517 SpvBuiltInFragmentSizeNV
= 5292,
518 SpvBuiltInInvocationsPerPixelNV
= 5293,
519 SpvBuiltInLaunchIdNVX
= 5319,
520 SpvBuiltInLaunchSizeNVX
= 5320,
521 SpvBuiltInWorldRayOriginNVX
= 5321,
522 SpvBuiltInWorldRayDirectionNVX
= 5322,
523 SpvBuiltInObjectRayOriginNVX
= 5323,
524 SpvBuiltInObjectRayDirectionNVX
= 5324,
525 SpvBuiltInRayTminNVX
= 5325,
526 SpvBuiltInRayTmaxNVX
= 5326,
527 SpvBuiltInInstanceCustomIndexNVX
= 5327,
528 SpvBuiltInObjectToWorldNVX
= 5330,
529 SpvBuiltInWorldToObjectNVX
= 5331,
530 SpvBuiltInHitTNVX
= 5332,
531 SpvBuiltInHitKindNVX
= 5333,
532 SpvBuiltInMax
= 0x7fffffff,
535 typedef enum SpvSelectionControlShift_
{
536 SpvSelectionControlFlattenShift
= 0,
537 SpvSelectionControlDontFlattenShift
= 1,
538 SpvSelectionControlMax
= 0x7fffffff,
539 } SpvSelectionControlShift
;
541 typedef enum SpvSelectionControlMask_
{
542 SpvSelectionControlMaskNone
= 0,
543 SpvSelectionControlFlattenMask
= 0x00000001,
544 SpvSelectionControlDontFlattenMask
= 0x00000002,
545 } SpvSelectionControlMask
;
547 typedef enum SpvLoopControlShift_
{
548 SpvLoopControlUnrollShift
= 0,
549 SpvLoopControlDontUnrollShift
= 1,
550 SpvLoopControlDependencyInfiniteShift
= 2,
551 SpvLoopControlDependencyLengthShift
= 3,
552 SpvLoopControlMax
= 0x7fffffff,
553 } SpvLoopControlShift
;
555 typedef enum SpvLoopControlMask_
{
556 SpvLoopControlMaskNone
= 0,
557 SpvLoopControlUnrollMask
= 0x00000001,
558 SpvLoopControlDontUnrollMask
= 0x00000002,
559 SpvLoopControlDependencyInfiniteMask
= 0x00000004,
560 SpvLoopControlDependencyLengthMask
= 0x00000008,
561 } SpvLoopControlMask
;
563 typedef enum SpvFunctionControlShift_
{
564 SpvFunctionControlInlineShift
= 0,
565 SpvFunctionControlDontInlineShift
= 1,
566 SpvFunctionControlPureShift
= 2,
567 SpvFunctionControlConstShift
= 3,
568 SpvFunctionControlMax
= 0x7fffffff,
569 } SpvFunctionControlShift
;
571 typedef enum SpvFunctionControlMask_
{
572 SpvFunctionControlMaskNone
= 0,
573 SpvFunctionControlInlineMask
= 0x00000001,
574 SpvFunctionControlDontInlineMask
= 0x00000002,
575 SpvFunctionControlPureMask
= 0x00000004,
576 SpvFunctionControlConstMask
= 0x00000008,
577 } SpvFunctionControlMask
;
579 typedef enum SpvMemorySemanticsShift_
{
580 SpvMemorySemanticsAcquireShift
= 1,
581 SpvMemorySemanticsReleaseShift
= 2,
582 SpvMemorySemanticsAcquireReleaseShift
= 3,
583 SpvMemorySemanticsSequentiallyConsistentShift
= 4,
584 SpvMemorySemanticsUniformMemoryShift
= 6,
585 SpvMemorySemanticsSubgroupMemoryShift
= 7,
586 SpvMemorySemanticsWorkgroupMemoryShift
= 8,
587 SpvMemorySemanticsCrossWorkgroupMemoryShift
= 9,
588 SpvMemorySemanticsAtomicCounterMemoryShift
= 10,
589 SpvMemorySemanticsImageMemoryShift
= 11,
590 SpvMemorySemanticsOutputMemoryKHRShift
= 12,
591 SpvMemorySemanticsMakeAvailableKHRShift
= 13,
592 SpvMemorySemanticsMakeVisibleKHRShift
= 14,
593 SpvMemorySemanticsMax
= 0x7fffffff,
594 } SpvMemorySemanticsShift
;
596 typedef enum SpvMemorySemanticsMask_
{
597 SpvMemorySemanticsMaskNone
= 0,
598 SpvMemorySemanticsAcquireMask
= 0x00000002,
599 SpvMemorySemanticsReleaseMask
= 0x00000004,
600 SpvMemorySemanticsAcquireReleaseMask
= 0x00000008,
601 SpvMemorySemanticsSequentiallyConsistentMask
= 0x00000010,
602 SpvMemorySemanticsUniformMemoryMask
= 0x00000040,
603 SpvMemorySemanticsSubgroupMemoryMask
= 0x00000080,
604 SpvMemorySemanticsWorkgroupMemoryMask
= 0x00000100,
605 SpvMemorySemanticsCrossWorkgroupMemoryMask
= 0x00000200,
606 SpvMemorySemanticsAtomicCounterMemoryMask
= 0x00000400,
607 SpvMemorySemanticsImageMemoryMask
= 0x00000800,
608 SpvMemorySemanticsOutputMemoryKHRMask
= 0x00001000,
609 SpvMemorySemanticsMakeAvailableKHRMask
= 0x00002000,
610 SpvMemorySemanticsMakeVisibleKHRMask
= 0x00004000,
611 } SpvMemorySemanticsMask
;
613 typedef enum SpvMemoryAccessShift_
{
614 SpvMemoryAccessVolatileShift
= 0,
615 SpvMemoryAccessAlignedShift
= 1,
616 SpvMemoryAccessNontemporalShift
= 2,
617 SpvMemoryAccessMakePointerAvailableKHRShift
= 3,
618 SpvMemoryAccessMakePointerVisibleKHRShift
= 4,
619 SpvMemoryAccessNonPrivatePointerKHRShift
= 5,
620 SpvMemoryAccessMax
= 0x7fffffff,
621 } SpvMemoryAccessShift
;
623 typedef enum SpvMemoryAccessMask_
{
624 SpvMemoryAccessMaskNone
= 0,
625 SpvMemoryAccessVolatileMask
= 0x00000001,
626 SpvMemoryAccessAlignedMask
= 0x00000002,
627 SpvMemoryAccessNontemporalMask
= 0x00000004,
628 SpvMemoryAccessMakePointerAvailableKHRMask
= 0x00000008,
629 SpvMemoryAccessMakePointerVisibleKHRMask
= 0x00000010,
630 SpvMemoryAccessNonPrivatePointerKHRMask
= 0x00000020,
631 } SpvMemoryAccessMask
;
633 typedef enum SpvScope_
{
634 SpvScopeCrossDevice
= 0,
636 SpvScopeWorkgroup
= 2,
637 SpvScopeSubgroup
= 3,
638 SpvScopeInvocation
= 4,
639 SpvScopeQueueFamilyKHR
= 5,
640 SpvScopeMax
= 0x7fffffff,
643 typedef enum SpvGroupOperation_
{
644 SpvGroupOperationReduce
= 0,
645 SpvGroupOperationInclusiveScan
= 1,
646 SpvGroupOperationExclusiveScan
= 2,
647 SpvGroupOperationClusteredReduce
= 3,
648 SpvGroupOperationPartitionedReduceNV
= 6,
649 SpvGroupOperationPartitionedInclusiveScanNV
= 7,
650 SpvGroupOperationPartitionedExclusiveScanNV
= 8,
651 SpvGroupOperationMax
= 0x7fffffff,
654 typedef enum SpvKernelEnqueueFlags_
{
655 SpvKernelEnqueueFlagsNoWait
= 0,
656 SpvKernelEnqueueFlagsWaitKernel
= 1,
657 SpvKernelEnqueueFlagsWaitWorkGroup
= 2,
658 SpvKernelEnqueueFlagsMax
= 0x7fffffff,
659 } SpvKernelEnqueueFlags
;
661 typedef enum SpvKernelProfilingInfoShift_
{
662 SpvKernelProfilingInfoCmdExecTimeShift
= 0,
663 SpvKernelProfilingInfoMax
= 0x7fffffff,
664 } SpvKernelProfilingInfoShift
;
666 typedef enum SpvKernelProfilingInfoMask_
{
667 SpvKernelProfilingInfoMaskNone
= 0,
668 SpvKernelProfilingInfoCmdExecTimeMask
= 0x00000001,
669 } SpvKernelProfilingInfoMask
;
671 typedef enum SpvCapability_
{
672 SpvCapabilityMatrix
= 0,
673 SpvCapabilityShader
= 1,
674 SpvCapabilityGeometry
= 2,
675 SpvCapabilityTessellation
= 3,
676 SpvCapabilityAddresses
= 4,
677 SpvCapabilityLinkage
= 5,
678 SpvCapabilityKernel
= 6,
679 SpvCapabilityVector16
= 7,
680 SpvCapabilityFloat16Buffer
= 8,
681 SpvCapabilityFloat16
= 9,
682 SpvCapabilityFloat64
= 10,
683 SpvCapabilityInt64
= 11,
684 SpvCapabilityInt64Atomics
= 12,
685 SpvCapabilityImageBasic
= 13,
686 SpvCapabilityImageReadWrite
= 14,
687 SpvCapabilityImageMipmap
= 15,
688 SpvCapabilityPipes
= 17,
689 SpvCapabilityGroups
= 18,
690 SpvCapabilityDeviceEnqueue
= 19,
691 SpvCapabilityLiteralSampler
= 20,
692 SpvCapabilityAtomicStorage
= 21,
693 SpvCapabilityInt16
= 22,
694 SpvCapabilityTessellationPointSize
= 23,
695 SpvCapabilityGeometryPointSize
= 24,
696 SpvCapabilityImageGatherExtended
= 25,
697 SpvCapabilityStorageImageMultisample
= 27,
698 SpvCapabilityUniformBufferArrayDynamicIndexing
= 28,
699 SpvCapabilitySampledImageArrayDynamicIndexing
= 29,
700 SpvCapabilityStorageBufferArrayDynamicIndexing
= 30,
701 SpvCapabilityStorageImageArrayDynamicIndexing
= 31,
702 SpvCapabilityClipDistance
= 32,
703 SpvCapabilityCullDistance
= 33,
704 SpvCapabilityImageCubeArray
= 34,
705 SpvCapabilitySampleRateShading
= 35,
706 SpvCapabilityImageRect
= 36,
707 SpvCapabilitySampledRect
= 37,
708 SpvCapabilityGenericPointer
= 38,
709 SpvCapabilityInt8
= 39,
710 SpvCapabilityInputAttachment
= 40,
711 SpvCapabilitySparseResidency
= 41,
712 SpvCapabilityMinLod
= 42,
713 SpvCapabilitySampled1D
= 43,
714 SpvCapabilityImage1D
= 44,
715 SpvCapabilitySampledCubeArray
= 45,
716 SpvCapabilitySampledBuffer
= 46,
717 SpvCapabilityImageBuffer
= 47,
718 SpvCapabilityImageMSArray
= 48,
719 SpvCapabilityStorageImageExtendedFormats
= 49,
720 SpvCapabilityImageQuery
= 50,
721 SpvCapabilityDerivativeControl
= 51,
722 SpvCapabilityInterpolationFunction
= 52,
723 SpvCapabilityTransformFeedback
= 53,
724 SpvCapabilityGeometryStreams
= 54,
725 SpvCapabilityStorageImageReadWithoutFormat
= 55,
726 SpvCapabilityStorageImageWriteWithoutFormat
= 56,
727 SpvCapabilityMultiViewport
= 57,
728 SpvCapabilitySubgroupDispatch
= 58,
729 SpvCapabilityNamedBarrier
= 59,
730 SpvCapabilityPipeStorage
= 60,
731 SpvCapabilityGroupNonUniform
= 61,
732 SpvCapabilityGroupNonUniformVote
= 62,
733 SpvCapabilityGroupNonUniformArithmetic
= 63,
734 SpvCapabilityGroupNonUniformBallot
= 64,
735 SpvCapabilityGroupNonUniformShuffle
= 65,
736 SpvCapabilityGroupNonUniformShuffleRelative
= 66,
737 SpvCapabilityGroupNonUniformClustered
= 67,
738 SpvCapabilityGroupNonUniformQuad
= 68,
739 SpvCapabilitySubgroupBallotKHR
= 4423,
740 SpvCapabilityDrawParameters
= 4427,
741 SpvCapabilitySubgroupVoteKHR
= 4431,
742 SpvCapabilityStorageBuffer16BitAccess
= 4433,
743 SpvCapabilityStorageUniformBufferBlock16
= 4433,
744 SpvCapabilityStorageUniform16
= 4434,
745 SpvCapabilityUniformAndStorageBuffer16BitAccess
= 4434,
746 SpvCapabilityStoragePushConstant16
= 4435,
747 SpvCapabilityStorageInputOutput16
= 4436,
748 SpvCapabilityDeviceGroup
= 4437,
749 SpvCapabilityMultiView
= 4439,
750 SpvCapabilityVariablePointersStorageBuffer
= 4441,
751 SpvCapabilityVariablePointers
= 4442,
752 SpvCapabilityAtomicStorageOps
= 4445,
753 SpvCapabilitySampleMaskPostDepthCoverage
= 4447,
754 SpvCapabilityStorageBuffer8BitAccess
= 4448,
755 SpvCapabilityUniformAndStorageBuffer8BitAccess
= 4449,
756 SpvCapabilityStoragePushConstant8
= 4450,
757 SpvCapabilityFloat16ImageAMD
= 5008,
758 SpvCapabilityImageGatherBiasLodAMD
= 5009,
759 SpvCapabilityFragmentMaskAMD
= 5010,
760 SpvCapabilityStencilExportEXT
= 5013,
761 SpvCapabilityImageReadWriteLodAMD
= 5015,
762 SpvCapabilitySampleMaskOverrideCoverageNV
= 5249,
763 SpvCapabilityGeometryShaderPassthroughNV
= 5251,
764 SpvCapabilityShaderViewportIndexLayerEXT
= 5254,
765 SpvCapabilityShaderViewportIndexLayerNV
= 5254,
766 SpvCapabilityShaderViewportMaskNV
= 5255,
767 SpvCapabilityShaderStereoViewNV
= 5259,
768 SpvCapabilityPerViewAttributesNV
= 5260,
769 SpvCapabilityFragmentFullyCoveredEXT
= 5265,
770 SpvCapabilityMeshShadingNV
= 5266,
771 SpvCapabilityImageFootprintNV
= 5282,
772 SpvCapabilityFragmentBarycentricNV
= 5284,
773 SpvCapabilityComputeDerivativeGroupQuadsNV
= 5288,
774 SpvCapabilityShadingRateNV
= 5291,
775 SpvCapabilityGroupNonUniformPartitionedNV
= 5297,
776 SpvCapabilityShaderNonUniformEXT
= 5301,
777 SpvCapabilityRuntimeDescriptorArrayEXT
= 5302,
778 SpvCapabilityInputAttachmentArrayDynamicIndexingEXT
= 5303,
779 SpvCapabilityUniformTexelBufferArrayDynamicIndexingEXT
= 5304,
780 SpvCapabilityStorageTexelBufferArrayDynamicIndexingEXT
= 5305,
781 SpvCapabilityUniformBufferArrayNonUniformIndexingEXT
= 5306,
782 SpvCapabilitySampledImageArrayNonUniformIndexingEXT
= 5307,
783 SpvCapabilityStorageBufferArrayNonUniformIndexingEXT
= 5308,
784 SpvCapabilityStorageImageArrayNonUniformIndexingEXT
= 5309,
785 SpvCapabilityInputAttachmentArrayNonUniformIndexingEXT
= 5310,
786 SpvCapabilityUniformTexelBufferArrayNonUniformIndexingEXT
= 5311,
787 SpvCapabilityStorageTexelBufferArrayNonUniformIndexingEXT
= 5312,
788 SpvCapabilityRaytracingNVX
= 5340,
789 SpvCapabilityVulkanMemoryModelKHR
= 5345,
790 SpvCapabilityVulkanMemoryModelDeviceScopeKHR
= 5346,
791 SpvCapabilityComputeDerivativeGroupLinearNV
= 5350,
792 SpvCapabilitySubgroupShuffleINTEL
= 5568,
793 SpvCapabilitySubgroupBufferBlockIOINTEL
= 5569,
794 SpvCapabilitySubgroupImageBlockIOINTEL
= 5570,
795 SpvCapabilityMax
= 0x7fffffff,
798 typedef enum SpvOp_
{
801 SpvOpSourceContinued
= 2,
803 SpvOpSourceExtension
= 4,
809 SpvOpExtInstImport
= 11,
811 SpvOpMemoryModel
= 14,
812 SpvOpEntryPoint
= 15,
813 SpvOpExecutionMode
= 16,
814 SpvOpCapability
= 17,
819 SpvOpTypeVector
= 23,
820 SpvOpTypeMatrix
= 24,
822 SpvOpTypeSampler
= 26,
823 SpvOpTypeSampledImage
= 27,
825 SpvOpTypeRuntimeArray
= 29,
826 SpvOpTypeStruct
= 30,
827 SpvOpTypeOpaque
= 31,
828 SpvOpTypePointer
= 32,
829 SpvOpTypeFunction
= 33,
831 SpvOpTypeDeviceEvent
= 35,
832 SpvOpTypeReserveId
= 36,
835 SpvOpTypeForwardPointer
= 39,
836 SpvOpConstantTrue
= 41,
837 SpvOpConstantFalse
= 42,
839 SpvOpConstantComposite
= 44,
840 SpvOpConstantSampler
= 45,
841 SpvOpConstantNull
= 46,
842 SpvOpSpecConstantTrue
= 48,
843 SpvOpSpecConstantFalse
= 49,
844 SpvOpSpecConstant
= 50,
845 SpvOpSpecConstantComposite
= 51,
846 SpvOpSpecConstantOp
= 52,
848 SpvOpFunctionParameter
= 55,
849 SpvOpFunctionEnd
= 56,
850 SpvOpFunctionCall
= 57,
852 SpvOpImageTexelPointer
= 60,
855 SpvOpCopyMemory
= 63,
856 SpvOpCopyMemorySized
= 64,
857 SpvOpAccessChain
= 65,
858 SpvOpInBoundsAccessChain
= 66,
859 SpvOpPtrAccessChain
= 67,
860 SpvOpArrayLength
= 68,
861 SpvOpGenericPtrMemSemantics
= 69,
862 SpvOpInBoundsPtrAccessChain
= 70,
864 SpvOpMemberDecorate
= 72,
865 SpvOpDecorationGroup
= 73,
866 SpvOpGroupDecorate
= 74,
867 SpvOpGroupMemberDecorate
= 75,
868 SpvOpVectorExtractDynamic
= 77,
869 SpvOpVectorInsertDynamic
= 78,
870 SpvOpVectorShuffle
= 79,
871 SpvOpCompositeConstruct
= 80,
872 SpvOpCompositeExtract
= 81,
873 SpvOpCompositeInsert
= 82,
874 SpvOpCopyObject
= 83,
876 SpvOpSampledImage
= 86,
877 SpvOpImageSampleImplicitLod
= 87,
878 SpvOpImageSampleExplicitLod
= 88,
879 SpvOpImageSampleDrefImplicitLod
= 89,
880 SpvOpImageSampleDrefExplicitLod
= 90,
881 SpvOpImageSampleProjImplicitLod
= 91,
882 SpvOpImageSampleProjExplicitLod
= 92,
883 SpvOpImageSampleProjDrefImplicitLod
= 93,
884 SpvOpImageSampleProjDrefExplicitLod
= 94,
885 SpvOpImageFetch
= 95,
886 SpvOpImageGather
= 96,
887 SpvOpImageDrefGather
= 97,
889 SpvOpImageWrite
= 99,
891 SpvOpImageQueryFormat
= 101,
892 SpvOpImageQueryOrder
= 102,
893 SpvOpImageQuerySizeLod
= 103,
894 SpvOpImageQuerySize
= 104,
895 SpvOpImageQueryLod
= 105,
896 SpvOpImageQueryLevels
= 106,
897 SpvOpImageQuerySamples
= 107,
898 SpvOpConvertFToU
= 109,
899 SpvOpConvertFToS
= 110,
900 SpvOpConvertSToF
= 111,
901 SpvOpConvertUToF
= 112,
905 SpvOpQuantizeToF16
= 116,
906 SpvOpConvertPtrToU
= 117,
907 SpvOpSatConvertSToU
= 118,
908 SpvOpSatConvertUToS
= 119,
909 SpvOpConvertUToPtr
= 120,
910 SpvOpPtrCastToGeneric
= 121,
911 SpvOpGenericCastToPtr
= 122,
912 SpvOpGenericCastToPtrExplicit
= 123,
930 SpvOpVectorTimesScalar
= 142,
931 SpvOpMatrixTimesScalar
= 143,
932 SpvOpVectorTimesMatrix
= 144,
933 SpvOpMatrixTimesVector
= 145,
934 SpvOpMatrixTimesMatrix
= 146,
935 SpvOpOuterProduct
= 147,
937 SpvOpIAddCarry
= 149,
938 SpvOpISubBorrow
= 150,
939 SpvOpUMulExtended
= 151,
940 SpvOpSMulExtended
= 152,
947 SpvOpSignBitSet
= 160,
948 SpvOpLessOrGreater
= 161,
950 SpvOpUnordered
= 163,
951 SpvOpLogicalEqual
= 164,
952 SpvOpLogicalNotEqual
= 165,
953 SpvOpLogicalOr
= 166,
954 SpvOpLogicalAnd
= 167,
955 SpvOpLogicalNot
= 168,
958 SpvOpINotEqual
= 171,
959 SpvOpUGreaterThan
= 172,
960 SpvOpSGreaterThan
= 173,
961 SpvOpUGreaterThanEqual
= 174,
962 SpvOpSGreaterThanEqual
= 175,
963 SpvOpULessThan
= 176,
964 SpvOpSLessThan
= 177,
965 SpvOpULessThanEqual
= 178,
966 SpvOpSLessThanEqual
= 179,
967 SpvOpFOrdEqual
= 180,
968 SpvOpFUnordEqual
= 181,
969 SpvOpFOrdNotEqual
= 182,
970 SpvOpFUnordNotEqual
= 183,
971 SpvOpFOrdLessThan
= 184,
972 SpvOpFUnordLessThan
= 185,
973 SpvOpFOrdGreaterThan
= 186,
974 SpvOpFUnordGreaterThan
= 187,
975 SpvOpFOrdLessThanEqual
= 188,
976 SpvOpFUnordLessThanEqual
= 189,
977 SpvOpFOrdGreaterThanEqual
= 190,
978 SpvOpFUnordGreaterThanEqual
= 191,
979 SpvOpShiftRightLogical
= 194,
980 SpvOpShiftRightArithmetic
= 195,
981 SpvOpShiftLeftLogical
= 196,
982 SpvOpBitwiseOr
= 197,
983 SpvOpBitwiseXor
= 198,
984 SpvOpBitwiseAnd
= 199,
986 SpvOpBitFieldInsert
= 201,
987 SpvOpBitFieldSExtract
= 202,
988 SpvOpBitFieldUExtract
= 203,
989 SpvOpBitReverse
= 204,
996 SpvOpFwidthFine
= 212,
997 SpvOpDPdxCoarse
= 213,
998 SpvOpDPdyCoarse
= 214,
999 SpvOpFwidthCoarse
= 215,
1000 SpvOpEmitVertex
= 218,
1001 SpvOpEndPrimitive
= 219,
1002 SpvOpEmitStreamVertex
= 220,
1003 SpvOpEndStreamPrimitive
= 221,
1004 SpvOpControlBarrier
= 224,
1005 SpvOpMemoryBarrier
= 225,
1006 SpvOpAtomicLoad
= 227,
1007 SpvOpAtomicStore
= 228,
1008 SpvOpAtomicExchange
= 229,
1009 SpvOpAtomicCompareExchange
= 230,
1010 SpvOpAtomicCompareExchangeWeak
= 231,
1011 SpvOpAtomicIIncrement
= 232,
1012 SpvOpAtomicIDecrement
= 233,
1013 SpvOpAtomicIAdd
= 234,
1014 SpvOpAtomicISub
= 235,
1015 SpvOpAtomicSMin
= 236,
1016 SpvOpAtomicUMin
= 237,
1017 SpvOpAtomicSMax
= 238,
1018 SpvOpAtomicUMax
= 239,
1019 SpvOpAtomicAnd
= 240,
1020 SpvOpAtomicOr
= 241,
1021 SpvOpAtomicXor
= 242,
1023 SpvOpLoopMerge
= 246,
1024 SpvOpSelectionMerge
= 247,
1027 SpvOpBranchConditional
= 250,
1031 SpvOpReturnValue
= 254,
1032 SpvOpUnreachable
= 255,
1033 SpvOpLifetimeStart
= 256,
1034 SpvOpLifetimeStop
= 257,
1035 SpvOpGroupAsyncCopy
= 259,
1036 SpvOpGroupWaitEvents
= 260,
1037 SpvOpGroupAll
= 261,
1038 SpvOpGroupAny
= 262,
1039 SpvOpGroupBroadcast
= 263,
1040 SpvOpGroupIAdd
= 264,
1041 SpvOpGroupFAdd
= 265,
1042 SpvOpGroupFMin
= 266,
1043 SpvOpGroupUMin
= 267,
1044 SpvOpGroupSMin
= 268,
1045 SpvOpGroupFMax
= 269,
1046 SpvOpGroupUMax
= 270,
1047 SpvOpGroupSMax
= 271,
1048 SpvOpReadPipe
= 274,
1049 SpvOpWritePipe
= 275,
1050 SpvOpReservedReadPipe
= 276,
1051 SpvOpReservedWritePipe
= 277,
1052 SpvOpReserveReadPipePackets
= 278,
1053 SpvOpReserveWritePipePackets
= 279,
1054 SpvOpCommitReadPipe
= 280,
1055 SpvOpCommitWritePipe
= 281,
1056 SpvOpIsValidReserveId
= 282,
1057 SpvOpGetNumPipePackets
= 283,
1058 SpvOpGetMaxPipePackets
= 284,
1059 SpvOpGroupReserveReadPipePackets
= 285,
1060 SpvOpGroupReserveWritePipePackets
= 286,
1061 SpvOpGroupCommitReadPipe
= 287,
1062 SpvOpGroupCommitWritePipe
= 288,
1063 SpvOpEnqueueMarker
= 291,
1064 SpvOpEnqueueKernel
= 292,
1065 SpvOpGetKernelNDrangeSubGroupCount
= 293,
1066 SpvOpGetKernelNDrangeMaxSubGroupSize
= 294,
1067 SpvOpGetKernelWorkGroupSize
= 295,
1068 SpvOpGetKernelPreferredWorkGroupSizeMultiple
= 296,
1069 SpvOpRetainEvent
= 297,
1070 SpvOpReleaseEvent
= 298,
1071 SpvOpCreateUserEvent
= 299,
1072 SpvOpIsValidEvent
= 300,
1073 SpvOpSetUserEventStatus
= 301,
1074 SpvOpCaptureEventProfilingInfo
= 302,
1075 SpvOpGetDefaultQueue
= 303,
1076 SpvOpBuildNDRange
= 304,
1077 SpvOpImageSparseSampleImplicitLod
= 305,
1078 SpvOpImageSparseSampleExplicitLod
= 306,
1079 SpvOpImageSparseSampleDrefImplicitLod
= 307,
1080 SpvOpImageSparseSampleDrefExplicitLod
= 308,
1081 SpvOpImageSparseSampleProjImplicitLod
= 309,
1082 SpvOpImageSparseSampleProjExplicitLod
= 310,
1083 SpvOpImageSparseSampleProjDrefImplicitLod
= 311,
1084 SpvOpImageSparseSampleProjDrefExplicitLod
= 312,
1085 SpvOpImageSparseFetch
= 313,
1086 SpvOpImageSparseGather
= 314,
1087 SpvOpImageSparseDrefGather
= 315,
1088 SpvOpImageSparseTexelsResident
= 316,
1090 SpvOpAtomicFlagTestAndSet
= 318,
1091 SpvOpAtomicFlagClear
= 319,
1092 SpvOpImageSparseRead
= 320,
1094 SpvOpTypePipeStorage
= 322,
1095 SpvOpConstantPipeStorage
= 323,
1096 SpvOpCreatePipeFromPipeStorage
= 324,
1097 SpvOpGetKernelLocalSizeForSubgroupCount
= 325,
1098 SpvOpGetKernelMaxNumSubgroups
= 326,
1099 SpvOpTypeNamedBarrier
= 327,
1100 SpvOpNamedBarrierInitialize
= 328,
1101 SpvOpMemoryNamedBarrier
= 329,
1102 SpvOpModuleProcessed
= 330,
1103 SpvOpExecutionModeId
= 331,
1104 SpvOpDecorateId
= 332,
1105 SpvOpGroupNonUniformElect
= 333,
1106 SpvOpGroupNonUniformAll
= 334,
1107 SpvOpGroupNonUniformAny
= 335,
1108 SpvOpGroupNonUniformAllEqual
= 336,
1109 SpvOpGroupNonUniformBroadcast
= 337,
1110 SpvOpGroupNonUniformBroadcastFirst
= 338,
1111 SpvOpGroupNonUniformBallot
= 339,
1112 SpvOpGroupNonUniformInverseBallot
= 340,
1113 SpvOpGroupNonUniformBallotBitExtract
= 341,
1114 SpvOpGroupNonUniformBallotBitCount
= 342,
1115 SpvOpGroupNonUniformBallotFindLSB
= 343,
1116 SpvOpGroupNonUniformBallotFindMSB
= 344,
1117 SpvOpGroupNonUniformShuffle
= 345,
1118 SpvOpGroupNonUniformShuffleXor
= 346,
1119 SpvOpGroupNonUniformShuffleUp
= 347,
1120 SpvOpGroupNonUniformShuffleDown
= 348,
1121 SpvOpGroupNonUniformIAdd
= 349,
1122 SpvOpGroupNonUniformFAdd
= 350,
1123 SpvOpGroupNonUniformIMul
= 351,
1124 SpvOpGroupNonUniformFMul
= 352,
1125 SpvOpGroupNonUniformSMin
= 353,
1126 SpvOpGroupNonUniformUMin
= 354,
1127 SpvOpGroupNonUniformFMin
= 355,
1128 SpvOpGroupNonUniformSMax
= 356,
1129 SpvOpGroupNonUniformUMax
= 357,
1130 SpvOpGroupNonUniformFMax
= 358,
1131 SpvOpGroupNonUniformBitwiseAnd
= 359,
1132 SpvOpGroupNonUniformBitwiseOr
= 360,
1133 SpvOpGroupNonUniformBitwiseXor
= 361,
1134 SpvOpGroupNonUniformLogicalAnd
= 362,
1135 SpvOpGroupNonUniformLogicalOr
= 363,
1136 SpvOpGroupNonUniformLogicalXor
= 364,
1137 SpvOpGroupNonUniformQuadBroadcast
= 365,
1138 SpvOpGroupNonUniformQuadSwap
= 366,
1139 SpvOpSubgroupBallotKHR
= 4421,
1140 SpvOpSubgroupFirstInvocationKHR
= 4422,
1141 SpvOpSubgroupAllKHR
= 4428,
1142 SpvOpSubgroupAnyKHR
= 4429,
1143 SpvOpSubgroupAllEqualKHR
= 4430,
1144 SpvOpSubgroupReadInvocationKHR
= 4432,
1145 SpvOpGroupIAddNonUniformAMD
= 5000,
1146 SpvOpGroupFAddNonUniformAMD
= 5001,
1147 SpvOpGroupFMinNonUniformAMD
= 5002,
1148 SpvOpGroupUMinNonUniformAMD
= 5003,
1149 SpvOpGroupSMinNonUniformAMD
= 5004,
1150 SpvOpGroupFMaxNonUniformAMD
= 5005,
1151 SpvOpGroupUMaxNonUniformAMD
= 5006,
1152 SpvOpGroupSMaxNonUniformAMD
= 5007,
1153 SpvOpFragmentMaskFetchAMD
= 5011,
1154 SpvOpFragmentFetchAMD
= 5012,
1155 SpvOpImageSampleFootprintNV
= 5283,
1156 SpvOpGroupNonUniformPartitionNV
= 5296,
1157 SpvOpWritePackedPrimitiveIndices4x8NV
= 5299,
1158 SpvOpReportIntersectionNVX
= 5334,
1159 SpvOpIgnoreIntersectionNVX
= 5335,
1160 SpvOpTerminateRayNVX
= 5336,
1161 SpvOpTraceNVX
= 5337,
1162 SpvOpTypeAccelerationStructureNVX
= 5341,
1163 SpvOpSubgroupShuffleINTEL
= 5571,
1164 SpvOpSubgroupShuffleDownINTEL
= 5572,
1165 SpvOpSubgroupShuffleUpINTEL
= 5573,
1166 SpvOpSubgroupShuffleXorINTEL
= 5574,
1167 SpvOpSubgroupBlockReadINTEL
= 5575,
1168 SpvOpSubgroupBlockWriteINTEL
= 5576,
1169 SpvOpSubgroupImageBlockReadINTEL
= 5577,
1170 SpvOpSubgroupImageBlockWriteINTEL
= 5578,
1171 SpvOpDecorateStringGOOGLE
= 5632,
1172 SpvOpMemberDecorateStringGOOGLE
= 5633,
1173 SpvOpMax
= 0x7fffffff,
1176 #endif // #ifndef spirv_H