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 SpvDecorationHlslCounterBufferGOOGLE
= 5634,
401 SpvDecorationHlslSemanticGOOGLE
= 5635,
402 SpvDecorationMax
= 0x7fffffff,
405 typedef enum SpvBuiltIn_
{
406 SpvBuiltInPosition
= 0,
407 SpvBuiltInPointSize
= 1,
408 SpvBuiltInClipDistance
= 3,
409 SpvBuiltInCullDistance
= 4,
410 SpvBuiltInVertexId
= 5,
411 SpvBuiltInInstanceId
= 6,
412 SpvBuiltInPrimitiveId
= 7,
413 SpvBuiltInInvocationId
= 8,
415 SpvBuiltInViewportIndex
= 10,
416 SpvBuiltInTessLevelOuter
= 11,
417 SpvBuiltInTessLevelInner
= 12,
418 SpvBuiltInTessCoord
= 13,
419 SpvBuiltInPatchVertices
= 14,
420 SpvBuiltInFragCoord
= 15,
421 SpvBuiltInPointCoord
= 16,
422 SpvBuiltInFrontFacing
= 17,
423 SpvBuiltInSampleId
= 18,
424 SpvBuiltInSamplePosition
= 19,
425 SpvBuiltInSampleMask
= 20,
426 SpvBuiltInFragDepth
= 22,
427 SpvBuiltInHelperInvocation
= 23,
428 SpvBuiltInNumWorkgroups
= 24,
429 SpvBuiltInWorkgroupSize
= 25,
430 SpvBuiltInWorkgroupId
= 26,
431 SpvBuiltInLocalInvocationId
= 27,
432 SpvBuiltInGlobalInvocationId
= 28,
433 SpvBuiltInLocalInvocationIndex
= 29,
434 SpvBuiltInWorkDim
= 30,
435 SpvBuiltInGlobalSize
= 31,
436 SpvBuiltInEnqueuedWorkgroupSize
= 32,
437 SpvBuiltInGlobalOffset
= 33,
438 SpvBuiltInGlobalLinearId
= 34,
439 SpvBuiltInSubgroupSize
= 36,
440 SpvBuiltInSubgroupMaxSize
= 37,
441 SpvBuiltInNumSubgroups
= 38,
442 SpvBuiltInNumEnqueuedSubgroups
= 39,
443 SpvBuiltInSubgroupId
= 40,
444 SpvBuiltInSubgroupLocalInvocationId
= 41,
445 SpvBuiltInVertexIndex
= 42,
446 SpvBuiltInInstanceIndex
= 43,
447 SpvBuiltInSubgroupEqMask
= 4416,
448 SpvBuiltInSubgroupEqMaskKHR
= 4416,
449 SpvBuiltInSubgroupGeMask
= 4417,
450 SpvBuiltInSubgroupGeMaskKHR
= 4417,
451 SpvBuiltInSubgroupGtMask
= 4418,
452 SpvBuiltInSubgroupGtMaskKHR
= 4418,
453 SpvBuiltInSubgroupLeMask
= 4419,
454 SpvBuiltInSubgroupLeMaskKHR
= 4419,
455 SpvBuiltInSubgroupLtMask
= 4420,
456 SpvBuiltInSubgroupLtMaskKHR
= 4420,
457 SpvBuiltInBaseVertex
= 4424,
458 SpvBuiltInBaseInstance
= 4425,
459 SpvBuiltInDrawIndex
= 4426,
460 SpvBuiltInDeviceIndex
= 4438,
461 SpvBuiltInViewIndex
= 4440,
462 SpvBuiltInBaryCoordNoPerspAMD
= 4992,
463 SpvBuiltInBaryCoordNoPerspCentroidAMD
= 4993,
464 SpvBuiltInBaryCoordNoPerspSampleAMD
= 4994,
465 SpvBuiltInBaryCoordSmoothAMD
= 4995,
466 SpvBuiltInBaryCoordSmoothCentroidAMD
= 4996,
467 SpvBuiltInBaryCoordSmoothSampleAMD
= 4997,
468 SpvBuiltInBaryCoordPullModelAMD
= 4998,
469 SpvBuiltInFragStencilRefEXT
= 5014,
470 SpvBuiltInViewportMaskNV
= 5253,
471 SpvBuiltInSecondaryPositionNV
= 5257,
472 SpvBuiltInSecondaryViewportMaskNV
= 5258,
473 SpvBuiltInPositionPerViewNV
= 5261,
474 SpvBuiltInViewportMaskPerViewNV
= 5262,
475 SpvBuiltInFullyCoveredEXT
= 5264,
476 SpvBuiltInMax
= 0x7fffffff,
479 typedef enum SpvSelectionControlShift_
{
480 SpvSelectionControlFlattenShift
= 0,
481 SpvSelectionControlDontFlattenShift
= 1,
482 SpvSelectionControlMax
= 0x7fffffff,
483 } SpvSelectionControlShift
;
485 typedef enum SpvSelectionControlMask_
{
486 SpvSelectionControlMaskNone
= 0,
487 SpvSelectionControlFlattenMask
= 0x00000001,
488 SpvSelectionControlDontFlattenMask
= 0x00000002,
489 } SpvSelectionControlMask
;
491 typedef enum SpvLoopControlShift_
{
492 SpvLoopControlUnrollShift
= 0,
493 SpvLoopControlDontUnrollShift
= 1,
494 SpvLoopControlDependencyInfiniteShift
= 2,
495 SpvLoopControlDependencyLengthShift
= 3,
496 SpvLoopControlMax
= 0x7fffffff,
497 } SpvLoopControlShift
;
499 typedef enum SpvLoopControlMask_
{
500 SpvLoopControlMaskNone
= 0,
501 SpvLoopControlUnrollMask
= 0x00000001,
502 SpvLoopControlDontUnrollMask
= 0x00000002,
503 SpvLoopControlDependencyInfiniteMask
= 0x00000004,
504 SpvLoopControlDependencyLengthMask
= 0x00000008,
505 } SpvLoopControlMask
;
507 typedef enum SpvFunctionControlShift_
{
508 SpvFunctionControlInlineShift
= 0,
509 SpvFunctionControlDontInlineShift
= 1,
510 SpvFunctionControlPureShift
= 2,
511 SpvFunctionControlConstShift
= 3,
512 SpvFunctionControlMax
= 0x7fffffff,
513 } SpvFunctionControlShift
;
515 typedef enum SpvFunctionControlMask_
{
516 SpvFunctionControlMaskNone
= 0,
517 SpvFunctionControlInlineMask
= 0x00000001,
518 SpvFunctionControlDontInlineMask
= 0x00000002,
519 SpvFunctionControlPureMask
= 0x00000004,
520 SpvFunctionControlConstMask
= 0x00000008,
521 } SpvFunctionControlMask
;
523 typedef enum SpvMemorySemanticsShift_
{
524 SpvMemorySemanticsAcquireShift
= 1,
525 SpvMemorySemanticsReleaseShift
= 2,
526 SpvMemorySemanticsAcquireReleaseShift
= 3,
527 SpvMemorySemanticsSequentiallyConsistentShift
= 4,
528 SpvMemorySemanticsUniformMemoryShift
= 6,
529 SpvMemorySemanticsSubgroupMemoryShift
= 7,
530 SpvMemorySemanticsWorkgroupMemoryShift
= 8,
531 SpvMemorySemanticsCrossWorkgroupMemoryShift
= 9,
532 SpvMemorySemanticsAtomicCounterMemoryShift
= 10,
533 SpvMemorySemanticsImageMemoryShift
= 11,
534 SpvMemorySemanticsMax
= 0x7fffffff,
535 } SpvMemorySemanticsShift
;
537 typedef enum SpvMemorySemanticsMask_
{
538 SpvMemorySemanticsMaskNone
= 0,
539 SpvMemorySemanticsAcquireMask
= 0x00000002,
540 SpvMemorySemanticsReleaseMask
= 0x00000004,
541 SpvMemorySemanticsAcquireReleaseMask
= 0x00000008,
542 SpvMemorySemanticsSequentiallyConsistentMask
= 0x00000010,
543 SpvMemorySemanticsUniformMemoryMask
= 0x00000040,
544 SpvMemorySemanticsSubgroupMemoryMask
= 0x00000080,
545 SpvMemorySemanticsWorkgroupMemoryMask
= 0x00000100,
546 SpvMemorySemanticsCrossWorkgroupMemoryMask
= 0x00000200,
547 SpvMemorySemanticsAtomicCounterMemoryMask
= 0x00000400,
548 SpvMemorySemanticsImageMemoryMask
= 0x00000800,
549 } SpvMemorySemanticsMask
;
551 typedef enum SpvMemoryAccessShift_
{
552 SpvMemoryAccessVolatileShift
= 0,
553 SpvMemoryAccessAlignedShift
= 1,
554 SpvMemoryAccessNontemporalShift
= 2,
555 SpvMemoryAccessMax
= 0x7fffffff,
556 } SpvMemoryAccessShift
;
558 typedef enum SpvMemoryAccessMask_
{
559 SpvMemoryAccessMaskNone
= 0,
560 SpvMemoryAccessVolatileMask
= 0x00000001,
561 SpvMemoryAccessAlignedMask
= 0x00000002,
562 SpvMemoryAccessNontemporalMask
= 0x00000004,
563 } SpvMemoryAccessMask
;
565 typedef enum SpvScope_
{
566 SpvScopeCrossDevice
= 0,
568 SpvScopeWorkgroup
= 2,
569 SpvScopeSubgroup
= 3,
570 SpvScopeInvocation
= 4,
571 SpvScopeMax
= 0x7fffffff,
574 typedef enum SpvGroupOperation_
{
575 SpvGroupOperationReduce
= 0,
576 SpvGroupOperationInclusiveScan
= 1,
577 SpvGroupOperationExclusiveScan
= 2,
578 SpvGroupOperationClusteredReduce
= 3,
579 SpvGroupOperationMax
= 0x7fffffff,
582 typedef enum SpvKernelEnqueueFlags_
{
583 SpvKernelEnqueueFlagsNoWait
= 0,
584 SpvKernelEnqueueFlagsWaitKernel
= 1,
585 SpvKernelEnqueueFlagsWaitWorkGroup
= 2,
586 SpvKernelEnqueueFlagsMax
= 0x7fffffff,
587 } SpvKernelEnqueueFlags
;
589 typedef enum SpvKernelProfilingInfoShift_
{
590 SpvKernelProfilingInfoCmdExecTimeShift
= 0,
591 SpvKernelProfilingInfoMax
= 0x7fffffff,
592 } SpvKernelProfilingInfoShift
;
594 typedef enum SpvKernelProfilingInfoMask_
{
595 SpvKernelProfilingInfoMaskNone
= 0,
596 SpvKernelProfilingInfoCmdExecTimeMask
= 0x00000001,
597 } SpvKernelProfilingInfoMask
;
599 typedef enum SpvCapability_
{
600 SpvCapabilityMatrix
= 0,
601 SpvCapabilityShader
= 1,
602 SpvCapabilityGeometry
= 2,
603 SpvCapabilityTessellation
= 3,
604 SpvCapabilityAddresses
= 4,
605 SpvCapabilityLinkage
= 5,
606 SpvCapabilityKernel
= 6,
607 SpvCapabilityVector16
= 7,
608 SpvCapabilityFloat16Buffer
= 8,
609 SpvCapabilityFloat16
= 9,
610 SpvCapabilityFloat64
= 10,
611 SpvCapabilityInt64
= 11,
612 SpvCapabilityInt64Atomics
= 12,
613 SpvCapabilityImageBasic
= 13,
614 SpvCapabilityImageReadWrite
= 14,
615 SpvCapabilityImageMipmap
= 15,
616 SpvCapabilityPipes
= 17,
617 SpvCapabilityGroups
= 18,
618 SpvCapabilityDeviceEnqueue
= 19,
619 SpvCapabilityLiteralSampler
= 20,
620 SpvCapabilityAtomicStorage
= 21,
621 SpvCapabilityInt16
= 22,
622 SpvCapabilityTessellationPointSize
= 23,
623 SpvCapabilityGeometryPointSize
= 24,
624 SpvCapabilityImageGatherExtended
= 25,
625 SpvCapabilityStorageImageMultisample
= 27,
626 SpvCapabilityUniformBufferArrayDynamicIndexing
= 28,
627 SpvCapabilitySampledImageArrayDynamicIndexing
= 29,
628 SpvCapabilityStorageBufferArrayDynamicIndexing
= 30,
629 SpvCapabilityStorageImageArrayDynamicIndexing
= 31,
630 SpvCapabilityClipDistance
= 32,
631 SpvCapabilityCullDistance
= 33,
632 SpvCapabilityImageCubeArray
= 34,
633 SpvCapabilitySampleRateShading
= 35,
634 SpvCapabilityImageRect
= 36,
635 SpvCapabilitySampledRect
= 37,
636 SpvCapabilityGenericPointer
= 38,
637 SpvCapabilityInt8
= 39,
638 SpvCapabilityInputAttachment
= 40,
639 SpvCapabilitySparseResidency
= 41,
640 SpvCapabilityMinLod
= 42,
641 SpvCapabilitySampled1D
= 43,
642 SpvCapabilityImage1D
= 44,
643 SpvCapabilitySampledCubeArray
= 45,
644 SpvCapabilitySampledBuffer
= 46,
645 SpvCapabilityImageBuffer
= 47,
646 SpvCapabilityImageMSArray
= 48,
647 SpvCapabilityStorageImageExtendedFormats
= 49,
648 SpvCapabilityImageQuery
= 50,
649 SpvCapabilityDerivativeControl
= 51,
650 SpvCapabilityInterpolationFunction
= 52,
651 SpvCapabilityTransformFeedback
= 53,
652 SpvCapabilityGeometryStreams
= 54,
653 SpvCapabilityStorageImageReadWithoutFormat
= 55,
654 SpvCapabilityStorageImageWriteWithoutFormat
= 56,
655 SpvCapabilityMultiViewport
= 57,
656 SpvCapabilitySubgroupDispatch
= 58,
657 SpvCapabilityNamedBarrier
= 59,
658 SpvCapabilityPipeStorage
= 60,
659 SpvCapabilityGroupNonUniform
= 61,
660 SpvCapabilityGroupNonUniformVote
= 62,
661 SpvCapabilityGroupNonUniformArithmetic
= 63,
662 SpvCapabilityGroupNonUniformBallot
= 64,
663 SpvCapabilityGroupNonUniformShuffle
= 65,
664 SpvCapabilityGroupNonUniformShuffleRelative
= 66,
665 SpvCapabilityGroupNonUniformClustered
= 67,
666 SpvCapabilityGroupNonUniformQuad
= 68,
667 SpvCapabilitySubgroupBallotKHR
= 4423,
668 SpvCapabilityDrawParameters
= 4427,
669 SpvCapabilitySubgroupVoteKHR
= 4431,
670 SpvCapabilityStorageBuffer16BitAccess
= 4433,
671 SpvCapabilityStorageUniformBufferBlock16
= 4433,
672 SpvCapabilityStorageUniform16
= 4434,
673 SpvCapabilityUniformAndStorageBuffer16BitAccess
= 4434,
674 SpvCapabilityStoragePushConstant16
= 4435,
675 SpvCapabilityStorageInputOutput16
= 4436,
676 SpvCapabilityDeviceGroup
= 4437,
677 SpvCapabilityMultiView
= 4439,
678 SpvCapabilityVariablePointersStorageBuffer
= 4441,
679 SpvCapabilityVariablePointers
= 4442,
680 SpvCapabilityAtomicStorageOps
= 4445,
681 SpvCapabilitySampleMaskPostDepthCoverage
= 4447,
682 SpvCapabilityFloat16ImageAMD
= 5008,
683 SpvCapabilityImageGatherBiasLodAMD
= 5009,
684 SpvCapabilityFragmentMaskAMD
= 5010,
685 SpvCapabilityStencilExportEXT
= 5013,
686 SpvCapabilityImageReadWriteLodAMD
= 5015,
687 SpvCapabilitySampleMaskOverrideCoverageNV
= 5249,
688 SpvCapabilityGeometryShaderPassthroughNV
= 5251,
689 SpvCapabilityShaderViewportIndexLayerEXT
= 5254,
690 SpvCapabilityShaderViewportIndexLayerNV
= 5254,
691 SpvCapabilityShaderViewportMaskNV
= 5255,
692 SpvCapabilityShaderStereoViewNV
= 5259,
693 SpvCapabilityPerViewAttributesNV
= 5260,
694 SpvCapabilityFragmentFullyCoveredEXT
= 5265,
695 SpvCapabilitySubgroupShuffleINTEL
= 5568,
696 SpvCapabilitySubgroupBufferBlockIOINTEL
= 5569,
697 SpvCapabilitySubgroupImageBlockIOINTEL
= 5570,
698 SpvCapabilityMax
= 0x7fffffff,
701 typedef enum SpvOp_
{
704 SpvOpSourceContinued
= 2,
706 SpvOpSourceExtension
= 4,
712 SpvOpExtInstImport
= 11,
714 SpvOpMemoryModel
= 14,
715 SpvOpEntryPoint
= 15,
716 SpvOpExecutionMode
= 16,
717 SpvOpCapability
= 17,
722 SpvOpTypeVector
= 23,
723 SpvOpTypeMatrix
= 24,
725 SpvOpTypeSampler
= 26,
726 SpvOpTypeSampledImage
= 27,
728 SpvOpTypeRuntimeArray
= 29,
729 SpvOpTypeStruct
= 30,
730 SpvOpTypeOpaque
= 31,
731 SpvOpTypePointer
= 32,
732 SpvOpTypeFunction
= 33,
734 SpvOpTypeDeviceEvent
= 35,
735 SpvOpTypeReserveId
= 36,
738 SpvOpTypeForwardPointer
= 39,
739 SpvOpConstantTrue
= 41,
740 SpvOpConstantFalse
= 42,
742 SpvOpConstantComposite
= 44,
743 SpvOpConstantSampler
= 45,
744 SpvOpConstantNull
= 46,
745 SpvOpSpecConstantTrue
= 48,
746 SpvOpSpecConstantFalse
= 49,
747 SpvOpSpecConstant
= 50,
748 SpvOpSpecConstantComposite
= 51,
749 SpvOpSpecConstantOp
= 52,
751 SpvOpFunctionParameter
= 55,
752 SpvOpFunctionEnd
= 56,
753 SpvOpFunctionCall
= 57,
755 SpvOpImageTexelPointer
= 60,
758 SpvOpCopyMemory
= 63,
759 SpvOpCopyMemorySized
= 64,
760 SpvOpAccessChain
= 65,
761 SpvOpInBoundsAccessChain
= 66,
762 SpvOpPtrAccessChain
= 67,
763 SpvOpArrayLength
= 68,
764 SpvOpGenericPtrMemSemantics
= 69,
765 SpvOpInBoundsPtrAccessChain
= 70,
767 SpvOpMemberDecorate
= 72,
768 SpvOpDecorationGroup
= 73,
769 SpvOpGroupDecorate
= 74,
770 SpvOpGroupMemberDecorate
= 75,
771 SpvOpVectorExtractDynamic
= 77,
772 SpvOpVectorInsertDynamic
= 78,
773 SpvOpVectorShuffle
= 79,
774 SpvOpCompositeConstruct
= 80,
775 SpvOpCompositeExtract
= 81,
776 SpvOpCompositeInsert
= 82,
777 SpvOpCopyObject
= 83,
779 SpvOpSampledImage
= 86,
780 SpvOpImageSampleImplicitLod
= 87,
781 SpvOpImageSampleExplicitLod
= 88,
782 SpvOpImageSampleDrefImplicitLod
= 89,
783 SpvOpImageSampleDrefExplicitLod
= 90,
784 SpvOpImageSampleProjImplicitLod
= 91,
785 SpvOpImageSampleProjExplicitLod
= 92,
786 SpvOpImageSampleProjDrefImplicitLod
= 93,
787 SpvOpImageSampleProjDrefExplicitLod
= 94,
788 SpvOpImageFetch
= 95,
789 SpvOpImageGather
= 96,
790 SpvOpImageDrefGather
= 97,
792 SpvOpImageWrite
= 99,
794 SpvOpImageQueryFormat
= 101,
795 SpvOpImageQueryOrder
= 102,
796 SpvOpImageQuerySizeLod
= 103,
797 SpvOpImageQuerySize
= 104,
798 SpvOpImageQueryLod
= 105,
799 SpvOpImageQueryLevels
= 106,
800 SpvOpImageQuerySamples
= 107,
801 SpvOpConvertFToU
= 109,
802 SpvOpConvertFToS
= 110,
803 SpvOpConvertSToF
= 111,
804 SpvOpConvertUToF
= 112,
808 SpvOpQuantizeToF16
= 116,
809 SpvOpConvertPtrToU
= 117,
810 SpvOpSatConvertSToU
= 118,
811 SpvOpSatConvertUToS
= 119,
812 SpvOpConvertUToPtr
= 120,
813 SpvOpPtrCastToGeneric
= 121,
814 SpvOpGenericCastToPtr
= 122,
815 SpvOpGenericCastToPtrExplicit
= 123,
833 SpvOpVectorTimesScalar
= 142,
834 SpvOpMatrixTimesScalar
= 143,
835 SpvOpVectorTimesMatrix
= 144,
836 SpvOpMatrixTimesVector
= 145,
837 SpvOpMatrixTimesMatrix
= 146,
838 SpvOpOuterProduct
= 147,
840 SpvOpIAddCarry
= 149,
841 SpvOpISubBorrow
= 150,
842 SpvOpUMulExtended
= 151,
843 SpvOpSMulExtended
= 152,
850 SpvOpSignBitSet
= 160,
851 SpvOpLessOrGreater
= 161,
853 SpvOpUnordered
= 163,
854 SpvOpLogicalEqual
= 164,
855 SpvOpLogicalNotEqual
= 165,
856 SpvOpLogicalOr
= 166,
857 SpvOpLogicalAnd
= 167,
858 SpvOpLogicalNot
= 168,
861 SpvOpINotEqual
= 171,
862 SpvOpUGreaterThan
= 172,
863 SpvOpSGreaterThan
= 173,
864 SpvOpUGreaterThanEqual
= 174,
865 SpvOpSGreaterThanEqual
= 175,
866 SpvOpULessThan
= 176,
867 SpvOpSLessThan
= 177,
868 SpvOpULessThanEqual
= 178,
869 SpvOpSLessThanEqual
= 179,
870 SpvOpFOrdEqual
= 180,
871 SpvOpFUnordEqual
= 181,
872 SpvOpFOrdNotEqual
= 182,
873 SpvOpFUnordNotEqual
= 183,
874 SpvOpFOrdLessThan
= 184,
875 SpvOpFUnordLessThan
= 185,
876 SpvOpFOrdGreaterThan
= 186,
877 SpvOpFUnordGreaterThan
= 187,
878 SpvOpFOrdLessThanEqual
= 188,
879 SpvOpFUnordLessThanEqual
= 189,
880 SpvOpFOrdGreaterThanEqual
= 190,
881 SpvOpFUnordGreaterThanEqual
= 191,
882 SpvOpShiftRightLogical
= 194,
883 SpvOpShiftRightArithmetic
= 195,
884 SpvOpShiftLeftLogical
= 196,
885 SpvOpBitwiseOr
= 197,
886 SpvOpBitwiseXor
= 198,
887 SpvOpBitwiseAnd
= 199,
889 SpvOpBitFieldInsert
= 201,
890 SpvOpBitFieldSExtract
= 202,
891 SpvOpBitFieldUExtract
= 203,
892 SpvOpBitReverse
= 204,
899 SpvOpFwidthFine
= 212,
900 SpvOpDPdxCoarse
= 213,
901 SpvOpDPdyCoarse
= 214,
902 SpvOpFwidthCoarse
= 215,
903 SpvOpEmitVertex
= 218,
904 SpvOpEndPrimitive
= 219,
905 SpvOpEmitStreamVertex
= 220,
906 SpvOpEndStreamPrimitive
= 221,
907 SpvOpControlBarrier
= 224,
908 SpvOpMemoryBarrier
= 225,
909 SpvOpAtomicLoad
= 227,
910 SpvOpAtomicStore
= 228,
911 SpvOpAtomicExchange
= 229,
912 SpvOpAtomicCompareExchange
= 230,
913 SpvOpAtomicCompareExchangeWeak
= 231,
914 SpvOpAtomicIIncrement
= 232,
915 SpvOpAtomicIDecrement
= 233,
916 SpvOpAtomicIAdd
= 234,
917 SpvOpAtomicISub
= 235,
918 SpvOpAtomicSMin
= 236,
919 SpvOpAtomicUMin
= 237,
920 SpvOpAtomicSMax
= 238,
921 SpvOpAtomicUMax
= 239,
922 SpvOpAtomicAnd
= 240,
924 SpvOpAtomicXor
= 242,
926 SpvOpLoopMerge
= 246,
927 SpvOpSelectionMerge
= 247,
930 SpvOpBranchConditional
= 250,
934 SpvOpReturnValue
= 254,
935 SpvOpUnreachable
= 255,
936 SpvOpLifetimeStart
= 256,
937 SpvOpLifetimeStop
= 257,
938 SpvOpGroupAsyncCopy
= 259,
939 SpvOpGroupWaitEvents
= 260,
942 SpvOpGroupBroadcast
= 263,
943 SpvOpGroupIAdd
= 264,
944 SpvOpGroupFAdd
= 265,
945 SpvOpGroupFMin
= 266,
946 SpvOpGroupUMin
= 267,
947 SpvOpGroupSMin
= 268,
948 SpvOpGroupFMax
= 269,
949 SpvOpGroupUMax
= 270,
950 SpvOpGroupSMax
= 271,
952 SpvOpWritePipe
= 275,
953 SpvOpReservedReadPipe
= 276,
954 SpvOpReservedWritePipe
= 277,
955 SpvOpReserveReadPipePackets
= 278,
956 SpvOpReserveWritePipePackets
= 279,
957 SpvOpCommitReadPipe
= 280,
958 SpvOpCommitWritePipe
= 281,
959 SpvOpIsValidReserveId
= 282,
960 SpvOpGetNumPipePackets
= 283,
961 SpvOpGetMaxPipePackets
= 284,
962 SpvOpGroupReserveReadPipePackets
= 285,
963 SpvOpGroupReserveWritePipePackets
= 286,
964 SpvOpGroupCommitReadPipe
= 287,
965 SpvOpGroupCommitWritePipe
= 288,
966 SpvOpEnqueueMarker
= 291,
967 SpvOpEnqueueKernel
= 292,
968 SpvOpGetKernelNDrangeSubGroupCount
= 293,
969 SpvOpGetKernelNDrangeMaxSubGroupSize
= 294,
970 SpvOpGetKernelWorkGroupSize
= 295,
971 SpvOpGetKernelPreferredWorkGroupSizeMultiple
= 296,
972 SpvOpRetainEvent
= 297,
973 SpvOpReleaseEvent
= 298,
974 SpvOpCreateUserEvent
= 299,
975 SpvOpIsValidEvent
= 300,
976 SpvOpSetUserEventStatus
= 301,
977 SpvOpCaptureEventProfilingInfo
= 302,
978 SpvOpGetDefaultQueue
= 303,
979 SpvOpBuildNDRange
= 304,
980 SpvOpImageSparseSampleImplicitLod
= 305,
981 SpvOpImageSparseSampleExplicitLod
= 306,
982 SpvOpImageSparseSampleDrefImplicitLod
= 307,
983 SpvOpImageSparseSampleDrefExplicitLod
= 308,
984 SpvOpImageSparseSampleProjImplicitLod
= 309,
985 SpvOpImageSparseSampleProjExplicitLod
= 310,
986 SpvOpImageSparseSampleProjDrefImplicitLod
= 311,
987 SpvOpImageSparseSampleProjDrefExplicitLod
= 312,
988 SpvOpImageSparseFetch
= 313,
989 SpvOpImageSparseGather
= 314,
990 SpvOpImageSparseDrefGather
= 315,
991 SpvOpImageSparseTexelsResident
= 316,
993 SpvOpAtomicFlagTestAndSet
= 318,
994 SpvOpAtomicFlagClear
= 319,
995 SpvOpImageSparseRead
= 320,
997 SpvOpTypePipeStorage
= 322,
998 SpvOpConstantPipeStorage
= 323,
999 SpvOpCreatePipeFromPipeStorage
= 324,
1000 SpvOpGetKernelLocalSizeForSubgroupCount
= 325,
1001 SpvOpGetKernelMaxNumSubgroups
= 326,
1002 SpvOpTypeNamedBarrier
= 327,
1003 SpvOpNamedBarrierInitialize
= 328,
1004 SpvOpMemoryNamedBarrier
= 329,
1005 SpvOpModuleProcessed
= 330,
1006 SpvOpExecutionModeId
= 331,
1007 SpvOpDecorateId
= 332,
1008 SpvOpGroupNonUniformElect
= 333,
1009 SpvOpGroupNonUniformAll
= 334,
1010 SpvOpGroupNonUniformAny
= 335,
1011 SpvOpGroupNonUniformAllEqual
= 336,
1012 SpvOpGroupNonUniformBroadcast
= 337,
1013 SpvOpGroupNonUniformBroadcastFirst
= 338,
1014 SpvOpGroupNonUniformBallot
= 339,
1015 SpvOpGroupNonUniformInverseBallot
= 340,
1016 SpvOpGroupNonUniformBallotBitExtract
= 341,
1017 SpvOpGroupNonUniformBallotBitCount
= 342,
1018 SpvOpGroupNonUniformBallotFindLSB
= 343,
1019 SpvOpGroupNonUniformBallotFindMSB
= 344,
1020 SpvOpGroupNonUniformShuffle
= 345,
1021 SpvOpGroupNonUniformShuffleXor
= 346,
1022 SpvOpGroupNonUniformShuffleUp
= 347,
1023 SpvOpGroupNonUniformShuffleDown
= 348,
1024 SpvOpGroupNonUniformIAdd
= 349,
1025 SpvOpGroupNonUniformFAdd
= 350,
1026 SpvOpGroupNonUniformIMul
= 351,
1027 SpvOpGroupNonUniformFMul
= 352,
1028 SpvOpGroupNonUniformSMin
= 353,
1029 SpvOpGroupNonUniformUMin
= 354,
1030 SpvOpGroupNonUniformFMin
= 355,
1031 SpvOpGroupNonUniformSMax
= 356,
1032 SpvOpGroupNonUniformUMax
= 357,
1033 SpvOpGroupNonUniformFMax
= 358,
1034 SpvOpGroupNonUniformBitwiseAnd
= 359,
1035 SpvOpGroupNonUniformBitwiseOr
= 360,
1036 SpvOpGroupNonUniformBitwiseXor
= 361,
1037 SpvOpGroupNonUniformLogicalAnd
= 362,
1038 SpvOpGroupNonUniformLogicalOr
= 363,
1039 SpvOpGroupNonUniformLogicalXor
= 364,
1040 SpvOpGroupNonUniformQuadBroadcast
= 365,
1041 SpvOpGroupNonUniformQuadSwap
= 366,
1042 SpvOpSubgroupBallotKHR
= 4421,
1043 SpvOpSubgroupFirstInvocationKHR
= 4422,
1044 SpvOpSubgroupAllKHR
= 4428,
1045 SpvOpSubgroupAnyKHR
= 4429,
1046 SpvOpSubgroupAllEqualKHR
= 4430,
1047 SpvOpSubgroupReadInvocationKHR
= 4432,
1048 SpvOpGroupIAddNonUniformAMD
= 5000,
1049 SpvOpGroupFAddNonUniformAMD
= 5001,
1050 SpvOpGroupFMinNonUniformAMD
= 5002,
1051 SpvOpGroupUMinNonUniformAMD
= 5003,
1052 SpvOpGroupSMinNonUniformAMD
= 5004,
1053 SpvOpGroupFMaxNonUniformAMD
= 5005,
1054 SpvOpGroupUMaxNonUniformAMD
= 5006,
1055 SpvOpGroupSMaxNonUniformAMD
= 5007,
1056 SpvOpFragmentMaskFetchAMD
= 5011,
1057 SpvOpFragmentFetchAMD
= 5012,
1058 SpvOpSubgroupShuffleINTEL
= 5571,
1059 SpvOpSubgroupShuffleDownINTEL
= 5572,
1060 SpvOpSubgroupShuffleUpINTEL
= 5573,
1061 SpvOpSubgroupShuffleXorINTEL
= 5574,
1062 SpvOpSubgroupBlockReadINTEL
= 5575,
1063 SpvOpSubgroupBlockWriteINTEL
= 5576,
1064 SpvOpSubgroupImageBlockReadINTEL
= 5577,
1065 SpvOpSubgroupImageBlockWriteINTEL
= 5578,
1066 SpvOpDecorateStringGOOGLE
= 5632,
1067 SpvOpMemberDecorateStringGOOGLE
= 5633,
1068 SpvOpMax
= 0x7fffffff,
1071 #endif // #ifndef spirv_H