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