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 SpvExecutionModelMax
= 0x7fffffff,
83 typedef enum SpvAddressingModel_
{
84 SpvAddressingModelLogical
= 0,
85 SpvAddressingModelPhysical32
= 1,
86 SpvAddressingModelPhysical64
= 2,
87 SpvAddressingModelMax
= 0x7fffffff,
90 typedef enum SpvMemoryModel_
{
91 SpvMemoryModelSimple
= 0,
92 SpvMemoryModelGLSL450
= 1,
93 SpvMemoryModelOpenCL
= 2,
94 SpvMemoryModelMax
= 0x7fffffff,
97 typedef enum SpvExecutionMode_
{
98 SpvExecutionModeInvocations
= 0,
99 SpvExecutionModeSpacingEqual
= 1,
100 SpvExecutionModeSpacingFractionalEven
= 2,
101 SpvExecutionModeSpacingFractionalOdd
= 3,
102 SpvExecutionModeVertexOrderCw
= 4,
103 SpvExecutionModeVertexOrderCcw
= 5,
104 SpvExecutionModePixelCenterInteger
= 6,
105 SpvExecutionModeOriginUpperLeft
= 7,
106 SpvExecutionModeOriginLowerLeft
= 8,
107 SpvExecutionModeEarlyFragmentTests
= 9,
108 SpvExecutionModePointMode
= 10,
109 SpvExecutionModeXfb
= 11,
110 SpvExecutionModeDepthReplacing
= 12,
111 SpvExecutionModeDepthGreater
= 14,
112 SpvExecutionModeDepthLess
= 15,
113 SpvExecutionModeDepthUnchanged
= 16,
114 SpvExecutionModeLocalSize
= 17,
115 SpvExecutionModeLocalSizeHint
= 18,
116 SpvExecutionModeInputPoints
= 19,
117 SpvExecutionModeInputLines
= 20,
118 SpvExecutionModeInputLinesAdjacency
= 21,
119 SpvExecutionModeTriangles
= 22,
120 SpvExecutionModeInputTrianglesAdjacency
= 23,
121 SpvExecutionModeQuads
= 24,
122 SpvExecutionModeIsolines
= 25,
123 SpvExecutionModeOutputVertices
= 26,
124 SpvExecutionModeOutputPoints
= 27,
125 SpvExecutionModeOutputLineStrip
= 28,
126 SpvExecutionModeOutputTriangleStrip
= 29,
127 SpvExecutionModeVecTypeHint
= 30,
128 SpvExecutionModeContractionOff
= 31,
129 SpvExecutionModeInitializer
= 33,
130 SpvExecutionModeFinalizer
= 34,
131 SpvExecutionModeSubgroupSize
= 35,
132 SpvExecutionModeSubgroupsPerWorkgroup
= 36,
133 SpvExecutionModeSubgroupsPerWorkgroupId
= 37,
134 SpvExecutionModeLocalSizeId
= 38,
135 SpvExecutionModeLocalSizeHintId
= 39,
136 SpvExecutionModePostDepthCoverage
= 4446,
137 SpvExecutionModeStencilRefReplacingEXT
= 5027,
138 SpvExecutionModeMax
= 0x7fffffff,
141 typedef enum SpvStorageClass_
{
142 SpvStorageClassUniformConstant
= 0,
143 SpvStorageClassInput
= 1,
144 SpvStorageClassUniform
= 2,
145 SpvStorageClassOutput
= 3,
146 SpvStorageClassWorkgroup
= 4,
147 SpvStorageClassCrossWorkgroup
= 5,
148 SpvStorageClassPrivate
= 6,
149 SpvStorageClassFunction
= 7,
150 SpvStorageClassGeneric
= 8,
151 SpvStorageClassPushConstant
= 9,
152 SpvStorageClassAtomicCounter
= 10,
153 SpvStorageClassImage
= 11,
154 SpvStorageClassStorageBuffer
= 12,
155 SpvStorageClassMax
= 0x7fffffff,
158 typedef enum SpvDim_
{
165 SpvDimSubpassData
= 6,
166 SpvDimMax
= 0x7fffffff,
169 typedef enum SpvSamplerAddressingMode_
{
170 SpvSamplerAddressingModeNone
= 0,
171 SpvSamplerAddressingModeClampToEdge
= 1,
172 SpvSamplerAddressingModeClamp
= 2,
173 SpvSamplerAddressingModeRepeat
= 3,
174 SpvSamplerAddressingModeRepeatMirrored
= 4,
175 SpvSamplerAddressingModeMax
= 0x7fffffff,
176 } SpvSamplerAddressingMode
;
178 typedef enum SpvSamplerFilterMode_
{
179 SpvSamplerFilterModeNearest
= 0,
180 SpvSamplerFilterModeLinear
= 1,
181 SpvSamplerFilterModeMax
= 0x7fffffff,
182 } SpvSamplerFilterMode
;
184 typedef enum SpvImageFormat_
{
185 SpvImageFormatUnknown
= 0,
186 SpvImageFormatRgba32f
= 1,
187 SpvImageFormatRgba16f
= 2,
188 SpvImageFormatR32f
= 3,
189 SpvImageFormatRgba8
= 4,
190 SpvImageFormatRgba8Snorm
= 5,
191 SpvImageFormatRg32f
= 6,
192 SpvImageFormatRg16f
= 7,
193 SpvImageFormatR11fG11fB10f
= 8,
194 SpvImageFormatR16f
= 9,
195 SpvImageFormatRgba16
= 10,
196 SpvImageFormatRgb10A2
= 11,
197 SpvImageFormatRg16
= 12,
198 SpvImageFormatRg8
= 13,
199 SpvImageFormatR16
= 14,
200 SpvImageFormatR8
= 15,
201 SpvImageFormatRgba16Snorm
= 16,
202 SpvImageFormatRg16Snorm
= 17,
203 SpvImageFormatRg8Snorm
= 18,
204 SpvImageFormatR16Snorm
= 19,
205 SpvImageFormatR8Snorm
= 20,
206 SpvImageFormatRgba32i
= 21,
207 SpvImageFormatRgba16i
= 22,
208 SpvImageFormatRgba8i
= 23,
209 SpvImageFormatR32i
= 24,
210 SpvImageFormatRg32i
= 25,
211 SpvImageFormatRg16i
= 26,
212 SpvImageFormatRg8i
= 27,
213 SpvImageFormatR16i
= 28,
214 SpvImageFormatR8i
= 29,
215 SpvImageFormatRgba32ui
= 30,
216 SpvImageFormatRgba16ui
= 31,
217 SpvImageFormatRgba8ui
= 32,
218 SpvImageFormatR32ui
= 33,
219 SpvImageFormatRgb10a2ui
= 34,
220 SpvImageFormatRg32ui
= 35,
221 SpvImageFormatRg16ui
= 36,
222 SpvImageFormatRg8ui
= 37,
223 SpvImageFormatR16ui
= 38,
224 SpvImageFormatR8ui
= 39,
225 SpvImageFormatMax
= 0x7fffffff,
228 typedef enum SpvImageChannelOrder_
{
229 SpvImageChannelOrderR
= 0,
230 SpvImageChannelOrderA
= 1,
231 SpvImageChannelOrderRG
= 2,
232 SpvImageChannelOrderRA
= 3,
233 SpvImageChannelOrderRGB
= 4,
234 SpvImageChannelOrderRGBA
= 5,
235 SpvImageChannelOrderBGRA
= 6,
236 SpvImageChannelOrderARGB
= 7,
237 SpvImageChannelOrderIntensity
= 8,
238 SpvImageChannelOrderLuminance
= 9,
239 SpvImageChannelOrderRx
= 10,
240 SpvImageChannelOrderRGx
= 11,
241 SpvImageChannelOrderRGBx
= 12,
242 SpvImageChannelOrderDepth
= 13,
243 SpvImageChannelOrderDepthStencil
= 14,
244 SpvImageChannelOrdersRGB
= 15,
245 SpvImageChannelOrdersRGBx
= 16,
246 SpvImageChannelOrdersRGBA
= 17,
247 SpvImageChannelOrdersBGRA
= 18,
248 SpvImageChannelOrderABGR
= 19,
249 SpvImageChannelOrderMax
= 0x7fffffff,
250 } SpvImageChannelOrder
;
252 typedef enum SpvImageChannelDataType_
{
253 SpvImageChannelDataTypeSnormInt8
= 0,
254 SpvImageChannelDataTypeSnormInt16
= 1,
255 SpvImageChannelDataTypeUnormInt8
= 2,
256 SpvImageChannelDataTypeUnormInt16
= 3,
257 SpvImageChannelDataTypeUnormShort565
= 4,
258 SpvImageChannelDataTypeUnormShort555
= 5,
259 SpvImageChannelDataTypeUnormInt101010
= 6,
260 SpvImageChannelDataTypeSignedInt8
= 7,
261 SpvImageChannelDataTypeSignedInt16
= 8,
262 SpvImageChannelDataTypeSignedInt32
= 9,
263 SpvImageChannelDataTypeUnsignedInt8
= 10,
264 SpvImageChannelDataTypeUnsignedInt16
= 11,
265 SpvImageChannelDataTypeUnsignedInt32
= 12,
266 SpvImageChannelDataTypeHalfFloat
= 13,
267 SpvImageChannelDataTypeFloat
= 14,
268 SpvImageChannelDataTypeUnormInt24
= 15,
269 SpvImageChannelDataTypeUnormInt101010_2
= 16,
270 SpvImageChannelDataTypeMax
= 0x7fffffff,
271 } SpvImageChannelDataType
;
273 typedef enum SpvImageOperandsShift_
{
274 SpvImageOperandsBiasShift
= 0,
275 SpvImageOperandsLodShift
= 1,
276 SpvImageOperandsGradShift
= 2,
277 SpvImageOperandsConstOffsetShift
= 3,
278 SpvImageOperandsOffsetShift
= 4,
279 SpvImageOperandsConstOffsetsShift
= 5,
280 SpvImageOperandsSampleShift
= 6,
281 SpvImageOperandsMinLodShift
= 7,
282 SpvImageOperandsMax
= 0x7fffffff,
283 } SpvImageOperandsShift
;
285 typedef enum SpvImageOperandsMask_
{
286 SpvImageOperandsMaskNone
= 0,
287 SpvImageOperandsBiasMask
= 0x00000001,
288 SpvImageOperandsLodMask
= 0x00000002,
289 SpvImageOperandsGradMask
= 0x00000004,
290 SpvImageOperandsConstOffsetMask
= 0x00000008,
291 SpvImageOperandsOffsetMask
= 0x00000010,
292 SpvImageOperandsConstOffsetsMask
= 0x00000020,
293 SpvImageOperandsSampleMask
= 0x00000040,
294 SpvImageOperandsMinLodMask
= 0x00000080,
295 } SpvImageOperandsMask
;
297 typedef enum SpvFPFastMathModeShift_
{
298 SpvFPFastMathModeNotNaNShift
= 0,
299 SpvFPFastMathModeNotInfShift
= 1,
300 SpvFPFastMathModeNSZShift
= 2,
301 SpvFPFastMathModeAllowRecipShift
= 3,
302 SpvFPFastMathModeFastShift
= 4,
303 SpvFPFastMathModeMax
= 0x7fffffff,
304 } SpvFPFastMathModeShift
;
306 typedef enum SpvFPFastMathModeMask_
{
307 SpvFPFastMathModeMaskNone
= 0,
308 SpvFPFastMathModeNotNaNMask
= 0x00000001,
309 SpvFPFastMathModeNotInfMask
= 0x00000002,
310 SpvFPFastMathModeNSZMask
= 0x00000004,
311 SpvFPFastMathModeAllowRecipMask
= 0x00000008,
312 SpvFPFastMathModeFastMask
= 0x00000010,
313 } SpvFPFastMathModeMask
;
315 typedef enum SpvFPRoundingMode_
{
316 SpvFPRoundingModeRTE
= 0,
317 SpvFPRoundingModeRTZ
= 1,
318 SpvFPRoundingModeRTP
= 2,
319 SpvFPRoundingModeRTN
= 3,
320 SpvFPRoundingModeMax
= 0x7fffffff,
323 typedef enum SpvLinkageType_
{
324 SpvLinkageTypeExport
= 0,
325 SpvLinkageTypeImport
= 1,
326 SpvLinkageTypeMax
= 0x7fffffff,
329 typedef enum SpvAccessQualifier_
{
330 SpvAccessQualifierReadOnly
= 0,
331 SpvAccessQualifierWriteOnly
= 1,
332 SpvAccessQualifierReadWrite
= 2,
333 SpvAccessQualifierMax
= 0x7fffffff,
334 } SpvAccessQualifier
;
336 typedef enum SpvFunctionParameterAttribute_
{
337 SpvFunctionParameterAttributeZext
= 0,
338 SpvFunctionParameterAttributeSext
= 1,
339 SpvFunctionParameterAttributeByVal
= 2,
340 SpvFunctionParameterAttributeSret
= 3,
341 SpvFunctionParameterAttributeNoAlias
= 4,
342 SpvFunctionParameterAttributeNoCapture
= 5,
343 SpvFunctionParameterAttributeNoWrite
= 6,
344 SpvFunctionParameterAttributeNoReadWrite
= 7,
345 SpvFunctionParameterAttributeMax
= 0x7fffffff,
346 } SpvFunctionParameterAttribute
;
348 typedef enum SpvDecoration_
{
349 SpvDecorationRelaxedPrecision
= 0,
350 SpvDecorationSpecId
= 1,
351 SpvDecorationBlock
= 2,
352 SpvDecorationBufferBlock
= 3,
353 SpvDecorationRowMajor
= 4,
354 SpvDecorationColMajor
= 5,
355 SpvDecorationArrayStride
= 6,
356 SpvDecorationMatrixStride
= 7,
357 SpvDecorationGLSLShared
= 8,
358 SpvDecorationGLSLPacked
= 9,
359 SpvDecorationCPacked
= 10,
360 SpvDecorationBuiltIn
= 11,
361 SpvDecorationNoPerspective
= 13,
362 SpvDecorationFlat
= 14,
363 SpvDecorationPatch
= 15,
364 SpvDecorationCentroid
= 16,
365 SpvDecorationSample
= 17,
366 SpvDecorationInvariant
= 18,
367 SpvDecorationRestrict
= 19,
368 SpvDecorationAliased
= 20,
369 SpvDecorationVolatile
= 21,
370 SpvDecorationConstant
= 22,
371 SpvDecorationCoherent
= 23,
372 SpvDecorationNonWritable
= 24,
373 SpvDecorationNonReadable
= 25,
374 SpvDecorationUniform
= 26,
375 SpvDecorationSaturatedConversion
= 28,
376 SpvDecorationStream
= 29,
377 SpvDecorationLocation
= 30,
378 SpvDecorationComponent
= 31,
379 SpvDecorationIndex
= 32,
380 SpvDecorationBinding
= 33,
381 SpvDecorationDescriptorSet
= 34,
382 SpvDecorationOffset
= 35,
383 SpvDecorationXfbBuffer
= 36,
384 SpvDecorationXfbStride
= 37,
385 SpvDecorationFuncParamAttr
= 38,
386 SpvDecorationFPRoundingMode
= 39,
387 SpvDecorationFPFastMathMode
= 40,
388 SpvDecorationLinkageAttributes
= 41,
389 SpvDecorationNoContraction
= 42,
390 SpvDecorationInputAttachmentIndex
= 43,
391 SpvDecorationAlignment
= 44,
392 SpvDecorationMaxByteOffset
= 45,
393 SpvDecorationAlignmentId
= 46,
394 SpvDecorationMaxByteOffsetId
= 47,
395 SpvDecorationExplicitInterpAMD
= 4999,
396 SpvDecorationOverrideCoverageNV
= 5248,
397 SpvDecorationPassthroughNV
= 5250,
398 SpvDecorationViewportRelativeNV
= 5252,
399 SpvDecorationSecondaryViewportRelativeNV
= 5256,
400 SpvDecorationNonUniformEXT
= 5300,
401 SpvDecorationHlslCounterBufferGOOGLE
= 5634,
402 SpvDecorationHlslSemanticGOOGLE
= 5635,
403 SpvDecorationMax
= 0x7fffffff,
406 typedef enum SpvBuiltIn_
{
407 SpvBuiltInPosition
= 0,
408 SpvBuiltInPointSize
= 1,
409 SpvBuiltInClipDistance
= 3,
410 SpvBuiltInCullDistance
= 4,
411 SpvBuiltInVertexId
= 5,
412 SpvBuiltInInstanceId
= 6,
413 SpvBuiltInPrimitiveId
= 7,
414 SpvBuiltInInvocationId
= 8,
416 SpvBuiltInViewportIndex
= 10,
417 SpvBuiltInTessLevelOuter
= 11,
418 SpvBuiltInTessLevelInner
= 12,
419 SpvBuiltInTessCoord
= 13,
420 SpvBuiltInPatchVertices
= 14,
421 SpvBuiltInFragCoord
= 15,
422 SpvBuiltInPointCoord
= 16,
423 SpvBuiltInFrontFacing
= 17,
424 SpvBuiltInSampleId
= 18,
425 SpvBuiltInSamplePosition
= 19,
426 SpvBuiltInSampleMask
= 20,
427 SpvBuiltInFragDepth
= 22,
428 SpvBuiltInHelperInvocation
= 23,
429 SpvBuiltInNumWorkgroups
= 24,
430 SpvBuiltInWorkgroupSize
= 25,
431 SpvBuiltInWorkgroupId
= 26,
432 SpvBuiltInLocalInvocationId
= 27,
433 SpvBuiltInGlobalInvocationId
= 28,
434 SpvBuiltInLocalInvocationIndex
= 29,
435 SpvBuiltInWorkDim
= 30,
436 SpvBuiltInGlobalSize
= 31,
437 SpvBuiltInEnqueuedWorkgroupSize
= 32,
438 SpvBuiltInGlobalOffset
= 33,
439 SpvBuiltInGlobalLinearId
= 34,
440 SpvBuiltInSubgroupSize
= 36,
441 SpvBuiltInSubgroupMaxSize
= 37,
442 SpvBuiltInNumSubgroups
= 38,
443 SpvBuiltInNumEnqueuedSubgroups
= 39,
444 SpvBuiltInSubgroupId
= 40,
445 SpvBuiltInSubgroupLocalInvocationId
= 41,
446 SpvBuiltInVertexIndex
= 42,
447 SpvBuiltInInstanceIndex
= 43,
448 SpvBuiltInSubgroupEqMask
= 4416,
449 SpvBuiltInSubgroupEqMaskKHR
= 4416,
450 SpvBuiltInSubgroupGeMask
= 4417,
451 SpvBuiltInSubgroupGeMaskKHR
= 4417,
452 SpvBuiltInSubgroupGtMask
= 4418,
453 SpvBuiltInSubgroupGtMaskKHR
= 4418,
454 SpvBuiltInSubgroupLeMask
= 4419,
455 SpvBuiltInSubgroupLeMaskKHR
= 4419,
456 SpvBuiltInSubgroupLtMask
= 4420,
457 SpvBuiltInSubgroupLtMaskKHR
= 4420,
458 SpvBuiltInBaseVertex
= 4424,
459 SpvBuiltInBaseInstance
= 4425,
460 SpvBuiltInDrawIndex
= 4426,
461 SpvBuiltInDeviceIndex
= 4438,
462 SpvBuiltInViewIndex
= 4440,
463 SpvBuiltInBaryCoordNoPerspAMD
= 4992,
464 SpvBuiltInBaryCoordNoPerspCentroidAMD
= 4993,
465 SpvBuiltInBaryCoordNoPerspSampleAMD
= 4994,
466 SpvBuiltInBaryCoordSmoothAMD
= 4995,
467 SpvBuiltInBaryCoordSmoothCentroidAMD
= 4996,
468 SpvBuiltInBaryCoordSmoothSampleAMD
= 4997,
469 SpvBuiltInBaryCoordPullModelAMD
= 4998,
470 SpvBuiltInFragStencilRefEXT
= 5014,
471 SpvBuiltInViewportMaskNV
= 5253,
472 SpvBuiltInSecondaryPositionNV
= 5257,
473 SpvBuiltInSecondaryViewportMaskNV
= 5258,
474 SpvBuiltInPositionPerViewNV
= 5261,
475 SpvBuiltInViewportMaskPerViewNV
= 5262,
476 SpvBuiltInFullyCoveredEXT
= 5264,
477 SpvBuiltInMax
= 0x7fffffff,
480 typedef enum SpvSelectionControlShift_
{
481 SpvSelectionControlFlattenShift
= 0,
482 SpvSelectionControlDontFlattenShift
= 1,
483 SpvSelectionControlMax
= 0x7fffffff,
484 } SpvSelectionControlShift
;
486 typedef enum SpvSelectionControlMask_
{
487 SpvSelectionControlMaskNone
= 0,
488 SpvSelectionControlFlattenMask
= 0x00000001,
489 SpvSelectionControlDontFlattenMask
= 0x00000002,
490 } SpvSelectionControlMask
;
492 typedef enum SpvLoopControlShift_
{
493 SpvLoopControlUnrollShift
= 0,
494 SpvLoopControlDontUnrollShift
= 1,
495 SpvLoopControlDependencyInfiniteShift
= 2,
496 SpvLoopControlDependencyLengthShift
= 3,
497 SpvLoopControlMax
= 0x7fffffff,
498 } SpvLoopControlShift
;
500 typedef enum SpvLoopControlMask_
{
501 SpvLoopControlMaskNone
= 0,
502 SpvLoopControlUnrollMask
= 0x00000001,
503 SpvLoopControlDontUnrollMask
= 0x00000002,
504 SpvLoopControlDependencyInfiniteMask
= 0x00000004,
505 SpvLoopControlDependencyLengthMask
= 0x00000008,
506 } SpvLoopControlMask
;
508 typedef enum SpvFunctionControlShift_
{
509 SpvFunctionControlInlineShift
= 0,
510 SpvFunctionControlDontInlineShift
= 1,
511 SpvFunctionControlPureShift
= 2,
512 SpvFunctionControlConstShift
= 3,
513 SpvFunctionControlMax
= 0x7fffffff,
514 } SpvFunctionControlShift
;
516 typedef enum SpvFunctionControlMask_
{
517 SpvFunctionControlMaskNone
= 0,
518 SpvFunctionControlInlineMask
= 0x00000001,
519 SpvFunctionControlDontInlineMask
= 0x00000002,
520 SpvFunctionControlPureMask
= 0x00000004,
521 SpvFunctionControlConstMask
= 0x00000008,
522 } SpvFunctionControlMask
;
524 typedef enum SpvMemorySemanticsShift_
{
525 SpvMemorySemanticsAcquireShift
= 1,
526 SpvMemorySemanticsReleaseShift
= 2,
527 SpvMemorySemanticsAcquireReleaseShift
= 3,
528 SpvMemorySemanticsSequentiallyConsistentShift
= 4,
529 SpvMemorySemanticsUniformMemoryShift
= 6,
530 SpvMemorySemanticsSubgroupMemoryShift
= 7,
531 SpvMemorySemanticsWorkgroupMemoryShift
= 8,
532 SpvMemorySemanticsCrossWorkgroupMemoryShift
= 9,
533 SpvMemorySemanticsAtomicCounterMemoryShift
= 10,
534 SpvMemorySemanticsImageMemoryShift
= 11,
535 SpvMemorySemanticsMax
= 0x7fffffff,
536 } SpvMemorySemanticsShift
;
538 typedef enum SpvMemorySemanticsMask_
{
539 SpvMemorySemanticsMaskNone
= 0,
540 SpvMemorySemanticsAcquireMask
= 0x00000002,
541 SpvMemorySemanticsReleaseMask
= 0x00000004,
542 SpvMemorySemanticsAcquireReleaseMask
= 0x00000008,
543 SpvMemorySemanticsSequentiallyConsistentMask
= 0x00000010,
544 SpvMemorySemanticsUniformMemoryMask
= 0x00000040,
545 SpvMemorySemanticsSubgroupMemoryMask
= 0x00000080,
546 SpvMemorySemanticsWorkgroupMemoryMask
= 0x00000100,
547 SpvMemorySemanticsCrossWorkgroupMemoryMask
= 0x00000200,
548 SpvMemorySemanticsAtomicCounterMemoryMask
= 0x00000400,
549 SpvMemorySemanticsImageMemoryMask
= 0x00000800,
550 } SpvMemorySemanticsMask
;
552 typedef enum SpvMemoryAccessShift_
{
553 SpvMemoryAccessVolatileShift
= 0,
554 SpvMemoryAccessAlignedShift
= 1,
555 SpvMemoryAccessNontemporalShift
= 2,
556 SpvMemoryAccessMax
= 0x7fffffff,
557 } SpvMemoryAccessShift
;
559 typedef enum SpvMemoryAccessMask_
{
560 SpvMemoryAccessMaskNone
= 0,
561 SpvMemoryAccessVolatileMask
= 0x00000001,
562 SpvMemoryAccessAlignedMask
= 0x00000002,
563 SpvMemoryAccessNontemporalMask
= 0x00000004,
564 } SpvMemoryAccessMask
;
566 typedef enum SpvScope_
{
567 SpvScopeCrossDevice
= 0,
569 SpvScopeWorkgroup
= 2,
570 SpvScopeSubgroup
= 3,
571 SpvScopeInvocation
= 4,
572 SpvScopeMax
= 0x7fffffff,
575 typedef enum SpvGroupOperation_
{
576 SpvGroupOperationReduce
= 0,
577 SpvGroupOperationInclusiveScan
= 1,
578 SpvGroupOperationExclusiveScan
= 2,
579 SpvGroupOperationClusteredReduce
= 3,
580 SpvGroupOperationPartitionedReduceNV
= 6,
581 SpvGroupOperationPartitionedInclusiveScanNV
= 7,
582 SpvGroupOperationPartitionedExclusiveScanNV
= 8,
583 SpvGroupOperationMax
= 0x7fffffff,
586 typedef enum SpvKernelEnqueueFlags_
{
587 SpvKernelEnqueueFlagsNoWait
= 0,
588 SpvKernelEnqueueFlagsWaitKernel
= 1,
589 SpvKernelEnqueueFlagsWaitWorkGroup
= 2,
590 SpvKernelEnqueueFlagsMax
= 0x7fffffff,
591 } SpvKernelEnqueueFlags
;
593 typedef enum SpvKernelProfilingInfoShift_
{
594 SpvKernelProfilingInfoCmdExecTimeShift
= 0,
595 SpvKernelProfilingInfoMax
= 0x7fffffff,
596 } SpvKernelProfilingInfoShift
;
598 typedef enum SpvKernelProfilingInfoMask_
{
599 SpvKernelProfilingInfoMaskNone
= 0,
600 SpvKernelProfilingInfoCmdExecTimeMask
= 0x00000001,
601 } SpvKernelProfilingInfoMask
;
603 typedef enum SpvCapability_
{
604 SpvCapabilityMatrix
= 0,
605 SpvCapabilityShader
= 1,
606 SpvCapabilityGeometry
= 2,
607 SpvCapabilityTessellation
= 3,
608 SpvCapabilityAddresses
= 4,
609 SpvCapabilityLinkage
= 5,
610 SpvCapabilityKernel
= 6,
611 SpvCapabilityVector16
= 7,
612 SpvCapabilityFloat16Buffer
= 8,
613 SpvCapabilityFloat16
= 9,
614 SpvCapabilityFloat64
= 10,
615 SpvCapabilityInt64
= 11,
616 SpvCapabilityInt64Atomics
= 12,
617 SpvCapabilityImageBasic
= 13,
618 SpvCapabilityImageReadWrite
= 14,
619 SpvCapabilityImageMipmap
= 15,
620 SpvCapabilityPipes
= 17,
621 SpvCapabilityGroups
= 18,
622 SpvCapabilityDeviceEnqueue
= 19,
623 SpvCapabilityLiteralSampler
= 20,
624 SpvCapabilityAtomicStorage
= 21,
625 SpvCapabilityInt16
= 22,
626 SpvCapabilityTessellationPointSize
= 23,
627 SpvCapabilityGeometryPointSize
= 24,
628 SpvCapabilityImageGatherExtended
= 25,
629 SpvCapabilityStorageImageMultisample
= 27,
630 SpvCapabilityUniformBufferArrayDynamicIndexing
= 28,
631 SpvCapabilitySampledImageArrayDynamicIndexing
= 29,
632 SpvCapabilityStorageBufferArrayDynamicIndexing
= 30,
633 SpvCapabilityStorageImageArrayDynamicIndexing
= 31,
634 SpvCapabilityClipDistance
= 32,
635 SpvCapabilityCullDistance
= 33,
636 SpvCapabilityImageCubeArray
= 34,
637 SpvCapabilitySampleRateShading
= 35,
638 SpvCapabilityImageRect
= 36,
639 SpvCapabilitySampledRect
= 37,
640 SpvCapabilityGenericPointer
= 38,
641 SpvCapabilityInt8
= 39,
642 SpvCapabilityInputAttachment
= 40,
643 SpvCapabilitySparseResidency
= 41,
644 SpvCapabilityMinLod
= 42,
645 SpvCapabilitySampled1D
= 43,
646 SpvCapabilityImage1D
= 44,
647 SpvCapabilitySampledCubeArray
= 45,
648 SpvCapabilitySampledBuffer
= 46,
649 SpvCapabilityImageBuffer
= 47,
650 SpvCapabilityImageMSArray
= 48,
651 SpvCapabilityStorageImageExtendedFormats
= 49,
652 SpvCapabilityImageQuery
= 50,
653 SpvCapabilityDerivativeControl
= 51,
654 SpvCapabilityInterpolationFunction
= 52,
655 SpvCapabilityTransformFeedback
= 53,
656 SpvCapabilityGeometryStreams
= 54,
657 SpvCapabilityStorageImageReadWithoutFormat
= 55,
658 SpvCapabilityStorageImageWriteWithoutFormat
= 56,
659 SpvCapabilityMultiViewport
= 57,
660 SpvCapabilitySubgroupDispatch
= 58,
661 SpvCapabilityNamedBarrier
= 59,
662 SpvCapabilityPipeStorage
= 60,
663 SpvCapabilityGroupNonUniform
= 61,
664 SpvCapabilityGroupNonUniformVote
= 62,
665 SpvCapabilityGroupNonUniformArithmetic
= 63,
666 SpvCapabilityGroupNonUniformBallot
= 64,
667 SpvCapabilityGroupNonUniformShuffle
= 65,
668 SpvCapabilityGroupNonUniformShuffleRelative
= 66,
669 SpvCapabilityGroupNonUniformClustered
= 67,
670 SpvCapabilityGroupNonUniformQuad
= 68,
671 SpvCapabilitySubgroupBallotKHR
= 4423,
672 SpvCapabilityDrawParameters
= 4427,
673 SpvCapabilitySubgroupVoteKHR
= 4431,
674 SpvCapabilityStorageBuffer16BitAccess
= 4433,
675 SpvCapabilityStorageUniformBufferBlock16
= 4433,
676 SpvCapabilityStorageUniform16
= 4434,
677 SpvCapabilityUniformAndStorageBuffer16BitAccess
= 4434,
678 SpvCapabilityStoragePushConstant16
= 4435,
679 SpvCapabilityStorageInputOutput16
= 4436,
680 SpvCapabilityDeviceGroup
= 4437,
681 SpvCapabilityMultiView
= 4439,
682 SpvCapabilityVariablePointersStorageBuffer
= 4441,
683 SpvCapabilityVariablePointers
= 4442,
684 SpvCapabilityAtomicStorageOps
= 4445,
685 SpvCapabilitySampleMaskPostDepthCoverage
= 4447,
686 SpvCapabilityStorageBuffer8BitAccess
= 4448,
687 SpvCapabilityUniformAndStorageBuffer8BitAccess
= 4449,
688 SpvCapabilityStoragePushConstant8
= 4450,
689 SpvCapabilityFloat16ImageAMD
= 5008,
690 SpvCapabilityImageGatherBiasLodAMD
= 5009,
691 SpvCapabilityFragmentMaskAMD
= 5010,
692 SpvCapabilityStencilExportEXT
= 5013,
693 SpvCapabilityImageReadWriteLodAMD
= 5015,
694 SpvCapabilitySampleMaskOverrideCoverageNV
= 5249,
695 SpvCapabilityGeometryShaderPassthroughNV
= 5251,
696 SpvCapabilityShaderViewportIndexLayerEXT
= 5254,
697 SpvCapabilityShaderViewportIndexLayerNV
= 5254,
698 SpvCapabilityShaderViewportMaskNV
= 5255,
699 SpvCapabilityShaderStereoViewNV
= 5259,
700 SpvCapabilityPerViewAttributesNV
= 5260,
701 SpvCapabilityFragmentFullyCoveredEXT
= 5265,
702 SpvCapabilityGroupNonUniformPartitionedNV
= 5297,
703 SpvCapabilityShaderNonUniformEXT
= 5301,
704 SpvCapabilityRuntimeDescriptorArrayEXT
= 5302,
705 SpvCapabilityInputAttachmentArrayDynamicIndexingEXT
= 5303,
706 SpvCapabilityUniformTexelBufferArrayDynamicIndexingEXT
= 5304,
707 SpvCapabilityStorageTexelBufferArrayDynamicIndexingEXT
= 5305,
708 SpvCapabilityUniformBufferArrayNonUniformIndexingEXT
= 5306,
709 SpvCapabilitySampledImageArrayNonUniformIndexingEXT
= 5307,
710 SpvCapabilityStorageBufferArrayNonUniformIndexingEXT
= 5308,
711 SpvCapabilityStorageImageArrayNonUniformIndexingEXT
= 5309,
712 SpvCapabilityInputAttachmentArrayNonUniformIndexingEXT
= 5310,
713 SpvCapabilityUniformTexelBufferArrayNonUniformIndexingEXT
= 5311,
714 SpvCapabilityStorageTexelBufferArrayNonUniformIndexingEXT
= 5312,
715 SpvCapabilitySubgroupShuffleINTEL
= 5568,
716 SpvCapabilitySubgroupBufferBlockIOINTEL
= 5569,
717 SpvCapabilitySubgroupImageBlockIOINTEL
= 5570,
718 SpvCapabilityMax
= 0x7fffffff,
721 typedef enum SpvOp_
{
724 SpvOpSourceContinued
= 2,
726 SpvOpSourceExtension
= 4,
732 SpvOpExtInstImport
= 11,
734 SpvOpMemoryModel
= 14,
735 SpvOpEntryPoint
= 15,
736 SpvOpExecutionMode
= 16,
737 SpvOpCapability
= 17,
742 SpvOpTypeVector
= 23,
743 SpvOpTypeMatrix
= 24,
745 SpvOpTypeSampler
= 26,
746 SpvOpTypeSampledImage
= 27,
748 SpvOpTypeRuntimeArray
= 29,
749 SpvOpTypeStruct
= 30,
750 SpvOpTypeOpaque
= 31,
751 SpvOpTypePointer
= 32,
752 SpvOpTypeFunction
= 33,
754 SpvOpTypeDeviceEvent
= 35,
755 SpvOpTypeReserveId
= 36,
758 SpvOpTypeForwardPointer
= 39,
759 SpvOpConstantTrue
= 41,
760 SpvOpConstantFalse
= 42,
762 SpvOpConstantComposite
= 44,
763 SpvOpConstantSampler
= 45,
764 SpvOpConstantNull
= 46,
765 SpvOpSpecConstantTrue
= 48,
766 SpvOpSpecConstantFalse
= 49,
767 SpvOpSpecConstant
= 50,
768 SpvOpSpecConstantComposite
= 51,
769 SpvOpSpecConstantOp
= 52,
771 SpvOpFunctionParameter
= 55,
772 SpvOpFunctionEnd
= 56,
773 SpvOpFunctionCall
= 57,
775 SpvOpImageTexelPointer
= 60,
778 SpvOpCopyMemory
= 63,
779 SpvOpCopyMemorySized
= 64,
780 SpvOpAccessChain
= 65,
781 SpvOpInBoundsAccessChain
= 66,
782 SpvOpPtrAccessChain
= 67,
783 SpvOpArrayLength
= 68,
784 SpvOpGenericPtrMemSemantics
= 69,
785 SpvOpInBoundsPtrAccessChain
= 70,
787 SpvOpMemberDecorate
= 72,
788 SpvOpDecorationGroup
= 73,
789 SpvOpGroupDecorate
= 74,
790 SpvOpGroupMemberDecorate
= 75,
791 SpvOpVectorExtractDynamic
= 77,
792 SpvOpVectorInsertDynamic
= 78,
793 SpvOpVectorShuffle
= 79,
794 SpvOpCompositeConstruct
= 80,
795 SpvOpCompositeExtract
= 81,
796 SpvOpCompositeInsert
= 82,
797 SpvOpCopyObject
= 83,
799 SpvOpSampledImage
= 86,
800 SpvOpImageSampleImplicitLod
= 87,
801 SpvOpImageSampleExplicitLod
= 88,
802 SpvOpImageSampleDrefImplicitLod
= 89,
803 SpvOpImageSampleDrefExplicitLod
= 90,
804 SpvOpImageSampleProjImplicitLod
= 91,
805 SpvOpImageSampleProjExplicitLod
= 92,
806 SpvOpImageSampleProjDrefImplicitLod
= 93,
807 SpvOpImageSampleProjDrefExplicitLod
= 94,
808 SpvOpImageFetch
= 95,
809 SpvOpImageGather
= 96,
810 SpvOpImageDrefGather
= 97,
812 SpvOpImageWrite
= 99,
814 SpvOpImageQueryFormat
= 101,
815 SpvOpImageQueryOrder
= 102,
816 SpvOpImageQuerySizeLod
= 103,
817 SpvOpImageQuerySize
= 104,
818 SpvOpImageQueryLod
= 105,
819 SpvOpImageQueryLevels
= 106,
820 SpvOpImageQuerySamples
= 107,
821 SpvOpConvertFToU
= 109,
822 SpvOpConvertFToS
= 110,
823 SpvOpConvertSToF
= 111,
824 SpvOpConvertUToF
= 112,
828 SpvOpQuantizeToF16
= 116,
829 SpvOpConvertPtrToU
= 117,
830 SpvOpSatConvertSToU
= 118,
831 SpvOpSatConvertUToS
= 119,
832 SpvOpConvertUToPtr
= 120,
833 SpvOpPtrCastToGeneric
= 121,
834 SpvOpGenericCastToPtr
= 122,
835 SpvOpGenericCastToPtrExplicit
= 123,
853 SpvOpVectorTimesScalar
= 142,
854 SpvOpMatrixTimesScalar
= 143,
855 SpvOpVectorTimesMatrix
= 144,
856 SpvOpMatrixTimesVector
= 145,
857 SpvOpMatrixTimesMatrix
= 146,
858 SpvOpOuterProduct
= 147,
860 SpvOpIAddCarry
= 149,
861 SpvOpISubBorrow
= 150,
862 SpvOpUMulExtended
= 151,
863 SpvOpSMulExtended
= 152,
870 SpvOpSignBitSet
= 160,
871 SpvOpLessOrGreater
= 161,
873 SpvOpUnordered
= 163,
874 SpvOpLogicalEqual
= 164,
875 SpvOpLogicalNotEqual
= 165,
876 SpvOpLogicalOr
= 166,
877 SpvOpLogicalAnd
= 167,
878 SpvOpLogicalNot
= 168,
881 SpvOpINotEqual
= 171,
882 SpvOpUGreaterThan
= 172,
883 SpvOpSGreaterThan
= 173,
884 SpvOpUGreaterThanEqual
= 174,
885 SpvOpSGreaterThanEqual
= 175,
886 SpvOpULessThan
= 176,
887 SpvOpSLessThan
= 177,
888 SpvOpULessThanEqual
= 178,
889 SpvOpSLessThanEqual
= 179,
890 SpvOpFOrdEqual
= 180,
891 SpvOpFUnordEqual
= 181,
892 SpvOpFOrdNotEqual
= 182,
893 SpvOpFUnordNotEqual
= 183,
894 SpvOpFOrdLessThan
= 184,
895 SpvOpFUnordLessThan
= 185,
896 SpvOpFOrdGreaterThan
= 186,
897 SpvOpFUnordGreaterThan
= 187,
898 SpvOpFOrdLessThanEqual
= 188,
899 SpvOpFUnordLessThanEqual
= 189,
900 SpvOpFOrdGreaterThanEqual
= 190,
901 SpvOpFUnordGreaterThanEqual
= 191,
902 SpvOpShiftRightLogical
= 194,
903 SpvOpShiftRightArithmetic
= 195,
904 SpvOpShiftLeftLogical
= 196,
905 SpvOpBitwiseOr
= 197,
906 SpvOpBitwiseXor
= 198,
907 SpvOpBitwiseAnd
= 199,
909 SpvOpBitFieldInsert
= 201,
910 SpvOpBitFieldSExtract
= 202,
911 SpvOpBitFieldUExtract
= 203,
912 SpvOpBitReverse
= 204,
919 SpvOpFwidthFine
= 212,
920 SpvOpDPdxCoarse
= 213,
921 SpvOpDPdyCoarse
= 214,
922 SpvOpFwidthCoarse
= 215,
923 SpvOpEmitVertex
= 218,
924 SpvOpEndPrimitive
= 219,
925 SpvOpEmitStreamVertex
= 220,
926 SpvOpEndStreamPrimitive
= 221,
927 SpvOpControlBarrier
= 224,
928 SpvOpMemoryBarrier
= 225,
929 SpvOpAtomicLoad
= 227,
930 SpvOpAtomicStore
= 228,
931 SpvOpAtomicExchange
= 229,
932 SpvOpAtomicCompareExchange
= 230,
933 SpvOpAtomicCompareExchangeWeak
= 231,
934 SpvOpAtomicIIncrement
= 232,
935 SpvOpAtomicIDecrement
= 233,
936 SpvOpAtomicIAdd
= 234,
937 SpvOpAtomicISub
= 235,
938 SpvOpAtomicSMin
= 236,
939 SpvOpAtomicUMin
= 237,
940 SpvOpAtomicSMax
= 238,
941 SpvOpAtomicUMax
= 239,
942 SpvOpAtomicAnd
= 240,
944 SpvOpAtomicXor
= 242,
946 SpvOpLoopMerge
= 246,
947 SpvOpSelectionMerge
= 247,
950 SpvOpBranchConditional
= 250,
954 SpvOpReturnValue
= 254,
955 SpvOpUnreachable
= 255,
956 SpvOpLifetimeStart
= 256,
957 SpvOpLifetimeStop
= 257,
958 SpvOpGroupAsyncCopy
= 259,
959 SpvOpGroupWaitEvents
= 260,
962 SpvOpGroupBroadcast
= 263,
963 SpvOpGroupIAdd
= 264,
964 SpvOpGroupFAdd
= 265,
965 SpvOpGroupFMin
= 266,
966 SpvOpGroupUMin
= 267,
967 SpvOpGroupSMin
= 268,
968 SpvOpGroupFMax
= 269,
969 SpvOpGroupUMax
= 270,
970 SpvOpGroupSMax
= 271,
972 SpvOpWritePipe
= 275,
973 SpvOpReservedReadPipe
= 276,
974 SpvOpReservedWritePipe
= 277,
975 SpvOpReserveReadPipePackets
= 278,
976 SpvOpReserveWritePipePackets
= 279,
977 SpvOpCommitReadPipe
= 280,
978 SpvOpCommitWritePipe
= 281,
979 SpvOpIsValidReserveId
= 282,
980 SpvOpGetNumPipePackets
= 283,
981 SpvOpGetMaxPipePackets
= 284,
982 SpvOpGroupReserveReadPipePackets
= 285,
983 SpvOpGroupReserveWritePipePackets
= 286,
984 SpvOpGroupCommitReadPipe
= 287,
985 SpvOpGroupCommitWritePipe
= 288,
986 SpvOpEnqueueMarker
= 291,
987 SpvOpEnqueueKernel
= 292,
988 SpvOpGetKernelNDrangeSubGroupCount
= 293,
989 SpvOpGetKernelNDrangeMaxSubGroupSize
= 294,
990 SpvOpGetKernelWorkGroupSize
= 295,
991 SpvOpGetKernelPreferredWorkGroupSizeMultiple
= 296,
992 SpvOpRetainEvent
= 297,
993 SpvOpReleaseEvent
= 298,
994 SpvOpCreateUserEvent
= 299,
995 SpvOpIsValidEvent
= 300,
996 SpvOpSetUserEventStatus
= 301,
997 SpvOpCaptureEventProfilingInfo
= 302,
998 SpvOpGetDefaultQueue
= 303,
999 SpvOpBuildNDRange
= 304,
1000 SpvOpImageSparseSampleImplicitLod
= 305,
1001 SpvOpImageSparseSampleExplicitLod
= 306,
1002 SpvOpImageSparseSampleDrefImplicitLod
= 307,
1003 SpvOpImageSparseSampleDrefExplicitLod
= 308,
1004 SpvOpImageSparseSampleProjImplicitLod
= 309,
1005 SpvOpImageSparseSampleProjExplicitLod
= 310,
1006 SpvOpImageSparseSampleProjDrefImplicitLod
= 311,
1007 SpvOpImageSparseSampleProjDrefExplicitLod
= 312,
1008 SpvOpImageSparseFetch
= 313,
1009 SpvOpImageSparseGather
= 314,
1010 SpvOpImageSparseDrefGather
= 315,
1011 SpvOpImageSparseTexelsResident
= 316,
1013 SpvOpAtomicFlagTestAndSet
= 318,
1014 SpvOpAtomicFlagClear
= 319,
1015 SpvOpImageSparseRead
= 320,
1017 SpvOpTypePipeStorage
= 322,
1018 SpvOpConstantPipeStorage
= 323,
1019 SpvOpCreatePipeFromPipeStorage
= 324,
1020 SpvOpGetKernelLocalSizeForSubgroupCount
= 325,
1021 SpvOpGetKernelMaxNumSubgroups
= 326,
1022 SpvOpTypeNamedBarrier
= 327,
1023 SpvOpNamedBarrierInitialize
= 328,
1024 SpvOpMemoryNamedBarrier
= 329,
1025 SpvOpModuleProcessed
= 330,
1026 SpvOpExecutionModeId
= 331,
1027 SpvOpDecorateId
= 332,
1028 SpvOpGroupNonUniformElect
= 333,
1029 SpvOpGroupNonUniformAll
= 334,
1030 SpvOpGroupNonUniformAny
= 335,
1031 SpvOpGroupNonUniformAllEqual
= 336,
1032 SpvOpGroupNonUniformBroadcast
= 337,
1033 SpvOpGroupNonUniformBroadcastFirst
= 338,
1034 SpvOpGroupNonUniformBallot
= 339,
1035 SpvOpGroupNonUniformInverseBallot
= 340,
1036 SpvOpGroupNonUniformBallotBitExtract
= 341,
1037 SpvOpGroupNonUniformBallotBitCount
= 342,
1038 SpvOpGroupNonUniformBallotFindLSB
= 343,
1039 SpvOpGroupNonUniformBallotFindMSB
= 344,
1040 SpvOpGroupNonUniformShuffle
= 345,
1041 SpvOpGroupNonUniformShuffleXor
= 346,
1042 SpvOpGroupNonUniformShuffleUp
= 347,
1043 SpvOpGroupNonUniformShuffleDown
= 348,
1044 SpvOpGroupNonUniformIAdd
= 349,
1045 SpvOpGroupNonUniformFAdd
= 350,
1046 SpvOpGroupNonUniformIMul
= 351,
1047 SpvOpGroupNonUniformFMul
= 352,
1048 SpvOpGroupNonUniformSMin
= 353,
1049 SpvOpGroupNonUniformUMin
= 354,
1050 SpvOpGroupNonUniformFMin
= 355,
1051 SpvOpGroupNonUniformSMax
= 356,
1052 SpvOpGroupNonUniformUMax
= 357,
1053 SpvOpGroupNonUniformFMax
= 358,
1054 SpvOpGroupNonUniformBitwiseAnd
= 359,
1055 SpvOpGroupNonUniformBitwiseOr
= 360,
1056 SpvOpGroupNonUniformBitwiseXor
= 361,
1057 SpvOpGroupNonUniformLogicalAnd
= 362,
1058 SpvOpGroupNonUniformLogicalOr
= 363,
1059 SpvOpGroupNonUniformLogicalXor
= 364,
1060 SpvOpGroupNonUniformQuadBroadcast
= 365,
1061 SpvOpGroupNonUniformQuadSwap
= 366,
1062 SpvOpSubgroupBallotKHR
= 4421,
1063 SpvOpSubgroupFirstInvocationKHR
= 4422,
1064 SpvOpSubgroupAllKHR
= 4428,
1065 SpvOpSubgroupAnyKHR
= 4429,
1066 SpvOpSubgroupAllEqualKHR
= 4430,
1067 SpvOpSubgroupReadInvocationKHR
= 4432,
1068 SpvOpGroupIAddNonUniformAMD
= 5000,
1069 SpvOpGroupFAddNonUniformAMD
= 5001,
1070 SpvOpGroupFMinNonUniformAMD
= 5002,
1071 SpvOpGroupUMinNonUniformAMD
= 5003,
1072 SpvOpGroupSMinNonUniformAMD
= 5004,
1073 SpvOpGroupFMaxNonUniformAMD
= 5005,
1074 SpvOpGroupUMaxNonUniformAMD
= 5006,
1075 SpvOpGroupSMaxNonUniformAMD
= 5007,
1076 SpvOpFragmentMaskFetchAMD
= 5011,
1077 SpvOpFragmentFetchAMD
= 5012,
1078 SpvOpGroupNonUniformPartitionNV
= 5296,
1079 SpvOpSubgroupShuffleINTEL
= 5571,
1080 SpvOpSubgroupShuffleDownINTEL
= 5572,
1081 SpvOpSubgroupShuffleUpINTEL
= 5573,
1082 SpvOpSubgroupShuffleXorINTEL
= 5574,
1083 SpvOpSubgroupBlockReadINTEL
= 5575,
1084 SpvOpSubgroupBlockWriteINTEL
= 5576,
1085 SpvOpSubgroupImageBlockReadINTEL
= 5577,
1086 SpvOpSubgroupImageBlockWriteINTEL
= 5578,
1087 SpvOpDecorateStringGOOGLE
= 5632,
1088 SpvOpMemberDecorateStringGOOGLE
= 5633,
1089 SpvOpMax
= 0x7fffffff,
1092 #endif // #ifndef spirv_H