1 /* automatically generated by rust-bindgen */
2 
3 #[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)]
4 pub mod root {
5     #[allow(unused_imports)]
6     use self::super::root;
7     pub mod spv {
8         #[allow(unused_imports)]
9         use self::super::super::root;
10         pub type Id = ::std::os::raw::c_uint;
11         #[repr(u32)]
12         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
13         pub enum SourceLanguage {
14             SourceLanguageUnknown = 0,
15             SourceLanguageESSL = 1,
16             SourceLanguageGLSL = 2,
17             SourceLanguageOpenCL_C = 3,
18             SourceLanguageOpenCL_CPP = 4,
19             SourceLanguageHLSL = 5,
20             SourceLanguageMax = 2147483647,
21         }
22         #[repr(u32)]
23         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
24         pub enum ExecutionModel {
25             ExecutionModelVertex = 0,
26             ExecutionModelTessellationControl = 1,
27             ExecutionModelTessellationEvaluation = 2,
28             ExecutionModelGeometry = 3,
29             ExecutionModelFragment = 4,
30             ExecutionModelGLCompute = 5,
31             ExecutionModelKernel = 6,
32             ExecutionModelTaskNV = 5267,
33             ExecutionModelMeshNV = 5268,
34             ExecutionModelRayGenerationNV = 5313,
35             ExecutionModelIntersectionNV = 5314,
36             ExecutionModelAnyHitNV = 5315,
37             ExecutionModelClosestHitNV = 5316,
38             ExecutionModelMissNV = 5317,
39             ExecutionModelCallableNV = 5318,
40             ExecutionModelMax = 2147483647,
41         }
42         #[repr(u32)]
43         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
44         pub enum AddressingModel {
45             AddressingModelLogical = 0,
46             AddressingModelPhysical32 = 1,
47             AddressingModelPhysical64 = 2,
48             AddressingModelPhysicalStorageBuffer64EXT = 5348,
49             AddressingModelMax = 2147483647,
50         }
51         #[repr(u32)]
52         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
53         pub enum MemoryModel {
54             MemoryModelSimple = 0,
55             MemoryModelGLSL450 = 1,
56             MemoryModelOpenCL = 2,
57             MemoryModelVulkanKHR = 3,
58             MemoryModelMax = 2147483647,
59         }
60         #[repr(u32)]
61         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
62         pub enum ExecutionMode {
63             ExecutionModeInvocations = 0,
64             ExecutionModeSpacingEqual = 1,
65             ExecutionModeSpacingFractionalEven = 2,
66             ExecutionModeSpacingFractionalOdd = 3,
67             ExecutionModeVertexOrderCw = 4,
68             ExecutionModeVertexOrderCcw = 5,
69             ExecutionModePixelCenterInteger = 6,
70             ExecutionModeOriginUpperLeft = 7,
71             ExecutionModeOriginLowerLeft = 8,
72             ExecutionModeEarlyFragmentTests = 9,
73             ExecutionModePointMode = 10,
74             ExecutionModeXfb = 11,
75             ExecutionModeDepthReplacing = 12,
76             ExecutionModeDepthGreater = 14,
77             ExecutionModeDepthLess = 15,
78             ExecutionModeDepthUnchanged = 16,
79             ExecutionModeLocalSize = 17,
80             ExecutionModeLocalSizeHint = 18,
81             ExecutionModeInputPoints = 19,
82             ExecutionModeInputLines = 20,
83             ExecutionModeInputLinesAdjacency = 21,
84             ExecutionModeTriangles = 22,
85             ExecutionModeInputTrianglesAdjacency = 23,
86             ExecutionModeQuads = 24,
87             ExecutionModeIsolines = 25,
88             ExecutionModeOutputVertices = 26,
89             ExecutionModeOutputPoints = 27,
90             ExecutionModeOutputLineStrip = 28,
91             ExecutionModeOutputTriangleStrip = 29,
92             ExecutionModeVecTypeHint = 30,
93             ExecutionModeContractionOff = 31,
94             ExecutionModeInitializer = 33,
95             ExecutionModeFinalizer = 34,
96             ExecutionModeSubgroupSize = 35,
97             ExecutionModeSubgroupsPerWorkgroup = 36,
98             ExecutionModeSubgroupsPerWorkgroupId = 37,
99             ExecutionModeLocalSizeId = 38,
100             ExecutionModeLocalSizeHintId = 39,
101             ExecutionModePostDepthCoverage = 4446,
102             ExecutionModeDenormPreserve = 4459,
103             ExecutionModeDenormFlushToZero = 4460,
104             ExecutionModeSignedZeroInfNanPreserve = 4461,
105             ExecutionModeRoundingModeRTE = 4462,
106             ExecutionModeRoundingModeRTZ = 4463,
107             ExecutionModeStencilRefReplacingEXT = 5027,
108             ExecutionModeOutputLinesNV = 5269,
109             ExecutionModeOutputPrimitivesNV = 5270,
110             ExecutionModeDerivativeGroupQuadsNV = 5289,
111             ExecutionModeDerivativeGroupLinearNV = 5290,
112             ExecutionModeOutputTrianglesNV = 5298,
113             ExecutionModeMax = 2147483647,
114         }
115         #[repr(u32)]
116         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
117         pub enum StorageClass {
118             StorageClassUniformConstant = 0,
119             StorageClassInput = 1,
120             StorageClassUniform = 2,
121             StorageClassOutput = 3,
122             StorageClassWorkgroup = 4,
123             StorageClassCrossWorkgroup = 5,
124             StorageClassPrivate = 6,
125             StorageClassFunction = 7,
126             StorageClassGeneric = 8,
127             StorageClassPushConstant = 9,
128             StorageClassAtomicCounter = 10,
129             StorageClassImage = 11,
130             StorageClassStorageBuffer = 12,
131             StorageClassCallableDataNV = 5328,
132             StorageClassIncomingCallableDataNV = 5329,
133             StorageClassRayPayloadNV = 5338,
134             StorageClassHitAttributeNV = 5339,
135             StorageClassIncomingRayPayloadNV = 5342,
136             StorageClassShaderRecordBufferNV = 5343,
137             StorageClassPhysicalStorageBufferEXT = 5349,
138             StorageClassMax = 2147483647,
139         }
140         #[repr(u32)]
141         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
142         pub enum Dim {
143             Dim1D = 0,
144             Dim2D = 1,
145             Dim3D = 2,
146             DimCube = 3,
147             DimRect = 4,
148             DimBuffer = 5,
149             DimSubpassData = 6,
150             DimMax = 2147483647,
151         }
152         #[repr(u32)]
153         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
154         pub enum SamplerAddressingMode {
155             SamplerAddressingModeNone = 0,
156             SamplerAddressingModeClampToEdge = 1,
157             SamplerAddressingModeClamp = 2,
158             SamplerAddressingModeRepeat = 3,
159             SamplerAddressingModeRepeatMirrored = 4,
160             SamplerAddressingModeMax = 2147483647,
161         }
162         #[repr(u32)]
163         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
164         pub enum SamplerFilterMode {
165             SamplerFilterModeNearest = 0,
166             SamplerFilterModeLinear = 1,
167             SamplerFilterModeMax = 2147483647,
168         }
169         #[repr(u32)]
170         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
171         pub enum ImageFormat {
172             ImageFormatUnknown = 0,
173             ImageFormatRgba32f = 1,
174             ImageFormatRgba16f = 2,
175             ImageFormatR32f = 3,
176             ImageFormatRgba8 = 4,
177             ImageFormatRgba8Snorm = 5,
178             ImageFormatRg32f = 6,
179             ImageFormatRg16f = 7,
180             ImageFormatR11fG11fB10f = 8,
181             ImageFormatR16f = 9,
182             ImageFormatRgba16 = 10,
183             ImageFormatRgb10A2 = 11,
184             ImageFormatRg16 = 12,
185             ImageFormatRg8 = 13,
186             ImageFormatR16 = 14,
187             ImageFormatR8 = 15,
188             ImageFormatRgba16Snorm = 16,
189             ImageFormatRg16Snorm = 17,
190             ImageFormatRg8Snorm = 18,
191             ImageFormatR16Snorm = 19,
192             ImageFormatR8Snorm = 20,
193             ImageFormatRgba32i = 21,
194             ImageFormatRgba16i = 22,
195             ImageFormatRgba8i = 23,
196             ImageFormatR32i = 24,
197             ImageFormatRg32i = 25,
198             ImageFormatRg16i = 26,
199             ImageFormatRg8i = 27,
200             ImageFormatR16i = 28,
201             ImageFormatR8i = 29,
202             ImageFormatRgba32ui = 30,
203             ImageFormatRgba16ui = 31,
204             ImageFormatRgba8ui = 32,
205             ImageFormatR32ui = 33,
206             ImageFormatRgb10a2ui = 34,
207             ImageFormatRg32ui = 35,
208             ImageFormatRg16ui = 36,
209             ImageFormatRg8ui = 37,
210             ImageFormatR16ui = 38,
211             ImageFormatR8ui = 39,
212             ImageFormatMax = 2147483647,
213         }
214         #[repr(u32)]
215         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
216         pub enum ImageChannelOrder {
217             ImageChannelOrderR = 0,
218             ImageChannelOrderA = 1,
219             ImageChannelOrderRG = 2,
220             ImageChannelOrderRA = 3,
221             ImageChannelOrderRGB = 4,
222             ImageChannelOrderRGBA = 5,
223             ImageChannelOrderBGRA = 6,
224             ImageChannelOrderARGB = 7,
225             ImageChannelOrderIntensity = 8,
226             ImageChannelOrderLuminance = 9,
227             ImageChannelOrderRx = 10,
228             ImageChannelOrderRGx = 11,
229             ImageChannelOrderRGBx = 12,
230             ImageChannelOrderDepth = 13,
231             ImageChannelOrderDepthStencil = 14,
232             ImageChannelOrdersRGB = 15,
233             ImageChannelOrdersRGBx = 16,
234             ImageChannelOrdersRGBA = 17,
235             ImageChannelOrdersBGRA = 18,
236             ImageChannelOrderABGR = 19,
237             ImageChannelOrderMax = 2147483647,
238         }
239         #[repr(u32)]
240         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
241         pub enum ImageChannelDataType {
242             ImageChannelDataTypeSnormInt8 = 0,
243             ImageChannelDataTypeSnormInt16 = 1,
244             ImageChannelDataTypeUnormInt8 = 2,
245             ImageChannelDataTypeUnormInt16 = 3,
246             ImageChannelDataTypeUnormShort565 = 4,
247             ImageChannelDataTypeUnormShort555 = 5,
248             ImageChannelDataTypeUnormInt101010 = 6,
249             ImageChannelDataTypeSignedInt8 = 7,
250             ImageChannelDataTypeSignedInt16 = 8,
251             ImageChannelDataTypeSignedInt32 = 9,
252             ImageChannelDataTypeUnsignedInt8 = 10,
253             ImageChannelDataTypeUnsignedInt16 = 11,
254             ImageChannelDataTypeUnsignedInt32 = 12,
255             ImageChannelDataTypeHalfFloat = 13,
256             ImageChannelDataTypeFloat = 14,
257             ImageChannelDataTypeUnormInt24 = 15,
258             ImageChannelDataTypeUnormInt101010_2 = 16,
259             ImageChannelDataTypeMax = 2147483647,
260         }
261         #[repr(u32)]
262         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
263         pub enum ImageOperandsShift {
264             ImageOperandsBiasShift = 0,
265             ImageOperandsLodShift = 1,
266             ImageOperandsGradShift = 2,
267             ImageOperandsConstOffsetShift = 3,
268             ImageOperandsOffsetShift = 4,
269             ImageOperandsConstOffsetsShift = 5,
270             ImageOperandsSampleShift = 6,
271             ImageOperandsMinLodShift = 7,
272             ImageOperandsMakeTexelAvailableKHRShift = 8,
273             ImageOperandsMakeTexelVisibleKHRShift = 9,
274             ImageOperandsNonPrivateTexelKHRShift = 10,
275             ImageOperandsVolatileTexelKHRShift = 11,
276             ImageOperandsMax = 2147483647,
277         }
278         pub const ImageOperandsMask_ImageOperandsMaskNone:
279                   root::spv::ImageOperandsMask =
280             ImageOperandsMask(0);
281         pub const ImageOperandsMask_ImageOperandsBiasMask:
282                   root::spv::ImageOperandsMask =
283             ImageOperandsMask(1);
284         pub const ImageOperandsMask_ImageOperandsLodMask:
285                   root::spv::ImageOperandsMask =
286             ImageOperandsMask(2);
287         pub const ImageOperandsMask_ImageOperandsGradMask:
288                   root::spv::ImageOperandsMask =
289             ImageOperandsMask(4);
290         pub const ImageOperandsMask_ImageOperandsConstOffsetMask:
291                   root::spv::ImageOperandsMask =
292             ImageOperandsMask(8);
293         pub const ImageOperandsMask_ImageOperandsOffsetMask:
294                   root::spv::ImageOperandsMask =
295             ImageOperandsMask(16);
296         pub const ImageOperandsMask_ImageOperandsConstOffsetsMask:
297                   root::spv::ImageOperandsMask =
298             ImageOperandsMask(32);
299         pub const ImageOperandsMask_ImageOperandsSampleMask:
300                   root::spv::ImageOperandsMask =
301             ImageOperandsMask(64);
302         pub const ImageOperandsMask_ImageOperandsMinLodMask:
303                   root::spv::ImageOperandsMask =
304             ImageOperandsMask(128);
305         pub const ImageOperandsMask_ImageOperandsMakeTexelAvailableKHRMask:
306                   root::spv::ImageOperandsMask =
307             ImageOperandsMask(256);
308         pub const ImageOperandsMask_ImageOperandsMakeTexelVisibleKHRMask:
309                   root::spv::ImageOperandsMask =
310             ImageOperandsMask(512);
311         pub const ImageOperandsMask_ImageOperandsNonPrivateTexelKHRMask:
312                   root::spv::ImageOperandsMask =
313             ImageOperandsMask(1024);
314         pub const ImageOperandsMask_ImageOperandsVolatileTexelKHRMask:
315                   root::spv::ImageOperandsMask =
316             ImageOperandsMask(2048);
317         impl ::std::ops::BitOr<root::spv::ImageOperandsMask> for
318          root::spv::ImageOperandsMask {
319             type
320             Output
321             =
322             Self;
323             #[inline]
bitor(self, other: Self) -> Self324             fn bitor(self, other: Self) -> Self {
325                 ImageOperandsMask(self.0 | other.0)
326             }
327         }
328         impl ::std::ops::BitOrAssign for root::spv::ImageOperandsMask {
329             #[inline]
bitor_assign(&mut self, rhs: root::spv::ImageOperandsMask)330             fn bitor_assign(&mut self, rhs: root::spv::ImageOperandsMask) {
331                 self.0 |= rhs.0;
332             }
333         }
334         impl ::std::ops::BitAnd<root::spv::ImageOperandsMask> for
335          root::spv::ImageOperandsMask {
336             type
337             Output
338             =
339             Self;
340             #[inline]
bitand(self, other: Self) -> Self341             fn bitand(self, other: Self) -> Self {
342                 ImageOperandsMask(self.0 & other.0)
343             }
344         }
345         impl ::std::ops::BitAndAssign for root::spv::ImageOperandsMask {
346             #[inline]
bitand_assign(&mut self, rhs: root::spv::ImageOperandsMask)347             fn bitand_assign(&mut self, rhs: root::spv::ImageOperandsMask) {
348                 self.0 &= rhs.0;
349             }
350         }
351         #[repr(C)]
352         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
353         pub struct ImageOperandsMask(pub ::std::os::raw::c_uint);
354         #[repr(u32)]
355         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
356         pub enum FPFastMathModeShift {
357             FPFastMathModeNotNaNShift = 0,
358             FPFastMathModeNotInfShift = 1,
359             FPFastMathModeNSZShift = 2,
360             FPFastMathModeAllowRecipShift = 3,
361             FPFastMathModeFastShift = 4,
362             FPFastMathModeMax = 2147483647,
363         }
364         pub const FPFastMathModeMask_FPFastMathModeMaskNone:
365                   root::spv::FPFastMathModeMask =
366             FPFastMathModeMask(0);
367         pub const FPFastMathModeMask_FPFastMathModeNotNaNMask:
368                   root::spv::FPFastMathModeMask =
369             FPFastMathModeMask(1);
370         pub const FPFastMathModeMask_FPFastMathModeNotInfMask:
371                   root::spv::FPFastMathModeMask =
372             FPFastMathModeMask(2);
373         pub const FPFastMathModeMask_FPFastMathModeNSZMask:
374                   root::spv::FPFastMathModeMask =
375             FPFastMathModeMask(4);
376         pub const FPFastMathModeMask_FPFastMathModeAllowRecipMask:
377                   root::spv::FPFastMathModeMask =
378             FPFastMathModeMask(8);
379         pub const FPFastMathModeMask_FPFastMathModeFastMask:
380                   root::spv::FPFastMathModeMask =
381             FPFastMathModeMask(16);
382         impl ::std::ops::BitOr<root::spv::FPFastMathModeMask> for
383          root::spv::FPFastMathModeMask {
384             type
385             Output
386             =
387             Self;
388             #[inline]
bitor(self, other: Self) -> Self389             fn bitor(self, other: Self) -> Self {
390                 FPFastMathModeMask(self.0 | other.0)
391             }
392         }
393         impl ::std::ops::BitOrAssign for root::spv::FPFastMathModeMask {
394             #[inline]
bitor_assign(&mut self, rhs: root::spv::FPFastMathModeMask)395             fn bitor_assign(&mut self, rhs: root::spv::FPFastMathModeMask) {
396                 self.0 |= rhs.0;
397             }
398         }
399         impl ::std::ops::BitAnd<root::spv::FPFastMathModeMask> for
400          root::spv::FPFastMathModeMask {
401             type
402             Output
403             =
404             Self;
405             #[inline]
bitand(self, other: Self) -> Self406             fn bitand(self, other: Self) -> Self {
407                 FPFastMathModeMask(self.0 & other.0)
408             }
409         }
410         impl ::std::ops::BitAndAssign for root::spv::FPFastMathModeMask {
411             #[inline]
bitand_assign(&mut self, rhs: root::spv::FPFastMathModeMask)412             fn bitand_assign(&mut self, rhs: root::spv::FPFastMathModeMask) {
413                 self.0 &= rhs.0;
414             }
415         }
416         #[repr(C)]
417         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
418         pub struct FPFastMathModeMask(pub ::std::os::raw::c_uint);
419         #[repr(u32)]
420         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
421         pub enum FPRoundingMode {
422             FPRoundingModeRTE = 0,
423             FPRoundingModeRTZ = 1,
424             FPRoundingModeRTP = 2,
425             FPRoundingModeRTN = 3,
426             FPRoundingModeMax = 2147483647,
427         }
428         #[repr(u32)]
429         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
430         pub enum LinkageType {
431             LinkageTypeExport = 0,
432             LinkageTypeImport = 1,
433             LinkageTypeMax = 2147483647,
434         }
435         #[repr(u32)]
436         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
437         pub enum AccessQualifier {
438             AccessQualifierReadOnly = 0,
439             AccessQualifierWriteOnly = 1,
440             AccessQualifierReadWrite = 2,
441             AccessQualifierMax = 2147483647,
442         }
443         #[repr(u32)]
444         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
445         pub enum FunctionParameterAttribute {
446             FunctionParameterAttributeZext = 0,
447             FunctionParameterAttributeSext = 1,
448             FunctionParameterAttributeByVal = 2,
449             FunctionParameterAttributeSret = 3,
450             FunctionParameterAttributeNoAlias = 4,
451             FunctionParameterAttributeNoCapture = 5,
452             FunctionParameterAttributeNoWrite = 6,
453             FunctionParameterAttributeNoReadWrite = 7,
454             FunctionParameterAttributeMax = 2147483647,
455         }
456         #[repr(u32)]
457         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
458         pub enum Decoration {
459             DecorationRelaxedPrecision = 0,
460             DecorationSpecId = 1,
461             DecorationBlock = 2,
462             DecorationBufferBlock = 3,
463             DecorationRowMajor = 4,
464             DecorationColMajor = 5,
465             DecorationArrayStride = 6,
466             DecorationMatrixStride = 7,
467             DecorationGLSLShared = 8,
468             DecorationGLSLPacked = 9,
469             DecorationCPacked = 10,
470             DecorationBuiltIn = 11,
471             DecorationNoPerspective = 13,
472             DecorationFlat = 14,
473             DecorationPatch = 15,
474             DecorationCentroid = 16,
475             DecorationSample = 17,
476             DecorationInvariant = 18,
477             DecorationRestrict = 19,
478             DecorationAliased = 20,
479             DecorationVolatile = 21,
480             DecorationConstant = 22,
481             DecorationCoherent = 23,
482             DecorationNonWritable = 24,
483             DecorationNonReadable = 25,
484             DecorationUniform = 26,
485             DecorationSaturatedConversion = 28,
486             DecorationStream = 29,
487             DecorationLocation = 30,
488             DecorationComponent = 31,
489             DecorationIndex = 32,
490             DecorationBinding = 33,
491             DecorationDescriptorSet = 34,
492             DecorationOffset = 35,
493             DecorationXfbBuffer = 36,
494             DecorationXfbStride = 37,
495             DecorationFuncParamAttr = 38,
496             DecorationFPRoundingMode = 39,
497             DecorationFPFastMathMode = 40,
498             DecorationLinkageAttributes = 41,
499             DecorationNoContraction = 42,
500             DecorationInputAttachmentIndex = 43,
501             DecorationAlignment = 44,
502             DecorationMaxByteOffset = 45,
503             DecorationAlignmentId = 46,
504             DecorationMaxByteOffsetId = 47,
505             DecorationNoSignedWrap = 4469,
506             DecorationNoUnsignedWrap = 4470,
507             DecorationExplicitInterpAMD = 4999,
508             DecorationOverrideCoverageNV = 5248,
509             DecorationPassthroughNV = 5250,
510             DecorationViewportRelativeNV = 5252,
511             DecorationSecondaryViewportRelativeNV = 5256,
512             DecorationPerPrimitiveNV = 5271,
513             DecorationPerViewNV = 5272,
514             DecorationPerTaskNV = 5273,
515             DecorationPerVertexNV = 5285,
516             DecorationNonUniformEXT = 5300,
517             DecorationRestrictPointerEXT = 5355,
518             DecorationAliasedPointerEXT = 5356,
519             DecorationHlslCounterBufferGOOGLE = 5634,
520             DecorationHlslSemanticGOOGLE = 5635,
521             DecorationMax = 2147483647,
522         }
523         pub const BuiltIn_BuiltInSubgroupEqMaskKHR: root::spv::BuiltIn =
524             BuiltIn::BuiltInSubgroupEqMask;
525         pub const BuiltIn_BuiltInSubgroupGeMaskKHR: root::spv::BuiltIn =
526             BuiltIn::BuiltInSubgroupGeMask;
527         pub const BuiltIn_BuiltInSubgroupGtMaskKHR: root::spv::BuiltIn =
528             BuiltIn::BuiltInSubgroupGtMask;
529         pub const BuiltIn_BuiltInSubgroupLeMaskKHR: root::spv::BuiltIn =
530             BuiltIn::BuiltInSubgroupLeMask;
531         pub const BuiltIn_BuiltInSubgroupLtMaskKHR: root::spv::BuiltIn =
532             BuiltIn::BuiltInSubgroupLtMask;
533         pub const BuiltIn_BuiltInFragmentSizeNV: root::spv::BuiltIn =
534             BuiltIn::BuiltInFragSizeEXT;
535         pub const BuiltIn_BuiltInInvocationsPerPixelNV: root::spv::BuiltIn =
536             BuiltIn::BuiltInFragInvocationCountEXT;
537         #[repr(u32)]
538         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
539         pub enum BuiltIn {
540             BuiltInPosition = 0,
541             BuiltInPointSize = 1,
542             BuiltInClipDistance = 3,
543             BuiltInCullDistance = 4,
544             BuiltInVertexId = 5,
545             BuiltInInstanceId = 6,
546             BuiltInPrimitiveId = 7,
547             BuiltInInvocationId = 8,
548             BuiltInLayer = 9,
549             BuiltInViewportIndex = 10,
550             BuiltInTessLevelOuter = 11,
551             BuiltInTessLevelInner = 12,
552             BuiltInTessCoord = 13,
553             BuiltInPatchVertices = 14,
554             BuiltInFragCoord = 15,
555             BuiltInPointCoord = 16,
556             BuiltInFrontFacing = 17,
557             BuiltInSampleId = 18,
558             BuiltInSamplePosition = 19,
559             BuiltInSampleMask = 20,
560             BuiltInFragDepth = 22,
561             BuiltInHelperInvocation = 23,
562             BuiltInNumWorkgroups = 24,
563             BuiltInWorkgroupSize = 25,
564             BuiltInWorkgroupId = 26,
565             BuiltInLocalInvocationId = 27,
566             BuiltInGlobalInvocationId = 28,
567             BuiltInLocalInvocationIndex = 29,
568             BuiltInWorkDim = 30,
569             BuiltInGlobalSize = 31,
570             BuiltInEnqueuedWorkgroupSize = 32,
571             BuiltInGlobalOffset = 33,
572             BuiltInGlobalLinearId = 34,
573             BuiltInSubgroupSize = 36,
574             BuiltInSubgroupMaxSize = 37,
575             BuiltInNumSubgroups = 38,
576             BuiltInNumEnqueuedSubgroups = 39,
577             BuiltInSubgroupId = 40,
578             BuiltInSubgroupLocalInvocationId = 41,
579             BuiltInVertexIndex = 42,
580             BuiltInInstanceIndex = 43,
581             BuiltInSubgroupEqMask = 4416,
582             BuiltInSubgroupGeMask = 4417,
583             BuiltInSubgroupGtMask = 4418,
584             BuiltInSubgroupLeMask = 4419,
585             BuiltInSubgroupLtMask = 4420,
586             BuiltInBaseVertex = 4424,
587             BuiltInBaseInstance = 4425,
588             BuiltInDrawIndex = 4426,
589             BuiltInDeviceIndex = 4438,
590             BuiltInViewIndex = 4440,
591             BuiltInBaryCoordNoPerspAMD = 4992,
592             BuiltInBaryCoordNoPerspCentroidAMD = 4993,
593             BuiltInBaryCoordNoPerspSampleAMD = 4994,
594             BuiltInBaryCoordSmoothAMD = 4995,
595             BuiltInBaryCoordSmoothCentroidAMD = 4996,
596             BuiltInBaryCoordSmoothSampleAMD = 4997,
597             BuiltInBaryCoordPullModelAMD = 4998,
598             BuiltInFragStencilRefEXT = 5014,
599             BuiltInViewportMaskNV = 5253,
600             BuiltInSecondaryPositionNV = 5257,
601             BuiltInSecondaryViewportMaskNV = 5258,
602             BuiltInPositionPerViewNV = 5261,
603             BuiltInViewportMaskPerViewNV = 5262,
604             BuiltInFullyCoveredEXT = 5264,
605             BuiltInTaskCountNV = 5274,
606             BuiltInPrimitiveCountNV = 5275,
607             BuiltInPrimitiveIndicesNV = 5276,
608             BuiltInClipDistancePerViewNV = 5277,
609             BuiltInCullDistancePerViewNV = 5278,
610             BuiltInLayerPerViewNV = 5279,
611             BuiltInMeshViewCountNV = 5280,
612             BuiltInMeshViewIndicesNV = 5281,
613             BuiltInBaryCoordNV = 5286,
614             BuiltInBaryCoordNoPerspNV = 5287,
615             BuiltInFragSizeEXT = 5292,
616             BuiltInFragInvocationCountEXT = 5293,
617             BuiltInLaunchIdNV = 5319,
618             BuiltInLaunchSizeNV = 5320,
619             BuiltInWorldRayOriginNV = 5321,
620             BuiltInWorldRayDirectionNV = 5322,
621             BuiltInObjectRayOriginNV = 5323,
622             BuiltInObjectRayDirectionNV = 5324,
623             BuiltInRayTminNV = 5325,
624             BuiltInRayTmaxNV = 5326,
625             BuiltInInstanceCustomIndexNV = 5327,
626             BuiltInObjectToWorldNV = 5330,
627             BuiltInWorldToObjectNV = 5331,
628             BuiltInHitTNV = 5332,
629             BuiltInHitKindNV = 5333,
630             BuiltInIncomingRayFlagsNV = 5351,
631             BuiltInMax = 2147483647,
632         }
633         #[repr(u32)]
634         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
635         pub enum SelectionControlShift {
636             SelectionControlFlattenShift = 0,
637             SelectionControlDontFlattenShift = 1,
638             SelectionControlMax = 2147483647,
639         }
640         pub const SelectionControlMask_SelectionControlMaskNone:
641                   root::spv::SelectionControlMask =
642             SelectionControlMask(0);
643         pub const SelectionControlMask_SelectionControlFlattenMask:
644                   root::spv::SelectionControlMask =
645             SelectionControlMask(1);
646         pub const SelectionControlMask_SelectionControlDontFlattenMask:
647                   root::spv::SelectionControlMask =
648             SelectionControlMask(2);
649         impl ::std::ops::BitOr<root::spv::SelectionControlMask> for
650          root::spv::SelectionControlMask {
651             type
652             Output
653             =
654             Self;
655             #[inline]
bitor(self, other: Self) -> Self656             fn bitor(self, other: Self) -> Self {
657                 SelectionControlMask(self.0 | other.0)
658             }
659         }
660         impl ::std::ops::BitOrAssign for root::spv::SelectionControlMask {
661             #[inline]
bitor_assign(&mut self, rhs: root::spv::SelectionControlMask)662             fn bitor_assign(&mut self, rhs: root::spv::SelectionControlMask) {
663                 self.0 |= rhs.0;
664             }
665         }
666         impl ::std::ops::BitAnd<root::spv::SelectionControlMask> for
667          root::spv::SelectionControlMask {
668             type
669             Output
670             =
671             Self;
672             #[inline]
bitand(self, other: Self) -> Self673             fn bitand(self, other: Self) -> Self {
674                 SelectionControlMask(self.0 & other.0)
675             }
676         }
677         impl ::std::ops::BitAndAssign for root::spv::SelectionControlMask {
678             #[inline]
bitand_assign(&mut self, rhs: root::spv::SelectionControlMask)679             fn bitand_assign(&mut self,
680                              rhs: root::spv::SelectionControlMask) {
681                 self.0 &= rhs.0;
682             }
683         }
684         #[repr(C)]
685         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
686         pub struct SelectionControlMask(pub ::std::os::raw::c_uint);
687         #[repr(u32)]
688         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
689         pub enum LoopControlShift {
690             LoopControlUnrollShift = 0,
691             LoopControlDontUnrollShift = 1,
692             LoopControlDependencyInfiniteShift = 2,
693             LoopControlDependencyLengthShift = 3,
694             LoopControlMax = 2147483647,
695         }
696         pub const LoopControlMask_LoopControlMaskNone:
697                   root::spv::LoopControlMask =
698             LoopControlMask(0);
699         pub const LoopControlMask_LoopControlUnrollMask:
700                   root::spv::LoopControlMask =
701             LoopControlMask(1);
702         pub const LoopControlMask_LoopControlDontUnrollMask:
703                   root::spv::LoopControlMask =
704             LoopControlMask(2);
705         pub const LoopControlMask_LoopControlDependencyInfiniteMask:
706                   root::spv::LoopControlMask =
707             LoopControlMask(4);
708         pub const LoopControlMask_LoopControlDependencyLengthMask:
709                   root::spv::LoopControlMask =
710             LoopControlMask(8);
711         impl ::std::ops::BitOr<root::spv::LoopControlMask> for
712          root::spv::LoopControlMask {
713             type
714             Output
715             =
716             Self;
717             #[inline]
bitor(self, other: Self) -> Self718             fn bitor(self, other: Self) -> Self {
719                 LoopControlMask(self.0 | other.0)
720             }
721         }
722         impl ::std::ops::BitOrAssign for root::spv::LoopControlMask {
723             #[inline]
bitor_assign(&mut self, rhs: root::spv::LoopControlMask)724             fn bitor_assign(&mut self, rhs: root::spv::LoopControlMask) {
725                 self.0 |= rhs.0;
726             }
727         }
728         impl ::std::ops::BitAnd<root::spv::LoopControlMask> for
729          root::spv::LoopControlMask {
730             type
731             Output
732             =
733             Self;
734             #[inline]
bitand(self, other: Self) -> Self735             fn bitand(self, other: Self) -> Self {
736                 LoopControlMask(self.0 & other.0)
737             }
738         }
739         impl ::std::ops::BitAndAssign for root::spv::LoopControlMask {
740             #[inline]
bitand_assign(&mut self, rhs: root::spv::LoopControlMask)741             fn bitand_assign(&mut self, rhs: root::spv::LoopControlMask) {
742                 self.0 &= rhs.0;
743             }
744         }
745         #[repr(C)]
746         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
747         pub struct LoopControlMask(pub ::std::os::raw::c_uint);
748         #[repr(u32)]
749         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
750         pub enum FunctionControlShift {
751             FunctionControlInlineShift = 0,
752             FunctionControlDontInlineShift = 1,
753             FunctionControlPureShift = 2,
754             FunctionControlConstShift = 3,
755             FunctionControlMax = 2147483647,
756         }
757         pub const FunctionControlMask_FunctionControlMaskNone:
758                   root::spv::FunctionControlMask =
759             FunctionControlMask(0);
760         pub const FunctionControlMask_FunctionControlInlineMask:
761                   root::spv::FunctionControlMask =
762             FunctionControlMask(1);
763         pub const FunctionControlMask_FunctionControlDontInlineMask:
764                   root::spv::FunctionControlMask =
765             FunctionControlMask(2);
766         pub const FunctionControlMask_FunctionControlPureMask:
767                   root::spv::FunctionControlMask =
768             FunctionControlMask(4);
769         pub const FunctionControlMask_FunctionControlConstMask:
770                   root::spv::FunctionControlMask =
771             FunctionControlMask(8);
772         impl ::std::ops::BitOr<root::spv::FunctionControlMask> for
773          root::spv::FunctionControlMask {
774             type
775             Output
776             =
777             Self;
778             #[inline]
bitor(self, other: Self) -> Self779             fn bitor(self, other: Self) -> Self {
780                 FunctionControlMask(self.0 | other.0)
781             }
782         }
783         impl ::std::ops::BitOrAssign for root::spv::FunctionControlMask {
784             #[inline]
bitor_assign(&mut self, rhs: root::spv::FunctionControlMask)785             fn bitor_assign(&mut self, rhs: root::spv::FunctionControlMask) {
786                 self.0 |= rhs.0;
787             }
788         }
789         impl ::std::ops::BitAnd<root::spv::FunctionControlMask> for
790          root::spv::FunctionControlMask {
791             type
792             Output
793             =
794             Self;
795             #[inline]
bitand(self, other: Self) -> Self796             fn bitand(self, other: Self) -> Self {
797                 FunctionControlMask(self.0 & other.0)
798             }
799         }
800         impl ::std::ops::BitAndAssign for root::spv::FunctionControlMask {
801             #[inline]
bitand_assign(&mut self, rhs: root::spv::FunctionControlMask)802             fn bitand_assign(&mut self, rhs: root::spv::FunctionControlMask) {
803                 self.0 &= rhs.0;
804             }
805         }
806         #[repr(C)]
807         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
808         pub struct FunctionControlMask(pub ::std::os::raw::c_uint);
809         #[repr(u32)]
810         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
811         pub enum MemorySemanticsShift {
812             MemorySemanticsAcquireShift = 1,
813             MemorySemanticsReleaseShift = 2,
814             MemorySemanticsAcquireReleaseShift = 3,
815             MemorySemanticsSequentiallyConsistentShift = 4,
816             MemorySemanticsUniformMemoryShift = 6,
817             MemorySemanticsSubgroupMemoryShift = 7,
818             MemorySemanticsWorkgroupMemoryShift = 8,
819             MemorySemanticsCrossWorkgroupMemoryShift = 9,
820             MemorySemanticsAtomicCounterMemoryShift = 10,
821             MemorySemanticsImageMemoryShift = 11,
822             MemorySemanticsOutputMemoryKHRShift = 12,
823             MemorySemanticsMakeAvailableKHRShift = 13,
824             MemorySemanticsMakeVisibleKHRShift = 14,
825             MemorySemanticsMax = 2147483647,
826         }
827         pub const MemorySemanticsMask_MemorySemanticsMaskNone:
828                   root::spv::MemorySemanticsMask =
829             MemorySemanticsMask(0);
830         pub const MemorySemanticsMask_MemorySemanticsAcquireMask:
831                   root::spv::MemorySemanticsMask =
832             MemorySemanticsMask(2);
833         pub const MemorySemanticsMask_MemorySemanticsReleaseMask:
834                   root::spv::MemorySemanticsMask =
835             MemorySemanticsMask(4);
836         pub const MemorySemanticsMask_MemorySemanticsAcquireReleaseMask:
837                   root::spv::MemorySemanticsMask =
838             MemorySemanticsMask(8);
839         pub const MemorySemanticsMask_MemorySemanticsSequentiallyConsistentMask:
840                   root::spv::MemorySemanticsMask =
841             MemorySemanticsMask(16);
842         pub const MemorySemanticsMask_MemorySemanticsUniformMemoryMask:
843                   root::spv::MemorySemanticsMask =
844             MemorySemanticsMask(64);
845         pub const MemorySemanticsMask_MemorySemanticsSubgroupMemoryMask:
846                   root::spv::MemorySemanticsMask =
847             MemorySemanticsMask(128);
848         pub const MemorySemanticsMask_MemorySemanticsWorkgroupMemoryMask:
849                   root::spv::MemorySemanticsMask =
850             MemorySemanticsMask(256);
851         pub const MemorySemanticsMask_MemorySemanticsCrossWorkgroupMemoryMask:
852                   root::spv::MemorySemanticsMask =
853             MemorySemanticsMask(512);
854         pub const MemorySemanticsMask_MemorySemanticsAtomicCounterMemoryMask:
855                   root::spv::MemorySemanticsMask =
856             MemorySemanticsMask(1024);
857         pub const MemorySemanticsMask_MemorySemanticsImageMemoryMask:
858                   root::spv::MemorySemanticsMask =
859             MemorySemanticsMask(2048);
860         pub const MemorySemanticsMask_MemorySemanticsOutputMemoryKHRMask:
861                   root::spv::MemorySemanticsMask =
862             MemorySemanticsMask(4096);
863         pub const MemorySemanticsMask_MemorySemanticsMakeAvailableKHRMask:
864                   root::spv::MemorySemanticsMask =
865             MemorySemanticsMask(8192);
866         pub const MemorySemanticsMask_MemorySemanticsMakeVisibleKHRMask:
867                   root::spv::MemorySemanticsMask =
868             MemorySemanticsMask(16384);
869         impl ::std::ops::BitOr<root::spv::MemorySemanticsMask> for
870          root::spv::MemorySemanticsMask {
871             type
872             Output
873             =
874             Self;
875             #[inline]
bitor(self, other: Self) -> Self876             fn bitor(self, other: Self) -> Self {
877                 MemorySemanticsMask(self.0 | other.0)
878             }
879         }
880         impl ::std::ops::BitOrAssign for root::spv::MemorySemanticsMask {
881             #[inline]
bitor_assign(&mut self, rhs: root::spv::MemorySemanticsMask)882             fn bitor_assign(&mut self, rhs: root::spv::MemorySemanticsMask) {
883                 self.0 |= rhs.0;
884             }
885         }
886         impl ::std::ops::BitAnd<root::spv::MemorySemanticsMask> for
887          root::spv::MemorySemanticsMask {
888             type
889             Output
890             =
891             Self;
892             #[inline]
bitand(self, other: Self) -> Self893             fn bitand(self, other: Self) -> Self {
894                 MemorySemanticsMask(self.0 & other.0)
895             }
896         }
897         impl ::std::ops::BitAndAssign for root::spv::MemorySemanticsMask {
898             #[inline]
bitand_assign(&mut self, rhs: root::spv::MemorySemanticsMask)899             fn bitand_assign(&mut self, rhs: root::spv::MemorySemanticsMask) {
900                 self.0 &= rhs.0;
901             }
902         }
903         #[repr(C)]
904         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
905         pub struct MemorySemanticsMask(pub ::std::os::raw::c_uint);
906         #[repr(u32)]
907         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
908         pub enum MemoryAccessShift {
909             MemoryAccessVolatileShift = 0,
910             MemoryAccessAlignedShift = 1,
911             MemoryAccessNontemporalShift = 2,
912             MemoryAccessMakePointerAvailableKHRShift = 3,
913             MemoryAccessMakePointerVisibleKHRShift = 4,
914             MemoryAccessNonPrivatePointerKHRShift = 5,
915             MemoryAccessMax = 2147483647,
916         }
917         pub const MemoryAccessMask_MemoryAccessMaskNone:
918                   root::spv::MemoryAccessMask =
919             MemoryAccessMask(0);
920         pub const MemoryAccessMask_MemoryAccessVolatileMask:
921                   root::spv::MemoryAccessMask =
922             MemoryAccessMask(1);
923         pub const MemoryAccessMask_MemoryAccessAlignedMask:
924                   root::spv::MemoryAccessMask =
925             MemoryAccessMask(2);
926         pub const MemoryAccessMask_MemoryAccessNontemporalMask:
927                   root::spv::MemoryAccessMask =
928             MemoryAccessMask(4);
929         pub const MemoryAccessMask_MemoryAccessMakePointerAvailableKHRMask:
930                   root::spv::MemoryAccessMask =
931             MemoryAccessMask(8);
932         pub const MemoryAccessMask_MemoryAccessMakePointerVisibleKHRMask:
933                   root::spv::MemoryAccessMask =
934             MemoryAccessMask(16);
935         pub const MemoryAccessMask_MemoryAccessNonPrivatePointerKHRMask:
936                   root::spv::MemoryAccessMask =
937             MemoryAccessMask(32);
938         impl ::std::ops::BitOr<root::spv::MemoryAccessMask> for
939          root::spv::MemoryAccessMask {
940             type
941             Output
942             =
943             Self;
944             #[inline]
bitor(self, other: Self) -> Self945             fn bitor(self, other: Self) -> Self {
946                 MemoryAccessMask(self.0 | other.0)
947             }
948         }
949         impl ::std::ops::BitOrAssign for root::spv::MemoryAccessMask {
950             #[inline]
bitor_assign(&mut self, rhs: root::spv::MemoryAccessMask)951             fn bitor_assign(&mut self, rhs: root::spv::MemoryAccessMask) {
952                 self.0 |= rhs.0;
953             }
954         }
955         impl ::std::ops::BitAnd<root::spv::MemoryAccessMask> for
956          root::spv::MemoryAccessMask {
957             type
958             Output
959             =
960             Self;
961             #[inline]
bitand(self, other: Self) -> Self962             fn bitand(self, other: Self) -> Self {
963                 MemoryAccessMask(self.0 & other.0)
964             }
965         }
966         impl ::std::ops::BitAndAssign for root::spv::MemoryAccessMask {
967             #[inline]
bitand_assign(&mut self, rhs: root::spv::MemoryAccessMask)968             fn bitand_assign(&mut self, rhs: root::spv::MemoryAccessMask) {
969                 self.0 &= rhs.0;
970             }
971         }
972         #[repr(C)]
973         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
974         pub struct MemoryAccessMask(pub ::std::os::raw::c_uint);
975         #[repr(u32)]
976         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
977         pub enum Scope {
978             ScopeCrossDevice = 0,
979             ScopeDevice = 1,
980             ScopeWorkgroup = 2,
981             ScopeSubgroup = 3,
982             ScopeInvocation = 4,
983             ScopeQueueFamilyKHR = 5,
984             ScopeMax = 2147483647,
985         }
986         #[repr(u32)]
987         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
988         pub enum GroupOperation {
989             GroupOperationReduce = 0,
990             GroupOperationInclusiveScan = 1,
991             GroupOperationExclusiveScan = 2,
992             GroupOperationClusteredReduce = 3,
993             GroupOperationPartitionedReduceNV = 6,
994             GroupOperationPartitionedInclusiveScanNV = 7,
995             GroupOperationPartitionedExclusiveScanNV = 8,
996             GroupOperationMax = 2147483647,
997         }
998         pub const KernelEnqueueFlags_KernelEnqueueFlagsNoWait:
999                   root::spv::KernelEnqueueFlags =
1000             KernelEnqueueFlags(0);
1001         pub const KernelEnqueueFlags_KernelEnqueueFlagsWaitKernel:
1002                   root::spv::KernelEnqueueFlags =
1003             KernelEnqueueFlags(1);
1004         pub const KernelEnqueueFlags_KernelEnqueueFlagsWaitWorkGroup:
1005                   root::spv::KernelEnqueueFlags =
1006             KernelEnqueueFlags(2);
1007         pub const KernelEnqueueFlags_KernelEnqueueFlagsMax:
1008                   root::spv::KernelEnqueueFlags =
1009             KernelEnqueueFlags(2147483647);
1010         impl ::std::ops::BitOr<root::spv::KernelEnqueueFlags> for
1011          root::spv::KernelEnqueueFlags {
1012             type
1013             Output
1014             =
1015             Self;
1016             #[inline]
bitor(self, other: Self) -> Self1017             fn bitor(self, other: Self) -> Self {
1018                 KernelEnqueueFlags(self.0 | other.0)
1019             }
1020         }
1021         impl ::std::ops::BitOrAssign for root::spv::KernelEnqueueFlags {
1022             #[inline]
bitor_assign(&mut self, rhs: root::spv::KernelEnqueueFlags)1023             fn bitor_assign(&mut self, rhs: root::spv::KernelEnqueueFlags) {
1024                 self.0 |= rhs.0;
1025             }
1026         }
1027         impl ::std::ops::BitAnd<root::spv::KernelEnqueueFlags> for
1028          root::spv::KernelEnqueueFlags {
1029             type
1030             Output
1031             =
1032             Self;
1033             #[inline]
bitand(self, other: Self) -> Self1034             fn bitand(self, other: Self) -> Self {
1035                 KernelEnqueueFlags(self.0 & other.0)
1036             }
1037         }
1038         impl ::std::ops::BitAndAssign for root::spv::KernelEnqueueFlags {
1039             #[inline]
bitand_assign(&mut self, rhs: root::spv::KernelEnqueueFlags)1040             fn bitand_assign(&mut self, rhs: root::spv::KernelEnqueueFlags) {
1041                 self.0 &= rhs.0;
1042             }
1043         }
1044         #[repr(C)]
1045         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1046         pub struct KernelEnqueueFlags(pub ::std::os::raw::c_uint);
1047         #[repr(u32)]
1048         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1049         pub enum KernelProfilingInfoShift {
1050             KernelProfilingInfoCmdExecTimeShift = 0,
1051             KernelProfilingInfoMax = 2147483647,
1052         }
1053         pub const KernelProfilingInfoMask_KernelProfilingInfoMaskNone:
1054                   root::spv::KernelProfilingInfoMask =
1055             KernelProfilingInfoMask(0);
1056         pub const KernelProfilingInfoMask_KernelProfilingInfoCmdExecTimeMask:
1057                   root::spv::KernelProfilingInfoMask =
1058             KernelProfilingInfoMask(1);
1059         impl ::std::ops::BitOr<root::spv::KernelProfilingInfoMask> for
1060          root::spv::KernelProfilingInfoMask {
1061             type
1062             Output
1063             =
1064             Self;
1065             #[inline]
bitor(self, other: Self) -> Self1066             fn bitor(self, other: Self) -> Self {
1067                 KernelProfilingInfoMask(self.0 | other.0)
1068             }
1069         }
1070         impl ::std::ops::BitOrAssign for root::spv::KernelProfilingInfoMask {
1071             #[inline]
bitor_assign(&mut self, rhs: root::spv::KernelProfilingInfoMask)1072             fn bitor_assign(&mut self,
1073                             rhs: root::spv::KernelProfilingInfoMask) {
1074                 self.0 |= rhs.0;
1075             }
1076         }
1077         impl ::std::ops::BitAnd<root::spv::KernelProfilingInfoMask> for
1078          root::spv::KernelProfilingInfoMask {
1079             type
1080             Output
1081             =
1082             Self;
1083             #[inline]
bitand(self, other: Self) -> Self1084             fn bitand(self, other: Self) -> Self {
1085                 KernelProfilingInfoMask(self.0 & other.0)
1086             }
1087         }
1088         impl ::std::ops::BitAndAssign for root::spv::KernelProfilingInfoMask {
1089             #[inline]
bitand_assign(&mut self, rhs: root::spv::KernelProfilingInfoMask)1090             fn bitand_assign(&mut self,
1091                              rhs: root::spv::KernelProfilingInfoMask) {
1092                 self.0 &= rhs.0;
1093             }
1094         }
1095         #[repr(C)]
1096         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1097         pub struct KernelProfilingInfoMask(pub ::std::os::raw::c_uint);
1098         pub const Capability_CapabilityStorageUniformBufferBlock16:
1099                   root::spv::Capability =
1100             Capability::CapabilityStorageBuffer16BitAccess;
1101         pub const Capability_CapabilityUniformAndStorageBuffer16BitAccess:
1102                   root::spv::Capability =
1103             Capability::CapabilityStorageUniform16;
1104         pub const Capability_CapabilityShaderViewportIndexLayerNV:
1105                   root::spv::Capability =
1106             Capability::CapabilityShaderViewportIndexLayerEXT;
1107         pub const Capability_CapabilityShadingRateNV: root::spv::Capability =
1108             Capability::CapabilityFragmentDensityEXT;
1109         #[repr(u32)]
1110         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1111         pub enum Capability {
1112             CapabilityMatrix = 0,
1113             CapabilityShader = 1,
1114             CapabilityGeometry = 2,
1115             CapabilityTessellation = 3,
1116             CapabilityAddresses = 4,
1117             CapabilityLinkage = 5,
1118             CapabilityKernel = 6,
1119             CapabilityVector16 = 7,
1120             CapabilityFloat16Buffer = 8,
1121             CapabilityFloat16 = 9,
1122             CapabilityFloat64 = 10,
1123             CapabilityInt64 = 11,
1124             CapabilityInt64Atomics = 12,
1125             CapabilityImageBasic = 13,
1126             CapabilityImageReadWrite = 14,
1127             CapabilityImageMipmap = 15,
1128             CapabilityPipes = 17,
1129             CapabilityGroups = 18,
1130             CapabilityDeviceEnqueue = 19,
1131             CapabilityLiteralSampler = 20,
1132             CapabilityAtomicStorage = 21,
1133             CapabilityInt16 = 22,
1134             CapabilityTessellationPointSize = 23,
1135             CapabilityGeometryPointSize = 24,
1136             CapabilityImageGatherExtended = 25,
1137             CapabilityStorageImageMultisample = 27,
1138             CapabilityUniformBufferArrayDynamicIndexing = 28,
1139             CapabilitySampledImageArrayDynamicIndexing = 29,
1140             CapabilityStorageBufferArrayDynamicIndexing = 30,
1141             CapabilityStorageImageArrayDynamicIndexing = 31,
1142             CapabilityClipDistance = 32,
1143             CapabilityCullDistance = 33,
1144             CapabilityImageCubeArray = 34,
1145             CapabilitySampleRateShading = 35,
1146             CapabilityImageRect = 36,
1147             CapabilitySampledRect = 37,
1148             CapabilityGenericPointer = 38,
1149             CapabilityInt8 = 39,
1150             CapabilityInputAttachment = 40,
1151             CapabilitySparseResidency = 41,
1152             CapabilityMinLod = 42,
1153             CapabilitySampled1D = 43,
1154             CapabilityImage1D = 44,
1155             CapabilitySampledCubeArray = 45,
1156             CapabilitySampledBuffer = 46,
1157             CapabilityImageBuffer = 47,
1158             CapabilityImageMSArray = 48,
1159             CapabilityStorageImageExtendedFormats = 49,
1160             CapabilityImageQuery = 50,
1161             CapabilityDerivativeControl = 51,
1162             CapabilityInterpolationFunction = 52,
1163             CapabilityTransformFeedback = 53,
1164             CapabilityGeometryStreams = 54,
1165             CapabilityStorageImageReadWithoutFormat = 55,
1166             CapabilityStorageImageWriteWithoutFormat = 56,
1167             CapabilityMultiViewport = 57,
1168             CapabilitySubgroupDispatch = 58,
1169             CapabilityNamedBarrier = 59,
1170             CapabilityPipeStorage = 60,
1171             CapabilityGroupNonUniform = 61,
1172             CapabilityGroupNonUniformVote = 62,
1173             CapabilityGroupNonUniformArithmetic = 63,
1174             CapabilityGroupNonUniformBallot = 64,
1175             CapabilityGroupNonUniformShuffle = 65,
1176             CapabilityGroupNonUniformShuffleRelative = 66,
1177             CapabilityGroupNonUniformClustered = 67,
1178             CapabilityGroupNonUniformQuad = 68,
1179             CapabilitySubgroupBallotKHR = 4423,
1180             CapabilityDrawParameters = 4427,
1181             CapabilitySubgroupVoteKHR = 4431,
1182             CapabilityStorageBuffer16BitAccess = 4433,
1183             CapabilityStorageUniform16 = 4434,
1184             CapabilityStoragePushConstant16 = 4435,
1185             CapabilityStorageInputOutput16 = 4436,
1186             CapabilityDeviceGroup = 4437,
1187             CapabilityMultiView = 4439,
1188             CapabilityVariablePointersStorageBuffer = 4441,
1189             CapabilityVariablePointers = 4442,
1190             CapabilityAtomicStorageOps = 4445,
1191             CapabilitySampleMaskPostDepthCoverage = 4447,
1192             CapabilityStorageBuffer8BitAccess = 4448,
1193             CapabilityUniformAndStorageBuffer8BitAccess = 4449,
1194             CapabilityStoragePushConstant8 = 4450,
1195             CapabilityDenormPreserve = 4464,
1196             CapabilityDenormFlushToZero = 4465,
1197             CapabilitySignedZeroInfNanPreserve = 4466,
1198             CapabilityRoundingModeRTE = 4467,
1199             CapabilityRoundingModeRTZ = 4468,
1200             CapabilityFloat16ImageAMD = 5008,
1201             CapabilityImageGatherBiasLodAMD = 5009,
1202             CapabilityFragmentMaskAMD = 5010,
1203             CapabilityStencilExportEXT = 5013,
1204             CapabilityImageReadWriteLodAMD = 5015,
1205             CapabilitySampleMaskOverrideCoverageNV = 5249,
1206             CapabilityGeometryShaderPassthroughNV = 5251,
1207             CapabilityShaderViewportIndexLayerEXT = 5254,
1208             CapabilityShaderViewportMaskNV = 5255,
1209             CapabilityShaderStereoViewNV = 5259,
1210             CapabilityPerViewAttributesNV = 5260,
1211             CapabilityFragmentFullyCoveredEXT = 5265,
1212             CapabilityMeshShadingNV = 5266,
1213             CapabilityImageFootprintNV = 5282,
1214             CapabilityFragmentBarycentricNV = 5284,
1215             CapabilityComputeDerivativeGroupQuadsNV = 5288,
1216             CapabilityFragmentDensityEXT = 5291,
1217             CapabilityGroupNonUniformPartitionedNV = 5297,
1218             CapabilityShaderNonUniformEXT = 5301,
1219             CapabilityRuntimeDescriptorArrayEXT = 5302,
1220             CapabilityInputAttachmentArrayDynamicIndexingEXT = 5303,
1221             CapabilityUniformTexelBufferArrayDynamicIndexingEXT = 5304,
1222             CapabilityStorageTexelBufferArrayDynamicIndexingEXT = 5305,
1223             CapabilityUniformBufferArrayNonUniformIndexingEXT = 5306,
1224             CapabilitySampledImageArrayNonUniformIndexingEXT = 5307,
1225             CapabilityStorageBufferArrayNonUniformIndexingEXT = 5308,
1226             CapabilityStorageImageArrayNonUniformIndexingEXT = 5309,
1227             CapabilityInputAttachmentArrayNonUniformIndexingEXT = 5310,
1228             CapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311,
1229             CapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
1230             CapabilityRayTracingNV = 5340,
1231             CapabilityVulkanMemoryModelKHR = 5345,
1232             CapabilityVulkanMemoryModelDeviceScopeKHR = 5346,
1233             CapabilityPhysicalStorageBufferAddressesEXT = 5347,
1234             CapabilityComputeDerivativeGroupLinearNV = 5350,
1235             CapabilitySubgroupShuffleINTEL = 5568,
1236             CapabilitySubgroupBufferBlockIOINTEL = 5569,
1237             CapabilitySubgroupImageBlockIOINTEL = 5570,
1238             CapabilitySubgroupImageMediaBlockIOINTEL = 5579,
1239             CapabilityMax = 2147483647,
1240         }
1241         #[repr(u32)]
1242         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1243         pub enum Op {
1244             OpNop = 0,
1245             OpUndef = 1,
1246             OpSourceContinued = 2,
1247             OpSource = 3,
1248             OpSourceExtension = 4,
1249             OpName = 5,
1250             OpMemberName = 6,
1251             OpString = 7,
1252             OpLine = 8,
1253             OpExtension = 10,
1254             OpExtInstImport = 11,
1255             OpExtInst = 12,
1256             OpMemoryModel = 14,
1257             OpEntryPoint = 15,
1258             OpExecutionMode = 16,
1259             OpCapability = 17,
1260             OpTypeVoid = 19,
1261             OpTypeBool = 20,
1262             OpTypeInt = 21,
1263             OpTypeFloat = 22,
1264             OpTypeVector = 23,
1265             OpTypeMatrix = 24,
1266             OpTypeImage = 25,
1267             OpTypeSampler = 26,
1268             OpTypeSampledImage = 27,
1269             OpTypeArray = 28,
1270             OpTypeRuntimeArray = 29,
1271             OpTypeStruct = 30,
1272             OpTypeOpaque = 31,
1273             OpTypePointer = 32,
1274             OpTypeFunction = 33,
1275             OpTypeEvent = 34,
1276             OpTypeDeviceEvent = 35,
1277             OpTypeReserveId = 36,
1278             OpTypeQueue = 37,
1279             OpTypePipe = 38,
1280             OpTypeForwardPointer = 39,
1281             OpConstantTrue = 41,
1282             OpConstantFalse = 42,
1283             OpConstant = 43,
1284             OpConstantComposite = 44,
1285             OpConstantSampler = 45,
1286             OpConstantNull = 46,
1287             OpSpecConstantTrue = 48,
1288             OpSpecConstantFalse = 49,
1289             OpSpecConstant = 50,
1290             OpSpecConstantComposite = 51,
1291             OpSpecConstantOp = 52,
1292             OpFunction = 54,
1293             OpFunctionParameter = 55,
1294             OpFunctionEnd = 56,
1295             OpFunctionCall = 57,
1296             OpVariable = 59,
1297             OpImageTexelPointer = 60,
1298             OpLoad = 61,
1299             OpStore = 62,
1300             OpCopyMemory = 63,
1301             OpCopyMemorySized = 64,
1302             OpAccessChain = 65,
1303             OpInBoundsAccessChain = 66,
1304             OpPtrAccessChain = 67,
1305             OpArrayLength = 68,
1306             OpGenericPtrMemSemantics = 69,
1307             OpInBoundsPtrAccessChain = 70,
1308             OpDecorate = 71,
1309             OpMemberDecorate = 72,
1310             OpDecorationGroup = 73,
1311             OpGroupDecorate = 74,
1312             OpGroupMemberDecorate = 75,
1313             OpVectorExtractDynamic = 77,
1314             OpVectorInsertDynamic = 78,
1315             OpVectorShuffle = 79,
1316             OpCompositeConstruct = 80,
1317             OpCompositeExtract = 81,
1318             OpCompositeInsert = 82,
1319             OpCopyObject = 83,
1320             OpTranspose = 84,
1321             OpSampledImage = 86,
1322             OpImageSampleImplicitLod = 87,
1323             OpImageSampleExplicitLod = 88,
1324             OpImageSampleDrefImplicitLod = 89,
1325             OpImageSampleDrefExplicitLod = 90,
1326             OpImageSampleProjImplicitLod = 91,
1327             OpImageSampleProjExplicitLod = 92,
1328             OpImageSampleProjDrefImplicitLod = 93,
1329             OpImageSampleProjDrefExplicitLod = 94,
1330             OpImageFetch = 95,
1331             OpImageGather = 96,
1332             OpImageDrefGather = 97,
1333             OpImageRead = 98,
1334             OpImageWrite = 99,
1335             OpImage = 100,
1336             OpImageQueryFormat = 101,
1337             OpImageQueryOrder = 102,
1338             OpImageQuerySizeLod = 103,
1339             OpImageQuerySize = 104,
1340             OpImageQueryLod = 105,
1341             OpImageQueryLevels = 106,
1342             OpImageQuerySamples = 107,
1343             OpConvertFToU = 109,
1344             OpConvertFToS = 110,
1345             OpConvertSToF = 111,
1346             OpConvertUToF = 112,
1347             OpUConvert = 113,
1348             OpSConvert = 114,
1349             OpFConvert = 115,
1350             OpQuantizeToF16 = 116,
1351             OpConvertPtrToU = 117,
1352             OpSatConvertSToU = 118,
1353             OpSatConvertUToS = 119,
1354             OpConvertUToPtr = 120,
1355             OpPtrCastToGeneric = 121,
1356             OpGenericCastToPtr = 122,
1357             OpGenericCastToPtrExplicit = 123,
1358             OpBitcast = 124,
1359             OpSNegate = 126,
1360             OpFNegate = 127,
1361             OpIAdd = 128,
1362             OpFAdd = 129,
1363             OpISub = 130,
1364             OpFSub = 131,
1365             OpIMul = 132,
1366             OpFMul = 133,
1367             OpUDiv = 134,
1368             OpSDiv = 135,
1369             OpFDiv = 136,
1370             OpUMod = 137,
1371             OpSRem = 138,
1372             OpSMod = 139,
1373             OpFRem = 140,
1374             OpFMod = 141,
1375             OpVectorTimesScalar = 142,
1376             OpMatrixTimesScalar = 143,
1377             OpVectorTimesMatrix = 144,
1378             OpMatrixTimesVector = 145,
1379             OpMatrixTimesMatrix = 146,
1380             OpOuterProduct = 147,
1381             OpDot = 148,
1382             OpIAddCarry = 149,
1383             OpISubBorrow = 150,
1384             OpUMulExtended = 151,
1385             OpSMulExtended = 152,
1386             OpAny = 154,
1387             OpAll = 155,
1388             OpIsNan = 156,
1389             OpIsInf = 157,
1390             OpIsFinite = 158,
1391             OpIsNormal = 159,
1392             OpSignBitSet = 160,
1393             OpLessOrGreater = 161,
1394             OpOrdered = 162,
1395             OpUnordered = 163,
1396             OpLogicalEqual = 164,
1397             OpLogicalNotEqual = 165,
1398             OpLogicalOr = 166,
1399             OpLogicalAnd = 167,
1400             OpLogicalNot = 168,
1401             OpSelect = 169,
1402             OpIEqual = 170,
1403             OpINotEqual = 171,
1404             OpUGreaterThan = 172,
1405             OpSGreaterThan = 173,
1406             OpUGreaterThanEqual = 174,
1407             OpSGreaterThanEqual = 175,
1408             OpULessThan = 176,
1409             OpSLessThan = 177,
1410             OpULessThanEqual = 178,
1411             OpSLessThanEqual = 179,
1412             OpFOrdEqual = 180,
1413             OpFUnordEqual = 181,
1414             OpFOrdNotEqual = 182,
1415             OpFUnordNotEqual = 183,
1416             OpFOrdLessThan = 184,
1417             OpFUnordLessThan = 185,
1418             OpFOrdGreaterThan = 186,
1419             OpFUnordGreaterThan = 187,
1420             OpFOrdLessThanEqual = 188,
1421             OpFUnordLessThanEqual = 189,
1422             OpFOrdGreaterThanEqual = 190,
1423             OpFUnordGreaterThanEqual = 191,
1424             OpShiftRightLogical = 194,
1425             OpShiftRightArithmetic = 195,
1426             OpShiftLeftLogical = 196,
1427             OpBitwiseOr = 197,
1428             OpBitwiseXor = 198,
1429             OpBitwiseAnd = 199,
1430             OpNot = 200,
1431             OpBitFieldInsert = 201,
1432             OpBitFieldSExtract = 202,
1433             OpBitFieldUExtract = 203,
1434             OpBitReverse = 204,
1435             OpBitCount = 205,
1436             OpDPdx = 207,
1437             OpDPdy = 208,
1438             OpFwidth = 209,
1439             OpDPdxFine = 210,
1440             OpDPdyFine = 211,
1441             OpFwidthFine = 212,
1442             OpDPdxCoarse = 213,
1443             OpDPdyCoarse = 214,
1444             OpFwidthCoarse = 215,
1445             OpEmitVertex = 218,
1446             OpEndPrimitive = 219,
1447             OpEmitStreamVertex = 220,
1448             OpEndStreamPrimitive = 221,
1449             OpControlBarrier = 224,
1450             OpMemoryBarrier = 225,
1451             OpAtomicLoad = 227,
1452             OpAtomicStore = 228,
1453             OpAtomicExchange = 229,
1454             OpAtomicCompareExchange = 230,
1455             OpAtomicCompareExchangeWeak = 231,
1456             OpAtomicIIncrement = 232,
1457             OpAtomicIDecrement = 233,
1458             OpAtomicIAdd = 234,
1459             OpAtomicISub = 235,
1460             OpAtomicSMin = 236,
1461             OpAtomicUMin = 237,
1462             OpAtomicSMax = 238,
1463             OpAtomicUMax = 239,
1464             OpAtomicAnd = 240,
1465             OpAtomicOr = 241,
1466             OpAtomicXor = 242,
1467             OpPhi = 245,
1468             OpLoopMerge = 246,
1469             OpSelectionMerge = 247,
1470             OpLabel = 248,
1471             OpBranch = 249,
1472             OpBranchConditional = 250,
1473             OpSwitch = 251,
1474             OpKill = 252,
1475             OpReturn = 253,
1476             OpReturnValue = 254,
1477             OpUnreachable = 255,
1478             OpLifetimeStart = 256,
1479             OpLifetimeStop = 257,
1480             OpGroupAsyncCopy = 259,
1481             OpGroupWaitEvents = 260,
1482             OpGroupAll = 261,
1483             OpGroupAny = 262,
1484             OpGroupBroadcast = 263,
1485             OpGroupIAdd = 264,
1486             OpGroupFAdd = 265,
1487             OpGroupFMin = 266,
1488             OpGroupUMin = 267,
1489             OpGroupSMin = 268,
1490             OpGroupFMax = 269,
1491             OpGroupUMax = 270,
1492             OpGroupSMax = 271,
1493             OpReadPipe = 274,
1494             OpWritePipe = 275,
1495             OpReservedReadPipe = 276,
1496             OpReservedWritePipe = 277,
1497             OpReserveReadPipePackets = 278,
1498             OpReserveWritePipePackets = 279,
1499             OpCommitReadPipe = 280,
1500             OpCommitWritePipe = 281,
1501             OpIsValidReserveId = 282,
1502             OpGetNumPipePackets = 283,
1503             OpGetMaxPipePackets = 284,
1504             OpGroupReserveReadPipePackets = 285,
1505             OpGroupReserveWritePipePackets = 286,
1506             OpGroupCommitReadPipe = 287,
1507             OpGroupCommitWritePipe = 288,
1508             OpEnqueueMarker = 291,
1509             OpEnqueueKernel = 292,
1510             OpGetKernelNDrangeSubGroupCount = 293,
1511             OpGetKernelNDrangeMaxSubGroupSize = 294,
1512             OpGetKernelWorkGroupSize = 295,
1513             OpGetKernelPreferredWorkGroupSizeMultiple = 296,
1514             OpRetainEvent = 297,
1515             OpReleaseEvent = 298,
1516             OpCreateUserEvent = 299,
1517             OpIsValidEvent = 300,
1518             OpSetUserEventStatus = 301,
1519             OpCaptureEventProfilingInfo = 302,
1520             OpGetDefaultQueue = 303,
1521             OpBuildNDRange = 304,
1522             OpImageSparseSampleImplicitLod = 305,
1523             OpImageSparseSampleExplicitLod = 306,
1524             OpImageSparseSampleDrefImplicitLod = 307,
1525             OpImageSparseSampleDrefExplicitLod = 308,
1526             OpImageSparseSampleProjImplicitLod = 309,
1527             OpImageSparseSampleProjExplicitLod = 310,
1528             OpImageSparseSampleProjDrefImplicitLod = 311,
1529             OpImageSparseSampleProjDrefExplicitLod = 312,
1530             OpImageSparseFetch = 313,
1531             OpImageSparseGather = 314,
1532             OpImageSparseDrefGather = 315,
1533             OpImageSparseTexelsResident = 316,
1534             OpNoLine = 317,
1535             OpAtomicFlagTestAndSet = 318,
1536             OpAtomicFlagClear = 319,
1537             OpImageSparseRead = 320,
1538             OpSizeOf = 321,
1539             OpTypePipeStorage = 322,
1540             OpConstantPipeStorage = 323,
1541             OpCreatePipeFromPipeStorage = 324,
1542             OpGetKernelLocalSizeForSubgroupCount = 325,
1543             OpGetKernelMaxNumSubgroups = 326,
1544             OpTypeNamedBarrier = 327,
1545             OpNamedBarrierInitialize = 328,
1546             OpMemoryNamedBarrier = 329,
1547             OpModuleProcessed = 330,
1548             OpExecutionModeId = 331,
1549             OpDecorateId = 332,
1550             OpGroupNonUniformElect = 333,
1551             OpGroupNonUniformAll = 334,
1552             OpGroupNonUniformAny = 335,
1553             OpGroupNonUniformAllEqual = 336,
1554             OpGroupNonUniformBroadcast = 337,
1555             OpGroupNonUniformBroadcastFirst = 338,
1556             OpGroupNonUniformBallot = 339,
1557             OpGroupNonUniformInverseBallot = 340,
1558             OpGroupNonUniformBallotBitExtract = 341,
1559             OpGroupNonUniformBallotBitCount = 342,
1560             OpGroupNonUniformBallotFindLSB = 343,
1561             OpGroupNonUniformBallotFindMSB = 344,
1562             OpGroupNonUniformShuffle = 345,
1563             OpGroupNonUniformShuffleXor = 346,
1564             OpGroupNonUniformShuffleUp = 347,
1565             OpGroupNonUniformShuffleDown = 348,
1566             OpGroupNonUniformIAdd = 349,
1567             OpGroupNonUniformFAdd = 350,
1568             OpGroupNonUniformIMul = 351,
1569             OpGroupNonUniformFMul = 352,
1570             OpGroupNonUniformSMin = 353,
1571             OpGroupNonUniformUMin = 354,
1572             OpGroupNonUniformFMin = 355,
1573             OpGroupNonUniformSMax = 356,
1574             OpGroupNonUniformUMax = 357,
1575             OpGroupNonUniformFMax = 358,
1576             OpGroupNonUniformBitwiseAnd = 359,
1577             OpGroupNonUniformBitwiseOr = 360,
1578             OpGroupNonUniformBitwiseXor = 361,
1579             OpGroupNonUniformLogicalAnd = 362,
1580             OpGroupNonUniformLogicalOr = 363,
1581             OpGroupNonUniformLogicalXor = 364,
1582             OpGroupNonUniformQuadBroadcast = 365,
1583             OpGroupNonUniformQuadSwap = 366,
1584             OpSubgroupBallotKHR = 4421,
1585             OpSubgroupFirstInvocationKHR = 4422,
1586             OpSubgroupAllKHR = 4428,
1587             OpSubgroupAnyKHR = 4429,
1588             OpSubgroupAllEqualKHR = 4430,
1589             OpSubgroupReadInvocationKHR = 4432,
1590             OpGroupIAddNonUniformAMD = 5000,
1591             OpGroupFAddNonUniformAMD = 5001,
1592             OpGroupFMinNonUniformAMD = 5002,
1593             OpGroupUMinNonUniformAMD = 5003,
1594             OpGroupSMinNonUniformAMD = 5004,
1595             OpGroupFMaxNonUniformAMD = 5005,
1596             OpGroupUMaxNonUniformAMD = 5006,
1597             OpGroupSMaxNonUniformAMD = 5007,
1598             OpFragmentMaskFetchAMD = 5011,
1599             OpFragmentFetchAMD = 5012,
1600             OpImageSampleFootprintNV = 5283,
1601             OpGroupNonUniformPartitionNV = 5296,
1602             OpWritePackedPrimitiveIndices4x8NV = 5299,
1603             OpReportIntersectionNV = 5334,
1604             OpIgnoreIntersectionNV = 5335,
1605             OpTerminateRayNV = 5336,
1606             OpTraceNV = 5337,
1607             OpTypeAccelerationStructureNV = 5341,
1608             OpExecuteCallableNV = 5344,
1609             OpSubgroupShuffleINTEL = 5571,
1610             OpSubgroupShuffleDownINTEL = 5572,
1611             OpSubgroupShuffleUpINTEL = 5573,
1612             OpSubgroupShuffleXorINTEL = 5574,
1613             OpSubgroupBlockReadINTEL = 5575,
1614             OpSubgroupBlockWriteINTEL = 5576,
1615             OpSubgroupImageBlockReadINTEL = 5577,
1616             OpSubgroupImageBlockWriteINTEL = 5578,
1617             OpSubgroupImageMediaBlockReadINTEL = 5580,
1618             OpSubgroupImageMediaBlockWriteINTEL = 5581,
1619             OpDecorateStringGOOGLE = 5632,
1620             OpMemberDecorateStringGOOGLE = 5633,
1621             OpMax = 2147483647,
1622         }
1623     }
1624     pub mod std {
1625         #[allow(unused_imports)]
1626         use self::super::super::root;
1627         pub type string = [u64; 3usize];
1628     }
1629     pub mod SPIRV_CROSS_NAMESPACE {
1630         #[allow(unused_imports)]
1631         use self::super::super::root;
1632         #[repr(u32)]
1633         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1634         pub enum SPIRType_BaseType {
1635             Unknown = 0,
1636             Void = 1,
1637             Boolean = 2,
1638             SByte = 3,
1639             UByte = 4,
1640             Short = 5,
1641             UShort = 6,
1642             Int = 7,
1643             UInt = 8,
1644             Int64 = 9,
1645             UInt64 = 10,
1646             AtomicCounter = 11,
1647             Half = 12,
1648             Float = 13,
1649             Double = 14,
1650             Struct = 15,
1651             Image = 16,
1652             SampledImage = 17,
1653             Sampler = 18,
1654             AccelerationStructureNV = 19,
1655             ControlPointArray = 20,
1656             Char = 21,
1657         }
1658         #[repr(C)]
1659         #[derive(Debug, Copy)]
1660         pub struct Resource {
1661             pub id: u32,
1662             pub type_id: u32,
1663             pub base_type_id: u32,
1664             pub name: root::std::string,
1665         }
1666         impl Clone for Resource {
clone(&self) -> Self1667             fn clone(&self) -> Self { *self }
1668         }
1669         #[repr(u32)]
1670         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1671         pub enum MSLVertexFormat {
1672             MSL_VERTEX_FORMAT_OTHER = 0,
1673             MSL_VERTEX_FORMAT_UINT8 = 1,
1674             MSL_VERTEX_FORMAT_UINT16 = 2,
1675             MSL_VERTEX_FORMAT_INT_MAX = 2147483647,
1676         }
1677         #[repr(C)]
1678         #[derive(Debug, Copy)]
1679         pub struct MSLVertexAttr {
1680             pub location: u32,
1681             pub msl_buffer: u32,
1682             pub msl_offset: u32,
1683             pub msl_stride: u32,
1684             pub per_instance: bool,
1685             pub format: root::SPIRV_CROSS_NAMESPACE::MSLVertexFormat,
1686             pub builtin: root::spv::BuiltIn,
1687         }
1688         impl Clone for MSLVertexAttr {
clone(&self) -> Self1689             fn clone(&self) -> Self { *self }
1690         }
1691         #[repr(C)]
1692         #[derive(Debug, Copy)]
1693         pub struct MSLResourceBinding {
1694             pub stage: root::spv::ExecutionModel,
1695             pub desc_set: u32,
1696             pub binding: u32,
1697             pub msl_buffer: u32,
1698             pub msl_texture: u32,
1699             pub msl_sampler: u32,
1700         }
1701         impl Clone for MSLResourceBinding {
clone(&self) -> Self1702             fn clone(&self) -> Self { *self }
1703         }
1704         #[repr(u32)]
1705         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1706         pub enum MSLSamplerCoord {
1707             MSL_SAMPLER_COORD_NORMALIZED = 0,
1708             MSL_SAMPLER_COORD_PIXEL = 1,
1709             MSL_SAMPLER_INT_MAX = 2147483647,
1710         }
1711         #[repr(u32)]
1712         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1713         pub enum MSLSamplerFilter {
1714             MSL_SAMPLER_FILTER_NEAREST = 0,
1715             MSL_SAMPLER_FILTER_LINEAR = 1,
1716             MSL_SAMPLER_FILTER_INT_MAX = 2147483647,
1717         }
1718         #[repr(u32)]
1719         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1720         pub enum MSLSamplerMipFilter {
1721             MSL_SAMPLER_MIP_FILTER_NONE = 0,
1722             MSL_SAMPLER_MIP_FILTER_NEAREST = 1,
1723             MSL_SAMPLER_MIP_FILTER_LINEAR = 2,
1724             MSL_SAMPLER_MIP_FILTER_INT_MAX = 2147483647,
1725         }
1726         #[repr(u32)]
1727         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1728         pub enum MSLSamplerAddress {
1729             MSL_SAMPLER_ADDRESS_CLAMP_TO_ZERO = 0,
1730             MSL_SAMPLER_ADDRESS_CLAMP_TO_EDGE = 1,
1731             MSL_SAMPLER_ADDRESS_CLAMP_TO_BORDER = 2,
1732             MSL_SAMPLER_ADDRESS_REPEAT = 3,
1733             MSL_SAMPLER_ADDRESS_MIRRORED_REPEAT = 4,
1734             MSL_SAMPLER_ADDRESS_INT_MAX = 2147483647,
1735         }
1736         #[repr(u32)]
1737         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1738         pub enum MSLSamplerCompareFunc {
1739             MSL_SAMPLER_COMPARE_FUNC_NEVER = 0,
1740             MSL_SAMPLER_COMPARE_FUNC_LESS = 1,
1741             MSL_SAMPLER_COMPARE_FUNC_LESS_EQUAL = 2,
1742             MSL_SAMPLER_COMPARE_FUNC_GREATER = 3,
1743             MSL_SAMPLER_COMPARE_FUNC_GREATER_EQUAL = 4,
1744             MSL_SAMPLER_COMPARE_FUNC_EQUAL = 5,
1745             MSL_SAMPLER_COMPARE_FUNC_NOT_EQUAL = 6,
1746             MSL_SAMPLER_COMPARE_FUNC_ALWAYS = 7,
1747             MSL_SAMPLER_COMPARE_FUNC_INT_MAX = 2147483647,
1748         }
1749         #[repr(u32)]
1750         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1751         pub enum MSLSamplerBorderColor {
1752             MSL_SAMPLER_BORDER_COLOR_TRANSPARENT_BLACK = 0,
1753             MSL_SAMPLER_BORDER_COLOR_OPAQUE_BLACK = 1,
1754             MSL_SAMPLER_BORDER_COLOR_OPAQUE_WHITE = 2,
1755             MSL_SAMPLER_BORDER_COLOR_INT_MAX = 2147483647,
1756         }
1757         #[repr(C)]
1758         #[derive(Debug, Copy)]
1759         pub struct MSLConstexprSampler {
1760             pub coord: root::SPIRV_CROSS_NAMESPACE::MSLSamplerCoord,
1761             pub min_filter: root::SPIRV_CROSS_NAMESPACE::MSLSamplerFilter,
1762             pub mag_filter: root::SPIRV_CROSS_NAMESPACE::MSLSamplerFilter,
1763             pub mip_filter: root::SPIRV_CROSS_NAMESPACE::MSLSamplerMipFilter,
1764             pub s_address: root::SPIRV_CROSS_NAMESPACE::MSLSamplerAddress,
1765             pub t_address: root::SPIRV_CROSS_NAMESPACE::MSLSamplerAddress,
1766             pub r_address: root::SPIRV_CROSS_NAMESPACE::MSLSamplerAddress,
1767             pub compare_func: root::SPIRV_CROSS_NAMESPACE::MSLSamplerCompareFunc,
1768             pub border_color: root::SPIRV_CROSS_NAMESPACE::MSLSamplerBorderColor,
1769             pub lod_clamp_min: f32,
1770             pub lod_clamp_max: f32,
1771             pub max_anisotropy: ::std::os::raw::c_int,
1772             pub compare_enable: bool,
1773             pub lod_clamp_enable: bool,
1774             pub anisotropy_enable: bool,
1775         }
1776         impl Clone for MSLConstexprSampler {
clone(&self) -> Self1777             fn clone(&self) -> Self { *self }
1778         }
1779     }
1780     pub type ScInternalCompilerBase = ::std::os::raw::c_void;
1781     pub type ScInternalCompilerHlsl = ::std::os::raw::c_void;
1782     pub type ScInternalCompilerMsl = ::std::os::raw::c_void;
1783     pub type ScInternalCompilerGlsl = ::std::os::raw::c_void;
1784     #[repr(u32)]
1785     #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1786     pub enum ScInternalResult {
1787         Success = 0,
1788         Unhandled = 1,
1789         CompilationError = 2,
1790     }
1791     #[repr(C)]
1792     #[derive(Debug, Copy)]
1793     pub struct ScEntryPoint {
1794         pub name: *mut ::std::os::raw::c_char,
1795         pub execution_model: root::spv::ExecutionModel,
1796         pub work_group_size_x: u32,
1797         pub work_group_size_y: u32,
1798         pub work_group_size_z: u32,
1799     }
1800     impl Clone for ScEntryPoint {
clone(&self) -> Self1801         fn clone(&self) -> Self { *self }
1802     }
1803     #[repr(C)]
1804     #[derive(Debug, Copy)]
1805     pub struct ScCombinedImageSampler {
1806         pub combined_id: u32,
1807         pub image_id: u32,
1808         pub sampler_id: u32,
1809     }
1810     impl Clone for ScCombinedImageSampler {
clone(&self) -> Self1811         fn clone(&self) -> Self { *self }
1812     }
1813     #[repr(C)]
1814     #[derive(Debug, Copy)]
1815     pub struct ScHlslRootConstant {
1816         pub start: u32,
1817         pub end: u32,
1818         pub binding: u32,
1819         pub space: u32,
1820     }
1821     impl Clone for ScHlslRootConstant {
clone(&self) -> Self1822         fn clone(&self) -> Self { *self }
1823     }
1824     #[repr(C)]
1825     #[derive(Debug, Copy)]
1826     pub struct ScHlslCompilerOptions {
1827         pub shader_model: i32,
1828         pub point_size_compat: bool,
1829         pub point_coord_compat: bool,
1830         pub vertex_transform_clip_space: bool,
1831         pub vertex_invert_y: bool,
1832     }
1833     impl Clone for ScHlslCompilerOptions {
clone(&self) -> Self1834         fn clone(&self) -> Self { *self }
1835     }
1836     #[repr(C)]
1837     #[derive(Debug, Copy)]
1838     pub struct ScMslCompilerOptions {
1839         pub vertex_transform_clip_space: bool,
1840         pub vertex_invert_y: bool,
1841         pub platform: u8,
1842         pub version: u32,
1843         pub enable_point_size_builtin: bool,
1844         pub disable_rasterization: bool,
1845         pub swizzle_buffer_index: u32,
1846         pub indirect_params_buffer_index: u32,
1847         pub shader_output_buffer_index: u32,
1848         pub shader_patch_output_buffer_index: u32,
1849         pub shader_tess_factor_buffer_index: u32,
1850         pub buffer_size_buffer_index: u32,
1851         pub capture_output_to_buffer: bool,
1852         pub swizzle_texture_samples: bool,
1853         pub tess_domain_origin_lower_left: bool,
1854         pub argument_buffers: bool,
1855         pub pad_fragment_output_components: bool,
1856     }
1857     impl Clone for ScMslCompilerOptions {
clone(&self) -> Self1858         fn clone(&self) -> Self { *self }
1859     }
1860     #[repr(C)]
1861     #[derive(Debug, Copy)]
1862     pub struct ScGlslCompilerOptions {
1863         pub vertex_transform_clip_space: bool,
1864         pub vertex_invert_y: bool,
1865         pub version: u32,
1866         pub es: bool,
1867     }
1868     impl Clone for ScGlslCompilerOptions {
clone(&self) -> Self1869         fn clone(&self) -> Self { *self }
1870     }
1871     #[repr(C)]
1872     #[derive(Debug, Copy)]
1873     pub struct ScResource {
1874         pub id: u32,
1875         pub type_id: u32,
1876         pub base_type_id: u32,
1877         pub name: *mut ::std::os::raw::c_char,
1878     }
1879     impl Clone for ScResource {
clone(&self) -> Self1880         fn clone(&self) -> Self { *self }
1881     }
1882     #[repr(C)]
1883     #[derive(Debug, Copy)]
1884     pub struct ScResourceArray {
1885         pub data: *mut root::ScResource,
1886         pub num: usize,
1887     }
1888     impl Clone for ScResourceArray {
clone(&self) -> Self1889         fn clone(&self) -> Self { *self }
1890     }
1891     #[repr(C)]
1892     #[derive(Debug, Copy)]
1893     pub struct ScShaderResources {
1894         pub uniform_buffers: root::ScResourceArray,
1895         pub storage_buffers: root::ScResourceArray,
1896         pub stage_inputs: root::ScResourceArray,
1897         pub stage_outputs: root::ScResourceArray,
1898         pub subpass_inputs: root::ScResourceArray,
1899         pub storage_images: root::ScResourceArray,
1900         pub sampled_images: root::ScResourceArray,
1901         pub atomic_counters: root::ScResourceArray,
1902         pub push_constant_buffers: root::ScResourceArray,
1903         pub separate_images: root::ScResourceArray,
1904         pub separate_samplers: root::ScResourceArray,
1905     }
1906     impl Clone for ScShaderResources {
clone(&self) -> Self1907         fn clone(&self) -> Self { *self }
1908     }
1909     #[repr(C)]
1910     #[derive(Debug, Copy)]
1911     pub struct ScSpecializationConstant {
1912         pub id: u32,
1913         pub constant_id: u32,
1914     }
1915     impl Clone for ScSpecializationConstant {
clone(&self) -> Self1916         fn clone(&self) -> Self { *self }
1917     }
1918     #[repr(C)]
1919     #[derive(Debug, Copy)]
1920     pub struct ScType {
1921         pub type_: root::SPIRV_CROSS_NAMESPACE::SPIRType_BaseType,
1922         pub member_types: *mut u32,
1923         pub member_types_size: usize,
1924         pub array: *mut u32,
1925         pub array_size: usize,
1926     }
1927     impl Clone for ScType {
clone(&self) -> Self1928         fn clone(&self) -> Self { *self }
1929     }
1930     extern "C" {
sc_internal_get_latest_exception_message(message: *mut *const ::std::os::raw::c_char) -> root::ScInternalResult1931         pub fn sc_internal_get_latest_exception_message(message:
1932                                                             *mut *const ::std::os::raw::c_char)
1933          -> root::ScInternalResult;
1934     }
1935     extern "C" {
sc_internal_compiler_hlsl_new(compiler: *mut *mut root::ScInternalCompilerHlsl, ir: *const u32, size: usize) -> root::ScInternalResult1936         pub fn sc_internal_compiler_hlsl_new(compiler:
1937                                                  *mut *mut root::ScInternalCompilerHlsl,
1938                                              ir: *const u32, size: usize)
1939          -> root::ScInternalResult;
1940     }
1941     extern "C" {
sc_internal_compiler_hlsl_set_options(compiler: *const root::ScInternalCompilerHlsl, options: *const root::ScHlslCompilerOptions) -> root::ScInternalResult1942         pub fn sc_internal_compiler_hlsl_set_options(compiler:
1943                                                          *const root::ScInternalCompilerHlsl,
1944                                                      options:
1945                                                          *const root::ScHlslCompilerOptions)
1946          -> root::ScInternalResult;
1947     }
1948     extern "C" {
sc_internal_compiler_hlsl_set_root_constant_layout(compiler: *const root::ScInternalCompilerHlsl, constants: *const root::ScHlslRootConstant, count: usize) -> root::ScInternalResult1949         pub fn sc_internal_compiler_hlsl_set_root_constant_layout(compiler:
1950                                                                       *const root::ScInternalCompilerHlsl,
1951                                                                   constants:
1952                                                                       *const root::ScHlslRootConstant,
1953                                                                   count:
1954                                                                       usize)
1955          -> root::ScInternalResult;
1956     }
1957     #[repr(C)]
1958     #[derive(Debug, Copy)]
1959     pub struct MslConstSamplerMapping {
1960         pub desc_set: u32,
1961         pub binding: u32,
1962         pub sampler: root::SPIRV_CROSS_NAMESPACE::MSLConstexprSampler,
1963     }
1964     impl Clone for MslConstSamplerMapping {
clone(&self) -> Self1965         fn clone(&self) -> Self { *self }
1966     }
1967     extern "C" {
sc_internal_compiler_msl_new(compiler: *mut *mut root::ScInternalCompilerMsl, ir: *const u32, size: usize) -> root::ScInternalResult1968         pub fn sc_internal_compiler_msl_new(compiler:
1969                                                 *mut *mut root::ScInternalCompilerMsl,
1970                                             ir: *const u32, size: usize)
1971          -> root::ScInternalResult;
1972     }
1973     extern "C" {
sc_internal_compiler_msl_set_options(compiler: *const root::ScInternalCompilerMsl, options: *const root::ScMslCompilerOptions) -> root::ScInternalResult1974         pub fn sc_internal_compiler_msl_set_options(compiler:
1975                                                         *const root::ScInternalCompilerMsl,
1976                                                     options:
1977                                                         *const root::ScMslCompilerOptions)
1978          -> root::ScInternalResult;
1979     }
1980     extern "C" {
sc_internal_compiler_msl_get_is_rasterization_disabled(compiler: *const root::ScInternalCompilerMsl, is_rasterization_disabled: *mut bool) -> root::ScInternalResult1981         pub fn sc_internal_compiler_msl_get_is_rasterization_disabled(compiler:
1982                                                                           *const root::ScInternalCompilerMsl,
1983                                                                       is_rasterization_disabled:
1984                                                                           *mut bool)
1985          -> root::ScInternalResult;
1986     }
1987     extern "C" {
sc_internal_compiler_msl_compile(compiler: *const root::ScInternalCompilerBase, shader: *mut *const ::std::os::raw::c_char, p_vat_overrides: *const root::SPIRV_CROSS_NAMESPACE::MSLVertexAttr, vat_override_count: usize, p_res_overrides: *const root::SPIRV_CROSS_NAMESPACE::MSLResourceBinding, res_override_count: usize, p_const_samplers: *const root::MslConstSamplerMapping, const_sampler_count: usize) -> root::ScInternalResult1988         pub fn sc_internal_compiler_msl_compile(compiler:
1989                                                     *const root::ScInternalCompilerBase,
1990                                                 shader:
1991                                                     *mut *const ::std::os::raw::c_char,
1992                                                 p_vat_overrides:
1993                                                     *const root::SPIRV_CROSS_NAMESPACE::MSLVertexAttr,
1994                                                 vat_override_count: usize,
1995                                                 p_res_overrides:
1996                                                     *const root::SPIRV_CROSS_NAMESPACE::MSLResourceBinding,
1997                                                 res_override_count: usize,
1998                                                 p_const_samplers:
1999                                                     *const root::MslConstSamplerMapping,
2000                                                 const_sampler_count: usize)
2001          -> root::ScInternalResult;
2002     }
2003     extern "C" {
sc_internal_compiler_glsl_new(compiler: *mut *mut root::ScInternalCompilerGlsl, ir: *const u32, size: usize) -> root::ScInternalResult2004         pub fn sc_internal_compiler_glsl_new(compiler:
2005                                                  *mut *mut root::ScInternalCompilerGlsl,
2006                                              ir: *const u32, size: usize)
2007          -> root::ScInternalResult;
2008     }
2009     extern "C" {
sc_internal_compiler_glsl_set_options(compiler: *const root::ScInternalCompilerGlsl, options: *const root::ScGlslCompilerOptions) -> root::ScInternalResult2010         pub fn sc_internal_compiler_glsl_set_options(compiler:
2011                                                          *const root::ScInternalCompilerGlsl,
2012                                                      options:
2013                                                          *const root::ScGlslCompilerOptions)
2014          -> root::ScInternalResult;
2015     }
2016     extern "C" {
sc_internal_compiler_glsl_build_combined_image_samplers(compiler: *const root::ScInternalCompilerBase) -> root::ScInternalResult2017         pub fn sc_internal_compiler_glsl_build_combined_image_samplers(compiler:
2018                                                                            *const root::ScInternalCompilerBase)
2019          -> root::ScInternalResult;
2020     }
2021     extern "C" {
sc_internal_compiler_glsl_get_combined_image_samplers(compiler: *const root::ScInternalCompilerBase, samplers: *mut *const root::ScCombinedImageSampler, size: *mut usize) -> root::ScInternalResult2022         pub fn sc_internal_compiler_glsl_get_combined_image_samplers(compiler:
2023                                                                          *const root::ScInternalCompilerBase,
2024                                                                      samplers:
2025                                                                          *mut *const root::ScCombinedImageSampler,
2026                                                                      size:
2027                                                                          *mut usize)
2028          -> root::ScInternalResult;
2029     }
2030     extern "C" {
sc_internal_compiler_get_decoration(compiler: *const root::ScInternalCompilerBase, result: *mut u32, id: u32, decoration: root::spv::Decoration) -> root::ScInternalResult2031         pub fn sc_internal_compiler_get_decoration(compiler:
2032                                                        *const root::ScInternalCompilerBase,
2033                                                    result: *mut u32, id: u32,
2034                                                    decoration:
2035                                                        root::spv::Decoration)
2036          -> root::ScInternalResult;
2037     }
2038     extern "C" {
sc_internal_compiler_set_decoration(compiler: *const root::ScInternalCompilerBase, id: u32, decoration: root::spv::Decoration, argument: u32) -> root::ScInternalResult2039         pub fn sc_internal_compiler_set_decoration(compiler:
2040                                                        *const root::ScInternalCompilerBase,
2041                                                    id: u32,
2042                                                    decoration:
2043                                                        root::spv::Decoration,
2044                                                    argument: u32)
2045          -> root::ScInternalResult;
2046     }
2047     extern "C" {
sc_internal_compiler_unset_decoration(compiler: *const root::ScInternalCompilerBase, id: u32, decoration: root::spv::Decoration) -> root::ScInternalResult2048         pub fn sc_internal_compiler_unset_decoration(compiler:
2049                                                          *const root::ScInternalCompilerBase,
2050                                                      id: u32,
2051                                                      decoration:
2052                                                          root::spv::Decoration)
2053          -> root::ScInternalResult;
2054     }
2055     extern "C" {
sc_internal_compiler_get_name(compiler: *const root::ScInternalCompilerBase, id: u32, name: *mut *const ::std::os::raw::c_char) -> root::ScInternalResult2056         pub fn sc_internal_compiler_get_name(compiler:
2057                                                  *const root::ScInternalCompilerBase,
2058                                              id: u32,
2059                                              name:
2060                                                  *mut *const ::std::os::raw::c_char)
2061          -> root::ScInternalResult;
2062     }
2063     extern "C" {
sc_internal_compiler_set_name(compiler: *const root::ScInternalCompilerBase, id: u32, name: *const ::std::os::raw::c_char) -> root::ScInternalResult2064         pub fn sc_internal_compiler_set_name(compiler:
2065                                                  *const root::ScInternalCompilerBase,
2066                                              id: u32,
2067                                              name:
2068                                                  *const ::std::os::raw::c_char)
2069          -> root::ScInternalResult;
2070     }
2071     extern "C" {
sc_internal_compiler_get_entry_points(compiler: *const root::ScInternalCompilerBase, entry_points: *mut *mut root::ScEntryPoint, size: *mut usize) -> root::ScInternalResult2072         pub fn sc_internal_compiler_get_entry_points(compiler:
2073                                                          *const root::ScInternalCompilerBase,
2074                                                      entry_points:
2075                                                          *mut *mut root::ScEntryPoint,
2076                                                      size: *mut usize)
2077          -> root::ScInternalResult;
2078     }
2079     extern "C" {
sc_internal_compiler_get_cleansed_entry_point_name(compiler: *const root::ScInternalCompilerBase, original_entry_point_name: *const ::std::os::raw::c_char, execution_model: root::spv::ExecutionModel, compiled_entry_point_name: *mut *const ::std::os::raw::c_char) -> root::ScInternalResult2080         pub fn sc_internal_compiler_get_cleansed_entry_point_name(compiler:
2081                                                                       *const root::ScInternalCompilerBase,
2082                                                                   original_entry_point_name:
2083                                                                       *const ::std::os::raw::c_char,
2084                                                                   execution_model:
2085                                                                       root::spv::ExecutionModel,
2086                                                                   compiled_entry_point_name:
2087                                                                       *mut *const ::std::os::raw::c_char)
2088          -> root::ScInternalResult;
2089     }
2090     extern "C" {
sc_internal_compiler_get_shader_resources(compiler: *const root::ScInternalCompilerBase, shader_resources: *mut root::ScShaderResources) -> root::ScInternalResult2091         pub fn sc_internal_compiler_get_shader_resources(compiler:
2092                                                              *const root::ScInternalCompilerBase,
2093                                                          shader_resources:
2094                                                              *mut root::ScShaderResources)
2095          -> root::ScInternalResult;
2096     }
2097     extern "C" {
sc_internal_compiler_get_specialization_constants(compiler: *const root::ScInternalCompilerBase, constants: *mut *mut root::ScSpecializationConstant, size: *mut usize) -> root::ScInternalResult2098         pub fn sc_internal_compiler_get_specialization_constants(compiler:
2099                                                                      *const root::ScInternalCompilerBase,
2100                                                                  constants:
2101                                                                      *mut *mut root::ScSpecializationConstant,
2102                                                                  size:
2103                                                                      *mut usize)
2104          -> root::ScInternalResult;
2105     }
2106     extern "C" {
sc_internal_compiler_set_scalar_constant(compiler: *const root::ScInternalCompilerBase, id: u32, constant_high_bits: u32, constant_low_bits: u32) -> root::ScInternalResult2107         pub fn sc_internal_compiler_set_scalar_constant(compiler:
2108                                                             *const root::ScInternalCompilerBase,
2109                                                         id: u32,
2110                                                         constant_high_bits:
2111                                                             u32,
2112                                                         constant_low_bits:
2113                                                             u32)
2114          -> root::ScInternalResult;
2115     }
2116     extern "C" {
sc_internal_compiler_get_type(compiler: *const root::ScInternalCompilerBase, id: u32, spirv_type: *mut *const root::ScType) -> root::ScInternalResult2117         pub fn sc_internal_compiler_get_type(compiler:
2118                                                  *const root::ScInternalCompilerBase,
2119                                              id: u32,
2120                                              spirv_type:
2121                                                  *mut *const root::ScType)
2122          -> root::ScInternalResult;
2123     }
2124     extern "C" {
sc_internal_compiler_get_member_name(compiler: *const root::ScInternalCompilerBase, id: u32, index: u32, name: *mut *const ::std::os::raw::c_char) -> root::ScInternalResult2125         pub fn sc_internal_compiler_get_member_name(compiler:
2126                                                         *const root::ScInternalCompilerBase,
2127                                                     id: u32, index: u32,
2128                                                     name:
2129                                                         *mut *const ::std::os::raw::c_char)
2130          -> root::ScInternalResult;
2131     }
2132     extern "C" {
sc_internal_compiler_get_member_decoration(compiler: *const root::ScInternalCompilerBase, id: u32, index: u32, decoration: root::spv::Decoration, result: *mut u32) -> root::ScInternalResult2133         pub fn sc_internal_compiler_get_member_decoration(compiler:
2134                                                               *const root::ScInternalCompilerBase,
2135                                                           id: u32, index: u32,
2136                                                           decoration:
2137                                                               root::spv::Decoration,
2138                                                           result: *mut u32)
2139          -> root::ScInternalResult;
2140     }
2141     extern "C" {
sc_internal_compiler_set_member_decoration(compiler: *const root::ScInternalCompilerBase, id: u32, index: u32, decoration: root::spv::Decoration, argument: u32) -> root::ScInternalResult2142         pub fn sc_internal_compiler_set_member_decoration(compiler:
2143                                                               *const root::ScInternalCompilerBase,
2144                                                           id: u32, index: u32,
2145                                                           decoration:
2146                                                               root::spv::Decoration,
2147                                                           argument: u32)
2148          -> root::ScInternalResult;
2149     }
2150     extern "C" {
sc_internal_compiler_get_declared_struct_size(compiler: *const root::ScInternalCompilerBase, id: u32, result: *mut u32) -> root::ScInternalResult2151         pub fn sc_internal_compiler_get_declared_struct_size(compiler:
2152                                                                  *const root::ScInternalCompilerBase,
2153                                                              id: u32,
2154                                                              result: *mut u32)
2155          -> root::ScInternalResult;
2156     }
2157     extern "C" {
sc_internal_compiler_get_declared_struct_member_size(compiler: *const root::ScInternalCompilerBase, id: u32, index: u32, result: *mut u32) -> root::ScInternalResult2158         pub fn sc_internal_compiler_get_declared_struct_member_size(compiler:
2159                                                                         *const root::ScInternalCompilerBase,
2160                                                                     id: u32,
2161                                                                     index:
2162                                                                         u32,
2163                                                                     result:
2164                                                                         *mut u32)
2165          -> root::ScInternalResult;
2166     }
2167     extern "C" {
sc_internal_compiler_rename_interface_variable(compiler: *const root::ScInternalCompilerBase, resources: *const root::ScResource, resources_size: usize, location: u32, name: *const ::std::os::raw::c_char) -> root::ScInternalResult2168         pub fn sc_internal_compiler_rename_interface_variable(compiler:
2169                                                                   *const root::ScInternalCompilerBase,
2170                                                               resources:
2171                                                                   *const root::ScResource,
2172                                                               resources_size:
2173                                                                   usize,
2174                                                               location: u32,
2175                                                               name:
2176                                                                   *const ::std::os::raw::c_char)
2177          -> root::ScInternalResult;
2178     }
2179     extern "C" {
sc_internal_compiler_get_work_group_size_specialization_constants(compiler: *const root::ScInternalCompilerBase, constants: *mut *mut root::ScSpecializationConstant) -> root::ScInternalResult2180         pub fn sc_internal_compiler_get_work_group_size_specialization_constants(compiler:
2181                                                                                      *const root::ScInternalCompilerBase,
2182                                                                                  constants:
2183                                                                                      *mut *mut root::ScSpecializationConstant)
2184          -> root::ScInternalResult;
2185     }
2186     extern "C" {
sc_internal_compiler_compile(compiler: *const root::ScInternalCompilerBase, shader: *mut *const ::std::os::raw::c_char) -> root::ScInternalResult2187         pub fn sc_internal_compiler_compile(compiler:
2188                                                 *const root::ScInternalCompilerBase,
2189                                             shader:
2190                                                 *mut *const ::std::os::raw::c_char)
2191          -> root::ScInternalResult;
2192     }
2193     extern "C" {
sc_internal_compiler_delete(compiler: *mut root::ScInternalCompilerBase) -> root::ScInternalResult2194         pub fn sc_internal_compiler_delete(compiler:
2195                                                *mut root::ScInternalCompilerBase)
2196          -> root::ScInternalResult;
2197     }
2198     extern "C" {
sc_internal_free_pointer(pointer: *mut ::std::os::raw::c_void) -> root::ScInternalResult2199         pub fn sc_internal_free_pointer(pointer: *mut ::std::os::raw::c_void)
2200          -> root::ScInternalResult;
2201     }
2202 }
2203