1 | // Copyright (c) 2014-2019 The Khronos Group Inc.
|
---|
2 | //
|
---|
3 | // Permission is hereby granted, free of charge, to any person obtaining a copy
|
---|
4 | // of this software and/or associated documentation files (the "Materials"),
|
---|
5 | // to deal in the Materials without restriction, including without limitation
|
---|
6 | // the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
---|
7 | // and/or sell copies of the Materials, and to permit persons to whom the
|
---|
8 | // Materials are furnished to do so, subject to the following conditions:
|
---|
9 | //
|
---|
10 | // The above copyright notice and this permission notice shall be included in
|
---|
11 | // all copies or substantial portions of the Materials.
|
---|
12 | //
|
---|
13 | // MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS
|
---|
14 | // STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND
|
---|
15 | // HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/
|
---|
16 | //
|
---|
17 | // THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
---|
18 | // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
---|
19 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
---|
20 | // THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
---|
21 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
---|
22 | // FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS
|
---|
23 | // IN THE MATERIALS.
|
---|
24 |
|
---|
25 | // This header is automatically generated by the same tool that creates
|
---|
26 | // the Binary Section of the SPIR-V specification.
|
---|
27 |
|
---|
28 | // Enumeration tokens for SPIR-V, in various styles:
|
---|
29 | // C, C++, C++11, JSON, Lua, Python, C#, D
|
---|
30 | //
|
---|
31 | // - C will have tokens with a "Spv" prefix, e.g.: SpvSourceLanguageGLSL
|
---|
32 | // - C++ will have tokens in the "spv" name space, e.g.: spv::SourceLanguageGLSL
|
---|
33 | // - C++11 will use enum classes in the spv namespace, e.g.: spv::SourceLanguage::GLSL
|
---|
34 | // - Lua will use tables, e.g.: spv.SourceLanguage.GLSL
|
---|
35 | // - Python will use dictionaries, e.g.: spv['SourceLanguage']['GLSL']
|
---|
36 | // - C# will use enum classes in the Specification class located in the "Spv" namespace,
|
---|
37 | // e.g.: Spv.Specification.SourceLanguage.GLSL
|
---|
38 | // - D will have tokens under the "spv" module, e.g: spv.SourceLanguage.GLSL
|
---|
39 | //
|
---|
40 | // Some tokens act like mask values, which can be OR'd together,
|
---|
41 | // while others are mutually exclusive. The mask-like ones have
|
---|
42 | // "Mask" in their name, and a parallel enum that has the shift
|
---|
43 | // amount (1 << x) for each corresponding enumerant.
|
---|
44 |
|
---|
45 | #ifndef spirv_HPP
|
---|
46 | #define spirv_HPP
|
---|
47 |
|
---|
48 | namespace spv {
|
---|
49 |
|
---|
50 | typedef unsigned int Id;
|
---|
51 |
|
---|
52 | #define SPV_VERSION 0x10400
|
---|
53 | #define SPV_REVISION 1
|
---|
54 |
|
---|
55 | static const unsigned int MagicNumber = 0x07230203;
|
---|
56 | static const unsigned int Version = 0x00010400;
|
---|
57 | static const unsigned int Revision = 1;
|
---|
58 | static const unsigned int OpCodeMask = 0xffff;
|
---|
59 | static const unsigned int WordCountShift = 16;
|
---|
60 |
|
---|
61 | enum SourceLanguage {
|
---|
62 | SourceLanguageUnknown = 0,
|
---|
63 | SourceLanguageESSL = 1,
|
---|
64 | SourceLanguageGLSL = 2,
|
---|
65 | SourceLanguageOpenCL_C = 3,
|
---|
66 | SourceLanguageOpenCL_CPP = 4,
|
---|
67 | SourceLanguageHLSL = 5,
|
---|
68 | SourceLanguageMax = 0x7fffffff,
|
---|
69 | };
|
---|
70 |
|
---|
71 | enum ExecutionModel {
|
---|
72 | ExecutionModelVertex = 0,
|
---|
73 | ExecutionModelTessellationControl = 1,
|
---|
74 | ExecutionModelTessellationEvaluation = 2,
|
---|
75 | ExecutionModelGeometry = 3,
|
---|
76 | ExecutionModelFragment = 4,
|
---|
77 | ExecutionModelGLCompute = 5,
|
---|
78 | ExecutionModelKernel = 6,
|
---|
79 | ExecutionModelTaskNV = 5267,
|
---|
80 | ExecutionModelMeshNV = 5268,
|
---|
81 | ExecutionModelRayGenerationNV = 5313,
|
---|
82 | ExecutionModelIntersectionNV = 5314,
|
---|
83 | ExecutionModelAnyHitNV = 5315,
|
---|
84 | ExecutionModelClosestHitNV = 5316,
|
---|
85 | ExecutionModelMissNV = 5317,
|
---|
86 | ExecutionModelCallableNV = 5318,
|
---|
87 | ExecutionModelMax = 0x7fffffff,
|
---|
88 | };
|
---|
89 |
|
---|
90 | enum AddressingModel {
|
---|
91 | AddressingModelLogical = 0,
|
---|
92 | AddressingModelPhysical32 = 1,
|
---|
93 | AddressingModelPhysical64 = 2,
|
---|
94 | AddressingModelPhysicalStorageBuffer64EXT = 5348,
|
---|
95 | AddressingModelMax = 0x7fffffff,
|
---|
96 | };
|
---|
97 |
|
---|
98 | enum MemoryModel {
|
---|
99 | MemoryModelSimple = 0,
|
---|
100 | MemoryModelGLSL450 = 1,
|
---|
101 | MemoryModelOpenCL = 2,
|
---|
102 | MemoryModelVulkanKHR = 3,
|
---|
103 | MemoryModelMax = 0x7fffffff,
|
---|
104 | };
|
---|
105 |
|
---|
106 | enum ExecutionMode {
|
---|
107 | ExecutionModeInvocations = 0,
|
---|
108 | ExecutionModeSpacingEqual = 1,
|
---|
109 | ExecutionModeSpacingFractionalEven = 2,
|
---|
110 | ExecutionModeSpacingFractionalOdd = 3,
|
---|
111 | ExecutionModeVertexOrderCw = 4,
|
---|
112 | ExecutionModeVertexOrderCcw = 5,
|
---|
113 | ExecutionModePixelCenterInteger = 6,
|
---|
114 | ExecutionModeOriginUpperLeft = 7,
|
---|
115 | ExecutionModeOriginLowerLeft = 8,
|
---|
116 | ExecutionModeEarlyFragmentTests = 9,
|
---|
117 | ExecutionModePointMode = 10,
|
---|
118 | ExecutionModeXfb = 11,
|
---|
119 | ExecutionModeDepthReplacing = 12,
|
---|
120 | ExecutionModeDepthGreater = 14,
|
---|
121 | ExecutionModeDepthLess = 15,
|
---|
122 | ExecutionModeDepthUnchanged = 16,
|
---|
123 | ExecutionModeLocalSize = 17,
|
---|
124 | ExecutionModeLocalSizeHint = 18,
|
---|
125 | ExecutionModeInputPoints = 19,
|
---|
126 | ExecutionModeInputLines = 20,
|
---|
127 | ExecutionModeInputLinesAdjacency = 21,
|
---|
128 | ExecutionModeTriangles = 22,
|
---|
129 | ExecutionModeInputTrianglesAdjacency = 23,
|
---|
130 | ExecutionModeQuads = 24,
|
---|
131 | ExecutionModeIsolines = 25,
|
---|
132 | ExecutionModeOutputVertices = 26,
|
---|
133 | ExecutionModeOutputPoints = 27,
|
---|
134 | ExecutionModeOutputLineStrip = 28,
|
---|
135 | ExecutionModeOutputTriangleStrip = 29,
|
---|
136 | ExecutionModeVecTypeHint = 30,
|
---|
137 | ExecutionModeContractionOff = 31,
|
---|
138 | ExecutionModeInitializer = 33,
|
---|
139 | ExecutionModeFinalizer = 34,
|
---|
140 | ExecutionModeSubgroupSize = 35,
|
---|
141 | ExecutionModeSubgroupsPerWorkgroup = 36,
|
---|
142 | ExecutionModeSubgroupsPerWorkgroupId = 37,
|
---|
143 | ExecutionModeLocalSizeId = 38,
|
---|
144 | ExecutionModeLocalSizeHintId = 39,
|
---|
145 | ExecutionModePostDepthCoverage = 4446,
|
---|
146 | ExecutionModeDenormPreserve = 4459,
|
---|
147 | ExecutionModeDenormFlushToZero = 4460,
|
---|
148 | ExecutionModeSignedZeroInfNanPreserve = 4461,
|
---|
149 | ExecutionModeRoundingModeRTE = 4462,
|
---|
150 | ExecutionModeRoundingModeRTZ = 4463,
|
---|
151 | ExecutionModeStencilRefReplacingEXT = 5027,
|
---|
152 | ExecutionModeOutputLinesNV = 5269,
|
---|
153 | ExecutionModeOutputPrimitivesNV = 5270,
|
---|
154 | ExecutionModeDerivativeGroupQuadsNV = 5289,
|
---|
155 | ExecutionModeDerivativeGroupLinearNV = 5290,
|
---|
156 | ExecutionModeOutputTrianglesNV = 5298,
|
---|
157 | ExecutionModePixelInterlockOrderedEXT = 5366,
|
---|
158 | ExecutionModePixelInterlockUnorderedEXT = 5367,
|
---|
159 | ExecutionModeSampleInterlockOrderedEXT = 5368,
|
---|
160 | ExecutionModeSampleInterlockUnorderedEXT = 5369,
|
---|
161 | ExecutionModeShadingRateInterlockOrderedEXT = 5370,
|
---|
162 | ExecutionModeShadingRateInterlockUnorderedEXT = 5371,
|
---|
163 | ExecutionModeMax = 0x7fffffff,
|
---|
164 | };
|
---|
165 |
|
---|
166 | enum StorageClass {
|
---|
167 | StorageClassUniformConstant = 0,
|
---|
168 | StorageClassInput = 1,
|
---|
169 | StorageClassUniform = 2,
|
---|
170 | StorageClassOutput = 3,
|
---|
171 | StorageClassWorkgroup = 4,
|
---|
172 | StorageClassCrossWorkgroup = 5,
|
---|
173 | StorageClassPrivate = 6,
|
---|
174 | StorageClassFunction = 7,
|
---|
175 | StorageClassGeneric = 8,
|
---|
176 | StorageClassPushConstant = 9,
|
---|
177 | StorageClassAtomicCounter = 10,
|
---|
178 | StorageClassImage = 11,
|
---|
179 | StorageClassStorageBuffer = 12,
|
---|
180 | StorageClassCallableDataNV = 5328,
|
---|
181 | StorageClassIncomingCallableDataNV = 5329,
|
---|
182 | StorageClassRayPayloadNV = 5338,
|
---|
183 | StorageClassHitAttributeNV = 5339,
|
---|
184 | StorageClassIncomingRayPayloadNV = 5342,
|
---|
185 | StorageClassShaderRecordBufferNV = 5343,
|
---|
186 | StorageClassPhysicalStorageBufferEXT = 5349,
|
---|
187 | StorageClassMax = 0x7fffffff,
|
---|
188 | };
|
---|
189 |
|
---|
190 | enum Dim {
|
---|
191 | Dim1D = 0,
|
---|
192 | Dim2D = 1,
|
---|
193 | Dim3D = 2,
|
---|
194 | DimCube = 3,
|
---|
195 | DimRect = 4,
|
---|
196 | DimBuffer = 5,
|
---|
197 | DimSubpassData = 6,
|
---|
198 | DimMax = 0x7fffffff,
|
---|
199 | };
|
---|
200 |
|
---|
201 | enum SamplerAddressingMode {
|
---|
202 | SamplerAddressingModeNone = 0,
|
---|
203 | SamplerAddressingModeClampToEdge = 1,
|
---|
204 | SamplerAddressingModeClamp = 2,
|
---|
205 | SamplerAddressingModeRepeat = 3,
|
---|
206 | SamplerAddressingModeRepeatMirrored = 4,
|
---|
207 | SamplerAddressingModeMax = 0x7fffffff,
|
---|
208 | };
|
---|
209 |
|
---|
210 | enum SamplerFilterMode {
|
---|
211 | SamplerFilterModeNearest = 0,
|
---|
212 | SamplerFilterModeLinear = 1,
|
---|
213 | SamplerFilterModeMax = 0x7fffffff,
|
---|
214 | };
|
---|
215 |
|
---|
216 | enum ImageFormat {
|
---|
217 | ImageFormatUnknown = 0,
|
---|
218 | ImageFormatRgba32f = 1,
|
---|
219 | ImageFormatRgba16f = 2,
|
---|
220 | ImageFormatR32f = 3,
|
---|
221 | ImageFormatRgba8 = 4,
|
---|
222 | ImageFormatRgba8Snorm = 5,
|
---|
223 | ImageFormatRg32f = 6,
|
---|
224 | ImageFormatRg16f = 7,
|
---|
225 | ImageFormatR11fG11fB10f = 8,
|
---|
226 | ImageFormatR16f = 9,
|
---|
227 | ImageFormatRgba16 = 10,
|
---|
228 | ImageFormatRgb10A2 = 11,
|
---|
229 | ImageFormatRg16 = 12,
|
---|
230 | ImageFormatRg8 = 13,
|
---|
231 | ImageFormatR16 = 14,
|
---|
232 | ImageFormatR8 = 15,
|
---|
233 | ImageFormatRgba16Snorm = 16,
|
---|
234 | ImageFormatRg16Snorm = 17,
|
---|
235 | ImageFormatRg8Snorm = 18,
|
---|
236 | ImageFormatR16Snorm = 19,
|
---|
237 | ImageFormatR8Snorm = 20,
|
---|
238 | ImageFormatRgba32i = 21,
|
---|
239 | ImageFormatRgba16i = 22,
|
---|
240 | ImageFormatRgba8i = 23,
|
---|
241 | ImageFormatR32i = 24,
|
---|
242 | ImageFormatRg32i = 25,
|
---|
243 | ImageFormatRg16i = 26,
|
---|
244 | ImageFormatRg8i = 27,
|
---|
245 | ImageFormatR16i = 28,
|
---|
246 | ImageFormatR8i = 29,
|
---|
247 | ImageFormatRgba32ui = 30,
|
---|
248 | ImageFormatRgba16ui = 31,
|
---|
249 | ImageFormatRgba8ui = 32,
|
---|
250 | ImageFormatR32ui = 33,
|
---|
251 | ImageFormatRgb10a2ui = 34,
|
---|
252 | ImageFormatRg32ui = 35,
|
---|
253 | ImageFormatRg16ui = 36,
|
---|
254 | ImageFormatRg8ui = 37,
|
---|
255 | ImageFormatR16ui = 38,
|
---|
256 | ImageFormatR8ui = 39,
|
---|
257 | ImageFormatMax = 0x7fffffff,
|
---|
258 | };
|
---|
259 |
|
---|
260 | enum ImageChannelOrder {
|
---|
261 | ImageChannelOrderR = 0,
|
---|
262 | ImageChannelOrderA = 1,
|
---|
263 | ImageChannelOrderRG = 2,
|
---|
264 | ImageChannelOrderRA = 3,
|
---|
265 | ImageChannelOrderRGB = 4,
|
---|
266 | ImageChannelOrderRGBA = 5,
|
---|
267 | ImageChannelOrderBGRA = 6,
|
---|
268 | ImageChannelOrderARGB = 7,
|
---|
269 | ImageChannelOrderIntensity = 8,
|
---|
270 | ImageChannelOrderLuminance = 9,
|
---|
271 | ImageChannelOrderRx = 10,
|
---|
272 | ImageChannelOrderRGx = 11,
|
---|
273 | ImageChannelOrderRGBx = 12,
|
---|
274 | ImageChannelOrderDepth = 13,
|
---|
275 | ImageChannelOrderDepthStencil = 14,
|
---|
276 | ImageChannelOrdersRGB = 15,
|
---|
277 | ImageChannelOrdersRGBx = 16,
|
---|
278 | ImageChannelOrdersRGBA = 17,
|
---|
279 | ImageChannelOrdersBGRA = 18,
|
---|
280 | ImageChannelOrderABGR = 19,
|
---|
281 | ImageChannelOrderMax = 0x7fffffff,
|
---|
282 | };
|
---|
283 |
|
---|
284 | enum ImageChannelDataType {
|
---|
285 | ImageChannelDataTypeSnormInt8 = 0,
|
---|
286 | ImageChannelDataTypeSnormInt16 = 1,
|
---|
287 | ImageChannelDataTypeUnormInt8 = 2,
|
---|
288 | ImageChannelDataTypeUnormInt16 = 3,
|
---|
289 | ImageChannelDataTypeUnormShort565 = 4,
|
---|
290 | ImageChannelDataTypeUnormShort555 = 5,
|
---|
291 | ImageChannelDataTypeUnormInt101010 = 6,
|
---|
292 | ImageChannelDataTypeSignedInt8 = 7,
|
---|
293 | ImageChannelDataTypeSignedInt16 = 8,
|
---|
294 | ImageChannelDataTypeSignedInt32 = 9,
|
---|
295 | ImageChannelDataTypeUnsignedInt8 = 10,
|
---|
296 | ImageChannelDataTypeUnsignedInt16 = 11,
|
---|
297 | ImageChannelDataTypeUnsignedInt32 = 12,
|
---|
298 | ImageChannelDataTypeHalfFloat = 13,
|
---|
299 | ImageChannelDataTypeFloat = 14,
|
---|
300 | ImageChannelDataTypeUnormInt24 = 15,
|
---|
301 | ImageChannelDataTypeUnormInt101010_2 = 16,
|
---|
302 | ImageChannelDataTypeMax = 0x7fffffff,
|
---|
303 | };
|
---|
304 |
|
---|
305 | enum ImageOperandsShift {
|
---|
306 | ImageOperandsBiasShift = 0,
|
---|
307 | ImageOperandsLodShift = 1,
|
---|
308 | ImageOperandsGradShift = 2,
|
---|
309 | ImageOperandsConstOffsetShift = 3,
|
---|
310 | ImageOperandsOffsetShift = 4,
|
---|
311 | ImageOperandsConstOffsetsShift = 5,
|
---|
312 | ImageOperandsSampleShift = 6,
|
---|
313 | ImageOperandsMinLodShift = 7,
|
---|
314 | ImageOperandsMakeTexelAvailableKHRShift = 8,
|
---|
315 | ImageOperandsMakeTexelVisibleKHRShift = 9,
|
---|
316 | ImageOperandsNonPrivateTexelKHRShift = 10,
|
---|
317 | ImageOperandsVolatileTexelKHRShift = 11,
|
---|
318 | ImageOperandsSignExtendShift = 12,
|
---|
319 | ImageOperandsZeroExtendShift = 13,
|
---|
320 | ImageOperandsMax = 0x7fffffff,
|
---|
321 | };
|
---|
322 |
|
---|
323 | enum ImageOperandsMask {
|
---|
324 | ImageOperandsMaskNone = 0,
|
---|
325 | ImageOperandsBiasMask = 0x00000001,
|
---|
326 | ImageOperandsLodMask = 0x00000002,
|
---|
327 | ImageOperandsGradMask = 0x00000004,
|
---|
328 | ImageOperandsConstOffsetMask = 0x00000008,
|
---|
329 | ImageOperandsOffsetMask = 0x00000010,
|
---|
330 | ImageOperandsConstOffsetsMask = 0x00000020,
|
---|
331 | ImageOperandsSampleMask = 0x00000040,
|
---|
332 | ImageOperandsMinLodMask = 0x00000080,
|
---|
333 | ImageOperandsMakeTexelAvailableKHRMask = 0x00000100,
|
---|
334 | ImageOperandsMakeTexelVisibleKHRMask = 0x00000200,
|
---|
335 | ImageOperandsNonPrivateTexelKHRMask = 0x00000400,
|
---|
336 | ImageOperandsVolatileTexelKHRMask = 0x00000800,
|
---|
337 | ImageOperandsSignExtendMask = 0x00001000,
|
---|
338 | ImageOperandsZeroExtendMask = 0x00002000,
|
---|
339 | };
|
---|
340 |
|
---|
341 | enum FPFastMathModeShift {
|
---|
342 | FPFastMathModeNotNaNShift = 0,
|
---|
343 | FPFastMathModeNotInfShift = 1,
|
---|
344 | FPFastMathModeNSZShift = 2,
|
---|
345 | FPFastMathModeAllowRecipShift = 3,
|
---|
346 | FPFastMathModeFastShift = 4,
|
---|
347 | FPFastMathModeMax = 0x7fffffff,
|
---|
348 | };
|
---|
349 |
|
---|
350 | enum FPFastMathModeMask {
|
---|
351 | FPFastMathModeMaskNone = 0,
|
---|
352 | FPFastMathModeNotNaNMask = 0x00000001,
|
---|
353 | FPFastMathModeNotInfMask = 0x00000002,
|
---|
354 | FPFastMathModeNSZMask = 0x00000004,
|
---|
355 | FPFastMathModeAllowRecipMask = 0x00000008,
|
---|
356 | FPFastMathModeFastMask = 0x00000010,
|
---|
357 | };
|
---|
358 |
|
---|
359 | enum FPRoundingMode {
|
---|
360 | FPRoundingModeRTE = 0,
|
---|
361 | FPRoundingModeRTZ = 1,
|
---|
362 | FPRoundingModeRTP = 2,
|
---|
363 | FPRoundingModeRTN = 3,
|
---|
364 | FPRoundingModeMax = 0x7fffffff,
|
---|
365 | };
|
---|
366 |
|
---|
367 | enum LinkageType {
|
---|
368 | LinkageTypeExport = 0,
|
---|
369 | LinkageTypeImport = 1,
|
---|
370 | LinkageTypeMax = 0x7fffffff,
|
---|
371 | };
|
---|
372 |
|
---|
373 | enum AccessQualifier {
|
---|
374 | AccessQualifierReadOnly = 0,
|
---|
375 | AccessQualifierWriteOnly = 1,
|
---|
376 | AccessQualifierReadWrite = 2,
|
---|
377 | AccessQualifierMax = 0x7fffffff,
|
---|
378 | };
|
---|
379 |
|
---|
380 | enum FunctionParameterAttribute {
|
---|
381 | FunctionParameterAttributeZext = 0,
|
---|
382 | FunctionParameterAttributeSext = 1,
|
---|
383 | FunctionParameterAttributeByVal = 2,
|
---|
384 | FunctionParameterAttributeSret = 3,
|
---|
385 | FunctionParameterAttributeNoAlias = 4,
|
---|
386 | FunctionParameterAttributeNoCapture = 5,
|
---|
387 | FunctionParameterAttributeNoWrite = 6,
|
---|
388 | FunctionParameterAttributeNoReadWrite = 7,
|
---|
389 | FunctionParameterAttributeMax = 0x7fffffff,
|
---|
390 | };
|
---|
391 |
|
---|
392 | enum Decoration {
|
---|
393 | DecorationRelaxedPrecision = 0,
|
---|
394 | DecorationSpecId = 1,
|
---|
395 | DecorationBlock = 2,
|
---|
396 | DecorationBufferBlock = 3,
|
---|
397 | DecorationRowMajor = 4,
|
---|
398 | DecorationColMajor = 5,
|
---|
399 | DecorationArrayStride = 6,
|
---|
400 | DecorationMatrixStride = 7,
|
---|
401 | DecorationGLSLShared = 8,
|
---|
402 | DecorationGLSLPacked = 9,
|
---|
403 | DecorationCPacked = 10,
|
---|
404 | DecorationBuiltIn = 11,
|
---|
405 | DecorationNoPerspective = 13,
|
---|
406 | DecorationFlat = 14,
|
---|
407 | DecorationPatch = 15,
|
---|
408 | DecorationCentroid = 16,
|
---|
409 | DecorationSample = 17,
|
---|
410 | DecorationInvariant = 18,
|
---|
411 | DecorationRestrict = 19,
|
---|
412 | DecorationAliased = 20,
|
---|
413 | DecorationVolatile = 21,
|
---|
414 | DecorationConstant = 22,
|
---|
415 | DecorationCoherent = 23,
|
---|
416 | DecorationNonWritable = 24,
|
---|
417 | DecorationNonReadable = 25,
|
---|
418 | DecorationUniform = 26,
|
---|
419 | DecorationUniformId = 27,
|
---|
420 | DecorationSaturatedConversion = 28,
|
---|
421 | DecorationStream = 29,
|
---|
422 | DecorationLocation = 30,
|
---|
423 | DecorationComponent = 31,
|
---|
424 | DecorationIndex = 32,
|
---|
425 | DecorationBinding = 33,
|
---|
426 | DecorationDescriptorSet = 34,
|
---|
427 | DecorationOffset = 35,
|
---|
428 | DecorationXfbBuffer = 36,
|
---|
429 | DecorationXfbStride = 37,
|
---|
430 | DecorationFuncParamAttr = 38,
|
---|
431 | DecorationFPRoundingMode = 39,
|
---|
432 | DecorationFPFastMathMode = 40,
|
---|
433 | DecorationLinkageAttributes = 41,
|
---|
434 | DecorationNoContraction = 42,
|
---|
435 | DecorationInputAttachmentIndex = 43,
|
---|
436 | DecorationAlignment = 44,
|
---|
437 | DecorationMaxByteOffset = 45,
|
---|
438 | DecorationAlignmentId = 46,
|
---|
439 | DecorationMaxByteOffsetId = 47,
|
---|
440 | DecorationNoSignedWrap = 4469,
|
---|
441 | DecorationNoUnsignedWrap = 4470,
|
---|
442 | DecorationExplicitInterpAMD = 4999,
|
---|
443 | DecorationOverrideCoverageNV = 5248,
|
---|
444 | DecorationPassthroughNV = 5250,
|
---|
445 | DecorationViewportRelativeNV = 5252,
|
---|
446 | DecorationSecondaryViewportRelativeNV = 5256,
|
---|
447 | DecorationPerPrimitiveNV = 5271,
|
---|
448 | DecorationPerViewNV = 5272,
|
---|
449 | DecorationPerTaskNV = 5273,
|
---|
450 | DecorationPerVertexNV = 5285,
|
---|
451 | DecorationNonUniformEXT = 5300,
|
---|
452 | DecorationRestrictPointerEXT = 5355,
|
---|
453 | DecorationAliasedPointerEXT = 5356,
|
---|
454 | DecorationCounterBuffer = 5634,
|
---|
455 | DecorationHlslCounterBufferGOOGLE = 5634,
|
---|
456 | DecorationHlslSemanticGOOGLE = 5635,
|
---|
457 | DecorationUserSemantic = 5635,
|
---|
458 | DecorationUserTypeGOOGLE = 5636,
|
---|
459 | DecorationMax = 0x7fffffff,
|
---|
460 | };
|
---|
461 |
|
---|
462 | enum BuiltIn {
|
---|
463 | BuiltInPosition = 0,
|
---|
464 | BuiltInPointSize = 1,
|
---|
465 | BuiltInClipDistance = 3,
|
---|
466 | BuiltInCullDistance = 4,
|
---|
467 | BuiltInVertexId = 5,
|
---|
468 | BuiltInInstanceId = 6,
|
---|
469 | BuiltInPrimitiveId = 7,
|
---|
470 | BuiltInInvocationId = 8,
|
---|
471 | BuiltInLayer = 9,
|
---|
472 | BuiltInViewportIndex = 10,
|
---|
473 | BuiltInTessLevelOuter = 11,
|
---|
474 | BuiltInTessLevelInner = 12,
|
---|
475 | BuiltInTessCoord = 13,
|
---|
476 | BuiltInPatchVertices = 14,
|
---|
477 | BuiltInFragCoord = 15,
|
---|
478 | BuiltInPointCoord = 16,
|
---|
479 | BuiltInFrontFacing = 17,
|
---|
480 | BuiltInSampleId = 18,
|
---|
481 | BuiltInSamplePosition = 19,
|
---|
482 | BuiltInSampleMask = 20,
|
---|
483 | BuiltInFragDepth = 22,
|
---|
484 | BuiltInHelperInvocation = 23,
|
---|
485 | BuiltInNumWorkgroups = 24,
|
---|
486 | BuiltInWorkgroupSize = 25,
|
---|
487 | BuiltInWorkgroupId = 26,
|
---|
488 | BuiltInLocalInvocationId = 27,
|
---|
489 | BuiltInGlobalInvocationId = 28,
|
---|
490 | BuiltInLocalInvocationIndex = 29,
|
---|
491 | BuiltInWorkDim = 30,
|
---|
492 | BuiltInGlobalSize = 31,
|
---|
493 | BuiltInEnqueuedWorkgroupSize = 32,
|
---|
494 | BuiltInGlobalOffset = 33,
|
---|
495 | BuiltInGlobalLinearId = 34,
|
---|
496 | BuiltInSubgroupSize = 36,
|
---|
497 | BuiltInSubgroupMaxSize = 37,
|
---|
498 | BuiltInNumSubgroups = 38,
|
---|
499 | BuiltInNumEnqueuedSubgroups = 39,
|
---|
500 | BuiltInSubgroupId = 40,
|
---|
501 | BuiltInSubgroupLocalInvocationId = 41,
|
---|
502 | BuiltInVertexIndex = 42,
|
---|
503 | BuiltInInstanceIndex = 43,
|
---|
504 | BuiltInSubgroupEqMask = 4416,
|
---|
505 | BuiltInSubgroupEqMaskKHR = 4416,
|
---|
506 | BuiltInSubgroupGeMask = 4417,
|
---|
507 | BuiltInSubgroupGeMaskKHR = 4417,
|
---|
508 | BuiltInSubgroupGtMask = 4418,
|
---|
509 | BuiltInSubgroupGtMaskKHR = 4418,
|
---|
510 | BuiltInSubgroupLeMask = 4419,
|
---|
511 | BuiltInSubgroupLeMaskKHR = 4419,
|
---|
512 | BuiltInSubgroupLtMask = 4420,
|
---|
513 | BuiltInSubgroupLtMaskKHR = 4420,
|
---|
514 | BuiltInBaseVertex = 4424,
|
---|
515 | BuiltInBaseInstance = 4425,
|
---|
516 | BuiltInDrawIndex = 4426,
|
---|
517 | BuiltInDeviceIndex = 4438,
|
---|
518 | BuiltInViewIndex = 4440,
|
---|
519 | BuiltInBaryCoordNoPerspAMD = 4992,
|
---|
520 | BuiltInBaryCoordNoPerspCentroidAMD = 4993,
|
---|
521 | BuiltInBaryCoordNoPerspSampleAMD = 4994,
|
---|
522 | BuiltInBaryCoordSmoothAMD = 4995,
|
---|
523 | BuiltInBaryCoordSmoothCentroidAMD = 4996,
|
---|
524 | BuiltInBaryCoordSmoothSampleAMD = 4997,
|
---|
525 | BuiltInBaryCoordPullModelAMD = 4998,
|
---|
526 | BuiltInFragStencilRefEXT = 5014,
|
---|
527 | BuiltInViewportMaskNV = 5253,
|
---|
528 | BuiltInSecondaryPositionNV = 5257,
|
---|
529 | BuiltInSecondaryViewportMaskNV = 5258,
|
---|
530 | BuiltInPositionPerViewNV = 5261,
|
---|
531 | BuiltInViewportMaskPerViewNV = 5262,
|
---|
532 | BuiltInFullyCoveredEXT = 5264,
|
---|
533 | BuiltInTaskCountNV = 5274,
|
---|
534 | BuiltInPrimitiveCountNV = 5275,
|
---|
535 | BuiltInPrimitiveIndicesNV = 5276,
|
---|
536 | BuiltInClipDistancePerViewNV = 5277,
|
---|
537 | BuiltInCullDistancePerViewNV = 5278,
|
---|
538 | BuiltInLayerPerViewNV = 5279,
|
---|
539 | BuiltInMeshViewCountNV = 5280,
|
---|
540 | BuiltInMeshViewIndicesNV = 5281,
|
---|
541 | BuiltInBaryCoordNV = 5286,
|
---|
542 | BuiltInBaryCoordNoPerspNV = 5287,
|
---|
543 | BuiltInFragSizeEXT = 5292,
|
---|
544 | BuiltInFragmentSizeNV = 5292,
|
---|
545 | BuiltInFragInvocationCountEXT = 5293,
|
---|
546 | BuiltInInvocationsPerPixelNV = 5293,
|
---|
547 | BuiltInLaunchIdNV = 5319,
|
---|
548 | BuiltInLaunchSizeNV = 5320,
|
---|
549 | BuiltInWorldRayOriginNV = 5321,
|
---|
550 | BuiltInWorldRayDirectionNV = 5322,
|
---|
551 | BuiltInObjectRayOriginNV = 5323,
|
---|
552 | BuiltInObjectRayDirectionNV = 5324,
|
---|
553 | BuiltInRayTminNV = 5325,
|
---|
554 | BuiltInRayTmaxNV = 5326,
|
---|
555 | BuiltInInstanceCustomIndexNV = 5327,
|
---|
556 | BuiltInObjectToWorldNV = 5330,
|
---|
557 | BuiltInWorldToObjectNV = 5331,
|
---|
558 | BuiltInHitTNV = 5332,
|
---|
559 | BuiltInHitKindNV = 5333,
|
---|
560 | BuiltInIncomingRayFlagsNV = 5351,
|
---|
561 | BuiltInWarpsPerSMNV = 5374,
|
---|
562 | BuiltInSMCountNV = 5375,
|
---|
563 | BuiltInWarpIDNV = 5376,
|
---|
564 | BuiltInSMIDNV = 5377,
|
---|
565 | BuiltInMax = 0x7fffffff,
|
---|
566 | };
|
---|
567 |
|
---|
568 | enum SelectionControlShift {
|
---|
569 | SelectionControlFlattenShift = 0,
|
---|
570 | SelectionControlDontFlattenShift = 1,
|
---|
571 | SelectionControlMax = 0x7fffffff,
|
---|
572 | };
|
---|
573 |
|
---|
574 | enum SelectionControlMask {
|
---|
575 | SelectionControlMaskNone = 0,
|
---|
576 | SelectionControlFlattenMask = 0x00000001,
|
---|
577 | SelectionControlDontFlattenMask = 0x00000002,
|
---|
578 | };
|
---|
579 |
|
---|
580 | enum LoopControlShift {
|
---|
581 | LoopControlUnrollShift = 0,
|
---|
582 | LoopControlDontUnrollShift = 1,
|
---|
583 | LoopControlDependencyInfiniteShift = 2,
|
---|
584 | LoopControlDependencyLengthShift = 3,
|
---|
585 | LoopControlMinIterationsShift = 4,
|
---|
586 | LoopControlMaxIterationsShift = 5,
|
---|
587 | LoopControlIterationMultipleShift = 6,
|
---|
588 | LoopControlPeelCountShift = 7,
|
---|
589 | LoopControlPartialCountShift = 8,
|
---|
590 | LoopControlMax = 0x7fffffff,
|
---|
591 | };
|
---|
592 |
|
---|
593 | enum LoopControlMask {
|
---|
594 | LoopControlMaskNone = 0,
|
---|
595 | LoopControlUnrollMask = 0x00000001,
|
---|
596 | LoopControlDontUnrollMask = 0x00000002,
|
---|
597 | LoopControlDependencyInfiniteMask = 0x00000004,
|
---|
598 | LoopControlDependencyLengthMask = 0x00000008,
|
---|
599 | LoopControlMinIterationsMask = 0x00000010,
|
---|
600 | LoopControlMaxIterationsMask = 0x00000020,
|
---|
601 | LoopControlIterationMultipleMask = 0x00000040,
|
---|
602 | LoopControlPeelCountMask = 0x00000080,
|
---|
603 | LoopControlPartialCountMask = 0x00000100,
|
---|
604 | };
|
---|
605 |
|
---|
606 | enum FunctionControlShift {
|
---|
607 | FunctionControlInlineShift = 0,
|
---|
608 | FunctionControlDontInlineShift = 1,
|
---|
609 | FunctionControlPureShift = 2,
|
---|
610 | FunctionControlConstShift = 3,
|
---|
611 | FunctionControlMax = 0x7fffffff,
|
---|
612 | };
|
---|
613 |
|
---|
614 | enum FunctionControlMask {
|
---|
615 | FunctionControlMaskNone = 0,
|
---|
616 | FunctionControlInlineMask = 0x00000001,
|
---|
617 | FunctionControlDontInlineMask = 0x00000002,
|
---|
618 | FunctionControlPureMask = 0x00000004,
|
---|
619 | FunctionControlConstMask = 0x00000008,
|
---|
620 | };
|
---|
621 |
|
---|
622 | enum MemorySemanticsShift {
|
---|
623 | MemorySemanticsAcquireShift = 1,
|
---|
624 | MemorySemanticsReleaseShift = 2,
|
---|
625 | MemorySemanticsAcquireReleaseShift = 3,
|
---|
626 | MemorySemanticsSequentiallyConsistentShift = 4,
|
---|
627 | MemorySemanticsUniformMemoryShift = 6,
|
---|
628 | MemorySemanticsSubgroupMemoryShift = 7,
|
---|
629 | MemorySemanticsWorkgroupMemoryShift = 8,
|
---|
630 | MemorySemanticsCrossWorkgroupMemoryShift = 9,
|
---|
631 | MemorySemanticsAtomicCounterMemoryShift = 10,
|
---|
632 | MemorySemanticsImageMemoryShift = 11,
|
---|
633 | MemorySemanticsOutputMemoryKHRShift = 12,
|
---|
634 | MemorySemanticsMakeAvailableKHRShift = 13,
|
---|
635 | MemorySemanticsMakeVisibleKHRShift = 14,
|
---|
636 | MemorySemanticsVolatileShift = 15,
|
---|
637 | MemorySemanticsMax = 0x7fffffff,
|
---|
638 | };
|
---|
639 |
|
---|
640 | enum MemorySemanticsMask {
|
---|
641 | MemorySemanticsMaskNone = 0,
|
---|
642 | MemorySemanticsAcquireMask = 0x00000002,
|
---|
643 | MemorySemanticsReleaseMask = 0x00000004,
|
---|
644 | MemorySemanticsAcquireReleaseMask = 0x00000008,
|
---|
645 | MemorySemanticsSequentiallyConsistentMask = 0x00000010,
|
---|
646 | MemorySemanticsUniformMemoryMask = 0x00000040,
|
---|
647 | MemorySemanticsSubgroupMemoryMask = 0x00000080,
|
---|
648 | MemorySemanticsWorkgroupMemoryMask = 0x00000100,
|
---|
649 | MemorySemanticsCrossWorkgroupMemoryMask = 0x00000200,
|
---|
650 | MemorySemanticsAtomicCounterMemoryMask = 0x00000400,
|
---|
651 | MemorySemanticsImageMemoryMask = 0x00000800,
|
---|
652 | MemorySemanticsOutputMemoryKHRMask = 0x00001000,
|
---|
653 | MemorySemanticsMakeAvailableKHRMask = 0x00002000,
|
---|
654 | MemorySemanticsMakeVisibleKHRMask = 0x00004000,
|
---|
655 | MemorySemanticsVolatileMask = 0x00008000,
|
---|
656 | };
|
---|
657 |
|
---|
658 | enum MemoryAccessShift {
|
---|
659 | MemoryAccessVolatileShift = 0,
|
---|
660 | MemoryAccessAlignedShift = 1,
|
---|
661 | MemoryAccessNontemporalShift = 2,
|
---|
662 | MemoryAccessMakePointerAvailableKHRShift = 3,
|
---|
663 | MemoryAccessMakePointerVisibleKHRShift = 4,
|
---|
664 | MemoryAccessNonPrivatePointerKHRShift = 5,
|
---|
665 | MemoryAccessMax = 0x7fffffff,
|
---|
666 | };
|
---|
667 |
|
---|
668 | enum MemoryAccessMask {
|
---|
669 | MemoryAccessMaskNone = 0,
|
---|
670 | MemoryAccessVolatileMask = 0x00000001,
|
---|
671 | MemoryAccessAlignedMask = 0x00000002,
|
---|
672 | MemoryAccessNontemporalMask = 0x00000004,
|
---|
673 | MemoryAccessMakePointerAvailableKHRMask = 0x00000008,
|
---|
674 | MemoryAccessMakePointerVisibleKHRMask = 0x00000010,
|
---|
675 | MemoryAccessNonPrivatePointerKHRMask = 0x00000020,
|
---|
676 | };
|
---|
677 |
|
---|
678 | enum Scope {
|
---|
679 | ScopeCrossDevice = 0,
|
---|
680 | ScopeDevice = 1,
|
---|
681 | ScopeWorkgroup = 2,
|
---|
682 | ScopeSubgroup = 3,
|
---|
683 | ScopeInvocation = 4,
|
---|
684 | ScopeQueueFamilyKHR = 5,
|
---|
685 | ScopeMax = 0x7fffffff,
|
---|
686 | };
|
---|
687 |
|
---|
688 | enum GroupOperation {
|
---|
689 | GroupOperationReduce = 0,
|
---|
690 | GroupOperationInclusiveScan = 1,
|
---|
691 | GroupOperationExclusiveScan = 2,
|
---|
692 | GroupOperationClusteredReduce = 3,
|
---|
693 | GroupOperationPartitionedReduceNV = 6,
|
---|
694 | GroupOperationPartitionedInclusiveScanNV = 7,
|
---|
695 | GroupOperationPartitionedExclusiveScanNV = 8,
|
---|
696 | GroupOperationMax = 0x7fffffff,
|
---|
697 | };
|
---|
698 |
|
---|
699 | enum KernelEnqueueFlags {
|
---|
700 | KernelEnqueueFlagsNoWait = 0,
|
---|
701 | KernelEnqueueFlagsWaitKernel = 1,
|
---|
702 | KernelEnqueueFlagsWaitWorkGroup = 2,
|
---|
703 | KernelEnqueueFlagsMax = 0x7fffffff,
|
---|
704 | };
|
---|
705 |
|
---|
706 | enum KernelProfilingInfoShift {
|
---|
707 | KernelProfilingInfoCmdExecTimeShift = 0,
|
---|
708 | KernelProfilingInfoMax = 0x7fffffff,
|
---|
709 | };
|
---|
710 |
|
---|
711 | enum KernelProfilingInfoMask {
|
---|
712 | KernelProfilingInfoMaskNone = 0,
|
---|
713 | KernelProfilingInfoCmdExecTimeMask = 0x00000001,
|
---|
714 | };
|
---|
715 |
|
---|
716 | enum Capability {
|
---|
717 | CapabilityMatrix = 0,
|
---|
718 | CapabilityShader = 1,
|
---|
719 | CapabilityGeometry = 2,
|
---|
720 | CapabilityTessellation = 3,
|
---|
721 | CapabilityAddresses = 4,
|
---|
722 | CapabilityLinkage = 5,
|
---|
723 | CapabilityKernel = 6,
|
---|
724 | CapabilityVector16 = 7,
|
---|
725 | CapabilityFloat16Buffer = 8,
|
---|
726 | CapabilityFloat16 = 9,
|
---|
727 | CapabilityFloat64 = 10,
|
---|
728 | CapabilityInt64 = 11,
|
---|
729 | CapabilityInt64Atomics = 12,
|
---|
730 | CapabilityImageBasic = 13,
|
---|
731 | CapabilityImageReadWrite = 14,
|
---|
732 | CapabilityImageMipmap = 15,
|
---|
733 | CapabilityPipes = 17,
|
---|
734 | CapabilityGroups = 18,
|
---|
735 | CapabilityDeviceEnqueue = 19,
|
---|
736 | CapabilityLiteralSampler = 20,
|
---|
737 | CapabilityAtomicStorage = 21,
|
---|
738 | CapabilityInt16 = 22,
|
---|
739 | CapabilityTessellationPointSize = 23,
|
---|
740 | CapabilityGeometryPointSize = 24,
|
---|
741 | CapabilityImageGatherExtended = 25,
|
---|
742 | CapabilityStorageImageMultisample = 27,
|
---|
743 | CapabilityUniformBufferArrayDynamicIndexing = 28,
|
---|
744 | CapabilitySampledImageArrayDynamicIndexing = 29,
|
---|
745 | CapabilityStorageBufferArrayDynamicIndexing = 30,
|
---|
746 | CapabilityStorageImageArrayDynamicIndexing = 31,
|
---|
747 | CapabilityClipDistance = 32,
|
---|
748 | CapabilityCullDistance = 33,
|
---|
749 | CapabilityImageCubeArray = 34,
|
---|
750 | CapabilitySampleRateShading = 35,
|
---|
751 | CapabilityImageRect = 36,
|
---|
752 | CapabilitySampledRect = 37,
|
---|
753 | CapabilityGenericPointer = 38,
|
---|
754 | CapabilityInt8 = 39,
|
---|
755 | CapabilityInputAttachment = 40,
|
---|
756 | CapabilitySparseResidency = 41,
|
---|
757 | CapabilityMinLod = 42,
|
---|
758 | CapabilitySampled1D = 43,
|
---|
759 | CapabilityImage1D = 44,
|
---|
760 | CapabilitySampledCubeArray = 45,
|
---|
761 | CapabilitySampledBuffer = 46,
|
---|
762 | CapabilityImageBuffer = 47,
|
---|
763 | CapabilityImageMSArray = 48,
|
---|
764 | CapabilityStorageImageExtendedFormats = 49,
|
---|
765 | CapabilityImageQuery = 50,
|
---|
766 | CapabilityDerivativeControl = 51,
|
---|
767 | CapabilityInterpolationFunction = 52,
|
---|
768 | CapabilityTransformFeedback = 53,
|
---|
769 | CapabilityGeometryStreams = 54,
|
---|
770 | CapabilityStorageImageReadWithoutFormat = 55,
|
---|
771 | CapabilityStorageImageWriteWithoutFormat = 56,
|
---|
772 | CapabilityMultiViewport = 57,
|
---|
773 | CapabilitySubgroupDispatch = 58,
|
---|
774 | CapabilityNamedBarrier = 59,
|
---|
775 | CapabilityPipeStorage = 60,
|
---|
776 | CapabilityGroupNonUniform = 61,
|
---|
777 | CapabilityGroupNonUniformVote = 62,
|
---|
778 | CapabilityGroupNonUniformArithmetic = 63,
|
---|
779 | CapabilityGroupNonUniformBallot = 64,
|
---|
780 | CapabilityGroupNonUniformShuffle = 65,
|
---|
781 | CapabilityGroupNonUniformShuffleRelative = 66,
|
---|
782 | CapabilityGroupNonUniformClustered = 67,
|
---|
783 | CapabilityGroupNonUniformQuad = 68,
|
---|
784 | CapabilitySubgroupBallotKHR = 4423,
|
---|
785 | CapabilityDrawParameters = 4427,
|
---|
786 | CapabilitySubgroupVoteKHR = 4431,
|
---|
787 | CapabilityStorageBuffer16BitAccess = 4433,
|
---|
788 | CapabilityStorageUniformBufferBlock16 = 4433,
|
---|
789 | CapabilityStorageUniform16 = 4434,
|
---|
790 | CapabilityUniformAndStorageBuffer16BitAccess = 4434,
|
---|
791 | CapabilityStoragePushConstant16 = 4435,
|
---|
792 | CapabilityStorageInputOutput16 = 4436,
|
---|
793 | CapabilityDeviceGroup = 4437,
|
---|
794 | CapabilityMultiView = 4439,
|
---|
795 | CapabilityVariablePointersStorageBuffer = 4441,
|
---|
796 | CapabilityVariablePointers = 4442,
|
---|
797 | CapabilityAtomicStorageOps = 4445,
|
---|
798 | CapabilitySampleMaskPostDepthCoverage = 4447,
|
---|
799 | CapabilityStorageBuffer8BitAccess = 4448,
|
---|
800 | CapabilityUniformAndStorageBuffer8BitAccess = 4449,
|
---|
801 | CapabilityStoragePushConstant8 = 4450,
|
---|
802 | CapabilityDenormPreserve = 4464,
|
---|
803 | CapabilityDenormFlushToZero = 4465,
|
---|
804 | CapabilitySignedZeroInfNanPreserve = 4466,
|
---|
805 | CapabilityRoundingModeRTE = 4467,
|
---|
806 | CapabilityRoundingModeRTZ = 4468,
|
---|
807 | CapabilityFloat16ImageAMD = 5008,
|
---|
808 | CapabilityImageGatherBiasLodAMD = 5009,
|
---|
809 | CapabilityFragmentMaskAMD = 5010,
|
---|
810 | CapabilityStencilExportEXT = 5013,
|
---|
811 | CapabilityImageReadWriteLodAMD = 5015,
|
---|
812 | CapabilitySampleMaskOverrideCoverageNV = 5249,
|
---|
813 | CapabilityGeometryShaderPassthroughNV = 5251,
|
---|
814 | CapabilityShaderViewportIndexLayerEXT = 5254,
|
---|
815 | CapabilityShaderViewportIndexLayerNV = 5254,
|
---|
816 | CapabilityShaderViewportMaskNV = 5255,
|
---|
817 | CapabilityShaderStereoViewNV = 5259,
|
---|
818 | CapabilityPerViewAttributesNV = 5260,
|
---|
819 | CapabilityFragmentFullyCoveredEXT = 5265,
|
---|
820 | CapabilityMeshShadingNV = 5266,
|
---|
821 | CapabilityImageFootprintNV = 5282,
|
---|
822 | CapabilityFragmentBarycentricNV = 5284,
|
---|
823 | CapabilityComputeDerivativeGroupQuadsNV = 5288,
|
---|
824 | CapabilityFragmentDensityEXT = 5291,
|
---|
825 | CapabilityShadingRateNV = 5291,
|
---|
826 | CapabilityGroupNonUniformPartitionedNV = 5297,
|
---|
827 | CapabilityShaderNonUniformEXT = 5301,
|
---|
828 | CapabilityRuntimeDescriptorArrayEXT = 5302,
|
---|
829 | CapabilityInputAttachmentArrayDynamicIndexingEXT = 5303,
|
---|
830 | CapabilityUniformTexelBufferArrayDynamicIndexingEXT = 5304,
|
---|
831 | CapabilityStorageTexelBufferArrayDynamicIndexingEXT = 5305,
|
---|
832 | CapabilityUniformBufferArrayNonUniformIndexingEXT = 5306,
|
---|
833 | CapabilitySampledImageArrayNonUniformIndexingEXT = 5307,
|
---|
834 | CapabilityStorageBufferArrayNonUniformIndexingEXT = 5308,
|
---|
835 | CapabilityStorageImageArrayNonUniformIndexingEXT = 5309,
|
---|
836 | CapabilityInputAttachmentArrayNonUniformIndexingEXT = 5310,
|
---|
837 | CapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311,
|
---|
838 | CapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
|
---|
839 | CapabilityRayTracingNV = 5340,
|
---|
840 | CapabilityVulkanMemoryModelKHR = 5345,
|
---|
841 | CapabilityVulkanMemoryModelDeviceScopeKHR = 5346,
|
---|
842 | CapabilityPhysicalStorageBufferAddressesEXT = 5347,
|
---|
843 | CapabilityComputeDerivativeGroupLinearNV = 5350,
|
---|
844 | CapabilityCooperativeMatrixNV = 5357,
|
---|
845 | CapabilityFragmentShaderSampleInterlockEXT = 5363,
|
---|
846 | CapabilityFragmentShaderShadingRateInterlockEXT = 5372,
|
---|
847 | CapabilityShaderSMBuiltinsNV = 5373,
|
---|
848 | CapabilityFragmentShaderPixelInterlockEXT = 5378,
|
---|
849 | CapabilityDemoteToHelperInvocationEXT = 5379,
|
---|
850 | CapabilitySubgroupShuffleINTEL = 5568,
|
---|
851 | CapabilitySubgroupBufferBlockIOINTEL = 5569,
|
---|
852 | CapabilitySubgroupImageBlockIOINTEL = 5570,
|
---|
853 | CapabilitySubgroupImageMediaBlockIOINTEL = 5579,
|
---|
854 | CapabilityIntegerFunctions2INTEL = 5584,
|
---|
855 | CapabilitySubgroupAvcMotionEstimationINTEL = 5696,
|
---|
856 | CapabilitySubgroupAvcMotionEstimationIntraINTEL = 5697,
|
---|
857 | CapabilitySubgroupAvcMotionEstimationChromaINTEL = 5698,
|
---|
858 | CapabilityMax = 0x7fffffff,
|
---|
859 | };
|
---|
860 |
|
---|
861 | enum Op {
|
---|
862 | OpNop = 0,
|
---|
863 | OpUndef = 1,
|
---|
864 | OpSourceContinued = 2,
|
---|
865 | OpSource = 3,
|
---|
866 | OpSourceExtension = 4,
|
---|
867 | OpName = 5,
|
---|
868 | OpMemberName = 6,
|
---|
869 | OpString = 7,
|
---|
870 | OpLine = 8,
|
---|
871 | OpExtension = 10,
|
---|
872 | OpExtInstImport = 11,
|
---|
873 | OpExtInst = 12,
|
---|
874 | OpMemoryModel = 14,
|
---|
875 | OpEntryPoint = 15,
|
---|
876 | OpExecutionMode = 16,
|
---|
877 | OpCapability = 17,
|
---|
878 | OpTypeVoid = 19,
|
---|
879 | OpTypeBool = 20,
|
---|
880 | OpTypeInt = 21,
|
---|
881 | OpTypeFloat = 22,
|
---|
882 | OpTypeVector = 23,
|
---|
883 | OpTypeMatrix = 24,
|
---|
884 | OpTypeImage = 25,
|
---|
885 | OpTypeSampler = 26,
|
---|
886 | OpTypeSampledImage = 27,
|
---|
887 | OpTypeArray = 28,
|
---|
888 | OpTypeRuntimeArray = 29,
|
---|
889 | OpTypeStruct = 30,
|
---|
890 | OpTypeOpaque = 31,
|
---|
891 | OpTypePointer = 32,
|
---|
892 | OpTypeFunction = 33,
|
---|
893 | OpTypeEvent = 34,
|
---|
894 | OpTypeDeviceEvent = 35,
|
---|
895 | OpTypeReserveId = 36,
|
---|
896 | OpTypeQueue = 37,
|
---|
897 | OpTypePipe = 38,
|
---|
898 | OpTypeForwardPointer = 39,
|
---|
899 | OpConstantTrue = 41,
|
---|
900 | OpConstantFalse = 42,
|
---|
901 | OpConstant = 43,
|
---|
902 | OpConstantComposite = 44,
|
---|
903 | OpConstantSampler = 45,
|
---|
904 | OpConstantNull = 46,
|
---|
905 | OpSpecConstantTrue = 48,
|
---|
906 | OpSpecConstantFalse = 49,
|
---|
907 | OpSpecConstant = 50,
|
---|
908 | OpSpecConstantComposite = 51,
|
---|
909 | OpSpecConstantOp = 52,
|
---|
910 | OpFunction = 54,
|
---|
911 | OpFunctionParameter = 55,
|
---|
912 | OpFunctionEnd = 56,
|
---|
913 | OpFunctionCall = 57,
|
---|
914 | OpVariable = 59,
|
---|
915 | OpImageTexelPointer = 60,
|
---|
916 | OpLoad = 61,
|
---|
917 | OpStore = 62,
|
---|
918 | OpCopyMemory = 63,
|
---|
919 | OpCopyMemorySized = 64,
|
---|
920 | OpAccessChain = 65,
|
---|
921 | OpInBoundsAccessChain = 66,
|
---|
922 | OpPtrAccessChain = 67,
|
---|
923 | OpArrayLength = 68,
|
---|
924 | OpGenericPtrMemSemantics = 69,
|
---|
925 | OpInBoundsPtrAccessChain = 70,
|
---|
926 | OpDecorate = 71,
|
---|
927 | OpMemberDecorate = 72,
|
---|
928 | OpDecorationGroup = 73,
|
---|
929 | OpGroupDecorate = 74,
|
---|
930 | OpGroupMemberDecorate = 75,
|
---|
931 | OpVectorExtractDynamic = 77,
|
---|
932 | OpVectorInsertDynamic = 78,
|
---|
933 | OpVectorShuffle = 79,
|
---|
934 | OpCompositeConstruct = 80,
|
---|
935 | OpCompositeExtract = 81,
|
---|
936 | OpCompositeInsert = 82,
|
---|
937 | OpCopyObject = 83,
|
---|
938 | OpTranspose = 84,
|
---|
939 | OpSampledImage = 86,
|
---|
940 | OpImageSampleImplicitLod = 87,
|
---|
941 | OpImageSampleExplicitLod = 88,
|
---|
942 | OpImageSampleDrefImplicitLod = 89,
|
---|
943 | OpImageSampleDrefExplicitLod = 90,
|
---|
944 | OpImageSampleProjImplicitLod = 91,
|
---|
945 | OpImageSampleProjExplicitLod = 92,
|
---|
946 | OpImageSampleProjDrefImplicitLod = 93,
|
---|
947 | OpImageSampleProjDrefExplicitLod = 94,
|
---|
948 | OpImageFetch = 95,
|
---|
949 | OpImageGather = 96,
|
---|
950 | OpImageDrefGather = 97,
|
---|
951 | OpImageRead = 98,
|
---|
952 | OpImageWrite = 99,
|
---|
953 | OpImage = 100,
|
---|
954 | OpImageQueryFormat = 101,
|
---|
955 | OpImageQueryOrder = 102,
|
---|
956 | OpImageQuerySizeLod = 103,
|
---|
957 | OpImageQuerySize = 104,
|
---|
958 | OpImageQueryLod = 105,
|
---|
959 | OpImageQueryLevels = 106,
|
---|
960 | OpImageQuerySamples = 107,
|
---|
961 | OpConvertFToU = 109,
|
---|
962 | OpConvertFToS = 110,
|
---|
963 | OpConvertSToF = 111,
|
---|
964 | OpConvertUToF = 112,
|
---|
965 | OpUConvert = 113,
|
---|
966 | OpSConvert = 114,
|
---|
967 | OpFConvert = 115,
|
---|
968 | OpQuantizeToF16 = 116,
|
---|
969 | OpConvertPtrToU = 117,
|
---|
970 | OpSatConvertSToU = 118,
|
---|
971 | OpSatConvertUToS = 119,
|
---|
972 | OpConvertUToPtr = 120,
|
---|
973 | OpPtrCastToGeneric = 121,
|
---|
974 | OpGenericCastToPtr = 122,
|
---|
975 | OpGenericCastToPtrExplicit = 123,
|
---|
976 | OpBitcast = 124,
|
---|
977 | OpSNegate = 126,
|
---|
978 | OpFNegate = 127,
|
---|
979 | OpIAdd = 128,
|
---|
980 | OpFAdd = 129,
|
---|
981 | OpISub = 130,
|
---|
982 | OpFSub = 131,
|
---|
983 | OpIMul = 132,
|
---|
984 | OpFMul = 133,
|
---|
985 | OpUDiv = 134,
|
---|
986 | OpSDiv = 135,
|
---|
987 | OpFDiv = 136,
|
---|
988 | OpUMod = 137,
|
---|
989 | OpSRem = 138,
|
---|
990 | OpSMod = 139,
|
---|
991 | OpFRem = 140,
|
---|
992 | OpFMod = 141,
|
---|
993 | OpVectorTimesScalar = 142,
|
---|
994 | OpMatrixTimesScalar = 143,
|
---|
995 | OpVectorTimesMatrix = 144,
|
---|
996 | OpMatrixTimesVector = 145,
|
---|
997 | OpMatrixTimesMatrix = 146,
|
---|
998 | OpOuterProduct = 147,
|
---|
999 | OpDot = 148,
|
---|
1000 | OpIAddCarry = 149,
|
---|
1001 | OpISubBorrow = 150,
|
---|
1002 | OpUMulExtended = 151,
|
---|
1003 | OpSMulExtended = 152,
|
---|
1004 | OpAny = 154,
|
---|
1005 | OpAll = 155,
|
---|
1006 | OpIsNan = 156,
|
---|
1007 | OpIsInf = 157,
|
---|
1008 | OpIsFinite = 158,
|
---|
1009 | OpIsNormal = 159,
|
---|
1010 | OpSignBitSet = 160,
|
---|
1011 | OpLessOrGreater = 161,
|
---|
1012 | OpOrdered = 162,
|
---|
1013 | OpUnordered = 163,
|
---|
1014 | OpLogicalEqual = 164,
|
---|
1015 | OpLogicalNotEqual = 165,
|
---|
1016 | OpLogicalOr = 166,
|
---|
1017 | OpLogicalAnd = 167,
|
---|
1018 | OpLogicalNot = 168,
|
---|
1019 | OpSelect = 169,
|
---|
1020 | OpIEqual = 170,
|
---|
1021 | OpINotEqual = 171,
|
---|
1022 | OpUGreaterThan = 172,
|
---|
1023 | OpSGreaterThan = 173,
|
---|
1024 | OpUGreaterThanEqual = 174,
|
---|
1025 | OpSGreaterThanEqual = 175,
|
---|
1026 | OpULessThan = 176,
|
---|
1027 | OpSLessThan = 177,
|
---|
1028 | OpULessThanEqual = 178,
|
---|
1029 | OpSLessThanEqual = 179,
|
---|
1030 | OpFOrdEqual = 180,
|
---|
1031 | OpFUnordEqual = 181,
|
---|
1032 | OpFOrdNotEqual = 182,
|
---|
1033 | OpFUnordNotEqual = 183,
|
---|
1034 | OpFOrdLessThan = 184,
|
---|
1035 | OpFUnordLessThan = 185,
|
---|
1036 | OpFOrdGreaterThan = 186,
|
---|
1037 | OpFUnordGreaterThan = 187,
|
---|
1038 | OpFOrdLessThanEqual = 188,
|
---|
1039 | OpFUnordLessThanEqual = 189,
|
---|
1040 | OpFOrdGreaterThanEqual = 190,
|
---|
1041 | OpFUnordGreaterThanEqual = 191,
|
---|
1042 | OpShiftRightLogical = 194,
|
---|
1043 | OpShiftRightArithmetic = 195,
|
---|
1044 | OpShiftLeftLogical = 196,
|
---|
1045 | OpBitwiseOr = 197,
|
---|
1046 | OpBitwiseXor = 198,
|
---|
1047 | OpBitwiseAnd = 199,
|
---|
1048 | OpNot = 200,
|
---|
1049 | OpBitFieldInsert = 201,
|
---|
1050 | OpBitFieldSExtract = 202,
|
---|
1051 | OpBitFieldUExtract = 203,
|
---|
1052 | OpBitReverse = 204,
|
---|
1053 | OpBitCount = 205,
|
---|
1054 | OpDPdx = 207,
|
---|
1055 | OpDPdy = 208,
|
---|
1056 | OpFwidth = 209,
|
---|
1057 | OpDPdxFine = 210,
|
---|
1058 | OpDPdyFine = 211,
|
---|
1059 | OpFwidthFine = 212,
|
---|
1060 | OpDPdxCoarse = 213,
|
---|
1061 | OpDPdyCoarse = 214,
|
---|
1062 | OpFwidthCoarse = 215,
|
---|
1063 | OpEmitVertex = 218,
|
---|
1064 | OpEndPrimitive = 219,
|
---|
1065 | OpEmitStreamVertex = 220,
|
---|
1066 | OpEndStreamPrimitive = 221,
|
---|
1067 | OpControlBarrier = 224,
|
---|
1068 | OpMemoryBarrier = 225,
|
---|
1069 | OpAtomicLoad = 227,
|
---|
1070 | OpAtomicStore = 228,
|
---|
1071 | OpAtomicExchange = 229,
|
---|
1072 | OpAtomicCompareExchange = 230,
|
---|
1073 | OpAtomicCompareExchangeWeak = 231,
|
---|
1074 | OpAtomicIIncrement = 232,
|
---|
1075 | OpAtomicIDecrement = 233,
|
---|
1076 | OpAtomicIAdd = 234,
|
---|
1077 | OpAtomicISub = 235,
|
---|
1078 | OpAtomicSMin = 236,
|
---|
1079 | OpAtomicUMin = 237,
|
---|
1080 | OpAtomicSMax = 238,
|
---|
1081 | OpAtomicUMax = 239,
|
---|
1082 | OpAtomicAnd = 240,
|
---|
1083 | OpAtomicOr = 241,
|
---|
1084 | OpAtomicXor = 242,
|
---|
1085 | OpPhi = 245,
|
---|
1086 | OpLoopMerge = 246,
|
---|
1087 | OpSelectionMerge = 247,
|
---|
1088 | OpLabel = 248,
|
---|
1089 | OpBranch = 249,
|
---|
1090 | OpBranchConditional = 250,
|
---|
1091 | OpSwitch = 251,
|
---|
1092 | OpKill = 252,
|
---|
1093 | OpReturn = 253,
|
---|
1094 | OpReturnValue = 254,
|
---|
1095 | OpUnreachable = 255,
|
---|
1096 | OpLifetimeStart = 256,
|
---|
1097 | OpLifetimeStop = 257,
|
---|
1098 | OpGroupAsyncCopy = 259,
|
---|
1099 | OpGroupWaitEvents = 260,
|
---|
1100 | OpGroupAll = 261,
|
---|
1101 | OpGroupAny = 262,
|
---|
1102 | OpGroupBroadcast = 263,
|
---|
1103 | OpGroupIAdd = 264,
|
---|
1104 | OpGroupFAdd = 265,
|
---|
1105 | OpGroupFMin = 266,
|
---|
1106 | OpGroupUMin = 267,
|
---|
1107 | OpGroupSMin = 268,
|
---|
1108 | OpGroupFMax = 269,
|
---|
1109 | OpGroupUMax = 270,
|
---|
1110 | OpGroupSMax = 271,
|
---|
1111 | OpReadPipe = 274,
|
---|
1112 | OpWritePipe = 275,
|
---|
1113 | OpReservedReadPipe = 276,
|
---|
1114 | OpReservedWritePipe = 277,
|
---|
1115 | OpReserveReadPipePackets = 278,
|
---|
1116 | OpReserveWritePipePackets = 279,
|
---|
1117 | OpCommitReadPipe = 280,
|
---|
1118 | OpCommitWritePipe = 281,
|
---|
1119 | OpIsValidReserveId = 282,
|
---|
1120 | OpGetNumPipePackets = 283,
|
---|
1121 | OpGetMaxPipePackets = 284,
|
---|
1122 | OpGroupReserveReadPipePackets = 285,
|
---|
1123 | OpGroupReserveWritePipePackets = 286,
|
---|
1124 | OpGroupCommitReadPipe = 287,
|
---|
1125 | OpGroupCommitWritePipe = 288,
|
---|
1126 | OpEnqueueMarker = 291,
|
---|
1127 | OpEnqueueKernel = 292,
|
---|
1128 | OpGetKernelNDrangeSubGroupCount = 293,
|
---|
1129 | OpGetKernelNDrangeMaxSubGroupSize = 294,
|
---|
1130 | OpGetKernelWorkGroupSize = 295,
|
---|
1131 | OpGetKernelPreferredWorkGroupSizeMultiple = 296,
|
---|
1132 | OpRetainEvent = 297,
|
---|
1133 | OpReleaseEvent = 298,
|
---|
1134 | OpCreateUserEvent = 299,
|
---|
1135 | OpIsValidEvent = 300,
|
---|
1136 | OpSetUserEventStatus = 301,
|
---|
1137 | OpCaptureEventProfilingInfo = 302,
|
---|
1138 | OpGetDefaultQueue = 303,
|
---|
1139 | OpBuildNDRange = 304,
|
---|
1140 | OpImageSparseSampleImplicitLod = 305,
|
---|
1141 | OpImageSparseSampleExplicitLod = 306,
|
---|
1142 | OpImageSparseSampleDrefImplicitLod = 307,
|
---|
1143 | OpImageSparseSampleDrefExplicitLod = 308,
|
---|
1144 | OpImageSparseSampleProjImplicitLod = 309,
|
---|
1145 | OpImageSparseSampleProjExplicitLod = 310,
|
---|
1146 | OpImageSparseSampleProjDrefImplicitLod = 311,
|
---|
1147 | OpImageSparseSampleProjDrefExplicitLod = 312,
|
---|
1148 | OpImageSparseFetch = 313,
|
---|
1149 | OpImageSparseGather = 314,
|
---|
1150 | OpImageSparseDrefGather = 315,
|
---|
1151 | OpImageSparseTexelsResident = 316,
|
---|
1152 | OpNoLine = 317,
|
---|
1153 | OpAtomicFlagTestAndSet = 318,
|
---|
1154 | OpAtomicFlagClear = 319,
|
---|
1155 | OpImageSparseRead = 320,
|
---|
1156 | OpSizeOf = 321,
|
---|
1157 | OpTypePipeStorage = 322,
|
---|
1158 | OpConstantPipeStorage = 323,
|
---|
1159 | OpCreatePipeFromPipeStorage = 324,
|
---|
1160 | OpGetKernelLocalSizeForSubgroupCount = 325,
|
---|
1161 | OpGetKernelMaxNumSubgroups = 326,
|
---|
1162 | OpTypeNamedBarrier = 327,
|
---|
1163 | OpNamedBarrierInitialize = 328,
|
---|
1164 | OpMemoryNamedBarrier = 329,
|
---|
1165 | OpModuleProcessed = 330,
|
---|
1166 | OpExecutionModeId = 331,
|
---|
1167 | OpDecorateId = 332,
|
---|
1168 | OpGroupNonUniformElect = 333,
|
---|
1169 | OpGroupNonUniformAll = 334,
|
---|
1170 | OpGroupNonUniformAny = 335,
|
---|
1171 | OpGroupNonUniformAllEqual = 336,
|
---|
1172 | OpGroupNonUniformBroadcast = 337,
|
---|
1173 | OpGroupNonUniformBroadcastFirst = 338,
|
---|
1174 | OpGroupNonUniformBallot = 339,
|
---|
1175 | OpGroupNonUniformInverseBallot = 340,
|
---|
1176 | OpGroupNonUniformBallotBitExtract = 341,
|
---|
1177 | OpGroupNonUniformBallotBitCount = 342,
|
---|
1178 | OpGroupNonUniformBallotFindLSB = 343,
|
---|
1179 | OpGroupNonUniformBallotFindMSB = 344,
|
---|
1180 | OpGroupNonUniformShuffle = 345,
|
---|
1181 | OpGroupNonUniformShuffleXor = 346,
|
---|
1182 | OpGroupNonUniformShuffleUp = 347,
|
---|
1183 | OpGroupNonUniformShuffleDown = 348,
|
---|
1184 | OpGroupNonUniformIAdd = 349,
|
---|
1185 | OpGroupNonUniformFAdd = 350,
|
---|
1186 | OpGroupNonUniformIMul = 351,
|
---|
1187 | OpGroupNonUniformFMul = 352,
|
---|
1188 | OpGroupNonUniformSMin = 353,
|
---|
1189 | OpGroupNonUniformUMin = 354,
|
---|
1190 | OpGroupNonUniformFMin = 355,
|
---|
1191 | OpGroupNonUniformSMax = 356,
|
---|
1192 | OpGroupNonUniformUMax = 357,
|
---|
1193 | OpGroupNonUniformFMax = 358,
|
---|
1194 | OpGroupNonUniformBitwiseAnd = 359,
|
---|
1195 | OpGroupNonUniformBitwiseOr = 360,
|
---|
1196 | OpGroupNonUniformBitwiseXor = 361,
|
---|
1197 | OpGroupNonUniformLogicalAnd = 362,
|
---|
1198 | OpGroupNonUniformLogicalOr = 363,
|
---|
1199 | OpGroupNonUniformLogicalXor = 364,
|
---|
1200 | OpGroupNonUniformQuadBroadcast = 365,
|
---|
1201 | OpGroupNonUniformQuadSwap = 366,
|
---|
1202 | OpCopyLogical = 400,
|
---|
1203 | OpPtrEqual = 401,
|
---|
1204 | OpPtrNotEqual = 402,
|
---|
1205 | OpPtrDiff = 403,
|
---|
1206 | OpSubgroupBallotKHR = 4421,
|
---|
1207 | OpSubgroupFirstInvocationKHR = 4422,
|
---|
1208 | OpSubgroupAllKHR = 4428,
|
---|
1209 | OpSubgroupAnyKHR = 4429,
|
---|
1210 | OpSubgroupAllEqualKHR = 4430,
|
---|
1211 | OpSubgroupReadInvocationKHR = 4432,
|
---|
1212 | OpGroupIAddNonUniformAMD = 5000,
|
---|
1213 | OpGroupFAddNonUniformAMD = 5001,
|
---|
1214 | OpGroupFMinNonUniformAMD = 5002,
|
---|
1215 | OpGroupUMinNonUniformAMD = 5003,
|
---|
1216 | OpGroupSMinNonUniformAMD = 5004,
|
---|
1217 | OpGroupFMaxNonUniformAMD = 5005,
|
---|
1218 | OpGroupUMaxNonUniformAMD = 5006,
|
---|
1219 | OpGroupSMaxNonUniformAMD = 5007,
|
---|
1220 | OpFragmentMaskFetchAMD = 5011,
|
---|
1221 | OpFragmentFetchAMD = 5012,
|
---|
1222 | OpImageSampleFootprintNV = 5283,
|
---|
1223 | OpGroupNonUniformPartitionNV = 5296,
|
---|
1224 | OpWritePackedPrimitiveIndices4x8NV = 5299,
|
---|
1225 | OpReportIntersectionNV = 5334,
|
---|
1226 | OpIgnoreIntersectionNV = 5335,
|
---|
1227 | OpTerminateRayNV = 5336,
|
---|
1228 | OpTraceNV = 5337,
|
---|
1229 | OpTypeAccelerationStructureNV = 5341,
|
---|
1230 | OpExecuteCallableNV = 5344,
|
---|
1231 | OpTypeCooperativeMatrixNV = 5358,
|
---|
1232 | OpCooperativeMatrixLoadNV = 5359,
|
---|
1233 | OpCooperativeMatrixStoreNV = 5360,
|
---|
1234 | OpCooperativeMatrixMulAddNV = 5361,
|
---|
1235 | OpCooperativeMatrixLengthNV = 5362,
|
---|
1236 | OpBeginInvocationInterlockEXT = 5364,
|
---|
1237 | OpEndInvocationInterlockEXT = 5365,
|
---|
1238 | OpDemoteToHelperInvocationEXT = 5380,
|
---|
1239 | OpIsHelperInvocationEXT = 5381,
|
---|
1240 | OpSubgroupShuffleINTEL = 5571,
|
---|
1241 | OpSubgroupShuffleDownINTEL = 5572,
|
---|
1242 | OpSubgroupShuffleUpINTEL = 5573,
|
---|
1243 | OpSubgroupShuffleXorINTEL = 5574,
|
---|
1244 | OpSubgroupBlockReadINTEL = 5575,
|
---|
1245 | OpSubgroupBlockWriteINTEL = 5576,
|
---|
1246 | OpSubgroupImageBlockReadINTEL = 5577,
|
---|
1247 | OpSubgroupImageBlockWriteINTEL = 5578,
|
---|
1248 | OpSubgroupImageMediaBlockReadINTEL = 5580,
|
---|
1249 | OpSubgroupImageMediaBlockWriteINTEL = 5581,
|
---|
1250 | OpUCountLeadingZerosINTEL = 5585,
|
---|
1251 | OpUCountTrailingZerosINTEL = 5586,
|
---|
1252 | OpAbsISubINTEL = 5587,
|
---|
1253 | OpAbsUSubINTEL = 5588,
|
---|
1254 | OpIAddSatINTEL = 5589,
|
---|
1255 | OpUAddSatINTEL = 5590,
|
---|
1256 | OpIAverageINTEL = 5591,
|
---|
1257 | OpUAverageINTEL = 5592,
|
---|
1258 | OpIAverageRoundedINTEL = 5593,
|
---|
1259 | OpUAverageRoundedINTEL = 5594,
|
---|
1260 | OpISubSatINTEL = 5595,
|
---|
1261 | OpUSubSatINTEL = 5596,
|
---|
1262 | OpIMul32x16INTEL = 5597,
|
---|
1263 | OpUMul32x16INTEL = 5598,
|
---|
1264 | OpDecorateString = 5632,
|
---|
1265 | OpDecorateStringGOOGLE = 5632,
|
---|
1266 | OpMemberDecorateString = 5633,
|
---|
1267 | OpMemberDecorateStringGOOGLE = 5633,
|
---|
1268 | OpVmeImageINTEL = 5699,
|
---|
1269 | OpTypeVmeImageINTEL = 5700,
|
---|
1270 | OpTypeAvcImePayloadINTEL = 5701,
|
---|
1271 | OpTypeAvcRefPayloadINTEL = 5702,
|
---|
1272 | OpTypeAvcSicPayloadINTEL = 5703,
|
---|
1273 | OpTypeAvcMcePayloadINTEL = 5704,
|
---|
1274 | OpTypeAvcMceResultINTEL = 5705,
|
---|
1275 | OpTypeAvcImeResultINTEL = 5706,
|
---|
1276 | OpTypeAvcImeResultSingleReferenceStreamoutINTEL = 5707,
|
---|
1277 | OpTypeAvcImeResultDualReferenceStreamoutINTEL = 5708,
|
---|
1278 | OpTypeAvcImeSingleReferenceStreaminINTEL = 5709,
|
---|
1279 | OpTypeAvcImeDualReferenceStreaminINTEL = 5710,
|
---|
1280 | OpTypeAvcRefResultINTEL = 5711,
|
---|
1281 | OpTypeAvcSicResultINTEL = 5712,
|
---|
1282 | OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713,
|
---|
1283 | OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714,
|
---|
1284 | OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715,
|
---|
1285 | OpSubgroupAvcMceSetInterShapePenaltyINTEL = 5716,
|
---|
1286 | OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717,
|
---|
1287 | OpSubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718,
|
---|
1288 | OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719,
|
---|
1289 | OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720,
|
---|
1290 | OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721,
|
---|
1291 | OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722,
|
---|
1292 | OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723,
|
---|
1293 | OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724,
|
---|
1294 | OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725,
|
---|
1295 | OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726,
|
---|
1296 | OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727,
|
---|
1297 | OpSubgroupAvcMceSetAcOnlyHaarINTEL = 5728,
|
---|
1298 | OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729,
|
---|
1299 | OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730,
|
---|
1300 | OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731,
|
---|
1301 | OpSubgroupAvcMceConvertToImePayloadINTEL = 5732,
|
---|
1302 | OpSubgroupAvcMceConvertToImeResultINTEL = 5733,
|
---|
1303 | OpSubgroupAvcMceConvertToRefPayloadINTEL = 5734,
|
---|
1304 | OpSubgroupAvcMceConvertToRefResultINTEL = 5735,
|
---|
1305 | OpSubgroupAvcMceConvertToSicPayloadINTEL = 5736,
|
---|
1306 | OpSubgroupAvcMceConvertToSicResultINTEL = 5737,
|
---|
1307 | OpSubgroupAvcMceGetMotionVectorsINTEL = 5738,
|
---|
1308 | OpSubgroupAvcMceGetInterDistortionsINTEL = 5739,
|
---|
1309 | OpSubgroupAvcMceGetBestInterDistortionsINTEL = 5740,
|
---|
1310 | OpSubgroupAvcMceGetInterMajorShapeINTEL = 5741,
|
---|
1311 | OpSubgroupAvcMceGetInterMinorShapeINTEL = 5742,
|
---|
1312 | OpSubgroupAvcMceGetInterDirectionsINTEL = 5743,
|
---|
1313 | OpSubgroupAvcMceGetInterMotionVectorCountINTEL = 5744,
|
---|
1314 | OpSubgroupAvcMceGetInterReferenceIdsINTEL = 5745,
|
---|
1315 | OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746,
|
---|
1316 | OpSubgroupAvcImeInitializeINTEL = 5747,
|
---|
1317 | OpSubgroupAvcImeSetSingleReferenceINTEL = 5748,
|
---|
1318 | OpSubgroupAvcImeSetDualReferenceINTEL = 5749,
|
---|
1319 | OpSubgroupAvcImeRefWindowSizeINTEL = 5750,
|
---|
1320 | OpSubgroupAvcImeAdjustRefOffsetINTEL = 5751,
|
---|
1321 | OpSubgroupAvcImeConvertToMcePayloadINTEL = 5752,
|
---|
1322 | OpSubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753,
|
---|
1323 | OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754,
|
---|
1324 | OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755,
|
---|
1325 | OpSubgroupAvcImeSetWeightedSadINTEL = 5756,
|
---|
1326 | OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757,
|
---|
1327 | OpSubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758,
|
---|
1328 | OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759,
|
---|
1329 | OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760,
|
---|
1330 | OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761,
|
---|
1331 | OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762,
|
---|
1332 | OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763,
|
---|
1333 | OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764,
|
---|
1334 | OpSubgroupAvcImeConvertToMceResultINTEL = 5765,
|
---|
1335 | OpSubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766,
|
---|
1336 | OpSubgroupAvcImeGetDualReferenceStreaminINTEL = 5767,
|
---|
1337 | OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768,
|
---|
1338 | OpSubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769,
|
---|
1339 | OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770,
|
---|
1340 | OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771,
|
---|
1341 | OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772,
|
---|
1342 | OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773,
|
---|
1343 | OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774,
|
---|
1344 | OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775,
|
---|
1345 | OpSubgroupAvcImeGetBorderReachedINTEL = 5776,
|
---|
1346 | OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777,
|
---|
1347 | OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778,
|
---|
1348 | OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779,
|
---|
1349 | OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780,
|
---|
1350 | OpSubgroupAvcFmeInitializeINTEL = 5781,
|
---|
1351 | OpSubgroupAvcBmeInitializeINTEL = 5782,
|
---|
1352 | OpSubgroupAvcRefConvertToMcePayloadINTEL = 5783,
|
---|
1353 | OpSubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784,
|
---|
1354 | OpSubgroupAvcRefSetBilinearFilterEnableINTEL = 5785,
|
---|
1355 | OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786,
|
---|
1356 | OpSubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787,
|
---|
1357 | OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788,
|
---|
1358 | OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789,
|
---|
1359 | OpSubgroupAvcRefConvertToMceResultINTEL = 5790,
|
---|
1360 | OpSubgroupAvcSicInitializeINTEL = 5791,
|
---|
1361 | OpSubgroupAvcSicConfigureSkcINTEL = 5792,
|
---|
1362 | OpSubgroupAvcSicConfigureIpeLumaINTEL = 5793,
|
---|
1363 | OpSubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794,
|
---|
1364 | OpSubgroupAvcSicGetMotionVectorMaskINTEL = 5795,
|
---|
1365 | OpSubgroupAvcSicConvertToMcePayloadINTEL = 5796,
|
---|
1366 | OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797,
|
---|
1367 | OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798,
|
---|
1368 | OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799,
|
---|
1369 | OpSubgroupAvcSicSetBilinearFilterEnableINTEL = 5800,
|
---|
1370 | OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801,
|
---|
1371 | OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802,
|
---|
1372 | OpSubgroupAvcSicEvaluateIpeINTEL = 5803,
|
---|
1373 | OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804,
|
---|
1374 | OpSubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805,
|
---|
1375 | OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806,
|
---|
1376 | OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807,
|
---|
1377 | OpSubgroupAvcSicConvertToMceResultINTEL = 5808,
|
---|
1378 | OpSubgroupAvcSicGetIpeLumaShapeINTEL = 5809,
|
---|
1379 | OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810,
|
---|
1380 | OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811,
|
---|
1381 | OpSubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812,
|
---|
1382 | OpSubgroupAvcSicGetIpeChromaModeINTEL = 5813,
|
---|
1383 | OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
|
---|
1384 | OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
|
---|
1385 | OpSubgroupAvcSicGetInterRawSadsINTEL = 5816,
|
---|
1386 | OpMax = 0x7fffffff,
|
---|
1387 | };
|
---|
1388 |
|
---|
1389 | #ifdef SPV_ENABLE_UTILITY_CODE
|
---|
1390 | inline void HasResultAndType(Op opcode, bool *hasResult, bool *hasResultType) {
|
---|
1391 | *hasResult = *hasResultType = false;
|
---|
1392 | switch (opcode) {
|
---|
1393 | default: /* unknown opcode */ break;
|
---|
1394 | case OpNop: *hasResult = false; *hasResultType = false; break;
|
---|
1395 | case OpUndef: *hasResult = true; *hasResultType = true; break;
|
---|
1396 | case OpSourceContinued: *hasResult = false; *hasResultType = false; break;
|
---|
1397 | case OpSource: *hasResult = false; *hasResultType = false; break;
|
---|
1398 | case OpSourceExtension: *hasResult = false; *hasResultType = false; break;
|
---|
1399 | case OpName: *hasResult = false; *hasResultType = false; break;
|
---|
1400 | case OpMemberName: *hasResult = false; *hasResultType = false; break;
|
---|
1401 | case OpString: *hasResult = true; *hasResultType = false; break;
|
---|
1402 | case OpLine: *hasResult = false; *hasResultType = false; break;
|
---|
1403 | case OpExtension: *hasResult = false; *hasResultType = false; break;
|
---|
1404 | case OpExtInstImport: *hasResult = true; *hasResultType = false; break;
|
---|
1405 | case OpExtInst: *hasResult = true; *hasResultType = true; break;
|
---|
1406 | case OpMemoryModel: *hasResult = false; *hasResultType = false; break;
|
---|
1407 | case OpEntryPoint: *hasResult = false; *hasResultType = false; break;
|
---|
1408 | case OpExecutionMode: *hasResult = false; *hasResultType = false; break;
|
---|
1409 | case OpCapability: *hasResult = false; *hasResultType = false; break;
|
---|
1410 | case OpTypeVoid: *hasResult = true; *hasResultType = false; break;
|
---|
1411 | case OpTypeBool: *hasResult = true; *hasResultType = false; break;
|
---|
1412 | case OpTypeInt: *hasResult = true; *hasResultType = false; break;
|
---|
1413 | case OpTypeFloat: *hasResult = true; *hasResultType = false; break;
|
---|
1414 | case OpTypeVector: *hasResult = true; *hasResultType = false; break;
|
---|
1415 | case OpTypeMatrix: *hasResult = true; *hasResultType = false; break;
|
---|
1416 | case OpTypeImage: *hasResult = true; *hasResultType = false; break;
|
---|
1417 | case OpTypeSampler: *hasResult = true; *hasResultType = false; break;
|
---|
1418 | case OpTypeSampledImage: *hasResult = true; *hasResultType = false; break;
|
---|
1419 | case OpTypeArray: *hasResult = true; *hasResultType = false; break;
|
---|
1420 | case OpTypeRuntimeArray: *hasResult = true; *hasResultType = false; break;
|
---|
1421 | case OpTypeStruct: *hasResult = true; *hasResultType = false; break;
|
---|
1422 | case OpTypeOpaque: *hasResult = true; *hasResultType = false; break;
|
---|
1423 | case OpTypePointer: *hasResult = true; *hasResultType = false; break;
|
---|
1424 | case OpTypeFunction: *hasResult = true; *hasResultType = false; break;
|
---|
1425 | case OpTypeEvent: *hasResult = true; *hasResultType = false; break;
|
---|
1426 | case OpTypeDeviceEvent: *hasResult = true; *hasResultType = false; break;
|
---|
1427 | case OpTypeReserveId: *hasResult = true; *hasResultType = false; break;
|
---|
1428 | case OpTypeQueue: *hasResult = true; *hasResultType = false; break;
|
---|
1429 | case OpTypePipe: *hasResult = true; *hasResultType = false; break;
|
---|
1430 | case OpTypeForwardPointer: *hasResult = false; *hasResultType = false; break;
|
---|
1431 | case OpConstantTrue: *hasResult = true; *hasResultType = true; break;
|
---|
1432 | case OpConstantFalse: *hasResult = true; *hasResultType = true; break;
|
---|
1433 | case OpConstant: *hasResult = true; *hasResultType = true; break;
|
---|
1434 | case OpConstantComposite: *hasResult = true; *hasResultType = true; break;
|
---|
1435 | case OpConstantSampler: *hasResult = true; *hasResultType = true; break;
|
---|
1436 | case OpConstantNull: *hasResult = true; *hasResultType = true; break;
|
---|
1437 | case OpSpecConstantTrue: *hasResult = true; *hasResultType = true; break;
|
---|
1438 | case OpSpecConstantFalse: *hasResult = true; *hasResultType = true; break;
|
---|
1439 | case OpSpecConstant: *hasResult = true; *hasResultType = true; break;
|
---|
1440 | case OpSpecConstantComposite: *hasResult = true; *hasResultType = true; break;
|
---|
1441 | case OpSpecConstantOp: *hasResult = true; *hasResultType = true; break;
|
---|
1442 | case OpFunction: *hasResult = true; *hasResultType = true; break;
|
---|
1443 | case OpFunctionParameter: *hasResult = true; *hasResultType = true; break;
|
---|
1444 | case OpFunctionEnd: *hasResult = false; *hasResultType = false; break;
|
---|
1445 | case OpFunctionCall: *hasResult = true; *hasResultType = true; break;
|
---|
1446 | case OpVariable: *hasResult = true; *hasResultType = true; break;
|
---|
1447 | case OpImageTexelPointer: *hasResult = true; *hasResultType = true; break;
|
---|
1448 | case OpLoad: *hasResult = true; *hasResultType = true; break;
|
---|
1449 | case OpStore: *hasResult = false; *hasResultType = false; break;
|
---|
1450 | case OpCopyMemory: *hasResult = false; *hasResultType = false; break;
|
---|
1451 | case OpCopyMemorySized: *hasResult = false; *hasResultType = false; break;
|
---|
1452 | case OpAccessChain: *hasResult = true; *hasResultType = true; break;
|
---|
1453 | case OpInBoundsAccessChain: *hasResult = true; *hasResultType = true; break;
|
---|
1454 | case OpPtrAccessChain: *hasResult = true; *hasResultType = true; break;
|
---|
1455 | case OpArrayLength: *hasResult = true; *hasResultType = true; break;
|
---|
1456 | case OpGenericPtrMemSemantics: *hasResult = true; *hasResultType = true; break;
|
---|
1457 | case OpInBoundsPtrAccessChain: *hasResult = true; *hasResultType = true; break;
|
---|
1458 | case OpDecorate: *hasResult = false; *hasResultType = false; break;
|
---|
1459 | case OpMemberDecorate: *hasResult = false; *hasResultType = false; break;
|
---|
1460 | case OpDecorationGroup: *hasResult = true; *hasResultType = false; break;
|
---|
1461 | case OpGroupDecorate: *hasResult = false; *hasResultType = false; break;
|
---|
1462 | case OpGroupMemberDecorate: *hasResult = false; *hasResultType = false; break;
|
---|
1463 | case OpVectorExtractDynamic: *hasResult = true; *hasResultType = true; break;
|
---|
1464 | case OpVectorInsertDynamic: *hasResult = true; *hasResultType = true; break;
|
---|
1465 | case OpVectorShuffle: *hasResult = true; *hasResultType = true; break;
|
---|
1466 | case OpCompositeConstruct: *hasResult = true; *hasResultType = true; break;
|
---|
1467 | case OpCompositeExtract: *hasResult = true; *hasResultType = true; break;
|
---|
1468 | case OpCompositeInsert: *hasResult = true; *hasResultType = true; break;
|
---|
1469 | case OpCopyObject: *hasResult = true; *hasResultType = true; break;
|
---|
1470 | case OpTranspose: *hasResult = true; *hasResultType = true; break;
|
---|
1471 | case OpSampledImage: *hasResult = true; *hasResultType = true; break;
|
---|
1472 | case OpImageSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
|
---|
1473 | case OpImageSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
|
---|
1474 | case OpImageSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
|
---|
1475 | case OpImageSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
|
---|
1476 | case OpImageSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
|
---|
1477 | case OpImageSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
|
---|
1478 | case OpImageSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
|
---|
1479 | case OpImageSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
|
---|
1480 | case OpImageFetch: *hasResult = true; *hasResultType = true; break;
|
---|
1481 | case OpImageGather: *hasResult = true; *hasResultType = true; break;
|
---|
1482 | case OpImageDrefGather: *hasResult = true; *hasResultType = true; break;
|
---|
1483 | case OpImageRead: *hasResult = true; *hasResultType = true; break;
|
---|
1484 | case OpImageWrite: *hasResult = false; *hasResultType = false; break;
|
---|
1485 | case OpImage: *hasResult = true; *hasResultType = true; break;
|
---|
1486 | case OpImageQueryFormat: *hasResult = true; *hasResultType = true; break;
|
---|
1487 | case OpImageQueryOrder: *hasResult = true; *hasResultType = true; break;
|
---|
1488 | case OpImageQuerySizeLod: *hasResult = true; *hasResultType = true; break;
|
---|
1489 | case OpImageQuerySize: *hasResult = true; *hasResultType = true; break;
|
---|
1490 | case OpImageQueryLod: *hasResult = true; *hasResultType = true; break;
|
---|
1491 | case OpImageQueryLevels: *hasResult = true; *hasResultType = true; break;
|
---|
1492 | case OpImageQuerySamples: *hasResult = true; *hasResultType = true; break;
|
---|
1493 | case OpConvertFToU: *hasResult = true; *hasResultType = true; break;
|
---|
1494 | case OpConvertFToS: *hasResult = true; *hasResultType = true; break;
|
---|
1495 | case OpConvertSToF: *hasResult = true; *hasResultType = true; break;
|
---|
1496 | case OpConvertUToF: *hasResult = true; *hasResultType = true; break;
|
---|
1497 | case OpUConvert: *hasResult = true; *hasResultType = true; break;
|
---|
1498 | case OpSConvert: *hasResult = true; *hasResultType = true; break;
|
---|
1499 | case OpFConvert: *hasResult = true; *hasResultType = true; break;
|
---|
1500 | case OpQuantizeToF16: *hasResult = true; *hasResultType = true; break;
|
---|
1501 | case OpConvertPtrToU: *hasResult = true; *hasResultType = true; break;
|
---|
1502 | case OpSatConvertSToU: *hasResult = true; *hasResultType = true; break;
|
---|
1503 | case OpSatConvertUToS: *hasResult = true; *hasResultType = true; break;
|
---|
1504 | case OpConvertUToPtr: *hasResult = true; *hasResultType = true; break;
|
---|
1505 | case OpPtrCastToGeneric: *hasResult = true; *hasResultType = true; break;
|
---|
1506 | case OpGenericCastToPtr: *hasResult = true; *hasResultType = true; break;
|
---|
1507 | case OpGenericCastToPtrExplicit: *hasResult = true; *hasResultType = true; break;
|
---|
1508 | case OpBitcast: *hasResult = true; *hasResultType = true; break;
|
---|
1509 | case OpSNegate: *hasResult = true; *hasResultType = true; break;
|
---|
1510 | case OpFNegate: *hasResult = true; *hasResultType = true; break;
|
---|
1511 | case OpIAdd: *hasResult = true; *hasResultType = true; break;
|
---|
1512 | case OpFAdd: *hasResult = true; *hasResultType = true; break;
|
---|
1513 | case OpISub: *hasResult = true; *hasResultType = true; break;
|
---|
1514 | case OpFSub: *hasResult = true; *hasResultType = true; break;
|
---|
1515 | case OpIMul: *hasResult = true; *hasResultType = true; break;
|
---|
1516 | case OpFMul: *hasResult = true; *hasResultType = true; break;
|
---|
1517 | case OpUDiv: *hasResult = true; *hasResultType = true; break;
|
---|
1518 | case OpSDiv: *hasResult = true; *hasResultType = true; break;
|
---|
1519 | case OpFDiv: *hasResult = true; *hasResultType = true; break;
|
---|
1520 | case OpUMod: *hasResult = true; *hasResultType = true; break;
|
---|
1521 | case OpSRem: *hasResult = true; *hasResultType = true; break;
|
---|
1522 | case OpSMod: *hasResult = true; *hasResultType = true; break;
|
---|
1523 | case OpFRem: *hasResult = true; *hasResultType = true; break;
|
---|
1524 | case OpFMod: *hasResult = true; *hasResultType = true; break;
|
---|
1525 | case OpVectorTimesScalar: *hasResult = true; *hasResultType = true; break;
|
---|
1526 | case OpMatrixTimesScalar: *hasResult = true; *hasResultType = true; break;
|
---|
1527 | case OpVectorTimesMatrix: *hasResult = true; *hasResultType = true; break;
|
---|
1528 | case OpMatrixTimesVector: *hasResult = true; *hasResultType = true; break;
|
---|
1529 | case OpMatrixTimesMatrix: *hasResult = true; *hasResultType = true; break;
|
---|
1530 | case OpOuterProduct: *hasResult = true; *hasResultType = true; break;
|
---|
1531 | case OpDot: *hasResult = true; *hasResultType = true; break;
|
---|
1532 | case OpIAddCarry: *hasResult = true; *hasResultType = true; break;
|
---|
1533 | case OpISubBorrow: *hasResult = true; *hasResultType = true; break;
|
---|
1534 | case OpUMulExtended: *hasResult = true; *hasResultType = true; break;
|
---|
1535 | case OpSMulExtended: *hasResult = true; *hasResultType = true; break;
|
---|
1536 | case OpAny: *hasResult = true; *hasResultType = true; break;
|
---|
1537 | case OpAll: *hasResult = true; *hasResultType = true; break;
|
---|
1538 | case OpIsNan: *hasResult = true; *hasResultType = true; break;
|
---|
1539 | case OpIsInf: *hasResult = true; *hasResultType = true; break;
|
---|
1540 | case OpIsFinite: *hasResult = true; *hasResultType = true; break;
|
---|
1541 | case OpIsNormal: *hasResult = true; *hasResultType = true; break;
|
---|
1542 | case OpSignBitSet: *hasResult = true; *hasResultType = true; break;
|
---|
1543 | case OpLessOrGreater: *hasResult = true; *hasResultType = true; break;
|
---|
1544 | case OpOrdered: *hasResult = true; *hasResultType = true; break;
|
---|
1545 | case OpUnordered: *hasResult = true; *hasResultType = true; break;
|
---|
1546 | case OpLogicalEqual: *hasResult = true; *hasResultType = true; break;
|
---|
1547 | case OpLogicalNotEqual: *hasResult = true; *hasResultType = true; break;
|
---|
1548 | case OpLogicalOr: *hasResult = true; *hasResultType = true; break;
|
---|
1549 | case OpLogicalAnd: *hasResult = true; *hasResultType = true; break;
|
---|
1550 | case OpLogicalNot: *hasResult = true; *hasResultType = true; break;
|
---|
1551 | case OpSelect: *hasResult = true; *hasResultType = true; break;
|
---|
1552 | case OpIEqual: *hasResult = true; *hasResultType = true; break;
|
---|
1553 | case OpINotEqual: *hasResult = true; *hasResultType = true; break;
|
---|
1554 | case OpUGreaterThan: *hasResult = true; *hasResultType = true; break;
|
---|
1555 | case OpSGreaterThan: *hasResult = true; *hasResultType = true; break;
|
---|
1556 | case OpUGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
|
---|
1557 | case OpSGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
|
---|
1558 | case OpULessThan: *hasResult = true; *hasResultType = true; break;
|
---|
1559 | case OpSLessThan: *hasResult = true; *hasResultType = true; break;
|
---|
1560 | case OpULessThanEqual: *hasResult = true; *hasResultType = true; break;
|
---|
1561 | case OpSLessThanEqual: *hasResult = true; *hasResultType = true; break;
|
---|
1562 | case OpFOrdEqual: *hasResult = true; *hasResultType = true; break;
|
---|
1563 | case OpFUnordEqual: *hasResult = true; *hasResultType = true; break;
|
---|
1564 | case OpFOrdNotEqual: *hasResult = true; *hasResultType = true; break;
|
---|
1565 | case OpFUnordNotEqual: *hasResult = true; *hasResultType = true; break;
|
---|
1566 | case OpFOrdLessThan: *hasResult = true; *hasResultType = true; break;
|
---|
1567 | case OpFUnordLessThan: *hasResult = true; *hasResultType = true; break;
|
---|
1568 | case OpFOrdGreaterThan: *hasResult = true; *hasResultType = true; break;
|
---|
1569 | case OpFUnordGreaterThan: *hasResult = true; *hasResultType = true; break;
|
---|
1570 | case OpFOrdLessThanEqual: *hasResult = true; *hasResultType = true; break;
|
---|
1571 | case OpFUnordLessThanEqual: *hasResult = true; *hasResultType = true; break;
|
---|
1572 | case OpFOrdGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
|
---|
1573 | case OpFUnordGreaterThanEqual: *hasResult = true; *hasResultType = true; break;
|
---|
1574 | case OpShiftRightLogical: *hasResult = true; *hasResultType = true; break;
|
---|
1575 | case OpShiftRightArithmetic: *hasResult = true; *hasResultType = true; break;
|
---|
1576 | case OpShiftLeftLogical: *hasResult = true; *hasResultType = true; break;
|
---|
1577 | case OpBitwiseOr: *hasResult = true; *hasResultType = true; break;
|
---|
1578 | case OpBitwiseXor: *hasResult = true; *hasResultType = true; break;
|
---|
1579 | case OpBitwiseAnd: *hasResult = true; *hasResultType = true; break;
|
---|
1580 | case OpNot: *hasResult = true; *hasResultType = true; break;
|
---|
1581 | case OpBitFieldInsert: *hasResult = true; *hasResultType = true; break;
|
---|
1582 | case OpBitFieldSExtract: *hasResult = true; *hasResultType = true; break;
|
---|
1583 | case OpBitFieldUExtract: *hasResult = true; *hasResultType = true; break;
|
---|
1584 | case OpBitReverse: *hasResult = true; *hasResultType = true; break;
|
---|
1585 | case OpBitCount: *hasResult = true; *hasResultType = true; break;
|
---|
1586 | case OpDPdx: *hasResult = true; *hasResultType = true; break;
|
---|
1587 | case OpDPdy: *hasResult = true; *hasResultType = true; break;
|
---|
1588 | case OpFwidth: *hasResult = true; *hasResultType = true; break;
|
---|
1589 | case OpDPdxFine: *hasResult = true; *hasResultType = true; break;
|
---|
1590 | case OpDPdyFine: *hasResult = true; *hasResultType = true; break;
|
---|
1591 | case OpFwidthFine: *hasResult = true; *hasResultType = true; break;
|
---|
1592 | case OpDPdxCoarse: *hasResult = true; *hasResultType = true; break;
|
---|
1593 | case OpDPdyCoarse: *hasResult = true; *hasResultType = true; break;
|
---|
1594 | case OpFwidthCoarse: *hasResult = true; *hasResultType = true; break;
|
---|
1595 | case OpEmitVertex: *hasResult = false; *hasResultType = false; break;
|
---|
1596 | case OpEndPrimitive: *hasResult = false; *hasResultType = false; break;
|
---|
1597 | case OpEmitStreamVertex: *hasResult = false; *hasResultType = false; break;
|
---|
1598 | case OpEndStreamPrimitive: *hasResult = false; *hasResultType = false; break;
|
---|
1599 | case OpControlBarrier: *hasResult = false; *hasResultType = false; break;
|
---|
1600 | case OpMemoryBarrier: *hasResult = false; *hasResultType = false; break;
|
---|
1601 | case OpAtomicLoad: *hasResult = true; *hasResultType = true; break;
|
---|
1602 | case OpAtomicStore: *hasResult = false; *hasResultType = false; break;
|
---|
1603 | case OpAtomicExchange: *hasResult = true; *hasResultType = true; break;
|
---|
1604 | case OpAtomicCompareExchange: *hasResult = true; *hasResultType = true; break;
|
---|
1605 | case OpAtomicCompareExchangeWeak: *hasResult = true; *hasResultType = true; break;
|
---|
1606 | case OpAtomicIIncrement: *hasResult = true; *hasResultType = true; break;
|
---|
1607 | case OpAtomicIDecrement: *hasResult = true; *hasResultType = true; break;
|
---|
1608 | case OpAtomicIAdd: *hasResult = true; *hasResultType = true; break;
|
---|
1609 | case OpAtomicISub: *hasResult = true; *hasResultType = true; break;
|
---|
1610 | case OpAtomicSMin: *hasResult = true; *hasResultType = true; break;
|
---|
1611 | case OpAtomicUMin: *hasResult = true; *hasResultType = true; break;
|
---|
1612 | case OpAtomicSMax: *hasResult = true; *hasResultType = true; break;
|
---|
1613 | case OpAtomicUMax: *hasResult = true; *hasResultType = true; break;
|
---|
1614 | case OpAtomicAnd: *hasResult = true; *hasResultType = true; break;
|
---|
1615 | case OpAtomicOr: *hasResult = true; *hasResultType = true; break;
|
---|
1616 | case OpAtomicXor: *hasResult = true; *hasResultType = true; break;
|
---|
1617 | case OpPhi: *hasResult = true; *hasResultType = true; break;
|
---|
1618 | case OpLoopMerge: *hasResult = false; *hasResultType = false; break;
|
---|
1619 | case OpSelectionMerge: *hasResult = false; *hasResultType = false; break;
|
---|
1620 | case OpLabel: *hasResult = true; *hasResultType = false; break;
|
---|
1621 | case OpBranch: *hasResult = false; *hasResultType = false; break;
|
---|
1622 | case OpBranchConditional: *hasResult = false; *hasResultType = false; break;
|
---|
1623 | case OpSwitch: *hasResult = false; *hasResultType = false; break;
|
---|
1624 | case OpKill: *hasResult = false; *hasResultType = false; break;
|
---|
1625 | case OpReturn: *hasResult = false; *hasResultType = false; break;
|
---|
1626 | case OpReturnValue: *hasResult = false; *hasResultType = false; break;
|
---|
1627 | case OpUnreachable: *hasResult = false; *hasResultType = false; break;
|
---|
1628 | case OpLifetimeStart: *hasResult = false; *hasResultType = false; break;
|
---|
1629 | case OpLifetimeStop: *hasResult = false; *hasResultType = false; break;
|
---|
1630 | case OpGroupAsyncCopy: *hasResult = true; *hasResultType = true; break;
|
---|
1631 | case OpGroupWaitEvents: *hasResult = false; *hasResultType = false; break;
|
---|
1632 | case OpGroupAll: *hasResult = true; *hasResultType = true; break;
|
---|
1633 | case OpGroupAny: *hasResult = true; *hasResultType = true; break;
|
---|
1634 | case OpGroupBroadcast: *hasResult = true; *hasResultType = true; break;
|
---|
1635 | case OpGroupIAdd: *hasResult = true; *hasResultType = true; break;
|
---|
1636 | case OpGroupFAdd: *hasResult = true; *hasResultType = true; break;
|
---|
1637 | case OpGroupFMin: *hasResult = true; *hasResultType = true; break;
|
---|
1638 | case OpGroupUMin: *hasResult = true; *hasResultType = true; break;
|
---|
1639 | case OpGroupSMin: *hasResult = true; *hasResultType = true; break;
|
---|
1640 | case OpGroupFMax: *hasResult = true; *hasResultType = true; break;
|
---|
1641 | case OpGroupUMax: *hasResult = true; *hasResultType = true; break;
|
---|
1642 | case OpGroupSMax: *hasResult = true; *hasResultType = true; break;
|
---|
1643 | case OpReadPipe: *hasResult = true; *hasResultType = true; break;
|
---|
1644 | case OpWritePipe: *hasResult = true; *hasResultType = true; break;
|
---|
1645 | case OpReservedReadPipe: *hasResult = true; *hasResultType = true; break;
|
---|
1646 | case OpReservedWritePipe: *hasResult = true; *hasResultType = true; break;
|
---|
1647 | case OpReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
|
---|
1648 | case OpReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
|
---|
1649 | case OpCommitReadPipe: *hasResult = false; *hasResultType = false; break;
|
---|
1650 | case OpCommitWritePipe: *hasResult = false; *hasResultType = false; break;
|
---|
1651 | case OpIsValidReserveId: *hasResult = true; *hasResultType = true; break;
|
---|
1652 | case OpGetNumPipePackets: *hasResult = true; *hasResultType = true; break;
|
---|
1653 | case OpGetMaxPipePackets: *hasResult = true; *hasResultType = true; break;
|
---|
1654 | case OpGroupReserveReadPipePackets: *hasResult = true; *hasResultType = true; break;
|
---|
1655 | case OpGroupReserveWritePipePackets: *hasResult = true; *hasResultType = true; break;
|
---|
1656 | case OpGroupCommitReadPipe: *hasResult = false; *hasResultType = false; break;
|
---|
1657 | case OpGroupCommitWritePipe: *hasResult = false; *hasResultType = false; break;
|
---|
1658 | case OpEnqueueMarker: *hasResult = true; *hasResultType = true; break;
|
---|
1659 | case OpEnqueueKernel: *hasResult = true; *hasResultType = true; break;
|
---|
1660 | case OpGetKernelNDrangeSubGroupCount: *hasResult = true; *hasResultType = true; break;
|
---|
1661 | case OpGetKernelNDrangeMaxSubGroupSize: *hasResult = true; *hasResultType = true; break;
|
---|
1662 | case OpGetKernelWorkGroupSize: *hasResult = true; *hasResultType = true; break;
|
---|
1663 | case OpGetKernelPreferredWorkGroupSizeMultiple: *hasResult = true; *hasResultType = true; break;
|
---|
1664 | case OpRetainEvent: *hasResult = false; *hasResultType = false; break;
|
---|
1665 | case OpReleaseEvent: *hasResult = false; *hasResultType = false; break;
|
---|
1666 | case OpCreateUserEvent: *hasResult = true; *hasResultType = true; break;
|
---|
1667 | case OpIsValidEvent: *hasResult = true; *hasResultType = true; break;
|
---|
1668 | case OpSetUserEventStatus: *hasResult = false; *hasResultType = false; break;
|
---|
1669 | case OpCaptureEventProfilingInfo: *hasResult = false; *hasResultType = false; break;
|
---|
1670 | case OpGetDefaultQueue: *hasResult = true; *hasResultType = true; break;
|
---|
1671 | case OpBuildNDRange: *hasResult = true; *hasResultType = true; break;
|
---|
1672 | case OpImageSparseSampleImplicitLod: *hasResult = true; *hasResultType = true; break;
|
---|
1673 | case OpImageSparseSampleExplicitLod: *hasResult = true; *hasResultType = true; break;
|
---|
1674 | case OpImageSparseSampleDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
|
---|
1675 | case OpImageSparseSampleDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
|
---|
1676 | case OpImageSparseSampleProjImplicitLod: *hasResult = true; *hasResultType = true; break;
|
---|
1677 | case OpImageSparseSampleProjExplicitLod: *hasResult = true; *hasResultType = true; break;
|
---|
1678 | case OpImageSparseSampleProjDrefImplicitLod: *hasResult = true; *hasResultType = true; break;
|
---|
1679 | case OpImageSparseSampleProjDrefExplicitLod: *hasResult = true; *hasResultType = true; break;
|
---|
1680 | case OpImageSparseFetch: *hasResult = true; *hasResultType = true; break;
|
---|
1681 | case OpImageSparseGather: *hasResult = true; *hasResultType = true; break;
|
---|
1682 | case OpImageSparseDrefGather: *hasResult = true; *hasResultType = true; break;
|
---|
1683 | case OpImageSparseTexelsResident: *hasResult = true; *hasResultType = true; break;
|
---|
1684 | case OpNoLine: *hasResult = false; *hasResultType = false; break;
|
---|
1685 | case OpAtomicFlagTestAndSet: *hasResult = true; *hasResultType = true; break;
|
---|
1686 | case OpAtomicFlagClear: *hasResult = false; *hasResultType = false; break;
|
---|
1687 | case OpImageSparseRead: *hasResult = true; *hasResultType = true; break;
|
---|
1688 | case OpSizeOf: *hasResult = true; *hasResultType = true; break;
|
---|
1689 | case OpTypePipeStorage: *hasResult = true; *hasResultType = false; break;
|
---|
1690 | case OpConstantPipeStorage: *hasResult = true; *hasResultType = true; break;
|
---|
1691 | case OpCreatePipeFromPipeStorage: *hasResult = true; *hasResultType = true; break;
|
---|
1692 | case OpGetKernelLocalSizeForSubgroupCount: *hasResult = true; *hasResultType = true; break;
|
---|
1693 | case OpGetKernelMaxNumSubgroups: *hasResult = true; *hasResultType = true; break;
|
---|
1694 | case OpTypeNamedBarrier: *hasResult = true; *hasResultType = false; break;
|
---|
1695 | case OpNamedBarrierInitialize: *hasResult = true; *hasResultType = true; break;
|
---|
1696 | case OpMemoryNamedBarrier: *hasResult = false; *hasResultType = false; break;
|
---|
1697 | case OpModuleProcessed: *hasResult = false; *hasResultType = false; break;
|
---|
1698 | case OpExecutionModeId: *hasResult = false; *hasResultType = false; break;
|
---|
1699 | case OpDecorateId: *hasResult = false; *hasResultType = false; break;
|
---|
1700 | case OpGroupNonUniformElect: *hasResult = true; *hasResultType = true; break;
|
---|
1701 | case OpGroupNonUniformAll: *hasResult = true; *hasResultType = true; break;
|
---|
1702 | case OpGroupNonUniformAny: *hasResult = true; *hasResultType = true; break;
|
---|
1703 | case OpGroupNonUniformAllEqual: *hasResult = true; *hasResultType = true; break;
|
---|
1704 | case OpGroupNonUniformBroadcast: *hasResult = true; *hasResultType = true; break;
|
---|
1705 | case OpGroupNonUniformBroadcastFirst: *hasResult = true; *hasResultType = true; break;
|
---|
1706 | case OpGroupNonUniformBallot: *hasResult = true; *hasResultType = true; break;
|
---|
1707 | case OpGroupNonUniformInverseBallot: *hasResult = true; *hasResultType = true; break;
|
---|
1708 | case OpGroupNonUniformBallotBitExtract: *hasResult = true; *hasResultType = true; break;
|
---|
1709 | case OpGroupNonUniformBallotBitCount: *hasResult = true; *hasResultType = true; break;
|
---|
1710 | case OpGroupNonUniformBallotFindLSB: *hasResult = true; *hasResultType = true; break;
|
---|
1711 | case OpGroupNonUniformBallotFindMSB: *hasResult = true; *hasResultType = true; break;
|
---|
1712 | case OpGroupNonUniformShuffle: *hasResult = true; *hasResultType = true; break;
|
---|
1713 | case OpGroupNonUniformShuffleXor: *hasResult = true; *hasResultType = true; break;
|
---|
1714 | case OpGroupNonUniformShuffleUp: *hasResult = true; *hasResultType = true; break;
|
---|
1715 | case OpGroupNonUniformShuffleDown: *hasResult = true; *hasResultType = true; break;
|
---|
1716 | case OpGroupNonUniformIAdd: *hasResult = true; *hasResultType = true; break;
|
---|
1717 | case OpGroupNonUniformFAdd: *hasResult = true; *hasResultType = true; break;
|
---|
1718 | case OpGroupNonUniformIMul: *hasResult = true; *hasResultType = true; break;
|
---|
1719 | case OpGroupNonUniformFMul: *hasResult = true; *hasResultType = true; break;
|
---|
1720 | case OpGroupNonUniformSMin: *hasResult = true; *hasResultType = true; break;
|
---|
1721 | case OpGroupNonUniformUMin: *hasResult = true; *hasResultType = true; break;
|
---|
1722 | case OpGroupNonUniformFMin: *hasResult = true; *hasResultType = true; break;
|
---|
1723 | case OpGroupNonUniformSMax: *hasResult = true; *hasResultType = true; break;
|
---|
1724 | case OpGroupNonUniformUMax: *hasResult = true; *hasResultType = true; break;
|
---|
1725 | case OpGroupNonUniformFMax: *hasResult = true; *hasResultType = true; break;
|
---|
1726 | case OpGroupNonUniformBitwiseAnd: *hasResult = true; *hasResultType = true; break;
|
---|
1727 | case OpGroupNonUniformBitwiseOr: *hasResult = true; *hasResultType = true; break;
|
---|
1728 | case OpGroupNonUniformBitwiseXor: *hasResult = true; *hasResultType = true; break;
|
---|
1729 | case OpGroupNonUniformLogicalAnd: *hasResult = true; *hasResultType = true; break;
|
---|
1730 | case OpGroupNonUniformLogicalOr: *hasResult = true; *hasResultType = true; break;
|
---|
1731 | case OpGroupNonUniformLogicalXor: *hasResult = true; *hasResultType = true; break;
|
---|
1732 | case OpGroupNonUniformQuadBroadcast: *hasResult = true; *hasResultType = true; break;
|
---|
1733 | case OpGroupNonUniformQuadSwap: *hasResult = true; *hasResultType = true; break;
|
---|
1734 | case OpCopyLogical: *hasResult = true; *hasResultType = true; break;
|
---|
1735 | case OpPtrEqual: *hasResult = true; *hasResultType = true; break;
|
---|
1736 | case OpPtrNotEqual: *hasResult = true; *hasResultType = true; break;
|
---|
1737 | case OpPtrDiff: *hasResult = true; *hasResultType = true; break;
|
---|
1738 | case OpSubgroupBallotKHR: *hasResult = true; *hasResultType = true; break;
|
---|
1739 | case OpSubgroupFirstInvocationKHR: *hasResult = true; *hasResultType = true; break;
|
---|
1740 | case OpSubgroupAllKHR: *hasResult = true; *hasResultType = true; break;
|
---|
1741 | case OpSubgroupAnyKHR: *hasResult = true; *hasResultType = true; break;
|
---|
1742 | case OpSubgroupAllEqualKHR: *hasResult = true; *hasResultType = true; break;
|
---|
1743 | case OpSubgroupReadInvocationKHR: *hasResult = true; *hasResultType = true; break;
|
---|
1744 | case OpGroupIAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
|
---|
1745 | case OpGroupFAddNonUniformAMD: *hasResult = true; *hasResultType = true; break;
|
---|
1746 | case OpGroupFMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
|
---|
1747 | case OpGroupUMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
|
---|
1748 | case OpGroupSMinNonUniformAMD: *hasResult = true; *hasResultType = true; break;
|
---|
1749 | case OpGroupFMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
|
---|
1750 | case OpGroupUMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
|
---|
1751 | case OpGroupSMaxNonUniformAMD: *hasResult = true; *hasResultType = true; break;
|
---|
1752 | case OpFragmentMaskFetchAMD: *hasResult = true; *hasResultType = true; break;
|
---|
1753 | case OpFragmentFetchAMD: *hasResult = true; *hasResultType = true; break;
|
---|
1754 | case OpImageSampleFootprintNV: *hasResult = true; *hasResultType = true; break;
|
---|
1755 | case OpGroupNonUniformPartitionNV: *hasResult = true; *hasResultType = true; break;
|
---|
1756 | case OpWritePackedPrimitiveIndices4x8NV: *hasResult = false; *hasResultType = false; break;
|
---|
1757 | case OpReportIntersectionNV: *hasResult = true; *hasResultType = true; break;
|
---|
1758 | case OpIgnoreIntersectionNV: *hasResult = false; *hasResultType = false; break;
|
---|
1759 | case OpTerminateRayNV: *hasResult = false; *hasResultType = false; break;
|
---|
1760 | case OpTraceNV: *hasResult = false; *hasResultType = false; break;
|
---|
1761 | case OpTypeAccelerationStructureNV: *hasResult = true; *hasResultType = false; break;
|
---|
1762 | case OpExecuteCallableNV: *hasResult = false; *hasResultType = false; break;
|
---|
1763 | case OpTypeCooperativeMatrixNV: *hasResult = true; *hasResultType = false; break;
|
---|
1764 | case OpCooperativeMatrixLoadNV: *hasResult = true; *hasResultType = true; break;
|
---|
1765 | case OpCooperativeMatrixStoreNV: *hasResult = false; *hasResultType = false; break;
|
---|
1766 | case OpCooperativeMatrixMulAddNV: *hasResult = true; *hasResultType = true; break;
|
---|
1767 | case OpCooperativeMatrixLengthNV: *hasResult = true; *hasResultType = true; break;
|
---|
1768 | case OpBeginInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
|
---|
1769 | case OpEndInvocationInterlockEXT: *hasResult = false; *hasResultType = false; break;
|
---|
1770 | case OpDemoteToHelperInvocationEXT: *hasResult = false; *hasResultType = false; break;
|
---|
1771 | case OpIsHelperInvocationEXT: *hasResult = true; *hasResultType = true; break;
|
---|
1772 | case OpSubgroupShuffleINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1773 | case OpSubgroupShuffleDownINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1774 | case OpSubgroupShuffleUpINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1775 | case OpSubgroupShuffleXorINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1776 | case OpSubgroupBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1777 | case OpSubgroupBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
|
---|
1778 | case OpSubgroupImageBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1779 | case OpSubgroupImageBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
|
---|
1780 | case OpSubgroupImageMediaBlockReadINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1781 | case OpSubgroupImageMediaBlockWriteINTEL: *hasResult = false; *hasResultType = false; break;
|
---|
1782 | case OpUCountLeadingZerosINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1783 | case OpUCountTrailingZerosINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1784 | case OpAbsISubINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1785 | case OpAbsUSubINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1786 | case OpIAddSatINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1787 | case OpUAddSatINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1788 | case OpIAverageINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1789 | case OpUAverageINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1790 | case OpIAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1791 | case OpUAverageRoundedINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1792 | case OpISubSatINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1793 | case OpUSubSatINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1794 | case OpIMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1795 | case OpUMul32x16INTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1796 | case OpDecorateString: *hasResult = false; *hasResultType = false; break;
|
---|
1797 | case OpMemberDecorateString: *hasResult = false; *hasResultType = false; break;
|
---|
1798 | case OpVmeImageINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1799 | case OpTypeVmeImageINTEL: *hasResult = true; *hasResultType = false; break;
|
---|
1800 | case OpTypeAvcImePayloadINTEL: *hasResult = true; *hasResultType = false; break;
|
---|
1801 | case OpTypeAvcRefPayloadINTEL: *hasResult = true; *hasResultType = false; break;
|
---|
1802 | case OpTypeAvcSicPayloadINTEL: *hasResult = true; *hasResultType = false; break;
|
---|
1803 | case OpTypeAvcMcePayloadINTEL: *hasResult = true; *hasResultType = false; break;
|
---|
1804 | case OpTypeAvcMceResultINTEL: *hasResult = true; *hasResultType = false; break;
|
---|
1805 | case OpTypeAvcImeResultINTEL: *hasResult = true; *hasResultType = false; break;
|
---|
1806 | case OpTypeAvcImeResultSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
|
---|
1807 | case OpTypeAvcImeResultDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = false; break;
|
---|
1808 | case OpTypeAvcImeSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
|
---|
1809 | case OpTypeAvcImeDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = false; break;
|
---|
1810 | case OpTypeAvcRefResultINTEL: *hasResult = true; *hasResultType = false; break;
|
---|
1811 | case OpTypeAvcSicResultINTEL: *hasResult = true; *hasResultType = false; break;
|
---|
1812 | case OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1813 | case OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1814 | case OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1815 | case OpSubgroupAvcMceSetInterShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1816 | case OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1817 | case OpSubgroupAvcMceSetInterDirectionPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1818 | case OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1819 | case OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1820 | case OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1821 | case OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1822 | case OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1823 | case OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1824 | case OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1825 | case OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1826 | case OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1827 | case OpSubgroupAvcMceSetAcOnlyHaarINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1828 | case OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1829 | case OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1830 | case OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1831 | case OpSubgroupAvcMceConvertToImePayloadINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1832 | case OpSubgroupAvcMceConvertToImeResultINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1833 | case OpSubgroupAvcMceConvertToRefPayloadINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1834 | case OpSubgroupAvcMceConvertToRefResultINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1835 | case OpSubgroupAvcMceConvertToSicPayloadINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1836 | case OpSubgroupAvcMceConvertToSicResultINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1837 | case OpSubgroupAvcMceGetMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1838 | case OpSubgroupAvcMceGetInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1839 | case OpSubgroupAvcMceGetBestInterDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1840 | case OpSubgroupAvcMceGetInterMajorShapeINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1841 | case OpSubgroupAvcMceGetInterMinorShapeINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1842 | case OpSubgroupAvcMceGetInterDirectionsINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1843 | case OpSubgroupAvcMceGetInterMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1844 | case OpSubgroupAvcMceGetInterReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1845 | case OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1846 | case OpSubgroupAvcImeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1847 | case OpSubgroupAvcImeSetSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1848 | case OpSubgroupAvcImeSetDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1849 | case OpSubgroupAvcImeRefWindowSizeINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1850 | case OpSubgroupAvcImeAdjustRefOffsetINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1851 | case OpSubgroupAvcImeConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1852 | case OpSubgroupAvcImeSetMaxMotionVectorCountINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1853 | case OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1854 | case OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1855 | case OpSubgroupAvcImeSetWeightedSadINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1856 | case OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1857 | case OpSubgroupAvcImeEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1858 | case OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1859 | case OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1860 | case OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1861 | case OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1862 | case OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1863 | case OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1864 | case OpSubgroupAvcImeConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1865 | case OpSubgroupAvcImeGetSingleReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1866 | case OpSubgroupAvcImeGetDualReferenceStreaminINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1867 | case OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1868 | case OpSubgroupAvcImeStripDualReferenceStreamoutINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1869 | case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1870 | case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1871 | case OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1872 | case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1873 | case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1874 | case OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1875 | case OpSubgroupAvcImeGetBorderReachedINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1876 | case OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1877 | case OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1878 | case OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1879 | case OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1880 | case OpSubgroupAvcFmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1881 | case OpSubgroupAvcBmeInitializeINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1882 | case OpSubgroupAvcRefConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1883 | case OpSubgroupAvcRefSetBidirectionalMixDisableINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1884 | case OpSubgroupAvcRefSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1885 | case OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1886 | case OpSubgroupAvcRefEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1887 | case OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1888 | case OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1889 | case OpSubgroupAvcRefConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1890 | case OpSubgroupAvcSicInitializeINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1891 | case OpSubgroupAvcSicConfigureSkcINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1892 | case OpSubgroupAvcSicConfigureIpeLumaINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1893 | case OpSubgroupAvcSicConfigureIpeLumaChromaINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1894 | case OpSubgroupAvcSicGetMotionVectorMaskINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1895 | case OpSubgroupAvcSicConvertToMcePayloadINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1896 | case OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1897 | case OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1898 | case OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1899 | case OpSubgroupAvcSicSetBilinearFilterEnableINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1900 | case OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1901 | case OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1902 | case OpSubgroupAvcSicEvaluateIpeINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1903 | case OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1904 | case OpSubgroupAvcSicEvaluateWithDualReferenceINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1905 | case OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1906 | case OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1907 | case OpSubgroupAvcSicConvertToMceResultINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1908 | case OpSubgroupAvcSicGetIpeLumaShapeINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1909 | case OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1910 | case OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1911 | case OpSubgroupAvcSicGetPackedIpeLumaModesINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1912 | case OpSubgroupAvcSicGetIpeChromaModeINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1913 | case OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1914 | case OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1915 | case OpSubgroupAvcSicGetInterRawSadsINTEL: *hasResult = true; *hasResultType = true; break;
|
---|
1916 | }
|
---|
1917 | }
|
---|
1918 | #endif /* SPV_ENABLE_UTILITY_CODE */
|
---|
1919 |
|
---|
1920 | // Overload operator| for mask bit combining
|
---|
1921 |
|
---|
1922 | inline ImageOperandsMask operator|(ImageOperandsMask a, ImageOperandsMask b) { return ImageOperandsMask(unsigned(a) | unsigned(b)); }
|
---|
1923 | inline FPFastMathModeMask operator|(FPFastMathModeMask a, FPFastMathModeMask b) { return FPFastMathModeMask(unsigned(a) | unsigned(b)); }
|
---|
1924 | inline SelectionControlMask operator|(SelectionControlMask a, SelectionControlMask b) { return SelectionControlMask(unsigned(a) | unsigned(b)); }
|
---|
1925 | inline LoopControlMask operator|(LoopControlMask a, LoopControlMask b) { return LoopControlMask(unsigned(a) | unsigned(b)); }
|
---|
1926 | inline FunctionControlMask operator|(FunctionControlMask a, FunctionControlMask b) { return FunctionControlMask(unsigned(a) | unsigned(b)); }
|
---|
1927 | inline MemorySemanticsMask operator|(MemorySemanticsMask a, MemorySemanticsMask b) { return MemorySemanticsMask(unsigned(a) | unsigned(b)); }
|
---|
1928 | inline MemoryAccessMask operator|(MemoryAccessMask a, MemoryAccessMask b) { return MemoryAccessMask(unsigned(a) | unsigned(b)); }
|
---|
1929 | inline KernelProfilingInfoMask operator|(KernelProfilingInfoMask a, KernelProfilingInfoMask b) { return KernelProfilingInfoMask(unsigned(a) | unsigned(b)); }
|
---|
1930 |
|
---|
1931 | } // end namespace spv
|
---|
1932 |
|
---|
1933 | #endif // #ifndef spirv_HPP
|
---|
1934 |
|
---|