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         pub const SourceLanguage_SourceLanguageUnknown: root::spv::SourceLanguage = 0;
12         pub const SourceLanguage_SourceLanguageESSL: root::spv::SourceLanguage = 1;
13         pub const SourceLanguage_SourceLanguageGLSL: root::spv::SourceLanguage = 2;
14         pub const SourceLanguage_SourceLanguageOpenCL_C: root::spv::SourceLanguage = 3;
15         pub const SourceLanguage_SourceLanguageOpenCL_CPP: root::spv::SourceLanguage = 4;
16         pub const SourceLanguage_SourceLanguageHLSL: root::spv::SourceLanguage = 5;
17         pub const SourceLanguage_SourceLanguageMax: root::spv::SourceLanguage = 2147483647;
18         pub type SourceLanguage = u32;
19         impl root::spv::ExecutionModel {
20             pub const ExecutionModelRayGenerationNV: root::spv::ExecutionModel =
21                 ExecutionModel::ExecutionModelRayGenerationKHR;
22         }
23         impl root::spv::ExecutionModel {
24             pub const ExecutionModelIntersectionNV: root::spv::ExecutionModel =
25                 ExecutionModel::ExecutionModelIntersectionKHR;
26         }
27         impl root::spv::ExecutionModel {
28             pub const ExecutionModelAnyHitNV: root::spv::ExecutionModel =
29                 ExecutionModel::ExecutionModelAnyHitKHR;
30         }
31         impl root::spv::ExecutionModel {
32             pub const ExecutionModelClosestHitNV: root::spv::ExecutionModel =
33                 ExecutionModel::ExecutionModelClosestHitKHR;
34         }
35         impl root::spv::ExecutionModel {
36             pub const ExecutionModelMissNV: root::spv::ExecutionModel =
37                 ExecutionModel::ExecutionModelMissKHR;
38         }
39         impl root::spv::ExecutionModel {
40             pub const ExecutionModelCallableNV: root::spv::ExecutionModel =
41                 ExecutionModel::ExecutionModelCallableKHR;
42         }
43         #[repr(u32)]
44         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
45         pub enum ExecutionModel {
46             ExecutionModelVertex = 0,
47             ExecutionModelTessellationControl = 1,
48             ExecutionModelTessellationEvaluation = 2,
49             ExecutionModelGeometry = 3,
50             ExecutionModelFragment = 4,
51             ExecutionModelGLCompute = 5,
52             ExecutionModelKernel = 6,
53             ExecutionModelTaskNV = 5267,
54             ExecutionModelMeshNV = 5268,
55             ExecutionModelRayGenerationKHR = 5313,
56             ExecutionModelIntersectionKHR = 5314,
57             ExecutionModelAnyHitKHR = 5315,
58             ExecutionModelClosestHitKHR = 5316,
59             ExecutionModelMissKHR = 5317,
60             ExecutionModelCallableKHR = 5318,
61             ExecutionModelMax = 2147483647,
62         }
63         pub const AddressingModel_AddressingModelLogical: root::spv::AddressingModel = 0;
64         pub const AddressingModel_AddressingModelPhysical32: root::spv::AddressingModel = 1;
65         pub const AddressingModel_AddressingModelPhysical64: root::spv::AddressingModel = 2;
66         pub const AddressingModel_AddressingModelPhysicalStorageBuffer64:
67             root::spv::AddressingModel = 5348;
68         pub const AddressingModel_AddressingModelPhysicalStorageBuffer64EXT:
69             root::spv::AddressingModel = 5348;
70         pub const AddressingModel_AddressingModelMax: root::spv::AddressingModel = 2147483647;
71         pub type AddressingModel = u32;
72         pub const MemoryModel_MemoryModelSimple: root::spv::MemoryModel = 0;
73         pub const MemoryModel_MemoryModelGLSL450: root::spv::MemoryModel = 1;
74         pub const MemoryModel_MemoryModelOpenCL: root::spv::MemoryModel = 2;
75         pub const MemoryModel_MemoryModelVulkan: root::spv::MemoryModel = 3;
76         pub const MemoryModel_MemoryModelVulkanKHR: root::spv::MemoryModel = 3;
77         pub const MemoryModel_MemoryModelMax: root::spv::MemoryModel = 2147483647;
78         pub type MemoryModel = u32;
79         pub const ExecutionMode_ExecutionModeInvocations: root::spv::ExecutionMode = 0;
80         pub const ExecutionMode_ExecutionModeSpacingEqual: root::spv::ExecutionMode = 1;
81         pub const ExecutionMode_ExecutionModeSpacingFractionalEven: root::spv::ExecutionMode = 2;
82         pub const ExecutionMode_ExecutionModeSpacingFractionalOdd: root::spv::ExecutionMode = 3;
83         pub const ExecutionMode_ExecutionModeVertexOrderCw: root::spv::ExecutionMode = 4;
84         pub const ExecutionMode_ExecutionModeVertexOrderCcw: root::spv::ExecutionMode = 5;
85         pub const ExecutionMode_ExecutionModePixelCenterInteger: root::spv::ExecutionMode = 6;
86         pub const ExecutionMode_ExecutionModeOriginUpperLeft: root::spv::ExecutionMode = 7;
87         pub const ExecutionMode_ExecutionModeOriginLowerLeft: root::spv::ExecutionMode = 8;
88         pub const ExecutionMode_ExecutionModeEarlyFragmentTests: root::spv::ExecutionMode = 9;
89         pub const ExecutionMode_ExecutionModePointMode: root::spv::ExecutionMode = 10;
90         pub const ExecutionMode_ExecutionModeXfb: root::spv::ExecutionMode = 11;
91         pub const ExecutionMode_ExecutionModeDepthReplacing: root::spv::ExecutionMode = 12;
92         pub const ExecutionMode_ExecutionModeDepthGreater: root::spv::ExecutionMode = 14;
93         pub const ExecutionMode_ExecutionModeDepthLess: root::spv::ExecutionMode = 15;
94         pub const ExecutionMode_ExecutionModeDepthUnchanged: root::spv::ExecutionMode = 16;
95         pub const ExecutionMode_ExecutionModeLocalSize: root::spv::ExecutionMode = 17;
96         pub const ExecutionMode_ExecutionModeLocalSizeHint: root::spv::ExecutionMode = 18;
97         pub const ExecutionMode_ExecutionModeInputPoints: root::spv::ExecutionMode = 19;
98         pub const ExecutionMode_ExecutionModeInputLines: root::spv::ExecutionMode = 20;
99         pub const ExecutionMode_ExecutionModeInputLinesAdjacency: root::spv::ExecutionMode = 21;
100         pub const ExecutionMode_ExecutionModeTriangles: root::spv::ExecutionMode = 22;
101         pub const ExecutionMode_ExecutionModeInputTrianglesAdjacency: root::spv::ExecutionMode = 23;
102         pub const ExecutionMode_ExecutionModeQuads: root::spv::ExecutionMode = 24;
103         pub const ExecutionMode_ExecutionModeIsolines: root::spv::ExecutionMode = 25;
104         pub const ExecutionMode_ExecutionModeOutputVertices: root::spv::ExecutionMode = 26;
105         pub const ExecutionMode_ExecutionModeOutputPoints: root::spv::ExecutionMode = 27;
106         pub const ExecutionMode_ExecutionModeOutputLineStrip: root::spv::ExecutionMode = 28;
107         pub const ExecutionMode_ExecutionModeOutputTriangleStrip: root::spv::ExecutionMode = 29;
108         pub const ExecutionMode_ExecutionModeVecTypeHint: root::spv::ExecutionMode = 30;
109         pub const ExecutionMode_ExecutionModeContractionOff: root::spv::ExecutionMode = 31;
110         pub const ExecutionMode_ExecutionModeInitializer: root::spv::ExecutionMode = 33;
111         pub const ExecutionMode_ExecutionModeFinalizer: root::spv::ExecutionMode = 34;
112         pub const ExecutionMode_ExecutionModeSubgroupSize: root::spv::ExecutionMode = 35;
113         pub const ExecutionMode_ExecutionModeSubgroupsPerWorkgroup: root::spv::ExecutionMode = 36;
114         pub const ExecutionMode_ExecutionModeSubgroupsPerWorkgroupId: root::spv::ExecutionMode = 37;
115         pub const ExecutionMode_ExecutionModeLocalSizeId: root::spv::ExecutionMode = 38;
116         pub const ExecutionMode_ExecutionModeLocalSizeHintId: root::spv::ExecutionMode = 39;
117         pub const ExecutionMode_ExecutionModePostDepthCoverage: root::spv::ExecutionMode = 4446;
118         pub const ExecutionMode_ExecutionModeDenormPreserve: root::spv::ExecutionMode = 4459;
119         pub const ExecutionMode_ExecutionModeDenormFlushToZero: root::spv::ExecutionMode = 4460;
120         pub const ExecutionMode_ExecutionModeSignedZeroInfNanPreserve: root::spv::ExecutionMode =
121             4461;
122         pub const ExecutionMode_ExecutionModeRoundingModeRTE: root::spv::ExecutionMode = 4462;
123         pub const ExecutionMode_ExecutionModeRoundingModeRTZ: root::spv::ExecutionMode = 4463;
124         pub const ExecutionMode_ExecutionModeStencilRefReplacingEXT: root::spv::ExecutionMode =
125             5027;
126         pub const ExecutionMode_ExecutionModeOutputLinesNV: root::spv::ExecutionMode = 5269;
127         pub const ExecutionMode_ExecutionModeOutputPrimitivesNV: root::spv::ExecutionMode = 5270;
128         pub const ExecutionMode_ExecutionModeDerivativeGroupQuadsNV: root::spv::ExecutionMode =
129             5289;
130         pub const ExecutionMode_ExecutionModeDerivativeGroupLinearNV: root::spv::ExecutionMode =
131             5290;
132         pub const ExecutionMode_ExecutionModeOutputTrianglesNV: root::spv::ExecutionMode = 5298;
133         pub const ExecutionMode_ExecutionModePixelInterlockOrderedEXT: root::spv::ExecutionMode =
134             5366;
135         pub const ExecutionMode_ExecutionModePixelInterlockUnorderedEXT: root::spv::ExecutionMode =
136             5367;
137         pub const ExecutionMode_ExecutionModeSampleInterlockOrderedEXT: root::spv::ExecutionMode =
138             5368;
139         pub const ExecutionMode_ExecutionModeSampleInterlockUnorderedEXT: root::spv::ExecutionMode =
140             5369;
141         pub const ExecutionMode_ExecutionModeShadingRateInterlockOrderedEXT:
142             root::spv::ExecutionMode = 5370;
143         pub const ExecutionMode_ExecutionModeShadingRateInterlockUnorderedEXT:
144             root::spv::ExecutionMode = 5371;
145         pub const ExecutionMode_ExecutionModeMaxWorkgroupSizeINTEL: root::spv::ExecutionMode = 5893;
146         pub const ExecutionMode_ExecutionModeMaxWorkDimINTEL: root::spv::ExecutionMode = 5894;
147         pub const ExecutionMode_ExecutionModeNoGlobalOffsetINTEL: root::spv::ExecutionMode = 5895;
148         pub const ExecutionMode_ExecutionModeNumSIMDWorkitemsINTEL: root::spv::ExecutionMode = 5896;
149         pub const ExecutionMode_ExecutionModeMax: root::spv::ExecutionMode = 2147483647;
150         pub type ExecutionMode = u32;
151         pub const StorageClass_StorageClassUniformConstant: root::spv::StorageClass = 0;
152         pub const StorageClass_StorageClassInput: root::spv::StorageClass = 1;
153         pub const StorageClass_StorageClassUniform: root::spv::StorageClass = 2;
154         pub const StorageClass_StorageClassOutput: root::spv::StorageClass = 3;
155         pub const StorageClass_StorageClassWorkgroup: root::spv::StorageClass = 4;
156         pub const StorageClass_StorageClassCrossWorkgroup: root::spv::StorageClass = 5;
157         pub const StorageClass_StorageClassPrivate: root::spv::StorageClass = 6;
158         pub const StorageClass_StorageClassFunction: root::spv::StorageClass = 7;
159         pub const StorageClass_StorageClassGeneric: root::spv::StorageClass = 8;
160         pub const StorageClass_StorageClassPushConstant: root::spv::StorageClass = 9;
161         pub const StorageClass_StorageClassAtomicCounter: root::spv::StorageClass = 10;
162         pub const StorageClass_StorageClassImage: root::spv::StorageClass = 11;
163         pub const StorageClass_StorageClassStorageBuffer: root::spv::StorageClass = 12;
164         pub const StorageClass_StorageClassCallableDataKHR: root::spv::StorageClass = 5328;
165         pub const StorageClass_StorageClassCallableDataNV: root::spv::StorageClass = 5328;
166         pub const StorageClass_StorageClassIncomingCallableDataKHR: root::spv::StorageClass = 5329;
167         pub const StorageClass_StorageClassIncomingCallableDataNV: root::spv::StorageClass = 5329;
168         pub const StorageClass_StorageClassRayPayloadKHR: root::spv::StorageClass = 5338;
169         pub const StorageClass_StorageClassRayPayloadNV: root::spv::StorageClass = 5338;
170         pub const StorageClass_StorageClassHitAttributeKHR: root::spv::StorageClass = 5339;
171         pub const StorageClass_StorageClassHitAttributeNV: root::spv::StorageClass = 5339;
172         pub const StorageClass_StorageClassIncomingRayPayloadKHR: root::spv::StorageClass = 5342;
173         pub const StorageClass_StorageClassIncomingRayPayloadNV: root::spv::StorageClass = 5342;
174         pub const StorageClass_StorageClassShaderRecordBufferKHR: root::spv::StorageClass = 5343;
175         pub const StorageClass_StorageClassShaderRecordBufferNV: root::spv::StorageClass = 5343;
176         pub const StorageClass_StorageClassPhysicalStorageBuffer: root::spv::StorageClass = 5349;
177         pub const StorageClass_StorageClassPhysicalStorageBufferEXT: root::spv::StorageClass = 5349;
178         pub const StorageClass_StorageClassCodeSectionINTEL: root::spv::StorageClass = 5605;
179         pub const StorageClass_StorageClassMax: root::spv::StorageClass = 2147483647;
180         pub type StorageClass = u32;
181         pub const Dim_Dim1D: root::spv::Dim = 0;
182         pub const Dim_Dim2D: root::spv::Dim = 1;
183         pub const Dim_Dim3D: root::spv::Dim = 2;
184         pub const Dim_DimCube: root::spv::Dim = 3;
185         pub const Dim_DimRect: root::spv::Dim = 4;
186         pub const Dim_DimBuffer: root::spv::Dim = 5;
187         pub const Dim_DimSubpassData: root::spv::Dim = 6;
188         pub const Dim_DimMax: root::spv::Dim = 2147483647;
189         pub type Dim = u32;
190         pub const SamplerAddressingMode_SamplerAddressingModeNone:
191             root::spv::SamplerAddressingMode = 0;
192         pub const SamplerAddressingMode_SamplerAddressingModeClampToEdge:
193             root::spv::SamplerAddressingMode = 1;
194         pub const SamplerAddressingMode_SamplerAddressingModeClamp:
195             root::spv::SamplerAddressingMode = 2;
196         pub const SamplerAddressingMode_SamplerAddressingModeRepeat:
197             root::spv::SamplerAddressingMode = 3;
198         pub const SamplerAddressingMode_SamplerAddressingModeRepeatMirrored:
199             root::spv::SamplerAddressingMode = 4;
200         pub const SamplerAddressingMode_SamplerAddressingModeMax: root::spv::SamplerAddressingMode =
201             2147483647;
202         pub type SamplerAddressingMode = u32;
203         pub const SamplerFilterMode_SamplerFilterModeNearest: root::spv::SamplerFilterMode = 0;
204         pub const SamplerFilterMode_SamplerFilterModeLinear: root::spv::SamplerFilterMode = 1;
205         pub const SamplerFilterMode_SamplerFilterModeMax: root::spv::SamplerFilterMode = 2147483647;
206         pub type SamplerFilterMode = u32;
207         pub const ImageFormat_ImageFormatUnknown: root::spv::ImageFormat = 0;
208         pub const ImageFormat_ImageFormatRgba32f: root::spv::ImageFormat = 1;
209         pub const ImageFormat_ImageFormatRgba16f: root::spv::ImageFormat = 2;
210         pub const ImageFormat_ImageFormatR32f: root::spv::ImageFormat = 3;
211         pub const ImageFormat_ImageFormatRgba8: root::spv::ImageFormat = 4;
212         pub const ImageFormat_ImageFormatRgba8Snorm: root::spv::ImageFormat = 5;
213         pub const ImageFormat_ImageFormatRg32f: root::spv::ImageFormat = 6;
214         pub const ImageFormat_ImageFormatRg16f: root::spv::ImageFormat = 7;
215         pub const ImageFormat_ImageFormatR11fG11fB10f: root::spv::ImageFormat = 8;
216         pub const ImageFormat_ImageFormatR16f: root::spv::ImageFormat = 9;
217         pub const ImageFormat_ImageFormatRgba16: root::spv::ImageFormat = 10;
218         pub const ImageFormat_ImageFormatRgb10A2: root::spv::ImageFormat = 11;
219         pub const ImageFormat_ImageFormatRg16: root::spv::ImageFormat = 12;
220         pub const ImageFormat_ImageFormatRg8: root::spv::ImageFormat = 13;
221         pub const ImageFormat_ImageFormatR16: root::spv::ImageFormat = 14;
222         pub const ImageFormat_ImageFormatR8: root::spv::ImageFormat = 15;
223         pub const ImageFormat_ImageFormatRgba16Snorm: root::spv::ImageFormat = 16;
224         pub const ImageFormat_ImageFormatRg16Snorm: root::spv::ImageFormat = 17;
225         pub const ImageFormat_ImageFormatRg8Snorm: root::spv::ImageFormat = 18;
226         pub const ImageFormat_ImageFormatR16Snorm: root::spv::ImageFormat = 19;
227         pub const ImageFormat_ImageFormatR8Snorm: root::spv::ImageFormat = 20;
228         pub const ImageFormat_ImageFormatRgba32i: root::spv::ImageFormat = 21;
229         pub const ImageFormat_ImageFormatRgba16i: root::spv::ImageFormat = 22;
230         pub const ImageFormat_ImageFormatRgba8i: root::spv::ImageFormat = 23;
231         pub const ImageFormat_ImageFormatR32i: root::spv::ImageFormat = 24;
232         pub const ImageFormat_ImageFormatRg32i: root::spv::ImageFormat = 25;
233         pub const ImageFormat_ImageFormatRg16i: root::spv::ImageFormat = 26;
234         pub const ImageFormat_ImageFormatRg8i: root::spv::ImageFormat = 27;
235         pub const ImageFormat_ImageFormatR16i: root::spv::ImageFormat = 28;
236         pub const ImageFormat_ImageFormatR8i: root::spv::ImageFormat = 29;
237         pub const ImageFormat_ImageFormatRgba32ui: root::spv::ImageFormat = 30;
238         pub const ImageFormat_ImageFormatRgba16ui: root::spv::ImageFormat = 31;
239         pub const ImageFormat_ImageFormatRgba8ui: root::spv::ImageFormat = 32;
240         pub const ImageFormat_ImageFormatR32ui: root::spv::ImageFormat = 33;
241         pub const ImageFormat_ImageFormatRgb10a2ui: root::spv::ImageFormat = 34;
242         pub const ImageFormat_ImageFormatRg32ui: root::spv::ImageFormat = 35;
243         pub const ImageFormat_ImageFormatRg16ui: root::spv::ImageFormat = 36;
244         pub const ImageFormat_ImageFormatRg8ui: root::spv::ImageFormat = 37;
245         pub const ImageFormat_ImageFormatR16ui: root::spv::ImageFormat = 38;
246         pub const ImageFormat_ImageFormatR8ui: root::spv::ImageFormat = 39;
247         pub const ImageFormat_ImageFormatR64ui: root::spv::ImageFormat = 40;
248         pub const ImageFormat_ImageFormatR64i: root::spv::ImageFormat = 41;
249         pub const ImageFormat_ImageFormatMax: root::spv::ImageFormat = 2147483647;
250         pub type ImageFormat = u32;
251         pub const ImageChannelOrder_ImageChannelOrderR: root::spv::ImageChannelOrder = 0;
252         pub const ImageChannelOrder_ImageChannelOrderA: root::spv::ImageChannelOrder = 1;
253         pub const ImageChannelOrder_ImageChannelOrderRG: root::spv::ImageChannelOrder = 2;
254         pub const ImageChannelOrder_ImageChannelOrderRA: root::spv::ImageChannelOrder = 3;
255         pub const ImageChannelOrder_ImageChannelOrderRGB: root::spv::ImageChannelOrder = 4;
256         pub const ImageChannelOrder_ImageChannelOrderRGBA: root::spv::ImageChannelOrder = 5;
257         pub const ImageChannelOrder_ImageChannelOrderBGRA: root::spv::ImageChannelOrder = 6;
258         pub const ImageChannelOrder_ImageChannelOrderARGB: root::spv::ImageChannelOrder = 7;
259         pub const ImageChannelOrder_ImageChannelOrderIntensity: root::spv::ImageChannelOrder = 8;
260         pub const ImageChannelOrder_ImageChannelOrderLuminance: root::spv::ImageChannelOrder = 9;
261         pub const ImageChannelOrder_ImageChannelOrderRx: root::spv::ImageChannelOrder = 10;
262         pub const ImageChannelOrder_ImageChannelOrderRGx: root::spv::ImageChannelOrder = 11;
263         pub const ImageChannelOrder_ImageChannelOrderRGBx: root::spv::ImageChannelOrder = 12;
264         pub const ImageChannelOrder_ImageChannelOrderDepth: root::spv::ImageChannelOrder = 13;
265         pub const ImageChannelOrder_ImageChannelOrderDepthStencil: root::spv::ImageChannelOrder =
266             14;
267         pub const ImageChannelOrder_ImageChannelOrdersRGB: root::spv::ImageChannelOrder = 15;
268         pub const ImageChannelOrder_ImageChannelOrdersRGBx: root::spv::ImageChannelOrder = 16;
269         pub const ImageChannelOrder_ImageChannelOrdersRGBA: root::spv::ImageChannelOrder = 17;
270         pub const ImageChannelOrder_ImageChannelOrdersBGRA: root::spv::ImageChannelOrder = 18;
271         pub const ImageChannelOrder_ImageChannelOrderABGR: root::spv::ImageChannelOrder = 19;
272         pub const ImageChannelOrder_ImageChannelOrderMax: root::spv::ImageChannelOrder = 2147483647;
273         pub type ImageChannelOrder = u32;
274         pub const ImageChannelDataType_ImageChannelDataTypeSnormInt8:
275             root::spv::ImageChannelDataType = 0;
276         pub const ImageChannelDataType_ImageChannelDataTypeSnormInt16:
277             root::spv::ImageChannelDataType = 1;
278         pub const ImageChannelDataType_ImageChannelDataTypeUnormInt8:
279             root::spv::ImageChannelDataType = 2;
280         pub const ImageChannelDataType_ImageChannelDataTypeUnormInt16:
281             root::spv::ImageChannelDataType = 3;
282         pub const ImageChannelDataType_ImageChannelDataTypeUnormShort565:
283             root::spv::ImageChannelDataType = 4;
284         pub const ImageChannelDataType_ImageChannelDataTypeUnormShort555:
285             root::spv::ImageChannelDataType = 5;
286         pub const ImageChannelDataType_ImageChannelDataTypeUnormInt101010:
287             root::spv::ImageChannelDataType = 6;
288         pub const ImageChannelDataType_ImageChannelDataTypeSignedInt8:
289             root::spv::ImageChannelDataType = 7;
290         pub const ImageChannelDataType_ImageChannelDataTypeSignedInt16:
291             root::spv::ImageChannelDataType = 8;
292         pub const ImageChannelDataType_ImageChannelDataTypeSignedInt32:
293             root::spv::ImageChannelDataType = 9;
294         pub const ImageChannelDataType_ImageChannelDataTypeUnsignedInt8:
295             root::spv::ImageChannelDataType = 10;
296         pub const ImageChannelDataType_ImageChannelDataTypeUnsignedInt16:
297             root::spv::ImageChannelDataType = 11;
298         pub const ImageChannelDataType_ImageChannelDataTypeUnsignedInt32:
299             root::spv::ImageChannelDataType = 12;
300         pub const ImageChannelDataType_ImageChannelDataTypeHalfFloat:
301             root::spv::ImageChannelDataType = 13;
302         pub const ImageChannelDataType_ImageChannelDataTypeFloat: root::spv::ImageChannelDataType =
303             14;
304         pub const ImageChannelDataType_ImageChannelDataTypeUnormInt24:
305             root::spv::ImageChannelDataType = 15;
306         pub const ImageChannelDataType_ImageChannelDataTypeUnormInt101010_2:
307             root::spv::ImageChannelDataType = 16;
308         pub const ImageChannelDataType_ImageChannelDataTypeMax: root::spv::ImageChannelDataType =
309             2147483647;
310         pub type ImageChannelDataType = u32;
311         pub const ImageOperandsShift_ImageOperandsBiasShift: root::spv::ImageOperandsShift = 0;
312         pub const ImageOperandsShift_ImageOperandsLodShift: root::spv::ImageOperandsShift = 1;
313         pub const ImageOperandsShift_ImageOperandsGradShift: root::spv::ImageOperandsShift = 2;
314         pub const ImageOperandsShift_ImageOperandsConstOffsetShift: root::spv::ImageOperandsShift =
315             3;
316         pub const ImageOperandsShift_ImageOperandsOffsetShift: root::spv::ImageOperandsShift = 4;
317         pub const ImageOperandsShift_ImageOperandsConstOffsetsShift: root::spv::ImageOperandsShift =
318             5;
319         pub const ImageOperandsShift_ImageOperandsSampleShift: root::spv::ImageOperandsShift = 6;
320         pub const ImageOperandsShift_ImageOperandsMinLodShift: root::spv::ImageOperandsShift = 7;
321         pub const ImageOperandsShift_ImageOperandsMakeTexelAvailableShift:
322             root::spv::ImageOperandsShift = 8;
323         pub const ImageOperandsShift_ImageOperandsMakeTexelAvailableKHRShift:
324             root::spv::ImageOperandsShift = 8;
325         pub const ImageOperandsShift_ImageOperandsMakeTexelVisibleShift:
326             root::spv::ImageOperandsShift = 9;
327         pub const ImageOperandsShift_ImageOperandsMakeTexelVisibleKHRShift:
328             root::spv::ImageOperandsShift = 9;
329         pub const ImageOperandsShift_ImageOperandsNonPrivateTexelShift:
330             root::spv::ImageOperandsShift = 10;
331         pub const ImageOperandsShift_ImageOperandsNonPrivateTexelKHRShift:
332             root::spv::ImageOperandsShift = 10;
333         pub const ImageOperandsShift_ImageOperandsVolatileTexelShift:
334             root::spv::ImageOperandsShift = 11;
335         pub const ImageOperandsShift_ImageOperandsVolatileTexelKHRShift:
336             root::spv::ImageOperandsShift = 11;
337         pub const ImageOperandsShift_ImageOperandsSignExtendShift: root::spv::ImageOperandsShift =
338             12;
339         pub const ImageOperandsShift_ImageOperandsZeroExtendShift: root::spv::ImageOperandsShift =
340             13;
341         pub const ImageOperandsShift_ImageOperandsMax: root::spv::ImageOperandsShift = 2147483647;
342         pub type ImageOperandsShift = u32;
343         impl ImageOperandsMask {
344             pub const ImageOperandsMaskNone: root::spv::ImageOperandsMask =
345                 root::spv::ImageOperandsMask(0);
346         }
347         impl ImageOperandsMask {
348             pub const ImageOperandsBiasMask: root::spv::ImageOperandsMask =
349                 root::spv::ImageOperandsMask(1);
350         }
351         impl ImageOperandsMask {
352             pub const ImageOperandsLodMask: root::spv::ImageOperandsMask =
353                 root::spv::ImageOperandsMask(2);
354         }
355         impl ImageOperandsMask {
356             pub const ImageOperandsGradMask: root::spv::ImageOperandsMask =
357                 root::spv::ImageOperandsMask(4);
358         }
359         impl ImageOperandsMask {
360             pub const ImageOperandsConstOffsetMask: root::spv::ImageOperandsMask =
361                 root::spv::ImageOperandsMask(8);
362         }
363         impl ImageOperandsMask {
364             pub const ImageOperandsOffsetMask: root::spv::ImageOperandsMask =
365                 root::spv::ImageOperandsMask(16);
366         }
367         impl ImageOperandsMask {
368             pub const ImageOperandsConstOffsetsMask: root::spv::ImageOperandsMask =
369                 root::spv::ImageOperandsMask(32);
370         }
371         impl ImageOperandsMask {
372             pub const ImageOperandsSampleMask: root::spv::ImageOperandsMask =
373                 root::spv::ImageOperandsMask(64);
374         }
375         impl ImageOperandsMask {
376             pub const ImageOperandsMinLodMask: root::spv::ImageOperandsMask =
377                 root::spv::ImageOperandsMask(128);
378         }
379         impl ImageOperandsMask {
380             pub const ImageOperandsMakeTexelAvailableMask: root::spv::ImageOperandsMask =
381                 root::spv::ImageOperandsMask(256);
382         }
383         impl ImageOperandsMask {
384             pub const ImageOperandsMakeTexelAvailableKHRMask: root::spv::ImageOperandsMask =
385                 root::spv::ImageOperandsMask(256);
386         }
387         impl ImageOperandsMask {
388             pub const ImageOperandsMakeTexelVisibleMask: root::spv::ImageOperandsMask =
389                 root::spv::ImageOperandsMask(512);
390         }
391         impl ImageOperandsMask {
392             pub const ImageOperandsMakeTexelVisibleKHRMask: root::spv::ImageOperandsMask =
393                 root::spv::ImageOperandsMask(512);
394         }
395         impl ImageOperandsMask {
396             pub const ImageOperandsNonPrivateTexelMask: root::spv::ImageOperandsMask =
397                 root::spv::ImageOperandsMask(1024);
398         }
399         impl ImageOperandsMask {
400             pub const ImageOperandsNonPrivateTexelKHRMask: root::spv::ImageOperandsMask =
401                 root::spv::ImageOperandsMask(1024);
402         }
403         impl ImageOperandsMask {
404             pub const ImageOperandsVolatileTexelMask: root::spv::ImageOperandsMask =
405                 root::spv::ImageOperandsMask(2048);
406         }
407         impl ImageOperandsMask {
408             pub const ImageOperandsVolatileTexelKHRMask: root::spv::ImageOperandsMask =
409                 root::spv::ImageOperandsMask(2048);
410         }
411         impl ImageOperandsMask {
412             pub const ImageOperandsSignExtendMask: root::spv::ImageOperandsMask =
413                 root::spv::ImageOperandsMask(4096);
414         }
415         impl ImageOperandsMask {
416             pub const ImageOperandsZeroExtendMask: root::spv::ImageOperandsMask =
417                 root::spv::ImageOperandsMask(8192);
418         }
419         impl ::std::ops::BitOr<root::spv::ImageOperandsMask> for root::spv::ImageOperandsMask {
420             type Output = Self;
421             #[inline]
bitor(self, other: Self) -> Self422             fn bitor(self, other: Self) -> Self {
423                 ImageOperandsMask(self.0 | other.0)
424             }
425         }
426         impl ::std::ops::BitOrAssign for root::spv::ImageOperandsMask {
427             #[inline]
bitor_assign(&mut self, rhs: root::spv::ImageOperandsMask)428             fn bitor_assign(&mut self, rhs: root::spv::ImageOperandsMask) {
429                 self.0 |= rhs.0;
430             }
431         }
432         impl ::std::ops::BitAnd<root::spv::ImageOperandsMask> for root::spv::ImageOperandsMask {
433             type Output = Self;
434             #[inline]
bitand(self, other: Self) -> Self435             fn bitand(self, other: Self) -> Self {
436                 ImageOperandsMask(self.0 & other.0)
437             }
438         }
439         impl ::std::ops::BitAndAssign for root::spv::ImageOperandsMask {
440             #[inline]
bitand_assign(&mut self, rhs: root::spv::ImageOperandsMask)441             fn bitand_assign(&mut self, rhs: root::spv::ImageOperandsMask) {
442                 self.0 &= rhs.0;
443             }
444         }
445         #[repr(transparent)]
446         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
447         pub struct ImageOperandsMask(pub u32);
448         pub const FPFastMathModeShift_FPFastMathModeNotNaNShift: root::spv::FPFastMathModeShift = 0;
449         pub const FPFastMathModeShift_FPFastMathModeNotInfShift: root::spv::FPFastMathModeShift = 1;
450         pub const FPFastMathModeShift_FPFastMathModeNSZShift: root::spv::FPFastMathModeShift = 2;
451         pub const FPFastMathModeShift_FPFastMathModeAllowRecipShift:
452             root::spv::FPFastMathModeShift = 3;
453         pub const FPFastMathModeShift_FPFastMathModeFastShift: root::spv::FPFastMathModeShift = 4;
454         pub const FPFastMathModeShift_FPFastMathModeMax: root::spv::FPFastMathModeShift =
455             2147483647;
456         pub type FPFastMathModeShift = u32;
457         impl FPFastMathModeMask {
458             pub const FPFastMathModeMaskNone: root::spv::FPFastMathModeMask =
459                 root::spv::FPFastMathModeMask(0);
460         }
461         impl FPFastMathModeMask {
462             pub const FPFastMathModeNotNaNMask: root::spv::FPFastMathModeMask =
463                 root::spv::FPFastMathModeMask(1);
464         }
465         impl FPFastMathModeMask {
466             pub const FPFastMathModeNotInfMask: root::spv::FPFastMathModeMask =
467                 root::spv::FPFastMathModeMask(2);
468         }
469         impl FPFastMathModeMask {
470             pub const FPFastMathModeNSZMask: root::spv::FPFastMathModeMask =
471                 root::spv::FPFastMathModeMask(4);
472         }
473         impl FPFastMathModeMask {
474             pub const FPFastMathModeAllowRecipMask: root::spv::FPFastMathModeMask =
475                 root::spv::FPFastMathModeMask(8);
476         }
477         impl FPFastMathModeMask {
478             pub const FPFastMathModeFastMask: root::spv::FPFastMathModeMask =
479                 root::spv::FPFastMathModeMask(16);
480         }
481         impl ::std::ops::BitOr<root::spv::FPFastMathModeMask> for root::spv::FPFastMathModeMask {
482             type Output = Self;
483             #[inline]
bitor(self, other: Self) -> Self484             fn bitor(self, other: Self) -> Self {
485                 FPFastMathModeMask(self.0 | other.0)
486             }
487         }
488         impl ::std::ops::BitOrAssign for root::spv::FPFastMathModeMask {
489             #[inline]
bitor_assign(&mut self, rhs: root::spv::FPFastMathModeMask)490             fn bitor_assign(&mut self, rhs: root::spv::FPFastMathModeMask) {
491                 self.0 |= rhs.0;
492             }
493         }
494         impl ::std::ops::BitAnd<root::spv::FPFastMathModeMask> for root::spv::FPFastMathModeMask {
495             type Output = Self;
496             #[inline]
bitand(self, other: Self) -> Self497             fn bitand(self, other: Self) -> Self {
498                 FPFastMathModeMask(self.0 & other.0)
499             }
500         }
501         impl ::std::ops::BitAndAssign for root::spv::FPFastMathModeMask {
502             #[inline]
bitand_assign(&mut self, rhs: root::spv::FPFastMathModeMask)503             fn bitand_assign(&mut self, rhs: root::spv::FPFastMathModeMask) {
504                 self.0 &= rhs.0;
505             }
506         }
507         #[repr(transparent)]
508         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
509         pub struct FPFastMathModeMask(pub u32);
510         pub const FPRoundingMode_FPRoundingModeRTE: root::spv::FPRoundingMode = 0;
511         pub const FPRoundingMode_FPRoundingModeRTZ: root::spv::FPRoundingMode = 1;
512         pub const FPRoundingMode_FPRoundingModeRTP: root::spv::FPRoundingMode = 2;
513         pub const FPRoundingMode_FPRoundingModeRTN: root::spv::FPRoundingMode = 3;
514         pub const FPRoundingMode_FPRoundingModeMax: root::spv::FPRoundingMode = 2147483647;
515         pub type FPRoundingMode = u32;
516         pub const LinkageType_LinkageTypeExport: root::spv::LinkageType = 0;
517         pub const LinkageType_LinkageTypeImport: root::spv::LinkageType = 1;
518         pub const LinkageType_LinkageTypeMax: root::spv::LinkageType = 2147483647;
519         pub type LinkageType = u32;
520         pub const AccessQualifier_AccessQualifierReadOnly: root::spv::AccessQualifier = 0;
521         pub const AccessQualifier_AccessQualifierWriteOnly: root::spv::AccessQualifier = 1;
522         pub const AccessQualifier_AccessQualifierReadWrite: root::spv::AccessQualifier = 2;
523         pub const AccessQualifier_AccessQualifierMax: root::spv::AccessQualifier = 2147483647;
524         pub type AccessQualifier = u32;
525         pub const FunctionParameterAttribute_FunctionParameterAttributeZext:
526             root::spv::FunctionParameterAttribute = 0;
527         pub const FunctionParameterAttribute_FunctionParameterAttributeSext:
528             root::spv::FunctionParameterAttribute = 1;
529         pub const FunctionParameterAttribute_FunctionParameterAttributeByVal:
530             root::spv::FunctionParameterAttribute = 2;
531         pub const FunctionParameterAttribute_FunctionParameterAttributeSret:
532             root::spv::FunctionParameterAttribute = 3;
533         pub const FunctionParameterAttribute_FunctionParameterAttributeNoAlias:
534             root::spv::FunctionParameterAttribute = 4;
535         pub const FunctionParameterAttribute_FunctionParameterAttributeNoCapture:
536             root::spv::FunctionParameterAttribute = 5;
537         pub const FunctionParameterAttribute_FunctionParameterAttributeNoWrite:
538             root::spv::FunctionParameterAttribute = 6;
539         pub const FunctionParameterAttribute_FunctionParameterAttributeNoReadWrite:
540             root::spv::FunctionParameterAttribute = 7;
541         pub const FunctionParameterAttribute_FunctionParameterAttributeMax:
542             root::spv::FunctionParameterAttribute = 2147483647;
543         pub type FunctionParameterAttribute = u32;
544         impl root::spv::Decoration {
545             pub const DecorationNonUniformEXT: root::spv::Decoration =
546                 Decoration::DecorationNonUniform;
547         }
548         impl root::spv::Decoration {
549             pub const DecorationRestrictPointerEXT: root::spv::Decoration =
550                 Decoration::DecorationRestrictPointer;
551         }
552         impl root::spv::Decoration {
553             pub const DecorationAliasedPointerEXT: root::spv::Decoration =
554                 Decoration::DecorationAliasedPointer;
555         }
556         impl root::spv::Decoration {
557             pub const DecorationHlslCounterBufferGOOGLE: root::spv::Decoration =
558                 Decoration::DecorationCounterBuffer;
559         }
560         impl root::spv::Decoration {
561             pub const DecorationUserSemantic: root::spv::Decoration =
562                 Decoration::DecorationHlslSemanticGOOGLE;
563         }
564         #[repr(u32)]
565         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
566         pub enum Decoration {
567             DecorationRelaxedPrecision = 0,
568             DecorationSpecId = 1,
569             DecorationBlock = 2,
570             DecorationBufferBlock = 3,
571             DecorationRowMajor = 4,
572             DecorationColMajor = 5,
573             DecorationArrayStride = 6,
574             DecorationMatrixStride = 7,
575             DecorationGLSLShared = 8,
576             DecorationGLSLPacked = 9,
577             DecorationCPacked = 10,
578             DecorationBuiltIn = 11,
579             DecorationNoPerspective = 13,
580             DecorationFlat = 14,
581             DecorationPatch = 15,
582             DecorationCentroid = 16,
583             DecorationSample = 17,
584             DecorationInvariant = 18,
585             DecorationRestrict = 19,
586             DecorationAliased = 20,
587             DecorationVolatile = 21,
588             DecorationConstant = 22,
589             DecorationCoherent = 23,
590             DecorationNonWritable = 24,
591             DecorationNonReadable = 25,
592             DecorationUniform = 26,
593             DecorationUniformId = 27,
594             DecorationSaturatedConversion = 28,
595             DecorationStream = 29,
596             DecorationLocation = 30,
597             DecorationComponent = 31,
598             DecorationIndex = 32,
599             DecorationBinding = 33,
600             DecorationDescriptorSet = 34,
601             DecorationOffset = 35,
602             DecorationXfbBuffer = 36,
603             DecorationXfbStride = 37,
604             DecorationFuncParamAttr = 38,
605             DecorationFPRoundingMode = 39,
606             DecorationFPFastMathMode = 40,
607             DecorationLinkageAttributes = 41,
608             DecorationNoContraction = 42,
609             DecorationInputAttachmentIndex = 43,
610             DecorationAlignment = 44,
611             DecorationMaxByteOffset = 45,
612             DecorationAlignmentId = 46,
613             DecorationMaxByteOffsetId = 47,
614             DecorationNoSignedWrap = 4469,
615             DecorationNoUnsignedWrap = 4470,
616             DecorationExplicitInterpAMD = 4999,
617             DecorationOverrideCoverageNV = 5248,
618             DecorationPassthroughNV = 5250,
619             DecorationViewportRelativeNV = 5252,
620             DecorationSecondaryViewportRelativeNV = 5256,
621             DecorationPerPrimitiveNV = 5271,
622             DecorationPerViewNV = 5272,
623             DecorationPerTaskNV = 5273,
624             DecorationPerVertexNV = 5285,
625             DecorationNonUniform = 5300,
626             DecorationRestrictPointer = 5355,
627             DecorationAliasedPointer = 5356,
628             DecorationReferencedIndirectlyINTEL = 5602,
629             DecorationCounterBuffer = 5634,
630             DecorationHlslSemanticGOOGLE = 5635,
631             DecorationUserTypeGOOGLE = 5636,
632             DecorationRegisterINTEL = 5825,
633             DecorationMemoryINTEL = 5826,
634             DecorationNumbanksINTEL = 5827,
635             DecorationBankwidthINTEL = 5828,
636             DecorationMaxPrivateCopiesINTEL = 5829,
637             DecorationSinglepumpINTEL = 5830,
638             DecorationDoublepumpINTEL = 5831,
639             DecorationMaxReplicatesINTEL = 5832,
640             DecorationSimpleDualPortINTEL = 5833,
641             DecorationMergeINTEL = 5834,
642             DecorationBankBitsINTEL = 5835,
643             DecorationForcePow2DepthINTEL = 5836,
644             DecorationMax = 2147483647,
645         }
646         impl root::spv::BuiltIn {
647             pub const BuiltInSubgroupEqMaskKHR: root::spv::BuiltIn = BuiltIn::BuiltInSubgroupEqMask;
648         }
649         impl root::spv::BuiltIn {
650             pub const BuiltInSubgroupGeMaskKHR: root::spv::BuiltIn = BuiltIn::BuiltInSubgroupGeMask;
651         }
652         impl root::spv::BuiltIn {
653             pub const BuiltInSubgroupGtMaskKHR: root::spv::BuiltIn = BuiltIn::BuiltInSubgroupGtMask;
654         }
655         impl root::spv::BuiltIn {
656             pub const BuiltInSubgroupLeMaskKHR: root::spv::BuiltIn = BuiltIn::BuiltInSubgroupLeMask;
657         }
658         impl root::spv::BuiltIn {
659             pub const BuiltInSubgroupLtMaskKHR: root::spv::BuiltIn = BuiltIn::BuiltInSubgroupLtMask;
660         }
661         impl root::spv::BuiltIn {
662             pub const BuiltInFragmentSizeNV: root::spv::BuiltIn = BuiltIn::BuiltInFragSizeEXT;
663         }
664         impl root::spv::BuiltIn {
665             pub const BuiltInInvocationsPerPixelNV: root::spv::BuiltIn =
666                 BuiltIn::BuiltInFragInvocationCountEXT;
667         }
668         impl root::spv::BuiltIn {
669             pub const BuiltInLaunchIdNV: root::spv::BuiltIn = BuiltIn::BuiltInLaunchIdKHR;
670         }
671         impl root::spv::BuiltIn {
672             pub const BuiltInLaunchSizeNV: root::spv::BuiltIn = BuiltIn::BuiltInLaunchSizeKHR;
673         }
674         impl root::spv::BuiltIn {
675             pub const BuiltInWorldRayOriginNV: root::spv::BuiltIn =
676                 BuiltIn::BuiltInWorldRayOriginKHR;
677         }
678         impl root::spv::BuiltIn {
679             pub const BuiltInWorldRayDirectionNV: root::spv::BuiltIn =
680                 BuiltIn::BuiltInWorldRayDirectionKHR;
681         }
682         impl root::spv::BuiltIn {
683             pub const BuiltInObjectRayOriginNV: root::spv::BuiltIn =
684                 BuiltIn::BuiltInObjectRayOriginKHR;
685         }
686         impl root::spv::BuiltIn {
687             pub const BuiltInObjectRayDirectionNV: root::spv::BuiltIn =
688                 BuiltIn::BuiltInObjectRayDirectionKHR;
689         }
690         impl root::spv::BuiltIn {
691             pub const BuiltInRayTminNV: root::spv::BuiltIn = BuiltIn::BuiltInRayTminKHR;
692         }
693         impl root::spv::BuiltIn {
694             pub const BuiltInRayTmaxNV: root::spv::BuiltIn = BuiltIn::BuiltInRayTmaxKHR;
695         }
696         impl root::spv::BuiltIn {
697             pub const BuiltInInstanceCustomIndexNV: root::spv::BuiltIn =
698                 BuiltIn::BuiltInInstanceCustomIndexKHR;
699         }
700         impl root::spv::BuiltIn {
701             pub const BuiltInObjectToWorldNV: root::spv::BuiltIn = BuiltIn::BuiltInObjectToWorldKHR;
702         }
703         impl root::spv::BuiltIn {
704             pub const BuiltInWorldToObjectNV: root::spv::BuiltIn = BuiltIn::BuiltInWorldToObjectKHR;
705         }
706         impl root::spv::BuiltIn {
707             pub const BuiltInHitKindNV: root::spv::BuiltIn = BuiltIn::BuiltInHitKindKHR;
708         }
709         impl root::spv::BuiltIn {
710             pub const BuiltInIncomingRayFlagsNV: root::spv::BuiltIn =
711                 BuiltIn::BuiltInIncomingRayFlagsKHR;
712         }
713         #[repr(u32)]
714         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
715         pub enum BuiltIn {
716             BuiltInPosition = 0,
717             BuiltInPointSize = 1,
718             BuiltInClipDistance = 3,
719             BuiltInCullDistance = 4,
720             BuiltInVertexId = 5,
721             BuiltInInstanceId = 6,
722             BuiltInPrimitiveId = 7,
723             BuiltInInvocationId = 8,
724             BuiltInLayer = 9,
725             BuiltInViewportIndex = 10,
726             BuiltInTessLevelOuter = 11,
727             BuiltInTessLevelInner = 12,
728             BuiltInTessCoord = 13,
729             BuiltInPatchVertices = 14,
730             BuiltInFragCoord = 15,
731             BuiltInPointCoord = 16,
732             BuiltInFrontFacing = 17,
733             BuiltInSampleId = 18,
734             BuiltInSamplePosition = 19,
735             BuiltInSampleMask = 20,
736             BuiltInFragDepth = 22,
737             BuiltInHelperInvocation = 23,
738             BuiltInNumWorkgroups = 24,
739             BuiltInWorkgroupSize = 25,
740             BuiltInWorkgroupId = 26,
741             BuiltInLocalInvocationId = 27,
742             BuiltInGlobalInvocationId = 28,
743             BuiltInLocalInvocationIndex = 29,
744             BuiltInWorkDim = 30,
745             BuiltInGlobalSize = 31,
746             BuiltInEnqueuedWorkgroupSize = 32,
747             BuiltInGlobalOffset = 33,
748             BuiltInGlobalLinearId = 34,
749             BuiltInSubgroupSize = 36,
750             BuiltInSubgroupMaxSize = 37,
751             BuiltInNumSubgroups = 38,
752             BuiltInNumEnqueuedSubgroups = 39,
753             BuiltInSubgroupId = 40,
754             BuiltInSubgroupLocalInvocationId = 41,
755             BuiltInVertexIndex = 42,
756             BuiltInInstanceIndex = 43,
757             BuiltInSubgroupEqMask = 4416,
758             BuiltInSubgroupGeMask = 4417,
759             BuiltInSubgroupGtMask = 4418,
760             BuiltInSubgroupLeMask = 4419,
761             BuiltInSubgroupLtMask = 4420,
762             BuiltInBaseVertex = 4424,
763             BuiltInBaseInstance = 4425,
764             BuiltInDrawIndex = 4426,
765             BuiltInPrimitiveShadingRateKHR = 4432,
766             BuiltInDeviceIndex = 4438,
767             BuiltInViewIndex = 4440,
768             BuiltInShadingRateKHR = 4444,
769             BuiltInBaryCoordNoPerspAMD = 4992,
770             BuiltInBaryCoordNoPerspCentroidAMD = 4993,
771             BuiltInBaryCoordNoPerspSampleAMD = 4994,
772             BuiltInBaryCoordSmoothAMD = 4995,
773             BuiltInBaryCoordSmoothCentroidAMD = 4996,
774             BuiltInBaryCoordSmoothSampleAMD = 4997,
775             BuiltInBaryCoordPullModelAMD = 4998,
776             BuiltInFragStencilRefEXT = 5014,
777             BuiltInViewportMaskNV = 5253,
778             BuiltInSecondaryPositionNV = 5257,
779             BuiltInSecondaryViewportMaskNV = 5258,
780             BuiltInPositionPerViewNV = 5261,
781             BuiltInViewportMaskPerViewNV = 5262,
782             BuiltInFullyCoveredEXT = 5264,
783             BuiltInTaskCountNV = 5274,
784             BuiltInPrimitiveCountNV = 5275,
785             BuiltInPrimitiveIndicesNV = 5276,
786             BuiltInClipDistancePerViewNV = 5277,
787             BuiltInCullDistancePerViewNV = 5278,
788             BuiltInLayerPerViewNV = 5279,
789             BuiltInMeshViewCountNV = 5280,
790             BuiltInMeshViewIndicesNV = 5281,
791             BuiltInBaryCoordNV = 5286,
792             BuiltInBaryCoordNoPerspNV = 5287,
793             BuiltInFragSizeEXT = 5292,
794             BuiltInFragInvocationCountEXT = 5293,
795             BuiltInLaunchIdKHR = 5319,
796             BuiltInLaunchSizeKHR = 5320,
797             BuiltInWorldRayOriginKHR = 5321,
798             BuiltInWorldRayDirectionKHR = 5322,
799             BuiltInObjectRayOriginKHR = 5323,
800             BuiltInObjectRayDirectionKHR = 5324,
801             BuiltInRayTminKHR = 5325,
802             BuiltInRayTmaxKHR = 5326,
803             BuiltInInstanceCustomIndexKHR = 5327,
804             BuiltInObjectToWorldKHR = 5330,
805             BuiltInWorldToObjectKHR = 5331,
806             BuiltInHitTNV = 5332,
807             BuiltInHitKindKHR = 5333,
808             BuiltInIncomingRayFlagsKHR = 5351,
809             BuiltInRayGeometryIndexKHR = 5352,
810             BuiltInWarpsPerSMNV = 5374,
811             BuiltInSMCountNV = 5375,
812             BuiltInWarpIDNV = 5376,
813             BuiltInSMIDNV = 5377,
814             BuiltInMax = 2147483647,
815         }
816         pub const SelectionControlShift_SelectionControlFlattenShift:
817             root::spv::SelectionControlShift = 0;
818         pub const SelectionControlShift_SelectionControlDontFlattenShift:
819             root::spv::SelectionControlShift = 1;
820         pub const SelectionControlShift_SelectionControlMax: root::spv::SelectionControlShift =
821             2147483647;
822         pub type SelectionControlShift = u32;
823         impl SelectionControlMask {
824             pub const SelectionControlMaskNone: root::spv::SelectionControlMask =
825                 root::spv::SelectionControlMask(0);
826         }
827         impl SelectionControlMask {
828             pub const SelectionControlFlattenMask: root::spv::SelectionControlMask =
829                 root::spv::SelectionControlMask(1);
830         }
831         impl SelectionControlMask {
832             pub const SelectionControlDontFlattenMask: root::spv::SelectionControlMask =
833                 root::spv::SelectionControlMask(2);
834         }
835         impl ::std::ops::BitOr<root::spv::SelectionControlMask> for root::spv::SelectionControlMask {
836             type Output = Self;
837             #[inline]
bitor(self, other: Self) -> Self838             fn bitor(self, other: Self) -> Self {
839                 SelectionControlMask(self.0 | other.0)
840             }
841         }
842         impl ::std::ops::BitOrAssign for root::spv::SelectionControlMask {
843             #[inline]
bitor_assign(&mut self, rhs: root::spv::SelectionControlMask)844             fn bitor_assign(&mut self, rhs: root::spv::SelectionControlMask) {
845                 self.0 |= rhs.0;
846             }
847         }
848         impl ::std::ops::BitAnd<root::spv::SelectionControlMask> for root::spv::SelectionControlMask {
849             type Output = Self;
850             #[inline]
bitand(self, other: Self) -> Self851             fn bitand(self, other: Self) -> Self {
852                 SelectionControlMask(self.0 & other.0)
853             }
854         }
855         impl ::std::ops::BitAndAssign for root::spv::SelectionControlMask {
856             #[inline]
bitand_assign(&mut self, rhs: root::spv::SelectionControlMask)857             fn bitand_assign(&mut self, rhs: root::spv::SelectionControlMask) {
858                 self.0 &= rhs.0;
859             }
860         }
861         #[repr(transparent)]
862         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
863         pub struct SelectionControlMask(pub u32);
864         pub const LoopControlShift_LoopControlUnrollShift: root::spv::LoopControlShift = 0;
865         pub const LoopControlShift_LoopControlDontUnrollShift: root::spv::LoopControlShift = 1;
866         pub const LoopControlShift_LoopControlDependencyInfiniteShift: root::spv::LoopControlShift =
867             2;
868         pub const LoopControlShift_LoopControlDependencyLengthShift: root::spv::LoopControlShift =
869             3;
870         pub const LoopControlShift_LoopControlMinIterationsShift: root::spv::LoopControlShift = 4;
871         pub const LoopControlShift_LoopControlMaxIterationsShift: root::spv::LoopControlShift = 5;
872         pub const LoopControlShift_LoopControlIterationMultipleShift: root::spv::LoopControlShift =
873             6;
874         pub const LoopControlShift_LoopControlPeelCountShift: root::spv::LoopControlShift = 7;
875         pub const LoopControlShift_LoopControlPartialCountShift: root::spv::LoopControlShift = 8;
876         pub const LoopControlShift_LoopControlInitiationIntervalINTELShift:
877             root::spv::LoopControlShift = 16;
878         pub const LoopControlShift_LoopControlMaxConcurrencyINTELShift:
879             root::spv::LoopControlShift = 17;
880         pub const LoopControlShift_LoopControlDependencyArrayINTELShift:
881             root::spv::LoopControlShift = 18;
882         pub const LoopControlShift_LoopControlPipelineEnableINTELShift:
883             root::spv::LoopControlShift = 19;
884         pub const LoopControlShift_LoopControlLoopCoalesceINTELShift: root::spv::LoopControlShift =
885             20;
886         pub const LoopControlShift_LoopControlMaxInterleavingINTELShift:
887             root::spv::LoopControlShift = 21;
888         pub const LoopControlShift_LoopControlSpeculatedIterationsINTELShift:
889             root::spv::LoopControlShift = 22;
890         pub const LoopControlShift_LoopControlMax: root::spv::LoopControlShift = 2147483647;
891         pub type LoopControlShift = u32;
892         impl LoopControlMask {
893             pub const LoopControlMaskNone: root::spv::LoopControlMask =
894                 root::spv::LoopControlMask(0);
895         }
896         impl LoopControlMask {
897             pub const LoopControlUnrollMask: root::spv::LoopControlMask =
898                 root::spv::LoopControlMask(1);
899         }
900         impl LoopControlMask {
901             pub const LoopControlDontUnrollMask: root::spv::LoopControlMask =
902                 root::spv::LoopControlMask(2);
903         }
904         impl LoopControlMask {
905             pub const LoopControlDependencyInfiniteMask: root::spv::LoopControlMask =
906                 root::spv::LoopControlMask(4);
907         }
908         impl LoopControlMask {
909             pub const LoopControlDependencyLengthMask: root::spv::LoopControlMask =
910                 root::spv::LoopControlMask(8);
911         }
912         impl LoopControlMask {
913             pub const LoopControlMinIterationsMask: root::spv::LoopControlMask =
914                 root::spv::LoopControlMask(16);
915         }
916         impl LoopControlMask {
917             pub const LoopControlMaxIterationsMask: root::spv::LoopControlMask =
918                 root::spv::LoopControlMask(32);
919         }
920         impl LoopControlMask {
921             pub const LoopControlIterationMultipleMask: root::spv::LoopControlMask =
922                 root::spv::LoopControlMask(64);
923         }
924         impl LoopControlMask {
925             pub const LoopControlPeelCountMask: root::spv::LoopControlMask =
926                 root::spv::LoopControlMask(128);
927         }
928         impl LoopControlMask {
929             pub const LoopControlPartialCountMask: root::spv::LoopControlMask =
930                 root::spv::LoopControlMask(256);
931         }
932         impl LoopControlMask {
933             pub const LoopControlInitiationIntervalINTELMask: root::spv::LoopControlMask =
934                 root::spv::LoopControlMask(65536);
935         }
936         impl LoopControlMask {
937             pub const LoopControlMaxConcurrencyINTELMask: root::spv::LoopControlMask =
938                 root::spv::LoopControlMask(131072);
939         }
940         impl LoopControlMask {
941             pub const LoopControlDependencyArrayINTELMask: root::spv::LoopControlMask =
942                 root::spv::LoopControlMask(262144);
943         }
944         impl LoopControlMask {
945             pub const LoopControlPipelineEnableINTELMask: root::spv::LoopControlMask =
946                 root::spv::LoopControlMask(524288);
947         }
948         impl LoopControlMask {
949             pub const LoopControlLoopCoalesceINTELMask: root::spv::LoopControlMask =
950                 root::spv::LoopControlMask(1048576);
951         }
952         impl LoopControlMask {
953             pub const LoopControlMaxInterleavingINTELMask: root::spv::LoopControlMask =
954                 root::spv::LoopControlMask(2097152);
955         }
956         impl LoopControlMask {
957             pub const LoopControlSpeculatedIterationsINTELMask: root::spv::LoopControlMask =
958                 root::spv::LoopControlMask(4194304);
959         }
960         impl ::std::ops::BitOr<root::spv::LoopControlMask> for root::spv::LoopControlMask {
961             type Output = Self;
962             #[inline]
bitor(self, other: Self) -> Self963             fn bitor(self, other: Self) -> Self {
964                 LoopControlMask(self.0 | other.0)
965             }
966         }
967         impl ::std::ops::BitOrAssign for root::spv::LoopControlMask {
968             #[inline]
bitor_assign(&mut self, rhs: root::spv::LoopControlMask)969             fn bitor_assign(&mut self, rhs: root::spv::LoopControlMask) {
970                 self.0 |= rhs.0;
971             }
972         }
973         impl ::std::ops::BitAnd<root::spv::LoopControlMask> for root::spv::LoopControlMask {
974             type Output = Self;
975             #[inline]
bitand(self, other: Self) -> Self976             fn bitand(self, other: Self) -> Self {
977                 LoopControlMask(self.0 & other.0)
978             }
979         }
980         impl ::std::ops::BitAndAssign for root::spv::LoopControlMask {
981             #[inline]
bitand_assign(&mut self, rhs: root::spv::LoopControlMask)982             fn bitand_assign(&mut self, rhs: root::spv::LoopControlMask) {
983                 self.0 &= rhs.0;
984             }
985         }
986         #[repr(transparent)]
987         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
988         pub struct LoopControlMask(pub u32);
989         pub const FunctionControlShift_FunctionControlInlineShift: root::spv::FunctionControlShift =
990             0;
991         pub const FunctionControlShift_FunctionControlDontInlineShift:
992             root::spv::FunctionControlShift = 1;
993         pub const FunctionControlShift_FunctionControlPureShift: root::spv::FunctionControlShift =
994             2;
995         pub const FunctionControlShift_FunctionControlConstShift: root::spv::FunctionControlShift =
996             3;
997         pub const FunctionControlShift_FunctionControlMax: root::spv::FunctionControlShift =
998             2147483647;
999         pub type FunctionControlShift = u32;
1000         impl FunctionControlMask {
1001             pub const FunctionControlMaskNone: root::spv::FunctionControlMask =
1002                 root::spv::FunctionControlMask(0);
1003         }
1004         impl FunctionControlMask {
1005             pub const FunctionControlInlineMask: root::spv::FunctionControlMask =
1006                 root::spv::FunctionControlMask(1);
1007         }
1008         impl FunctionControlMask {
1009             pub const FunctionControlDontInlineMask: root::spv::FunctionControlMask =
1010                 root::spv::FunctionControlMask(2);
1011         }
1012         impl FunctionControlMask {
1013             pub const FunctionControlPureMask: root::spv::FunctionControlMask =
1014                 root::spv::FunctionControlMask(4);
1015         }
1016         impl FunctionControlMask {
1017             pub const FunctionControlConstMask: root::spv::FunctionControlMask =
1018                 root::spv::FunctionControlMask(8);
1019         }
1020         impl ::std::ops::BitOr<root::spv::FunctionControlMask> for root::spv::FunctionControlMask {
1021             type Output = Self;
1022             #[inline]
bitor(self, other: Self) -> Self1023             fn bitor(self, other: Self) -> Self {
1024                 FunctionControlMask(self.0 | other.0)
1025             }
1026         }
1027         impl ::std::ops::BitOrAssign for root::spv::FunctionControlMask {
1028             #[inline]
bitor_assign(&mut self, rhs: root::spv::FunctionControlMask)1029             fn bitor_assign(&mut self, rhs: root::spv::FunctionControlMask) {
1030                 self.0 |= rhs.0;
1031             }
1032         }
1033         impl ::std::ops::BitAnd<root::spv::FunctionControlMask> for root::spv::FunctionControlMask {
1034             type Output = Self;
1035             #[inline]
bitand(self, other: Self) -> Self1036             fn bitand(self, other: Self) -> Self {
1037                 FunctionControlMask(self.0 & other.0)
1038             }
1039         }
1040         impl ::std::ops::BitAndAssign for root::spv::FunctionControlMask {
1041             #[inline]
bitand_assign(&mut self, rhs: root::spv::FunctionControlMask)1042             fn bitand_assign(&mut self, rhs: root::spv::FunctionControlMask) {
1043                 self.0 &= rhs.0;
1044             }
1045         }
1046         #[repr(transparent)]
1047         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1048         pub struct FunctionControlMask(pub u32);
1049         pub const MemorySemanticsShift_MemorySemanticsAcquireShift:
1050             root::spv::MemorySemanticsShift = 1;
1051         pub const MemorySemanticsShift_MemorySemanticsReleaseShift:
1052             root::spv::MemorySemanticsShift = 2;
1053         pub const MemorySemanticsShift_MemorySemanticsAcquireReleaseShift:
1054             root::spv::MemorySemanticsShift = 3;
1055         pub const MemorySemanticsShift_MemorySemanticsSequentiallyConsistentShift:
1056             root::spv::MemorySemanticsShift = 4;
1057         pub const MemorySemanticsShift_MemorySemanticsUniformMemoryShift:
1058             root::spv::MemorySemanticsShift = 6;
1059         pub const MemorySemanticsShift_MemorySemanticsSubgroupMemoryShift:
1060             root::spv::MemorySemanticsShift = 7;
1061         pub const MemorySemanticsShift_MemorySemanticsWorkgroupMemoryShift:
1062             root::spv::MemorySemanticsShift = 8;
1063         pub const MemorySemanticsShift_MemorySemanticsCrossWorkgroupMemoryShift:
1064             root::spv::MemorySemanticsShift = 9;
1065         pub const MemorySemanticsShift_MemorySemanticsAtomicCounterMemoryShift:
1066             root::spv::MemorySemanticsShift = 10;
1067         pub const MemorySemanticsShift_MemorySemanticsImageMemoryShift:
1068             root::spv::MemorySemanticsShift = 11;
1069         pub const MemorySemanticsShift_MemorySemanticsOutputMemoryShift:
1070             root::spv::MemorySemanticsShift = 12;
1071         pub const MemorySemanticsShift_MemorySemanticsOutputMemoryKHRShift:
1072             root::spv::MemorySemanticsShift = 12;
1073         pub const MemorySemanticsShift_MemorySemanticsMakeAvailableShift:
1074             root::spv::MemorySemanticsShift = 13;
1075         pub const MemorySemanticsShift_MemorySemanticsMakeAvailableKHRShift:
1076             root::spv::MemorySemanticsShift = 13;
1077         pub const MemorySemanticsShift_MemorySemanticsMakeVisibleShift:
1078             root::spv::MemorySemanticsShift = 14;
1079         pub const MemorySemanticsShift_MemorySemanticsMakeVisibleKHRShift:
1080             root::spv::MemorySemanticsShift = 14;
1081         pub const MemorySemanticsShift_MemorySemanticsVolatileShift:
1082             root::spv::MemorySemanticsShift = 15;
1083         pub const MemorySemanticsShift_MemorySemanticsMax: root::spv::MemorySemanticsShift =
1084             2147483647;
1085         pub type MemorySemanticsShift = u32;
1086         impl MemorySemanticsMask {
1087             pub const MemorySemanticsMaskNone: root::spv::MemorySemanticsMask =
1088                 root::spv::MemorySemanticsMask(0);
1089         }
1090         impl MemorySemanticsMask {
1091             pub const MemorySemanticsAcquireMask: root::spv::MemorySemanticsMask =
1092                 root::spv::MemorySemanticsMask(2);
1093         }
1094         impl MemorySemanticsMask {
1095             pub const MemorySemanticsReleaseMask: root::spv::MemorySemanticsMask =
1096                 root::spv::MemorySemanticsMask(4);
1097         }
1098         impl MemorySemanticsMask {
1099             pub const MemorySemanticsAcquireReleaseMask: root::spv::MemorySemanticsMask =
1100                 root::spv::MemorySemanticsMask(8);
1101         }
1102         impl MemorySemanticsMask {
1103             pub const MemorySemanticsSequentiallyConsistentMask: root::spv::MemorySemanticsMask =
1104                 root::spv::MemorySemanticsMask(16);
1105         }
1106         impl MemorySemanticsMask {
1107             pub const MemorySemanticsUniformMemoryMask: root::spv::MemorySemanticsMask =
1108                 root::spv::MemorySemanticsMask(64);
1109         }
1110         impl MemorySemanticsMask {
1111             pub const MemorySemanticsSubgroupMemoryMask: root::spv::MemorySemanticsMask =
1112                 root::spv::MemorySemanticsMask(128);
1113         }
1114         impl MemorySemanticsMask {
1115             pub const MemorySemanticsWorkgroupMemoryMask: root::spv::MemorySemanticsMask =
1116                 root::spv::MemorySemanticsMask(256);
1117         }
1118         impl MemorySemanticsMask {
1119             pub const MemorySemanticsCrossWorkgroupMemoryMask: root::spv::MemorySemanticsMask =
1120                 root::spv::MemorySemanticsMask(512);
1121         }
1122         impl MemorySemanticsMask {
1123             pub const MemorySemanticsAtomicCounterMemoryMask: root::spv::MemorySemanticsMask =
1124                 root::spv::MemorySemanticsMask(1024);
1125         }
1126         impl MemorySemanticsMask {
1127             pub const MemorySemanticsImageMemoryMask: root::spv::MemorySemanticsMask =
1128                 root::spv::MemorySemanticsMask(2048);
1129         }
1130         impl MemorySemanticsMask {
1131             pub const MemorySemanticsOutputMemoryMask: root::spv::MemorySemanticsMask =
1132                 root::spv::MemorySemanticsMask(4096);
1133         }
1134         impl MemorySemanticsMask {
1135             pub const MemorySemanticsOutputMemoryKHRMask: root::spv::MemorySemanticsMask =
1136                 root::spv::MemorySemanticsMask(4096);
1137         }
1138         impl MemorySemanticsMask {
1139             pub const MemorySemanticsMakeAvailableMask: root::spv::MemorySemanticsMask =
1140                 root::spv::MemorySemanticsMask(8192);
1141         }
1142         impl MemorySemanticsMask {
1143             pub const MemorySemanticsMakeAvailableKHRMask: root::spv::MemorySemanticsMask =
1144                 root::spv::MemorySemanticsMask(8192);
1145         }
1146         impl MemorySemanticsMask {
1147             pub const MemorySemanticsMakeVisibleMask: root::spv::MemorySemanticsMask =
1148                 root::spv::MemorySemanticsMask(16384);
1149         }
1150         impl MemorySemanticsMask {
1151             pub const MemorySemanticsMakeVisibleKHRMask: root::spv::MemorySemanticsMask =
1152                 root::spv::MemorySemanticsMask(16384);
1153         }
1154         impl MemorySemanticsMask {
1155             pub const MemorySemanticsVolatileMask: root::spv::MemorySemanticsMask =
1156                 root::spv::MemorySemanticsMask(32768);
1157         }
1158         impl ::std::ops::BitOr<root::spv::MemorySemanticsMask> for root::spv::MemorySemanticsMask {
1159             type Output = Self;
1160             #[inline]
bitor(self, other: Self) -> Self1161             fn bitor(self, other: Self) -> Self {
1162                 MemorySemanticsMask(self.0 | other.0)
1163             }
1164         }
1165         impl ::std::ops::BitOrAssign for root::spv::MemorySemanticsMask {
1166             #[inline]
bitor_assign(&mut self, rhs: root::spv::MemorySemanticsMask)1167             fn bitor_assign(&mut self, rhs: root::spv::MemorySemanticsMask) {
1168                 self.0 |= rhs.0;
1169             }
1170         }
1171         impl ::std::ops::BitAnd<root::spv::MemorySemanticsMask> for root::spv::MemorySemanticsMask {
1172             type Output = Self;
1173             #[inline]
bitand(self, other: Self) -> Self1174             fn bitand(self, other: Self) -> Self {
1175                 MemorySemanticsMask(self.0 & other.0)
1176             }
1177         }
1178         impl ::std::ops::BitAndAssign for root::spv::MemorySemanticsMask {
1179             #[inline]
bitand_assign(&mut self, rhs: root::spv::MemorySemanticsMask)1180             fn bitand_assign(&mut self, rhs: root::spv::MemorySemanticsMask) {
1181                 self.0 &= rhs.0;
1182             }
1183         }
1184         #[repr(transparent)]
1185         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1186         pub struct MemorySemanticsMask(pub u32);
1187         pub const MemoryAccessShift_MemoryAccessVolatileShift: root::spv::MemoryAccessShift = 0;
1188         pub const MemoryAccessShift_MemoryAccessAlignedShift: root::spv::MemoryAccessShift = 1;
1189         pub const MemoryAccessShift_MemoryAccessNontemporalShift: root::spv::MemoryAccessShift = 2;
1190         pub const MemoryAccessShift_MemoryAccessMakePointerAvailableShift:
1191             root::spv::MemoryAccessShift = 3;
1192         pub const MemoryAccessShift_MemoryAccessMakePointerAvailableKHRShift:
1193             root::spv::MemoryAccessShift = 3;
1194         pub const MemoryAccessShift_MemoryAccessMakePointerVisibleShift:
1195             root::spv::MemoryAccessShift = 4;
1196         pub const MemoryAccessShift_MemoryAccessMakePointerVisibleKHRShift:
1197             root::spv::MemoryAccessShift = 4;
1198         pub const MemoryAccessShift_MemoryAccessNonPrivatePointerShift:
1199             root::spv::MemoryAccessShift = 5;
1200         pub const MemoryAccessShift_MemoryAccessNonPrivatePointerKHRShift:
1201             root::spv::MemoryAccessShift = 5;
1202         pub const MemoryAccessShift_MemoryAccessMax: root::spv::MemoryAccessShift = 2147483647;
1203         pub type MemoryAccessShift = u32;
1204         impl MemoryAccessMask {
1205             pub const MemoryAccessMaskNone: root::spv::MemoryAccessMask =
1206                 root::spv::MemoryAccessMask(0);
1207         }
1208         impl MemoryAccessMask {
1209             pub const MemoryAccessVolatileMask: root::spv::MemoryAccessMask =
1210                 root::spv::MemoryAccessMask(1);
1211         }
1212         impl MemoryAccessMask {
1213             pub const MemoryAccessAlignedMask: root::spv::MemoryAccessMask =
1214                 root::spv::MemoryAccessMask(2);
1215         }
1216         impl MemoryAccessMask {
1217             pub const MemoryAccessNontemporalMask: root::spv::MemoryAccessMask =
1218                 root::spv::MemoryAccessMask(4);
1219         }
1220         impl MemoryAccessMask {
1221             pub const MemoryAccessMakePointerAvailableMask: root::spv::MemoryAccessMask =
1222                 root::spv::MemoryAccessMask(8);
1223         }
1224         impl MemoryAccessMask {
1225             pub const MemoryAccessMakePointerAvailableKHRMask: root::spv::MemoryAccessMask =
1226                 root::spv::MemoryAccessMask(8);
1227         }
1228         impl MemoryAccessMask {
1229             pub const MemoryAccessMakePointerVisibleMask: root::spv::MemoryAccessMask =
1230                 root::spv::MemoryAccessMask(16);
1231         }
1232         impl MemoryAccessMask {
1233             pub const MemoryAccessMakePointerVisibleKHRMask: root::spv::MemoryAccessMask =
1234                 root::spv::MemoryAccessMask(16);
1235         }
1236         impl MemoryAccessMask {
1237             pub const MemoryAccessNonPrivatePointerMask: root::spv::MemoryAccessMask =
1238                 root::spv::MemoryAccessMask(32);
1239         }
1240         impl MemoryAccessMask {
1241             pub const MemoryAccessNonPrivatePointerKHRMask: root::spv::MemoryAccessMask =
1242                 root::spv::MemoryAccessMask(32);
1243         }
1244         impl ::std::ops::BitOr<root::spv::MemoryAccessMask> for root::spv::MemoryAccessMask {
1245             type Output = Self;
1246             #[inline]
bitor(self, other: Self) -> Self1247             fn bitor(self, other: Self) -> Self {
1248                 MemoryAccessMask(self.0 | other.0)
1249             }
1250         }
1251         impl ::std::ops::BitOrAssign for root::spv::MemoryAccessMask {
1252             #[inline]
bitor_assign(&mut self, rhs: root::spv::MemoryAccessMask)1253             fn bitor_assign(&mut self, rhs: root::spv::MemoryAccessMask) {
1254                 self.0 |= rhs.0;
1255             }
1256         }
1257         impl ::std::ops::BitAnd<root::spv::MemoryAccessMask> for root::spv::MemoryAccessMask {
1258             type Output = Self;
1259             #[inline]
bitand(self, other: Self) -> Self1260             fn bitand(self, other: Self) -> Self {
1261                 MemoryAccessMask(self.0 & other.0)
1262             }
1263         }
1264         impl ::std::ops::BitAndAssign for root::spv::MemoryAccessMask {
1265             #[inline]
bitand_assign(&mut self, rhs: root::spv::MemoryAccessMask)1266             fn bitand_assign(&mut self, rhs: root::spv::MemoryAccessMask) {
1267                 self.0 &= rhs.0;
1268             }
1269         }
1270         #[repr(transparent)]
1271         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1272         pub struct MemoryAccessMask(pub u32);
1273         pub const Scope_ScopeCrossDevice: root::spv::Scope = 0;
1274         pub const Scope_ScopeDevice: root::spv::Scope = 1;
1275         pub const Scope_ScopeWorkgroup: root::spv::Scope = 2;
1276         pub const Scope_ScopeSubgroup: root::spv::Scope = 3;
1277         pub const Scope_ScopeInvocation: root::spv::Scope = 4;
1278         pub const Scope_ScopeQueueFamily: root::spv::Scope = 5;
1279         pub const Scope_ScopeQueueFamilyKHR: root::spv::Scope = 5;
1280         pub const Scope_ScopeShaderCallKHR: root::spv::Scope = 6;
1281         pub const Scope_ScopeMax: root::spv::Scope = 2147483647;
1282         pub type Scope = u32;
1283         pub const GroupOperation_GroupOperationReduce: root::spv::GroupOperation = 0;
1284         pub const GroupOperation_GroupOperationInclusiveScan: root::spv::GroupOperation = 1;
1285         pub const GroupOperation_GroupOperationExclusiveScan: root::spv::GroupOperation = 2;
1286         pub const GroupOperation_GroupOperationClusteredReduce: root::spv::GroupOperation = 3;
1287         pub const GroupOperation_GroupOperationPartitionedReduceNV: root::spv::GroupOperation = 6;
1288         pub const GroupOperation_GroupOperationPartitionedInclusiveScanNV:
1289             root::spv::GroupOperation = 7;
1290         pub const GroupOperation_GroupOperationPartitionedExclusiveScanNV:
1291             root::spv::GroupOperation = 8;
1292         pub const GroupOperation_GroupOperationMax: root::spv::GroupOperation = 2147483647;
1293         pub type GroupOperation = u32;
1294         impl KernelEnqueueFlags {
1295             pub const KernelEnqueueFlagsNoWait: root::spv::KernelEnqueueFlags =
1296                 root::spv::KernelEnqueueFlags(0);
1297         }
1298         impl KernelEnqueueFlags {
1299             pub const KernelEnqueueFlagsWaitKernel: root::spv::KernelEnqueueFlags =
1300                 root::spv::KernelEnqueueFlags(1);
1301         }
1302         impl KernelEnqueueFlags {
1303             pub const KernelEnqueueFlagsWaitWorkGroup: root::spv::KernelEnqueueFlags =
1304                 root::spv::KernelEnqueueFlags(2);
1305         }
1306         impl KernelEnqueueFlags {
1307             pub const KernelEnqueueFlagsMax: root::spv::KernelEnqueueFlags =
1308                 root::spv::KernelEnqueueFlags(2147483647);
1309         }
1310         impl ::std::ops::BitOr<root::spv::KernelEnqueueFlags> for root::spv::KernelEnqueueFlags {
1311             type Output = Self;
1312             #[inline]
bitor(self, other: Self) -> Self1313             fn bitor(self, other: Self) -> Self {
1314                 KernelEnqueueFlags(self.0 | other.0)
1315             }
1316         }
1317         impl ::std::ops::BitOrAssign for root::spv::KernelEnqueueFlags {
1318             #[inline]
bitor_assign(&mut self, rhs: root::spv::KernelEnqueueFlags)1319             fn bitor_assign(&mut self, rhs: root::spv::KernelEnqueueFlags) {
1320                 self.0 |= rhs.0;
1321             }
1322         }
1323         impl ::std::ops::BitAnd<root::spv::KernelEnqueueFlags> for root::spv::KernelEnqueueFlags {
1324             type Output = Self;
1325             #[inline]
bitand(self, other: Self) -> Self1326             fn bitand(self, other: Self) -> Self {
1327                 KernelEnqueueFlags(self.0 & other.0)
1328             }
1329         }
1330         impl ::std::ops::BitAndAssign for root::spv::KernelEnqueueFlags {
1331             #[inline]
bitand_assign(&mut self, rhs: root::spv::KernelEnqueueFlags)1332             fn bitand_assign(&mut self, rhs: root::spv::KernelEnqueueFlags) {
1333                 self.0 &= rhs.0;
1334             }
1335         }
1336         #[repr(transparent)]
1337         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1338         pub struct KernelEnqueueFlags(pub u32);
1339         pub const KernelProfilingInfoShift_KernelProfilingInfoCmdExecTimeShift:
1340             root::spv::KernelProfilingInfoShift = 0;
1341         pub const KernelProfilingInfoShift_KernelProfilingInfoMax:
1342             root::spv::KernelProfilingInfoShift = 2147483647;
1343         pub type KernelProfilingInfoShift = u32;
1344         impl KernelProfilingInfoMask {
1345             pub const KernelProfilingInfoMaskNone: root::spv::KernelProfilingInfoMask =
1346                 root::spv::KernelProfilingInfoMask(0);
1347         }
1348         impl KernelProfilingInfoMask {
1349             pub const KernelProfilingInfoCmdExecTimeMask: root::spv::KernelProfilingInfoMask =
1350                 root::spv::KernelProfilingInfoMask(1);
1351         }
1352         impl ::std::ops::BitOr<root::spv::KernelProfilingInfoMask> for root::spv::KernelProfilingInfoMask {
1353             type Output = Self;
1354             #[inline]
bitor(self, other: Self) -> Self1355             fn bitor(self, other: Self) -> Self {
1356                 KernelProfilingInfoMask(self.0 | other.0)
1357             }
1358         }
1359         impl ::std::ops::BitOrAssign for root::spv::KernelProfilingInfoMask {
1360             #[inline]
bitor_assign(&mut self, rhs: root::spv::KernelProfilingInfoMask)1361             fn bitor_assign(&mut self, rhs: root::spv::KernelProfilingInfoMask) {
1362                 self.0 |= rhs.0;
1363             }
1364         }
1365         impl ::std::ops::BitAnd<root::spv::KernelProfilingInfoMask> for root::spv::KernelProfilingInfoMask {
1366             type Output = Self;
1367             #[inline]
bitand(self, other: Self) -> Self1368             fn bitand(self, other: Self) -> Self {
1369                 KernelProfilingInfoMask(self.0 & other.0)
1370             }
1371         }
1372         impl ::std::ops::BitAndAssign for root::spv::KernelProfilingInfoMask {
1373             #[inline]
bitand_assign(&mut self, rhs: root::spv::KernelProfilingInfoMask)1374             fn bitand_assign(&mut self, rhs: root::spv::KernelProfilingInfoMask) {
1375                 self.0 &= rhs.0;
1376             }
1377         }
1378         #[repr(transparent)]
1379         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1380         pub struct KernelProfilingInfoMask(pub u32);
1381         pub const Capability_CapabilityMatrix: root::spv::Capability = 0;
1382         pub const Capability_CapabilityShader: root::spv::Capability = 1;
1383         pub const Capability_CapabilityGeometry: root::spv::Capability = 2;
1384         pub const Capability_CapabilityTessellation: root::spv::Capability = 3;
1385         pub const Capability_CapabilityAddresses: root::spv::Capability = 4;
1386         pub const Capability_CapabilityLinkage: root::spv::Capability = 5;
1387         pub const Capability_CapabilityKernel: root::spv::Capability = 6;
1388         pub const Capability_CapabilityVector16: root::spv::Capability = 7;
1389         pub const Capability_CapabilityFloat16Buffer: root::spv::Capability = 8;
1390         pub const Capability_CapabilityFloat16: root::spv::Capability = 9;
1391         pub const Capability_CapabilityFloat64: root::spv::Capability = 10;
1392         pub const Capability_CapabilityInt64: root::spv::Capability = 11;
1393         pub const Capability_CapabilityInt64Atomics: root::spv::Capability = 12;
1394         pub const Capability_CapabilityImageBasic: root::spv::Capability = 13;
1395         pub const Capability_CapabilityImageReadWrite: root::spv::Capability = 14;
1396         pub const Capability_CapabilityImageMipmap: root::spv::Capability = 15;
1397         pub const Capability_CapabilityPipes: root::spv::Capability = 17;
1398         pub const Capability_CapabilityGroups: root::spv::Capability = 18;
1399         pub const Capability_CapabilityDeviceEnqueue: root::spv::Capability = 19;
1400         pub const Capability_CapabilityLiteralSampler: root::spv::Capability = 20;
1401         pub const Capability_CapabilityAtomicStorage: root::spv::Capability = 21;
1402         pub const Capability_CapabilityInt16: root::spv::Capability = 22;
1403         pub const Capability_CapabilityTessellationPointSize: root::spv::Capability = 23;
1404         pub const Capability_CapabilityGeometryPointSize: root::spv::Capability = 24;
1405         pub const Capability_CapabilityImageGatherExtended: root::spv::Capability = 25;
1406         pub const Capability_CapabilityStorageImageMultisample: root::spv::Capability = 27;
1407         pub const Capability_CapabilityUniformBufferArrayDynamicIndexing: root::spv::Capability =
1408             28;
1409         pub const Capability_CapabilitySampledImageArrayDynamicIndexing: root::spv::Capability = 29;
1410         pub const Capability_CapabilityStorageBufferArrayDynamicIndexing: root::spv::Capability =
1411             30;
1412         pub const Capability_CapabilityStorageImageArrayDynamicIndexing: root::spv::Capability = 31;
1413         pub const Capability_CapabilityClipDistance: root::spv::Capability = 32;
1414         pub const Capability_CapabilityCullDistance: root::spv::Capability = 33;
1415         pub const Capability_CapabilityImageCubeArray: root::spv::Capability = 34;
1416         pub const Capability_CapabilitySampleRateShading: root::spv::Capability = 35;
1417         pub const Capability_CapabilityImageRect: root::spv::Capability = 36;
1418         pub const Capability_CapabilitySampledRect: root::spv::Capability = 37;
1419         pub const Capability_CapabilityGenericPointer: root::spv::Capability = 38;
1420         pub const Capability_CapabilityInt8: root::spv::Capability = 39;
1421         pub const Capability_CapabilityInputAttachment: root::spv::Capability = 40;
1422         pub const Capability_CapabilitySparseResidency: root::spv::Capability = 41;
1423         pub const Capability_CapabilityMinLod: root::spv::Capability = 42;
1424         pub const Capability_CapabilitySampled1D: root::spv::Capability = 43;
1425         pub const Capability_CapabilityImage1D: root::spv::Capability = 44;
1426         pub const Capability_CapabilitySampledCubeArray: root::spv::Capability = 45;
1427         pub const Capability_CapabilitySampledBuffer: root::spv::Capability = 46;
1428         pub const Capability_CapabilityImageBuffer: root::spv::Capability = 47;
1429         pub const Capability_CapabilityImageMSArray: root::spv::Capability = 48;
1430         pub const Capability_CapabilityStorageImageExtendedFormats: root::spv::Capability = 49;
1431         pub const Capability_CapabilityImageQuery: root::spv::Capability = 50;
1432         pub const Capability_CapabilityDerivativeControl: root::spv::Capability = 51;
1433         pub const Capability_CapabilityInterpolationFunction: root::spv::Capability = 52;
1434         pub const Capability_CapabilityTransformFeedback: root::spv::Capability = 53;
1435         pub const Capability_CapabilityGeometryStreams: root::spv::Capability = 54;
1436         pub const Capability_CapabilityStorageImageReadWithoutFormat: root::spv::Capability = 55;
1437         pub const Capability_CapabilityStorageImageWriteWithoutFormat: root::spv::Capability = 56;
1438         pub const Capability_CapabilityMultiViewport: root::spv::Capability = 57;
1439         pub const Capability_CapabilitySubgroupDispatch: root::spv::Capability = 58;
1440         pub const Capability_CapabilityNamedBarrier: root::spv::Capability = 59;
1441         pub const Capability_CapabilityPipeStorage: root::spv::Capability = 60;
1442         pub const Capability_CapabilityGroupNonUniform: root::spv::Capability = 61;
1443         pub const Capability_CapabilityGroupNonUniformVote: root::spv::Capability = 62;
1444         pub const Capability_CapabilityGroupNonUniformArithmetic: root::spv::Capability = 63;
1445         pub const Capability_CapabilityGroupNonUniformBallot: root::spv::Capability = 64;
1446         pub const Capability_CapabilityGroupNonUniformShuffle: root::spv::Capability = 65;
1447         pub const Capability_CapabilityGroupNonUniformShuffleRelative: root::spv::Capability = 66;
1448         pub const Capability_CapabilityGroupNonUniformClustered: root::spv::Capability = 67;
1449         pub const Capability_CapabilityGroupNonUniformQuad: root::spv::Capability = 68;
1450         pub const Capability_CapabilityShaderLayer: root::spv::Capability = 69;
1451         pub const Capability_CapabilityShaderViewportIndex: root::spv::Capability = 70;
1452         pub const Capability_CapabilityFragmentShadingRateKHR: root::spv::Capability = 4422;
1453         pub const Capability_CapabilitySubgroupBallotKHR: root::spv::Capability = 4423;
1454         pub const Capability_CapabilityDrawParameters: root::spv::Capability = 4427;
1455         pub const Capability_CapabilitySubgroupVoteKHR: root::spv::Capability = 4431;
1456         pub const Capability_CapabilityStorageBuffer16BitAccess: root::spv::Capability = 4433;
1457         pub const Capability_CapabilityStorageUniformBufferBlock16: root::spv::Capability = 4433;
1458         pub const Capability_CapabilityStorageUniform16: root::spv::Capability = 4434;
1459         pub const Capability_CapabilityUniformAndStorageBuffer16BitAccess: root::spv::Capability =
1460             4434;
1461         pub const Capability_CapabilityStoragePushConstant16: root::spv::Capability = 4435;
1462         pub const Capability_CapabilityStorageInputOutput16: root::spv::Capability = 4436;
1463         pub const Capability_CapabilityDeviceGroup: root::spv::Capability = 4437;
1464         pub const Capability_CapabilityMultiView: root::spv::Capability = 4439;
1465         pub const Capability_CapabilityVariablePointersStorageBuffer: root::spv::Capability = 4441;
1466         pub const Capability_CapabilityVariablePointers: root::spv::Capability = 4442;
1467         pub const Capability_CapabilityAtomicStorageOps: root::spv::Capability = 4445;
1468         pub const Capability_CapabilitySampleMaskPostDepthCoverage: root::spv::Capability = 4447;
1469         pub const Capability_CapabilityStorageBuffer8BitAccess: root::spv::Capability = 4448;
1470         pub const Capability_CapabilityUniformAndStorageBuffer8BitAccess: root::spv::Capability =
1471             4449;
1472         pub const Capability_CapabilityStoragePushConstant8: root::spv::Capability = 4450;
1473         pub const Capability_CapabilityDenormPreserve: root::spv::Capability = 4464;
1474         pub const Capability_CapabilityDenormFlushToZero: root::spv::Capability = 4465;
1475         pub const Capability_CapabilitySignedZeroInfNanPreserve: root::spv::Capability = 4466;
1476         pub const Capability_CapabilityRoundingModeRTE: root::spv::Capability = 4467;
1477         pub const Capability_CapabilityRoundingModeRTZ: root::spv::Capability = 4468;
1478         pub const Capability_CapabilityRayQueryProvisionalKHR: root::spv::Capability = 4471;
1479         pub const Capability_CapabilityRayQueryKHR: root::spv::Capability = 4472;
1480         pub const Capability_CapabilityRayTraversalPrimitiveCullingKHR: root::spv::Capability =
1481             4478;
1482         pub const Capability_CapabilityRayTracingKHR: root::spv::Capability = 4479;
1483         pub const Capability_CapabilityFloat16ImageAMD: root::spv::Capability = 5008;
1484         pub const Capability_CapabilityImageGatherBiasLodAMD: root::spv::Capability = 5009;
1485         pub const Capability_CapabilityFragmentMaskAMD: root::spv::Capability = 5010;
1486         pub const Capability_CapabilityStencilExportEXT: root::spv::Capability = 5013;
1487         pub const Capability_CapabilityImageReadWriteLodAMD: root::spv::Capability = 5015;
1488         pub const Capability_CapabilityInt64ImageEXT: root::spv::Capability = 5016;
1489         pub const Capability_CapabilityShaderClockKHR: root::spv::Capability = 5055;
1490         pub const Capability_CapabilitySampleMaskOverrideCoverageNV: root::spv::Capability = 5249;
1491         pub const Capability_CapabilityGeometryShaderPassthroughNV: root::spv::Capability = 5251;
1492         pub const Capability_CapabilityShaderViewportIndexLayerEXT: root::spv::Capability = 5254;
1493         pub const Capability_CapabilityShaderViewportIndexLayerNV: root::spv::Capability = 5254;
1494         pub const Capability_CapabilityShaderViewportMaskNV: root::spv::Capability = 5255;
1495         pub const Capability_CapabilityShaderStereoViewNV: root::spv::Capability = 5259;
1496         pub const Capability_CapabilityPerViewAttributesNV: root::spv::Capability = 5260;
1497         pub const Capability_CapabilityFragmentFullyCoveredEXT: root::spv::Capability = 5265;
1498         pub const Capability_CapabilityMeshShadingNV: root::spv::Capability = 5266;
1499         pub const Capability_CapabilityImageFootprintNV: root::spv::Capability = 5282;
1500         pub const Capability_CapabilityFragmentBarycentricNV: root::spv::Capability = 5284;
1501         pub const Capability_CapabilityComputeDerivativeGroupQuadsNV: root::spv::Capability = 5288;
1502         pub const Capability_CapabilityFragmentDensityEXT: root::spv::Capability = 5291;
1503         pub const Capability_CapabilityShadingRateNV: root::spv::Capability = 5291;
1504         pub const Capability_CapabilityGroupNonUniformPartitionedNV: root::spv::Capability = 5297;
1505         pub const Capability_CapabilityShaderNonUniform: root::spv::Capability = 5301;
1506         pub const Capability_CapabilityShaderNonUniformEXT: root::spv::Capability = 5301;
1507         pub const Capability_CapabilityRuntimeDescriptorArray: root::spv::Capability = 5302;
1508         pub const Capability_CapabilityRuntimeDescriptorArrayEXT: root::spv::Capability = 5302;
1509         pub const Capability_CapabilityInputAttachmentArrayDynamicIndexing: root::spv::Capability =
1510             5303;
1511         pub const Capability_CapabilityInputAttachmentArrayDynamicIndexingEXT:
1512             root::spv::Capability = 5303;
1513         pub const Capability_CapabilityUniformTexelBufferArrayDynamicIndexing:
1514             root::spv::Capability = 5304;
1515         pub const Capability_CapabilityUniformTexelBufferArrayDynamicIndexingEXT:
1516             root::spv::Capability = 5304;
1517         pub const Capability_CapabilityStorageTexelBufferArrayDynamicIndexing:
1518             root::spv::Capability = 5305;
1519         pub const Capability_CapabilityStorageTexelBufferArrayDynamicIndexingEXT:
1520             root::spv::Capability = 5305;
1521         pub const Capability_CapabilityUniformBufferArrayNonUniformIndexing: root::spv::Capability =
1522             5306;
1523         pub const Capability_CapabilityUniformBufferArrayNonUniformIndexingEXT:
1524             root::spv::Capability = 5306;
1525         pub const Capability_CapabilitySampledImageArrayNonUniformIndexing: root::spv::Capability =
1526             5307;
1527         pub const Capability_CapabilitySampledImageArrayNonUniformIndexingEXT:
1528             root::spv::Capability = 5307;
1529         pub const Capability_CapabilityStorageBufferArrayNonUniformIndexing: root::spv::Capability =
1530             5308;
1531         pub const Capability_CapabilityStorageBufferArrayNonUniformIndexingEXT:
1532             root::spv::Capability = 5308;
1533         pub const Capability_CapabilityStorageImageArrayNonUniformIndexing: root::spv::Capability =
1534             5309;
1535         pub const Capability_CapabilityStorageImageArrayNonUniformIndexingEXT:
1536             root::spv::Capability = 5309;
1537         pub const Capability_CapabilityInputAttachmentArrayNonUniformIndexing:
1538             root::spv::Capability = 5310;
1539         pub const Capability_CapabilityInputAttachmentArrayNonUniformIndexingEXT:
1540             root::spv::Capability = 5310;
1541         pub const Capability_CapabilityUniformTexelBufferArrayNonUniformIndexing:
1542             root::spv::Capability = 5311;
1543         pub const Capability_CapabilityUniformTexelBufferArrayNonUniformIndexingEXT:
1544             root::spv::Capability = 5311;
1545         pub const Capability_CapabilityStorageTexelBufferArrayNonUniformIndexing:
1546             root::spv::Capability = 5312;
1547         pub const Capability_CapabilityStorageTexelBufferArrayNonUniformIndexingEXT:
1548             root::spv::Capability = 5312;
1549         pub const Capability_CapabilityRayTracingNV: root::spv::Capability = 5340;
1550         pub const Capability_CapabilityVulkanMemoryModel: root::spv::Capability = 5345;
1551         pub const Capability_CapabilityVulkanMemoryModelKHR: root::spv::Capability = 5345;
1552         pub const Capability_CapabilityVulkanMemoryModelDeviceScope: root::spv::Capability = 5346;
1553         pub const Capability_CapabilityVulkanMemoryModelDeviceScopeKHR: root::spv::Capability =
1554             5346;
1555         pub const Capability_CapabilityPhysicalStorageBufferAddresses: root::spv::Capability = 5347;
1556         pub const Capability_CapabilityPhysicalStorageBufferAddressesEXT: root::spv::Capability =
1557             5347;
1558         pub const Capability_CapabilityComputeDerivativeGroupLinearNV: root::spv::Capability = 5350;
1559         pub const Capability_CapabilityRayTracingProvisionalKHR: root::spv::Capability = 5353;
1560         pub const Capability_CapabilityCooperativeMatrixNV: root::spv::Capability = 5357;
1561         pub const Capability_CapabilityFragmentShaderSampleInterlockEXT: root::spv::Capability =
1562             5363;
1563         pub const Capability_CapabilityFragmentShaderShadingRateInterlockEXT:
1564             root::spv::Capability = 5372;
1565         pub const Capability_CapabilityShaderSMBuiltinsNV: root::spv::Capability = 5373;
1566         pub const Capability_CapabilityFragmentShaderPixelInterlockEXT: root::spv::Capability =
1567             5378;
1568         pub const Capability_CapabilityDemoteToHelperInvocationEXT: root::spv::Capability = 5379;
1569         pub const Capability_CapabilitySubgroupShuffleINTEL: root::spv::Capability = 5568;
1570         pub const Capability_CapabilitySubgroupBufferBlockIOINTEL: root::spv::Capability = 5569;
1571         pub const Capability_CapabilitySubgroupImageBlockIOINTEL: root::spv::Capability = 5570;
1572         pub const Capability_CapabilitySubgroupImageMediaBlockIOINTEL: root::spv::Capability = 5579;
1573         pub const Capability_CapabilityIntegerFunctions2INTEL: root::spv::Capability = 5584;
1574         pub const Capability_CapabilityFunctionPointersINTEL: root::spv::Capability = 5603;
1575         pub const Capability_CapabilityIndirectReferencesINTEL: root::spv::Capability = 5604;
1576         pub const Capability_CapabilitySubgroupAvcMotionEstimationINTEL: root::spv::Capability =
1577             5696;
1578         pub const Capability_CapabilitySubgroupAvcMotionEstimationIntraINTEL:
1579             root::spv::Capability = 5697;
1580         pub const Capability_CapabilitySubgroupAvcMotionEstimationChromaINTEL:
1581             root::spv::Capability = 5698;
1582         pub const Capability_CapabilityFPGAMemoryAttributesINTEL: root::spv::Capability = 5824;
1583         pub const Capability_CapabilityUnstructuredLoopControlsINTEL: root::spv::Capability = 5886;
1584         pub const Capability_CapabilityFPGALoopControlsINTEL: root::spv::Capability = 5888;
1585         pub const Capability_CapabilityKernelAttributesINTEL: root::spv::Capability = 5892;
1586         pub const Capability_CapabilityFPGAKernelAttributesINTEL: root::spv::Capability = 5897;
1587         pub const Capability_CapabilityBlockingPipesINTEL: root::spv::Capability = 5945;
1588         pub const Capability_CapabilityFPGARegINTEL: root::spv::Capability = 5948;
1589         pub const Capability_CapabilityAtomicFloat32AddEXT: root::spv::Capability = 6033;
1590         pub const Capability_CapabilityAtomicFloat64AddEXT: root::spv::Capability = 6034;
1591         pub const Capability_CapabilityMax: root::spv::Capability = 2147483647;
1592         pub type Capability = u32;
1593         pub const RayFlagsShift_RayFlagsOpaqueKHRShift: root::spv::RayFlagsShift = 0;
1594         pub const RayFlagsShift_RayFlagsNoOpaqueKHRShift: root::spv::RayFlagsShift = 1;
1595         pub const RayFlagsShift_RayFlagsTerminateOnFirstHitKHRShift: root::spv::RayFlagsShift = 2;
1596         pub const RayFlagsShift_RayFlagsSkipClosestHitShaderKHRShift: root::spv::RayFlagsShift = 3;
1597         pub const RayFlagsShift_RayFlagsCullBackFacingTrianglesKHRShift: root::spv::RayFlagsShift =
1598             4;
1599         pub const RayFlagsShift_RayFlagsCullFrontFacingTrianglesKHRShift: root::spv::RayFlagsShift =
1600             5;
1601         pub const RayFlagsShift_RayFlagsCullOpaqueKHRShift: root::spv::RayFlagsShift = 6;
1602         pub const RayFlagsShift_RayFlagsCullNoOpaqueKHRShift: root::spv::RayFlagsShift = 7;
1603         pub const RayFlagsShift_RayFlagsSkipTrianglesKHRShift: root::spv::RayFlagsShift = 8;
1604         pub const RayFlagsShift_RayFlagsSkipAABBsKHRShift: root::spv::RayFlagsShift = 9;
1605         pub const RayFlagsShift_RayFlagsMax: root::spv::RayFlagsShift = 2147483647;
1606         pub type RayFlagsShift = u32;
1607         impl RayFlagsMask {
1608             pub const RayFlagsMaskNone: root::spv::RayFlagsMask = root::spv::RayFlagsMask(0);
1609         }
1610         impl RayFlagsMask {
1611             pub const RayFlagsOpaqueKHRMask: root::spv::RayFlagsMask = root::spv::RayFlagsMask(1);
1612         }
1613         impl RayFlagsMask {
1614             pub const RayFlagsNoOpaqueKHRMask: root::spv::RayFlagsMask = root::spv::RayFlagsMask(2);
1615         }
1616         impl RayFlagsMask {
1617             pub const RayFlagsTerminateOnFirstHitKHRMask: root::spv::RayFlagsMask =
1618                 root::spv::RayFlagsMask(4);
1619         }
1620         impl RayFlagsMask {
1621             pub const RayFlagsSkipClosestHitShaderKHRMask: root::spv::RayFlagsMask =
1622                 root::spv::RayFlagsMask(8);
1623         }
1624         impl RayFlagsMask {
1625             pub const RayFlagsCullBackFacingTrianglesKHRMask: root::spv::RayFlagsMask =
1626                 root::spv::RayFlagsMask(16);
1627         }
1628         impl RayFlagsMask {
1629             pub const RayFlagsCullFrontFacingTrianglesKHRMask: root::spv::RayFlagsMask =
1630                 root::spv::RayFlagsMask(32);
1631         }
1632         impl RayFlagsMask {
1633             pub const RayFlagsCullOpaqueKHRMask: root::spv::RayFlagsMask =
1634                 root::spv::RayFlagsMask(64);
1635         }
1636         impl RayFlagsMask {
1637             pub const RayFlagsCullNoOpaqueKHRMask: root::spv::RayFlagsMask =
1638                 root::spv::RayFlagsMask(128);
1639         }
1640         impl RayFlagsMask {
1641             pub const RayFlagsSkipTrianglesKHRMask: root::spv::RayFlagsMask =
1642                 root::spv::RayFlagsMask(256);
1643         }
1644         impl RayFlagsMask {
1645             pub const RayFlagsSkipAABBsKHRMask: root::spv::RayFlagsMask =
1646                 root::spv::RayFlagsMask(512);
1647         }
1648         impl ::std::ops::BitOr<root::spv::RayFlagsMask> for root::spv::RayFlagsMask {
1649             type Output = Self;
1650             #[inline]
bitor(self, other: Self) -> Self1651             fn bitor(self, other: Self) -> Self {
1652                 RayFlagsMask(self.0 | other.0)
1653             }
1654         }
1655         impl ::std::ops::BitOrAssign for root::spv::RayFlagsMask {
1656             #[inline]
bitor_assign(&mut self, rhs: root::spv::RayFlagsMask)1657             fn bitor_assign(&mut self, rhs: root::spv::RayFlagsMask) {
1658                 self.0 |= rhs.0;
1659             }
1660         }
1661         impl ::std::ops::BitAnd<root::spv::RayFlagsMask> for root::spv::RayFlagsMask {
1662             type Output = Self;
1663             #[inline]
bitand(self, other: Self) -> Self1664             fn bitand(self, other: Self) -> Self {
1665                 RayFlagsMask(self.0 & other.0)
1666             }
1667         }
1668         impl ::std::ops::BitAndAssign for root::spv::RayFlagsMask {
1669             #[inline]
bitand_assign(&mut self, rhs: root::spv::RayFlagsMask)1670             fn bitand_assign(&mut self, rhs: root::spv::RayFlagsMask) {
1671                 self.0 &= rhs.0;
1672             }
1673         }
1674         #[repr(transparent)]
1675         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1676         pub struct RayFlagsMask(pub u32);
1677         pub const RayQueryIntersection_RayQueryIntersectionRayQueryCandidateIntersectionKHR:
1678             root::spv::RayQueryIntersection = 0;
1679         pub const RayQueryIntersection_RayQueryIntersectionRayQueryCommittedIntersectionKHR:
1680             root::spv::RayQueryIntersection = 1;
1681         pub const RayQueryIntersection_RayQueryIntersectionMax: root::spv::RayQueryIntersection =
1682             2147483647;
1683         pub type RayQueryIntersection = u32;
1684         pub const RayQueryCommittedIntersectionType_RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionNoneKHR : root :: spv :: RayQueryCommittedIntersectionType = 0 ;
1685         pub const RayQueryCommittedIntersectionType_RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionTriangleKHR : root :: spv :: RayQueryCommittedIntersectionType = 1 ;
1686         pub const RayQueryCommittedIntersectionType_RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionGeneratedKHR : root :: spv :: RayQueryCommittedIntersectionType = 2 ;
1687         pub const RayQueryCommittedIntersectionType_RayQueryCommittedIntersectionTypeMax:
1688             root::spv::RayQueryCommittedIntersectionType = 2147483647;
1689         pub type RayQueryCommittedIntersectionType = u32;
1690         pub const RayQueryCandidateIntersectionType_RayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionTriangleKHR : root :: spv :: RayQueryCandidateIntersectionType = 0 ;
1691         pub const RayQueryCandidateIntersectionType_RayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionAABBKHR : root :: spv :: RayQueryCandidateIntersectionType = 1 ;
1692         pub const RayQueryCandidateIntersectionType_RayQueryCandidateIntersectionTypeMax:
1693             root::spv::RayQueryCandidateIntersectionType = 2147483647;
1694         pub type RayQueryCandidateIntersectionType = u32;
1695         pub const FragmentShadingRateShift_FragmentShadingRateVertical2PixelsShift:
1696             root::spv::FragmentShadingRateShift = 0;
1697         pub const FragmentShadingRateShift_FragmentShadingRateVertical4PixelsShift:
1698             root::spv::FragmentShadingRateShift = 1;
1699         pub const FragmentShadingRateShift_FragmentShadingRateHorizontal2PixelsShift:
1700             root::spv::FragmentShadingRateShift = 2;
1701         pub const FragmentShadingRateShift_FragmentShadingRateHorizontal4PixelsShift:
1702             root::spv::FragmentShadingRateShift = 3;
1703         pub const FragmentShadingRateShift_FragmentShadingRateMax:
1704             root::spv::FragmentShadingRateShift = 2147483647;
1705         pub type FragmentShadingRateShift = u32;
1706         impl FragmentShadingRateMask {
1707             pub const FragmentShadingRateMaskNone: root::spv::FragmentShadingRateMask =
1708                 root::spv::FragmentShadingRateMask(0);
1709         }
1710         impl FragmentShadingRateMask {
1711             pub const FragmentShadingRateVertical2PixelsMask: root::spv::FragmentShadingRateMask =
1712                 root::spv::FragmentShadingRateMask(1);
1713         }
1714         impl FragmentShadingRateMask {
1715             pub const FragmentShadingRateVertical4PixelsMask: root::spv::FragmentShadingRateMask =
1716                 root::spv::FragmentShadingRateMask(2);
1717         }
1718         impl FragmentShadingRateMask {
1719             pub const FragmentShadingRateHorizontal2PixelsMask: root::spv::FragmentShadingRateMask =
1720                 root::spv::FragmentShadingRateMask(4);
1721         }
1722         impl FragmentShadingRateMask {
1723             pub const FragmentShadingRateHorizontal4PixelsMask: root::spv::FragmentShadingRateMask =
1724                 root::spv::FragmentShadingRateMask(8);
1725         }
1726         impl ::std::ops::BitOr<root::spv::FragmentShadingRateMask> for root::spv::FragmentShadingRateMask {
1727             type Output = Self;
1728             #[inline]
bitor(self, other: Self) -> Self1729             fn bitor(self, other: Self) -> Self {
1730                 FragmentShadingRateMask(self.0 | other.0)
1731             }
1732         }
1733         impl ::std::ops::BitOrAssign for root::spv::FragmentShadingRateMask {
1734             #[inline]
bitor_assign(&mut self, rhs: root::spv::FragmentShadingRateMask)1735             fn bitor_assign(&mut self, rhs: root::spv::FragmentShadingRateMask) {
1736                 self.0 |= rhs.0;
1737             }
1738         }
1739         impl ::std::ops::BitAnd<root::spv::FragmentShadingRateMask> for root::spv::FragmentShadingRateMask {
1740             type Output = Self;
1741             #[inline]
bitand(self, other: Self) -> Self1742             fn bitand(self, other: Self) -> Self {
1743                 FragmentShadingRateMask(self.0 & other.0)
1744             }
1745         }
1746         impl ::std::ops::BitAndAssign for root::spv::FragmentShadingRateMask {
1747             #[inline]
bitand_assign(&mut self, rhs: root::spv::FragmentShadingRateMask)1748             fn bitand_assign(&mut self, rhs: root::spv::FragmentShadingRateMask) {
1749                 self.0 &= rhs.0;
1750             }
1751         }
1752         #[repr(transparent)]
1753         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1754         pub struct FragmentShadingRateMask(pub u32);
1755         pub const Op_OpNop: root::spv::Op = 0;
1756         pub const Op_OpUndef: root::spv::Op = 1;
1757         pub const Op_OpSourceContinued: root::spv::Op = 2;
1758         pub const Op_OpSource: root::spv::Op = 3;
1759         pub const Op_OpSourceExtension: root::spv::Op = 4;
1760         pub const Op_OpName: root::spv::Op = 5;
1761         pub const Op_OpMemberName: root::spv::Op = 6;
1762         pub const Op_OpString: root::spv::Op = 7;
1763         pub const Op_OpLine: root::spv::Op = 8;
1764         pub const Op_OpExtension: root::spv::Op = 10;
1765         pub const Op_OpExtInstImport: root::spv::Op = 11;
1766         pub const Op_OpExtInst: root::spv::Op = 12;
1767         pub const Op_OpMemoryModel: root::spv::Op = 14;
1768         pub const Op_OpEntryPoint: root::spv::Op = 15;
1769         pub const Op_OpExecutionMode: root::spv::Op = 16;
1770         pub const Op_OpCapability: root::spv::Op = 17;
1771         pub const Op_OpTypeVoid: root::spv::Op = 19;
1772         pub const Op_OpTypeBool: root::spv::Op = 20;
1773         pub const Op_OpTypeInt: root::spv::Op = 21;
1774         pub const Op_OpTypeFloat: root::spv::Op = 22;
1775         pub const Op_OpTypeVector: root::spv::Op = 23;
1776         pub const Op_OpTypeMatrix: root::spv::Op = 24;
1777         pub const Op_OpTypeImage: root::spv::Op = 25;
1778         pub const Op_OpTypeSampler: root::spv::Op = 26;
1779         pub const Op_OpTypeSampledImage: root::spv::Op = 27;
1780         pub const Op_OpTypeArray: root::spv::Op = 28;
1781         pub const Op_OpTypeRuntimeArray: root::spv::Op = 29;
1782         pub const Op_OpTypeStruct: root::spv::Op = 30;
1783         pub const Op_OpTypeOpaque: root::spv::Op = 31;
1784         pub const Op_OpTypePointer: root::spv::Op = 32;
1785         pub const Op_OpTypeFunction: root::spv::Op = 33;
1786         pub const Op_OpTypeEvent: root::spv::Op = 34;
1787         pub const Op_OpTypeDeviceEvent: root::spv::Op = 35;
1788         pub const Op_OpTypeReserveId: root::spv::Op = 36;
1789         pub const Op_OpTypeQueue: root::spv::Op = 37;
1790         pub const Op_OpTypePipe: root::spv::Op = 38;
1791         pub const Op_OpTypeForwardPointer: root::spv::Op = 39;
1792         pub const Op_OpConstantTrue: root::spv::Op = 41;
1793         pub const Op_OpConstantFalse: root::spv::Op = 42;
1794         pub const Op_OpConstant: root::spv::Op = 43;
1795         pub const Op_OpConstantComposite: root::spv::Op = 44;
1796         pub const Op_OpConstantSampler: root::spv::Op = 45;
1797         pub const Op_OpConstantNull: root::spv::Op = 46;
1798         pub const Op_OpSpecConstantTrue: root::spv::Op = 48;
1799         pub const Op_OpSpecConstantFalse: root::spv::Op = 49;
1800         pub const Op_OpSpecConstant: root::spv::Op = 50;
1801         pub const Op_OpSpecConstantComposite: root::spv::Op = 51;
1802         pub const Op_OpSpecConstantOp: root::spv::Op = 52;
1803         pub const Op_OpFunction: root::spv::Op = 54;
1804         pub const Op_OpFunctionParameter: root::spv::Op = 55;
1805         pub const Op_OpFunctionEnd: root::spv::Op = 56;
1806         pub const Op_OpFunctionCall: root::spv::Op = 57;
1807         pub const Op_OpVariable: root::spv::Op = 59;
1808         pub const Op_OpImageTexelPointer: root::spv::Op = 60;
1809         pub const Op_OpLoad: root::spv::Op = 61;
1810         pub const Op_OpStore: root::spv::Op = 62;
1811         pub const Op_OpCopyMemory: root::spv::Op = 63;
1812         pub const Op_OpCopyMemorySized: root::spv::Op = 64;
1813         pub const Op_OpAccessChain: root::spv::Op = 65;
1814         pub const Op_OpInBoundsAccessChain: root::spv::Op = 66;
1815         pub const Op_OpPtrAccessChain: root::spv::Op = 67;
1816         pub const Op_OpArrayLength: root::spv::Op = 68;
1817         pub const Op_OpGenericPtrMemSemantics: root::spv::Op = 69;
1818         pub const Op_OpInBoundsPtrAccessChain: root::spv::Op = 70;
1819         pub const Op_OpDecorate: root::spv::Op = 71;
1820         pub const Op_OpMemberDecorate: root::spv::Op = 72;
1821         pub const Op_OpDecorationGroup: root::spv::Op = 73;
1822         pub const Op_OpGroupDecorate: root::spv::Op = 74;
1823         pub const Op_OpGroupMemberDecorate: root::spv::Op = 75;
1824         pub const Op_OpVectorExtractDynamic: root::spv::Op = 77;
1825         pub const Op_OpVectorInsertDynamic: root::spv::Op = 78;
1826         pub const Op_OpVectorShuffle: root::spv::Op = 79;
1827         pub const Op_OpCompositeConstruct: root::spv::Op = 80;
1828         pub const Op_OpCompositeExtract: root::spv::Op = 81;
1829         pub const Op_OpCompositeInsert: root::spv::Op = 82;
1830         pub const Op_OpCopyObject: root::spv::Op = 83;
1831         pub const Op_OpTranspose: root::spv::Op = 84;
1832         pub const Op_OpSampledImage: root::spv::Op = 86;
1833         pub const Op_OpImageSampleImplicitLod: root::spv::Op = 87;
1834         pub const Op_OpImageSampleExplicitLod: root::spv::Op = 88;
1835         pub const Op_OpImageSampleDrefImplicitLod: root::spv::Op = 89;
1836         pub const Op_OpImageSampleDrefExplicitLod: root::spv::Op = 90;
1837         pub const Op_OpImageSampleProjImplicitLod: root::spv::Op = 91;
1838         pub const Op_OpImageSampleProjExplicitLod: root::spv::Op = 92;
1839         pub const Op_OpImageSampleProjDrefImplicitLod: root::spv::Op = 93;
1840         pub const Op_OpImageSampleProjDrefExplicitLod: root::spv::Op = 94;
1841         pub const Op_OpImageFetch: root::spv::Op = 95;
1842         pub const Op_OpImageGather: root::spv::Op = 96;
1843         pub const Op_OpImageDrefGather: root::spv::Op = 97;
1844         pub const Op_OpImageRead: root::spv::Op = 98;
1845         pub const Op_OpImageWrite: root::spv::Op = 99;
1846         pub const Op_OpImage: root::spv::Op = 100;
1847         pub const Op_OpImageQueryFormat: root::spv::Op = 101;
1848         pub const Op_OpImageQueryOrder: root::spv::Op = 102;
1849         pub const Op_OpImageQuerySizeLod: root::spv::Op = 103;
1850         pub const Op_OpImageQuerySize: root::spv::Op = 104;
1851         pub const Op_OpImageQueryLod: root::spv::Op = 105;
1852         pub const Op_OpImageQueryLevels: root::spv::Op = 106;
1853         pub const Op_OpImageQuerySamples: root::spv::Op = 107;
1854         pub const Op_OpConvertFToU: root::spv::Op = 109;
1855         pub const Op_OpConvertFToS: root::spv::Op = 110;
1856         pub const Op_OpConvertSToF: root::spv::Op = 111;
1857         pub const Op_OpConvertUToF: root::spv::Op = 112;
1858         pub const Op_OpUConvert: root::spv::Op = 113;
1859         pub const Op_OpSConvert: root::spv::Op = 114;
1860         pub const Op_OpFConvert: root::spv::Op = 115;
1861         pub const Op_OpQuantizeToF16: root::spv::Op = 116;
1862         pub const Op_OpConvertPtrToU: root::spv::Op = 117;
1863         pub const Op_OpSatConvertSToU: root::spv::Op = 118;
1864         pub const Op_OpSatConvertUToS: root::spv::Op = 119;
1865         pub const Op_OpConvertUToPtr: root::spv::Op = 120;
1866         pub const Op_OpPtrCastToGeneric: root::spv::Op = 121;
1867         pub const Op_OpGenericCastToPtr: root::spv::Op = 122;
1868         pub const Op_OpGenericCastToPtrExplicit: root::spv::Op = 123;
1869         pub const Op_OpBitcast: root::spv::Op = 124;
1870         pub const Op_OpSNegate: root::spv::Op = 126;
1871         pub const Op_OpFNegate: root::spv::Op = 127;
1872         pub const Op_OpIAdd: root::spv::Op = 128;
1873         pub const Op_OpFAdd: root::spv::Op = 129;
1874         pub const Op_OpISub: root::spv::Op = 130;
1875         pub const Op_OpFSub: root::spv::Op = 131;
1876         pub const Op_OpIMul: root::spv::Op = 132;
1877         pub const Op_OpFMul: root::spv::Op = 133;
1878         pub const Op_OpUDiv: root::spv::Op = 134;
1879         pub const Op_OpSDiv: root::spv::Op = 135;
1880         pub const Op_OpFDiv: root::spv::Op = 136;
1881         pub const Op_OpUMod: root::spv::Op = 137;
1882         pub const Op_OpSRem: root::spv::Op = 138;
1883         pub const Op_OpSMod: root::spv::Op = 139;
1884         pub const Op_OpFRem: root::spv::Op = 140;
1885         pub const Op_OpFMod: root::spv::Op = 141;
1886         pub const Op_OpVectorTimesScalar: root::spv::Op = 142;
1887         pub const Op_OpMatrixTimesScalar: root::spv::Op = 143;
1888         pub const Op_OpVectorTimesMatrix: root::spv::Op = 144;
1889         pub const Op_OpMatrixTimesVector: root::spv::Op = 145;
1890         pub const Op_OpMatrixTimesMatrix: root::spv::Op = 146;
1891         pub const Op_OpOuterProduct: root::spv::Op = 147;
1892         pub const Op_OpDot: root::spv::Op = 148;
1893         pub const Op_OpIAddCarry: root::spv::Op = 149;
1894         pub const Op_OpISubBorrow: root::spv::Op = 150;
1895         pub const Op_OpUMulExtended: root::spv::Op = 151;
1896         pub const Op_OpSMulExtended: root::spv::Op = 152;
1897         pub const Op_OpAny: root::spv::Op = 154;
1898         pub const Op_OpAll: root::spv::Op = 155;
1899         pub const Op_OpIsNan: root::spv::Op = 156;
1900         pub const Op_OpIsInf: root::spv::Op = 157;
1901         pub const Op_OpIsFinite: root::spv::Op = 158;
1902         pub const Op_OpIsNormal: root::spv::Op = 159;
1903         pub const Op_OpSignBitSet: root::spv::Op = 160;
1904         pub const Op_OpLessOrGreater: root::spv::Op = 161;
1905         pub const Op_OpOrdered: root::spv::Op = 162;
1906         pub const Op_OpUnordered: root::spv::Op = 163;
1907         pub const Op_OpLogicalEqual: root::spv::Op = 164;
1908         pub const Op_OpLogicalNotEqual: root::spv::Op = 165;
1909         pub const Op_OpLogicalOr: root::spv::Op = 166;
1910         pub const Op_OpLogicalAnd: root::spv::Op = 167;
1911         pub const Op_OpLogicalNot: root::spv::Op = 168;
1912         pub const Op_OpSelect: root::spv::Op = 169;
1913         pub const Op_OpIEqual: root::spv::Op = 170;
1914         pub const Op_OpINotEqual: root::spv::Op = 171;
1915         pub const Op_OpUGreaterThan: root::spv::Op = 172;
1916         pub const Op_OpSGreaterThan: root::spv::Op = 173;
1917         pub const Op_OpUGreaterThanEqual: root::spv::Op = 174;
1918         pub const Op_OpSGreaterThanEqual: root::spv::Op = 175;
1919         pub const Op_OpULessThan: root::spv::Op = 176;
1920         pub const Op_OpSLessThan: root::spv::Op = 177;
1921         pub const Op_OpULessThanEqual: root::spv::Op = 178;
1922         pub const Op_OpSLessThanEqual: root::spv::Op = 179;
1923         pub const Op_OpFOrdEqual: root::spv::Op = 180;
1924         pub const Op_OpFUnordEqual: root::spv::Op = 181;
1925         pub const Op_OpFOrdNotEqual: root::spv::Op = 182;
1926         pub const Op_OpFUnordNotEqual: root::spv::Op = 183;
1927         pub const Op_OpFOrdLessThan: root::spv::Op = 184;
1928         pub const Op_OpFUnordLessThan: root::spv::Op = 185;
1929         pub const Op_OpFOrdGreaterThan: root::spv::Op = 186;
1930         pub const Op_OpFUnordGreaterThan: root::spv::Op = 187;
1931         pub const Op_OpFOrdLessThanEqual: root::spv::Op = 188;
1932         pub const Op_OpFUnordLessThanEqual: root::spv::Op = 189;
1933         pub const Op_OpFOrdGreaterThanEqual: root::spv::Op = 190;
1934         pub const Op_OpFUnordGreaterThanEqual: root::spv::Op = 191;
1935         pub const Op_OpShiftRightLogical: root::spv::Op = 194;
1936         pub const Op_OpShiftRightArithmetic: root::spv::Op = 195;
1937         pub const Op_OpShiftLeftLogical: root::spv::Op = 196;
1938         pub const Op_OpBitwiseOr: root::spv::Op = 197;
1939         pub const Op_OpBitwiseXor: root::spv::Op = 198;
1940         pub const Op_OpBitwiseAnd: root::spv::Op = 199;
1941         pub const Op_OpNot: root::spv::Op = 200;
1942         pub const Op_OpBitFieldInsert: root::spv::Op = 201;
1943         pub const Op_OpBitFieldSExtract: root::spv::Op = 202;
1944         pub const Op_OpBitFieldUExtract: root::spv::Op = 203;
1945         pub const Op_OpBitReverse: root::spv::Op = 204;
1946         pub const Op_OpBitCount: root::spv::Op = 205;
1947         pub const Op_OpDPdx: root::spv::Op = 207;
1948         pub const Op_OpDPdy: root::spv::Op = 208;
1949         pub const Op_OpFwidth: root::spv::Op = 209;
1950         pub const Op_OpDPdxFine: root::spv::Op = 210;
1951         pub const Op_OpDPdyFine: root::spv::Op = 211;
1952         pub const Op_OpFwidthFine: root::spv::Op = 212;
1953         pub const Op_OpDPdxCoarse: root::spv::Op = 213;
1954         pub const Op_OpDPdyCoarse: root::spv::Op = 214;
1955         pub const Op_OpFwidthCoarse: root::spv::Op = 215;
1956         pub const Op_OpEmitVertex: root::spv::Op = 218;
1957         pub const Op_OpEndPrimitive: root::spv::Op = 219;
1958         pub const Op_OpEmitStreamVertex: root::spv::Op = 220;
1959         pub const Op_OpEndStreamPrimitive: root::spv::Op = 221;
1960         pub const Op_OpControlBarrier: root::spv::Op = 224;
1961         pub const Op_OpMemoryBarrier: root::spv::Op = 225;
1962         pub const Op_OpAtomicLoad: root::spv::Op = 227;
1963         pub const Op_OpAtomicStore: root::spv::Op = 228;
1964         pub const Op_OpAtomicExchange: root::spv::Op = 229;
1965         pub const Op_OpAtomicCompareExchange: root::spv::Op = 230;
1966         pub const Op_OpAtomicCompareExchangeWeak: root::spv::Op = 231;
1967         pub const Op_OpAtomicIIncrement: root::spv::Op = 232;
1968         pub const Op_OpAtomicIDecrement: root::spv::Op = 233;
1969         pub const Op_OpAtomicIAdd: root::spv::Op = 234;
1970         pub const Op_OpAtomicISub: root::spv::Op = 235;
1971         pub const Op_OpAtomicSMin: root::spv::Op = 236;
1972         pub const Op_OpAtomicUMin: root::spv::Op = 237;
1973         pub const Op_OpAtomicSMax: root::spv::Op = 238;
1974         pub const Op_OpAtomicUMax: root::spv::Op = 239;
1975         pub const Op_OpAtomicAnd: root::spv::Op = 240;
1976         pub const Op_OpAtomicOr: root::spv::Op = 241;
1977         pub const Op_OpAtomicXor: root::spv::Op = 242;
1978         pub const Op_OpPhi: root::spv::Op = 245;
1979         pub const Op_OpLoopMerge: root::spv::Op = 246;
1980         pub const Op_OpSelectionMerge: root::spv::Op = 247;
1981         pub const Op_OpLabel: root::spv::Op = 248;
1982         pub const Op_OpBranch: root::spv::Op = 249;
1983         pub const Op_OpBranchConditional: root::spv::Op = 250;
1984         pub const Op_OpSwitch: root::spv::Op = 251;
1985         pub const Op_OpKill: root::spv::Op = 252;
1986         pub const Op_OpReturn: root::spv::Op = 253;
1987         pub const Op_OpReturnValue: root::spv::Op = 254;
1988         pub const Op_OpUnreachable: root::spv::Op = 255;
1989         pub const Op_OpLifetimeStart: root::spv::Op = 256;
1990         pub const Op_OpLifetimeStop: root::spv::Op = 257;
1991         pub const Op_OpGroupAsyncCopy: root::spv::Op = 259;
1992         pub const Op_OpGroupWaitEvents: root::spv::Op = 260;
1993         pub const Op_OpGroupAll: root::spv::Op = 261;
1994         pub const Op_OpGroupAny: root::spv::Op = 262;
1995         pub const Op_OpGroupBroadcast: root::spv::Op = 263;
1996         pub const Op_OpGroupIAdd: root::spv::Op = 264;
1997         pub const Op_OpGroupFAdd: root::spv::Op = 265;
1998         pub const Op_OpGroupFMin: root::spv::Op = 266;
1999         pub const Op_OpGroupUMin: root::spv::Op = 267;
2000         pub const Op_OpGroupSMin: root::spv::Op = 268;
2001         pub const Op_OpGroupFMax: root::spv::Op = 269;
2002         pub const Op_OpGroupUMax: root::spv::Op = 270;
2003         pub const Op_OpGroupSMax: root::spv::Op = 271;
2004         pub const Op_OpReadPipe: root::spv::Op = 274;
2005         pub const Op_OpWritePipe: root::spv::Op = 275;
2006         pub const Op_OpReservedReadPipe: root::spv::Op = 276;
2007         pub const Op_OpReservedWritePipe: root::spv::Op = 277;
2008         pub const Op_OpReserveReadPipePackets: root::spv::Op = 278;
2009         pub const Op_OpReserveWritePipePackets: root::spv::Op = 279;
2010         pub const Op_OpCommitReadPipe: root::spv::Op = 280;
2011         pub const Op_OpCommitWritePipe: root::spv::Op = 281;
2012         pub const Op_OpIsValidReserveId: root::spv::Op = 282;
2013         pub const Op_OpGetNumPipePackets: root::spv::Op = 283;
2014         pub const Op_OpGetMaxPipePackets: root::spv::Op = 284;
2015         pub const Op_OpGroupReserveReadPipePackets: root::spv::Op = 285;
2016         pub const Op_OpGroupReserveWritePipePackets: root::spv::Op = 286;
2017         pub const Op_OpGroupCommitReadPipe: root::spv::Op = 287;
2018         pub const Op_OpGroupCommitWritePipe: root::spv::Op = 288;
2019         pub const Op_OpEnqueueMarker: root::spv::Op = 291;
2020         pub const Op_OpEnqueueKernel: root::spv::Op = 292;
2021         pub const Op_OpGetKernelNDrangeSubGroupCount: root::spv::Op = 293;
2022         pub const Op_OpGetKernelNDrangeMaxSubGroupSize: root::spv::Op = 294;
2023         pub const Op_OpGetKernelWorkGroupSize: root::spv::Op = 295;
2024         pub const Op_OpGetKernelPreferredWorkGroupSizeMultiple: root::spv::Op = 296;
2025         pub const Op_OpRetainEvent: root::spv::Op = 297;
2026         pub const Op_OpReleaseEvent: root::spv::Op = 298;
2027         pub const Op_OpCreateUserEvent: root::spv::Op = 299;
2028         pub const Op_OpIsValidEvent: root::spv::Op = 300;
2029         pub const Op_OpSetUserEventStatus: root::spv::Op = 301;
2030         pub const Op_OpCaptureEventProfilingInfo: root::spv::Op = 302;
2031         pub const Op_OpGetDefaultQueue: root::spv::Op = 303;
2032         pub const Op_OpBuildNDRange: root::spv::Op = 304;
2033         pub const Op_OpImageSparseSampleImplicitLod: root::spv::Op = 305;
2034         pub const Op_OpImageSparseSampleExplicitLod: root::spv::Op = 306;
2035         pub const Op_OpImageSparseSampleDrefImplicitLod: root::spv::Op = 307;
2036         pub const Op_OpImageSparseSampleDrefExplicitLod: root::spv::Op = 308;
2037         pub const Op_OpImageSparseSampleProjImplicitLod: root::spv::Op = 309;
2038         pub const Op_OpImageSparseSampleProjExplicitLod: root::spv::Op = 310;
2039         pub const Op_OpImageSparseSampleProjDrefImplicitLod: root::spv::Op = 311;
2040         pub const Op_OpImageSparseSampleProjDrefExplicitLod: root::spv::Op = 312;
2041         pub const Op_OpImageSparseFetch: root::spv::Op = 313;
2042         pub const Op_OpImageSparseGather: root::spv::Op = 314;
2043         pub const Op_OpImageSparseDrefGather: root::spv::Op = 315;
2044         pub const Op_OpImageSparseTexelsResident: root::spv::Op = 316;
2045         pub const Op_OpNoLine: root::spv::Op = 317;
2046         pub const Op_OpAtomicFlagTestAndSet: root::spv::Op = 318;
2047         pub const Op_OpAtomicFlagClear: root::spv::Op = 319;
2048         pub const Op_OpImageSparseRead: root::spv::Op = 320;
2049         pub const Op_OpSizeOf: root::spv::Op = 321;
2050         pub const Op_OpTypePipeStorage: root::spv::Op = 322;
2051         pub const Op_OpConstantPipeStorage: root::spv::Op = 323;
2052         pub const Op_OpCreatePipeFromPipeStorage: root::spv::Op = 324;
2053         pub const Op_OpGetKernelLocalSizeForSubgroupCount: root::spv::Op = 325;
2054         pub const Op_OpGetKernelMaxNumSubgroups: root::spv::Op = 326;
2055         pub const Op_OpTypeNamedBarrier: root::spv::Op = 327;
2056         pub const Op_OpNamedBarrierInitialize: root::spv::Op = 328;
2057         pub const Op_OpMemoryNamedBarrier: root::spv::Op = 329;
2058         pub const Op_OpModuleProcessed: root::spv::Op = 330;
2059         pub const Op_OpExecutionModeId: root::spv::Op = 331;
2060         pub const Op_OpDecorateId: root::spv::Op = 332;
2061         pub const Op_OpGroupNonUniformElect: root::spv::Op = 333;
2062         pub const Op_OpGroupNonUniformAll: root::spv::Op = 334;
2063         pub const Op_OpGroupNonUniformAny: root::spv::Op = 335;
2064         pub const Op_OpGroupNonUniformAllEqual: root::spv::Op = 336;
2065         pub const Op_OpGroupNonUniformBroadcast: root::spv::Op = 337;
2066         pub const Op_OpGroupNonUniformBroadcastFirst: root::spv::Op = 338;
2067         pub const Op_OpGroupNonUniformBallot: root::spv::Op = 339;
2068         pub const Op_OpGroupNonUniformInverseBallot: root::spv::Op = 340;
2069         pub const Op_OpGroupNonUniformBallotBitExtract: root::spv::Op = 341;
2070         pub const Op_OpGroupNonUniformBallotBitCount: root::spv::Op = 342;
2071         pub const Op_OpGroupNonUniformBallotFindLSB: root::spv::Op = 343;
2072         pub const Op_OpGroupNonUniformBallotFindMSB: root::spv::Op = 344;
2073         pub const Op_OpGroupNonUniformShuffle: root::spv::Op = 345;
2074         pub const Op_OpGroupNonUniformShuffleXor: root::spv::Op = 346;
2075         pub const Op_OpGroupNonUniformShuffleUp: root::spv::Op = 347;
2076         pub const Op_OpGroupNonUniformShuffleDown: root::spv::Op = 348;
2077         pub const Op_OpGroupNonUniformIAdd: root::spv::Op = 349;
2078         pub const Op_OpGroupNonUniformFAdd: root::spv::Op = 350;
2079         pub const Op_OpGroupNonUniformIMul: root::spv::Op = 351;
2080         pub const Op_OpGroupNonUniformFMul: root::spv::Op = 352;
2081         pub const Op_OpGroupNonUniformSMin: root::spv::Op = 353;
2082         pub const Op_OpGroupNonUniformUMin: root::spv::Op = 354;
2083         pub const Op_OpGroupNonUniformFMin: root::spv::Op = 355;
2084         pub const Op_OpGroupNonUniformSMax: root::spv::Op = 356;
2085         pub const Op_OpGroupNonUniformUMax: root::spv::Op = 357;
2086         pub const Op_OpGroupNonUniformFMax: root::spv::Op = 358;
2087         pub const Op_OpGroupNonUniformBitwiseAnd: root::spv::Op = 359;
2088         pub const Op_OpGroupNonUniformBitwiseOr: root::spv::Op = 360;
2089         pub const Op_OpGroupNonUniformBitwiseXor: root::spv::Op = 361;
2090         pub const Op_OpGroupNonUniformLogicalAnd: root::spv::Op = 362;
2091         pub const Op_OpGroupNonUniformLogicalOr: root::spv::Op = 363;
2092         pub const Op_OpGroupNonUniformLogicalXor: root::spv::Op = 364;
2093         pub const Op_OpGroupNonUniformQuadBroadcast: root::spv::Op = 365;
2094         pub const Op_OpGroupNonUniformQuadSwap: root::spv::Op = 366;
2095         pub const Op_OpCopyLogical: root::spv::Op = 400;
2096         pub const Op_OpPtrEqual: root::spv::Op = 401;
2097         pub const Op_OpPtrNotEqual: root::spv::Op = 402;
2098         pub const Op_OpPtrDiff: root::spv::Op = 403;
2099         pub const Op_OpTerminateInvocation: root::spv::Op = 4416;
2100         pub const Op_OpSubgroupBallotKHR: root::spv::Op = 4421;
2101         pub const Op_OpSubgroupFirstInvocationKHR: root::spv::Op = 4422;
2102         pub const Op_OpSubgroupAllKHR: root::spv::Op = 4428;
2103         pub const Op_OpSubgroupAnyKHR: root::spv::Op = 4429;
2104         pub const Op_OpSubgroupAllEqualKHR: root::spv::Op = 4430;
2105         pub const Op_OpSubgroupReadInvocationKHR: root::spv::Op = 4432;
2106         pub const Op_OpTraceRayKHR: root::spv::Op = 4445;
2107         pub const Op_OpExecuteCallableKHR: root::spv::Op = 4446;
2108         pub const Op_OpConvertUToAccelerationStructureKHR: root::spv::Op = 4447;
2109         pub const Op_OpIgnoreIntersectionKHR: root::spv::Op = 4448;
2110         pub const Op_OpTerminateRayKHR: root::spv::Op = 4449;
2111         pub const Op_OpTypeRayQueryKHR: root::spv::Op = 4472;
2112         pub const Op_OpRayQueryInitializeKHR: root::spv::Op = 4473;
2113         pub const Op_OpRayQueryTerminateKHR: root::spv::Op = 4474;
2114         pub const Op_OpRayQueryGenerateIntersectionKHR: root::spv::Op = 4475;
2115         pub const Op_OpRayQueryConfirmIntersectionKHR: root::spv::Op = 4476;
2116         pub const Op_OpRayQueryProceedKHR: root::spv::Op = 4477;
2117         pub const Op_OpRayQueryGetIntersectionTypeKHR: root::spv::Op = 4479;
2118         pub const Op_OpGroupIAddNonUniformAMD: root::spv::Op = 5000;
2119         pub const Op_OpGroupFAddNonUniformAMD: root::spv::Op = 5001;
2120         pub const Op_OpGroupFMinNonUniformAMD: root::spv::Op = 5002;
2121         pub const Op_OpGroupUMinNonUniformAMD: root::spv::Op = 5003;
2122         pub const Op_OpGroupSMinNonUniformAMD: root::spv::Op = 5004;
2123         pub const Op_OpGroupFMaxNonUniformAMD: root::spv::Op = 5005;
2124         pub const Op_OpGroupUMaxNonUniformAMD: root::spv::Op = 5006;
2125         pub const Op_OpGroupSMaxNonUniformAMD: root::spv::Op = 5007;
2126         pub const Op_OpFragmentMaskFetchAMD: root::spv::Op = 5011;
2127         pub const Op_OpFragmentFetchAMD: root::spv::Op = 5012;
2128         pub const Op_OpReadClockKHR: root::spv::Op = 5056;
2129         pub const Op_OpImageSampleFootprintNV: root::spv::Op = 5283;
2130         pub const Op_OpGroupNonUniformPartitionNV: root::spv::Op = 5296;
2131         pub const Op_OpWritePackedPrimitiveIndices4x8NV: root::spv::Op = 5299;
2132         pub const Op_OpReportIntersectionKHR: root::spv::Op = 5334;
2133         pub const Op_OpReportIntersectionNV: root::spv::Op = 5334;
2134         pub const Op_OpIgnoreIntersectionNV: root::spv::Op = 5335;
2135         pub const Op_OpTerminateRayNV: root::spv::Op = 5336;
2136         pub const Op_OpTraceNV: root::spv::Op = 5337;
2137         pub const Op_OpTypeAccelerationStructureKHR: root::spv::Op = 5341;
2138         pub const Op_OpTypeAccelerationStructureNV: root::spv::Op = 5341;
2139         pub const Op_OpExecuteCallableNV: root::spv::Op = 5344;
2140         pub const Op_OpTypeCooperativeMatrixNV: root::spv::Op = 5358;
2141         pub const Op_OpCooperativeMatrixLoadNV: root::spv::Op = 5359;
2142         pub const Op_OpCooperativeMatrixStoreNV: root::spv::Op = 5360;
2143         pub const Op_OpCooperativeMatrixMulAddNV: root::spv::Op = 5361;
2144         pub const Op_OpCooperativeMatrixLengthNV: root::spv::Op = 5362;
2145         pub const Op_OpBeginInvocationInterlockEXT: root::spv::Op = 5364;
2146         pub const Op_OpEndInvocationInterlockEXT: root::spv::Op = 5365;
2147         pub const Op_OpDemoteToHelperInvocationEXT: root::spv::Op = 5380;
2148         pub const Op_OpIsHelperInvocationEXT: root::spv::Op = 5381;
2149         pub const Op_OpSubgroupShuffleINTEL: root::spv::Op = 5571;
2150         pub const Op_OpSubgroupShuffleDownINTEL: root::spv::Op = 5572;
2151         pub const Op_OpSubgroupShuffleUpINTEL: root::spv::Op = 5573;
2152         pub const Op_OpSubgroupShuffleXorINTEL: root::spv::Op = 5574;
2153         pub const Op_OpSubgroupBlockReadINTEL: root::spv::Op = 5575;
2154         pub const Op_OpSubgroupBlockWriteINTEL: root::spv::Op = 5576;
2155         pub const Op_OpSubgroupImageBlockReadINTEL: root::spv::Op = 5577;
2156         pub const Op_OpSubgroupImageBlockWriteINTEL: root::spv::Op = 5578;
2157         pub const Op_OpSubgroupImageMediaBlockReadINTEL: root::spv::Op = 5580;
2158         pub const Op_OpSubgroupImageMediaBlockWriteINTEL: root::spv::Op = 5581;
2159         pub const Op_OpUCountLeadingZerosINTEL: root::spv::Op = 5585;
2160         pub const Op_OpUCountTrailingZerosINTEL: root::spv::Op = 5586;
2161         pub const Op_OpAbsISubINTEL: root::spv::Op = 5587;
2162         pub const Op_OpAbsUSubINTEL: root::spv::Op = 5588;
2163         pub const Op_OpIAddSatINTEL: root::spv::Op = 5589;
2164         pub const Op_OpUAddSatINTEL: root::spv::Op = 5590;
2165         pub const Op_OpIAverageINTEL: root::spv::Op = 5591;
2166         pub const Op_OpUAverageINTEL: root::spv::Op = 5592;
2167         pub const Op_OpIAverageRoundedINTEL: root::spv::Op = 5593;
2168         pub const Op_OpUAverageRoundedINTEL: root::spv::Op = 5594;
2169         pub const Op_OpISubSatINTEL: root::spv::Op = 5595;
2170         pub const Op_OpUSubSatINTEL: root::spv::Op = 5596;
2171         pub const Op_OpIMul32x16INTEL: root::spv::Op = 5597;
2172         pub const Op_OpUMul32x16INTEL: root::spv::Op = 5598;
2173         pub const Op_OpFunctionPointerINTEL: root::spv::Op = 5600;
2174         pub const Op_OpFunctionPointerCallINTEL: root::spv::Op = 5601;
2175         pub const Op_OpDecorateString: root::spv::Op = 5632;
2176         pub const Op_OpDecorateStringGOOGLE: root::spv::Op = 5632;
2177         pub const Op_OpMemberDecorateString: root::spv::Op = 5633;
2178         pub const Op_OpMemberDecorateStringGOOGLE: root::spv::Op = 5633;
2179         pub const Op_OpVmeImageINTEL: root::spv::Op = 5699;
2180         pub const Op_OpTypeVmeImageINTEL: root::spv::Op = 5700;
2181         pub const Op_OpTypeAvcImePayloadINTEL: root::spv::Op = 5701;
2182         pub const Op_OpTypeAvcRefPayloadINTEL: root::spv::Op = 5702;
2183         pub const Op_OpTypeAvcSicPayloadINTEL: root::spv::Op = 5703;
2184         pub const Op_OpTypeAvcMcePayloadINTEL: root::spv::Op = 5704;
2185         pub const Op_OpTypeAvcMceResultINTEL: root::spv::Op = 5705;
2186         pub const Op_OpTypeAvcImeResultINTEL: root::spv::Op = 5706;
2187         pub const Op_OpTypeAvcImeResultSingleReferenceStreamoutINTEL: root::spv::Op = 5707;
2188         pub const Op_OpTypeAvcImeResultDualReferenceStreamoutINTEL: root::spv::Op = 5708;
2189         pub const Op_OpTypeAvcImeSingleReferenceStreaminINTEL: root::spv::Op = 5709;
2190         pub const Op_OpTypeAvcImeDualReferenceStreaminINTEL: root::spv::Op = 5710;
2191         pub const Op_OpTypeAvcRefResultINTEL: root::spv::Op = 5711;
2192         pub const Op_OpTypeAvcSicResultINTEL: root::spv::Op = 5712;
2193         pub const Op_OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL: root::spv::Op =
2194             5713;
2195         pub const Op_OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL: root::spv::Op = 5714;
2196         pub const Op_OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL: root::spv::Op = 5715;
2197         pub const Op_OpSubgroupAvcMceSetInterShapePenaltyINTEL: root::spv::Op = 5716;
2198         pub const Op_OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL: root::spv::Op = 5717;
2199         pub const Op_OpSubgroupAvcMceSetInterDirectionPenaltyINTEL: root::spv::Op = 5718;
2200         pub const Op_OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL: root::spv::Op = 5719;
2201         pub const Op_OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL: root::spv::Op =
2202             5720;
2203         pub const Op_OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL: root::spv::Op = 5721;
2204         pub const Op_OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL: root::spv::Op = 5722;
2205         pub const Op_OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL: root::spv::Op = 5723;
2206         pub const Op_OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL: root::spv::Op = 5724;
2207         pub const Op_OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL: root::spv::Op = 5725;
2208         pub const Op_OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL: root::spv::Op = 5726;
2209         pub const Op_OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL: root::spv::Op =
2210             5727;
2211         pub const Op_OpSubgroupAvcMceSetAcOnlyHaarINTEL: root::spv::Op = 5728;
2212         pub const Op_OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL: root::spv::Op = 5729;
2213         pub const Op_OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL: root::spv::Op =
2214             5730;
2215         pub const Op_OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL: root::spv::Op =
2216             5731;
2217         pub const Op_OpSubgroupAvcMceConvertToImePayloadINTEL: root::spv::Op = 5732;
2218         pub const Op_OpSubgroupAvcMceConvertToImeResultINTEL: root::spv::Op = 5733;
2219         pub const Op_OpSubgroupAvcMceConvertToRefPayloadINTEL: root::spv::Op = 5734;
2220         pub const Op_OpSubgroupAvcMceConvertToRefResultINTEL: root::spv::Op = 5735;
2221         pub const Op_OpSubgroupAvcMceConvertToSicPayloadINTEL: root::spv::Op = 5736;
2222         pub const Op_OpSubgroupAvcMceConvertToSicResultINTEL: root::spv::Op = 5737;
2223         pub const Op_OpSubgroupAvcMceGetMotionVectorsINTEL: root::spv::Op = 5738;
2224         pub const Op_OpSubgroupAvcMceGetInterDistortionsINTEL: root::spv::Op = 5739;
2225         pub const Op_OpSubgroupAvcMceGetBestInterDistortionsINTEL: root::spv::Op = 5740;
2226         pub const Op_OpSubgroupAvcMceGetInterMajorShapeINTEL: root::spv::Op = 5741;
2227         pub const Op_OpSubgroupAvcMceGetInterMinorShapeINTEL: root::spv::Op = 5742;
2228         pub const Op_OpSubgroupAvcMceGetInterDirectionsINTEL: root::spv::Op = 5743;
2229         pub const Op_OpSubgroupAvcMceGetInterMotionVectorCountINTEL: root::spv::Op = 5744;
2230         pub const Op_OpSubgroupAvcMceGetInterReferenceIdsINTEL: root::spv::Op = 5745;
2231         pub const Op_OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL:
2232             root::spv::Op = 5746;
2233         pub const Op_OpSubgroupAvcImeInitializeINTEL: root::spv::Op = 5747;
2234         pub const Op_OpSubgroupAvcImeSetSingleReferenceINTEL: root::spv::Op = 5748;
2235         pub const Op_OpSubgroupAvcImeSetDualReferenceINTEL: root::spv::Op = 5749;
2236         pub const Op_OpSubgroupAvcImeRefWindowSizeINTEL: root::spv::Op = 5750;
2237         pub const Op_OpSubgroupAvcImeAdjustRefOffsetINTEL: root::spv::Op = 5751;
2238         pub const Op_OpSubgroupAvcImeConvertToMcePayloadINTEL: root::spv::Op = 5752;
2239         pub const Op_OpSubgroupAvcImeSetMaxMotionVectorCountINTEL: root::spv::Op = 5753;
2240         pub const Op_OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL: root::spv::Op = 5754;
2241         pub const Op_OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL: root::spv::Op = 5755;
2242         pub const Op_OpSubgroupAvcImeSetWeightedSadINTEL: root::spv::Op = 5756;
2243         pub const Op_OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL: root::spv::Op = 5757;
2244         pub const Op_OpSubgroupAvcImeEvaluateWithDualReferenceINTEL: root::spv::Op = 5758;
2245         pub const Op_OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL: root::spv::Op = 5759;
2246         pub const Op_OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL: root::spv::Op = 5760;
2247         pub const Op_OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL: root::spv::Op =
2248             5761;
2249         pub const Op_OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL: root::spv::Op = 5762;
2250         pub const Op_OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL: root::spv::Op =
2251             5763;
2252         pub const Op_OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL: root::spv::Op =
2253             5764;
2254         pub const Op_OpSubgroupAvcImeConvertToMceResultINTEL: root::spv::Op = 5765;
2255         pub const Op_OpSubgroupAvcImeGetSingleReferenceStreaminINTEL: root::spv::Op = 5766;
2256         pub const Op_OpSubgroupAvcImeGetDualReferenceStreaminINTEL: root::spv::Op = 5767;
2257         pub const Op_OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL: root::spv::Op = 5768;
2258         pub const Op_OpSubgroupAvcImeStripDualReferenceStreamoutINTEL: root::spv::Op = 5769;
2259         pub const Op_OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL:
2260             root::spv::Op = 5770;
2261         pub const Op_OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL:
2262             root::spv::Op = 5771;
2263         pub const Op_OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL:
2264             root::spv::Op = 5772;
2265         pub const Op_OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL:
2266             root::spv::Op = 5773;
2267         pub const Op_OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL:
2268             root::spv::Op = 5774;
2269         pub const Op_OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL:
2270             root::spv::Op = 5775;
2271         pub const Op_OpSubgroupAvcImeGetBorderReachedINTEL: root::spv::Op = 5776;
2272         pub const Op_OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL: root::spv::Op = 5777;
2273         pub const Op_OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL: root::spv::Op =
2274             5778;
2275         pub const Op_OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL: root::spv::Op =
2276             5779;
2277         pub const Op_OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL: root::spv::Op =
2278             5780;
2279         pub const Op_OpSubgroupAvcFmeInitializeINTEL: root::spv::Op = 5781;
2280         pub const Op_OpSubgroupAvcBmeInitializeINTEL: root::spv::Op = 5782;
2281         pub const Op_OpSubgroupAvcRefConvertToMcePayloadINTEL: root::spv::Op = 5783;
2282         pub const Op_OpSubgroupAvcRefSetBidirectionalMixDisableINTEL: root::spv::Op = 5784;
2283         pub const Op_OpSubgroupAvcRefSetBilinearFilterEnableINTEL: root::spv::Op = 5785;
2284         pub const Op_OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL: root::spv::Op = 5786;
2285         pub const Op_OpSubgroupAvcRefEvaluateWithDualReferenceINTEL: root::spv::Op = 5787;
2286         pub const Op_OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL: root::spv::Op = 5788;
2287         pub const Op_OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL: root::spv::Op =
2288             5789;
2289         pub const Op_OpSubgroupAvcRefConvertToMceResultINTEL: root::spv::Op = 5790;
2290         pub const Op_OpSubgroupAvcSicInitializeINTEL: root::spv::Op = 5791;
2291         pub const Op_OpSubgroupAvcSicConfigureSkcINTEL: root::spv::Op = 5792;
2292         pub const Op_OpSubgroupAvcSicConfigureIpeLumaINTEL: root::spv::Op = 5793;
2293         pub const Op_OpSubgroupAvcSicConfigureIpeLumaChromaINTEL: root::spv::Op = 5794;
2294         pub const Op_OpSubgroupAvcSicGetMotionVectorMaskINTEL: root::spv::Op = 5795;
2295         pub const Op_OpSubgroupAvcSicConvertToMcePayloadINTEL: root::spv::Op = 5796;
2296         pub const Op_OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL: root::spv::Op = 5797;
2297         pub const Op_OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL: root::spv::Op = 5798;
2298         pub const Op_OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL: root::spv::Op = 5799;
2299         pub const Op_OpSubgroupAvcSicSetBilinearFilterEnableINTEL: root::spv::Op = 5800;
2300         pub const Op_OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL: root::spv::Op = 5801;
2301         pub const Op_OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL: root::spv::Op = 5802;
2302         pub const Op_OpSubgroupAvcSicEvaluateIpeINTEL: root::spv::Op = 5803;
2303         pub const Op_OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL: root::spv::Op = 5804;
2304         pub const Op_OpSubgroupAvcSicEvaluateWithDualReferenceINTEL: root::spv::Op = 5805;
2305         pub const Op_OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL: root::spv::Op = 5806;
2306         pub const Op_OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL: root::spv::Op =
2307             5807;
2308         pub const Op_OpSubgroupAvcSicConvertToMceResultINTEL: root::spv::Op = 5808;
2309         pub const Op_OpSubgroupAvcSicGetIpeLumaShapeINTEL: root::spv::Op = 5809;
2310         pub const Op_OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL: root::spv::Op = 5810;
2311         pub const Op_OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL: root::spv::Op = 5811;
2312         pub const Op_OpSubgroupAvcSicGetPackedIpeLumaModesINTEL: root::spv::Op = 5812;
2313         pub const Op_OpSubgroupAvcSicGetIpeChromaModeINTEL: root::spv::Op = 5813;
2314         pub const Op_OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: root::spv::Op = 5814;
2315         pub const Op_OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: root::spv::Op = 5815;
2316         pub const Op_OpSubgroupAvcSicGetInterRawSadsINTEL: root::spv::Op = 5816;
2317         pub const Op_OpLoopControlINTEL: root::spv::Op = 5887;
2318         pub const Op_OpReadPipeBlockingINTEL: root::spv::Op = 5946;
2319         pub const Op_OpWritePipeBlockingINTEL: root::spv::Op = 5947;
2320         pub const Op_OpFPGARegINTEL: root::spv::Op = 5949;
2321         pub const Op_OpRayQueryGetRayTMinKHR: root::spv::Op = 6016;
2322         pub const Op_OpRayQueryGetRayFlagsKHR: root::spv::Op = 6017;
2323         pub const Op_OpRayQueryGetIntersectionTKHR: root::spv::Op = 6018;
2324         pub const Op_OpRayQueryGetIntersectionInstanceCustomIndexKHR: root::spv::Op = 6019;
2325         pub const Op_OpRayQueryGetIntersectionInstanceIdKHR: root::spv::Op = 6020;
2326         pub const Op_OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR:
2327             root::spv::Op = 6021;
2328         pub const Op_OpRayQueryGetIntersectionGeometryIndexKHR: root::spv::Op = 6022;
2329         pub const Op_OpRayQueryGetIntersectionPrimitiveIndexKHR: root::spv::Op = 6023;
2330         pub const Op_OpRayQueryGetIntersectionBarycentricsKHR: root::spv::Op = 6024;
2331         pub const Op_OpRayQueryGetIntersectionFrontFaceKHR: root::spv::Op = 6025;
2332         pub const Op_OpRayQueryGetIntersectionCandidateAABBOpaqueKHR: root::spv::Op = 6026;
2333         pub const Op_OpRayQueryGetIntersectionObjectRayDirectionKHR: root::spv::Op = 6027;
2334         pub const Op_OpRayQueryGetIntersectionObjectRayOriginKHR: root::spv::Op = 6028;
2335         pub const Op_OpRayQueryGetWorldRayDirectionKHR: root::spv::Op = 6029;
2336         pub const Op_OpRayQueryGetWorldRayOriginKHR: root::spv::Op = 6030;
2337         pub const Op_OpRayQueryGetIntersectionObjectToWorldKHR: root::spv::Op = 6031;
2338         pub const Op_OpRayQueryGetIntersectionWorldToObjectKHR: root::spv::Op = 6032;
2339         pub const Op_OpAtomicFAddEXT: root::spv::Op = 6035;
2340         pub const Op_OpMax: root::spv::Op = 2147483647;
2341         pub type Op = u32;
2342     }
2343     pub mod std {
2344         #[allow(unused_imports)]
2345         use self::super::super::root;
2346         pub mod __fs {
2347             #[allow(unused_imports)]
2348             use self::super::super::super::root;
2349         }
2350     }
2351     pub type __darwin_size_t = ::std::os::raw::c_ulong;
2352     pub mod spirv_cross {
2353         #[allow(unused_imports)]
2354         use self::super::super::root;
2355         #[repr(u32)]
2356         #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
2357         pub enum SPIRType_BaseType {
2358             Unknown = 0,
2359             Void = 1,
2360             Boolean = 2,
2361             SByte = 3,
2362             UByte = 4,
2363             Short = 5,
2364             UShort = 6,
2365             Int = 7,
2366             UInt = 8,
2367             Int64 = 9,
2368             UInt64 = 10,
2369             AtomicCounter = 11,
2370             Half = 12,
2371             Float = 13,
2372             Double = 14,
2373             Struct = 15,
2374             Image = 16,
2375             SampledImage = 17,
2376             Sampler = 18,
2377             AccelerationStructure = 19,
2378             RayQuery = 20,
2379             ControlPointArray = 21,
2380             Interpolant = 22,
2381             Char = 23,
2382         }
2383         pub const MSLShaderInputFormat_MSL_SHADER_INPUT_FORMAT_OTHER:
2384             root::spirv_cross::MSLShaderInputFormat = 0;
2385         pub const MSLShaderInputFormat_MSL_SHADER_INPUT_FORMAT_UINT8:
2386             root::spirv_cross::MSLShaderInputFormat = 1;
2387         pub const MSLShaderInputFormat_MSL_SHADER_INPUT_FORMAT_UINT16:
2388             root::spirv_cross::MSLShaderInputFormat = 2;
2389         pub const MSLShaderInputFormat_MSL_SHADER_INPUT_FORMAT_ANY16:
2390             root::spirv_cross::MSLShaderInputFormat = 3;
2391         pub const MSLShaderInputFormat_MSL_SHADER_INPUT_FORMAT_ANY32:
2392             root::spirv_cross::MSLShaderInputFormat = 4;
2393         pub const MSLShaderInputFormat_MSL_VERTEX_FORMAT_OTHER:
2394             root::spirv_cross::MSLShaderInputFormat = 0;
2395         pub const MSLShaderInputFormat_MSL_VERTEX_FORMAT_UINT8:
2396             root::spirv_cross::MSLShaderInputFormat = 1;
2397         pub const MSLShaderInputFormat_MSL_VERTEX_FORMAT_UINT16:
2398             root::spirv_cross::MSLShaderInputFormat = 2;
2399         pub const MSLShaderInputFormat_MSL_SHADER_INPUT_FORMAT_INT_MAX:
2400             root::spirv_cross::MSLShaderInputFormat = 2147483647;
2401         pub type MSLShaderInputFormat = u32;
2402         #[repr(C)]
2403         #[derive(Debug, Copy, Clone)]
2404         pub struct MSLShaderInput {
2405             pub location: u32,
2406             pub format: root::spirv_cross::MSLShaderInputFormat,
2407             pub builtin: root::spv::BuiltIn,
2408             pub vecsize: u32,
2409         }
2410         #[repr(C)]
2411         #[derive(Debug, Copy, Clone)]
2412         pub struct MSLResourceBinding {
2413             pub stage: root::spv::ExecutionModel,
2414             pub desc_set: u32,
2415             pub binding: u32,
2416             pub count: u32,
2417             pub msl_buffer: u32,
2418             pub msl_texture: u32,
2419             pub msl_sampler: u32,
2420         }
2421         pub const MSLSamplerCoord_MSL_SAMPLER_COORD_NORMALIZED: root::spirv_cross::MSLSamplerCoord =
2422             0;
2423         pub const MSLSamplerCoord_MSL_SAMPLER_COORD_PIXEL: root::spirv_cross::MSLSamplerCoord = 1;
2424         pub const MSLSamplerCoord_MSL_SAMPLER_INT_MAX: root::spirv_cross::MSLSamplerCoord =
2425             2147483647;
2426         pub type MSLSamplerCoord = u32;
2427         pub const MSLSamplerFilter_MSL_SAMPLER_FILTER_NEAREST: root::spirv_cross::MSLSamplerFilter =
2428             0;
2429         pub const MSLSamplerFilter_MSL_SAMPLER_FILTER_LINEAR: root::spirv_cross::MSLSamplerFilter =
2430             1;
2431         pub const MSLSamplerFilter_MSL_SAMPLER_FILTER_INT_MAX: root::spirv_cross::MSLSamplerFilter =
2432             2147483647;
2433         pub type MSLSamplerFilter = u32;
2434         pub const MSLSamplerMipFilter_MSL_SAMPLER_MIP_FILTER_NONE:
2435             root::spirv_cross::MSLSamplerMipFilter = 0;
2436         pub const MSLSamplerMipFilter_MSL_SAMPLER_MIP_FILTER_NEAREST:
2437             root::spirv_cross::MSLSamplerMipFilter = 1;
2438         pub const MSLSamplerMipFilter_MSL_SAMPLER_MIP_FILTER_LINEAR:
2439             root::spirv_cross::MSLSamplerMipFilter = 2;
2440         pub const MSLSamplerMipFilter_MSL_SAMPLER_MIP_FILTER_INT_MAX:
2441             root::spirv_cross::MSLSamplerMipFilter = 2147483647;
2442         pub type MSLSamplerMipFilter = u32;
2443         pub const MSLSamplerAddress_MSL_SAMPLER_ADDRESS_CLAMP_TO_ZERO:
2444             root::spirv_cross::MSLSamplerAddress = 0;
2445         pub const MSLSamplerAddress_MSL_SAMPLER_ADDRESS_CLAMP_TO_EDGE:
2446             root::spirv_cross::MSLSamplerAddress = 1;
2447         pub const MSLSamplerAddress_MSL_SAMPLER_ADDRESS_CLAMP_TO_BORDER:
2448             root::spirv_cross::MSLSamplerAddress = 2;
2449         pub const MSLSamplerAddress_MSL_SAMPLER_ADDRESS_REPEAT:
2450             root::spirv_cross::MSLSamplerAddress = 3;
2451         pub const MSLSamplerAddress_MSL_SAMPLER_ADDRESS_MIRRORED_REPEAT:
2452             root::spirv_cross::MSLSamplerAddress = 4;
2453         pub const MSLSamplerAddress_MSL_SAMPLER_ADDRESS_INT_MAX:
2454             root::spirv_cross::MSLSamplerAddress = 2147483647;
2455         pub type MSLSamplerAddress = u32;
2456         pub const MSLSamplerCompareFunc_MSL_SAMPLER_COMPARE_FUNC_NEVER:
2457             root::spirv_cross::MSLSamplerCompareFunc = 0;
2458         pub const MSLSamplerCompareFunc_MSL_SAMPLER_COMPARE_FUNC_LESS:
2459             root::spirv_cross::MSLSamplerCompareFunc = 1;
2460         pub const MSLSamplerCompareFunc_MSL_SAMPLER_COMPARE_FUNC_LESS_EQUAL:
2461             root::spirv_cross::MSLSamplerCompareFunc = 2;
2462         pub const MSLSamplerCompareFunc_MSL_SAMPLER_COMPARE_FUNC_GREATER:
2463             root::spirv_cross::MSLSamplerCompareFunc = 3;
2464         pub const MSLSamplerCompareFunc_MSL_SAMPLER_COMPARE_FUNC_GREATER_EQUAL:
2465             root::spirv_cross::MSLSamplerCompareFunc = 4;
2466         pub const MSLSamplerCompareFunc_MSL_SAMPLER_COMPARE_FUNC_EQUAL:
2467             root::spirv_cross::MSLSamplerCompareFunc = 5;
2468         pub const MSLSamplerCompareFunc_MSL_SAMPLER_COMPARE_FUNC_NOT_EQUAL:
2469             root::spirv_cross::MSLSamplerCompareFunc = 6;
2470         pub const MSLSamplerCompareFunc_MSL_SAMPLER_COMPARE_FUNC_ALWAYS:
2471             root::spirv_cross::MSLSamplerCompareFunc = 7;
2472         pub const MSLSamplerCompareFunc_MSL_SAMPLER_COMPARE_FUNC_INT_MAX:
2473             root::spirv_cross::MSLSamplerCompareFunc = 2147483647;
2474         pub type MSLSamplerCompareFunc = u32;
2475         pub const MSLSamplerBorderColor_MSL_SAMPLER_BORDER_COLOR_TRANSPARENT_BLACK:
2476             root::spirv_cross::MSLSamplerBorderColor = 0;
2477         pub const MSLSamplerBorderColor_MSL_SAMPLER_BORDER_COLOR_OPAQUE_BLACK:
2478             root::spirv_cross::MSLSamplerBorderColor = 1;
2479         pub const MSLSamplerBorderColor_MSL_SAMPLER_BORDER_COLOR_OPAQUE_WHITE:
2480             root::spirv_cross::MSLSamplerBorderColor = 2;
2481         pub const MSLSamplerBorderColor_MSL_SAMPLER_BORDER_COLOR_INT_MAX:
2482             root::spirv_cross::MSLSamplerBorderColor = 2147483647;
2483         pub type MSLSamplerBorderColor = u32;
2484         pub const MSLFormatResolution_MSL_FORMAT_RESOLUTION_444:
2485             root::spirv_cross::MSLFormatResolution = 0;
2486         pub const MSLFormatResolution_MSL_FORMAT_RESOLUTION_422:
2487             root::spirv_cross::MSLFormatResolution = 1;
2488         pub const MSLFormatResolution_MSL_FORMAT_RESOLUTION_420:
2489             root::spirv_cross::MSLFormatResolution = 2;
2490         pub const MSLFormatResolution_MSL_FORMAT_RESOLUTION_INT_MAX:
2491             root::spirv_cross::MSLFormatResolution = 2147483647;
2492         pub type MSLFormatResolution = u32;
2493         pub const MSLChromaLocation_MSL_CHROMA_LOCATION_COSITED_EVEN:
2494             root::spirv_cross::MSLChromaLocation = 0;
2495         pub const MSLChromaLocation_MSL_CHROMA_LOCATION_MIDPOINT:
2496             root::spirv_cross::MSLChromaLocation = 1;
2497         pub const MSLChromaLocation_MSL_CHROMA_LOCATION_INT_MAX:
2498             root::spirv_cross::MSLChromaLocation = 2147483647;
2499         pub type MSLChromaLocation = u32;
2500         pub const MSLComponentSwizzle_MSL_COMPONENT_SWIZZLE_IDENTITY:
2501             root::spirv_cross::MSLComponentSwizzle = 0;
2502         pub const MSLComponentSwizzle_MSL_COMPONENT_SWIZZLE_ZERO:
2503             root::spirv_cross::MSLComponentSwizzle = 1;
2504         pub const MSLComponentSwizzle_MSL_COMPONENT_SWIZZLE_ONE:
2505             root::spirv_cross::MSLComponentSwizzle = 2;
2506         pub const MSLComponentSwizzle_MSL_COMPONENT_SWIZZLE_R:
2507             root::spirv_cross::MSLComponentSwizzle = 3;
2508         pub const MSLComponentSwizzle_MSL_COMPONENT_SWIZZLE_G:
2509             root::spirv_cross::MSLComponentSwizzle = 4;
2510         pub const MSLComponentSwizzle_MSL_COMPONENT_SWIZZLE_B:
2511             root::spirv_cross::MSLComponentSwizzle = 5;
2512         pub const MSLComponentSwizzle_MSL_COMPONENT_SWIZZLE_A:
2513             root::spirv_cross::MSLComponentSwizzle = 6;
2514         pub const MSLComponentSwizzle_MSL_COMPONENT_SWIZZLE_INT_MAX:
2515             root::spirv_cross::MSLComponentSwizzle = 2147483647;
2516         pub type MSLComponentSwizzle = u32;
2517         pub const MSLSamplerYCbCrModelConversion_MSL_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY:
2518             root::spirv_cross::MSLSamplerYCbCrModelConversion = 0;
2519         pub const MSLSamplerYCbCrModelConversion_MSL_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY : root :: spirv_cross :: MSLSamplerYCbCrModelConversion = 1 ;
2520         pub const MSLSamplerYCbCrModelConversion_MSL_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_BT_709:
2521             root::spirv_cross::MSLSamplerYCbCrModelConversion = 2;
2522         pub const MSLSamplerYCbCrModelConversion_MSL_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_BT_601:
2523             root::spirv_cross::MSLSamplerYCbCrModelConversion = 3;
2524         pub const MSLSamplerYCbCrModelConversion_MSL_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_BT_2020 : root :: spirv_cross :: MSLSamplerYCbCrModelConversion = 4 ;
2525         pub const MSLSamplerYCbCrModelConversion_MSL_SAMPLER_YCBCR_MODEL_CONVERSION_INT_MAX:
2526             root::spirv_cross::MSLSamplerYCbCrModelConversion = 2147483647;
2527         pub type MSLSamplerYCbCrModelConversion = u32;
2528         pub const MSLSamplerYCbCrRange_MSL_SAMPLER_YCBCR_RANGE_ITU_FULL:
2529             root::spirv_cross::MSLSamplerYCbCrRange = 0;
2530         pub const MSLSamplerYCbCrRange_MSL_SAMPLER_YCBCR_RANGE_ITU_NARROW:
2531             root::spirv_cross::MSLSamplerYCbCrRange = 1;
2532         pub const MSLSamplerYCbCrRange_MSL_SAMPLER_YCBCR_RANGE_INT_MAX:
2533             root::spirv_cross::MSLSamplerYCbCrRange = 2147483647;
2534         pub type MSLSamplerYCbCrRange = u32;
2535         #[repr(C)]
2536         #[derive(Debug, Copy, Clone)]
2537         pub struct MSLConstexprSampler {
2538             pub coord: root::spirv_cross::MSLSamplerCoord,
2539             pub min_filter: root::spirv_cross::MSLSamplerFilter,
2540             pub mag_filter: root::spirv_cross::MSLSamplerFilter,
2541             pub mip_filter: root::spirv_cross::MSLSamplerMipFilter,
2542             pub s_address: root::spirv_cross::MSLSamplerAddress,
2543             pub t_address: root::spirv_cross::MSLSamplerAddress,
2544             pub r_address: root::spirv_cross::MSLSamplerAddress,
2545             pub compare_func: root::spirv_cross::MSLSamplerCompareFunc,
2546             pub border_color: root::spirv_cross::MSLSamplerBorderColor,
2547             pub lod_clamp_min: f32,
2548             pub lod_clamp_max: f32,
2549             pub max_anisotropy: ::std::os::raw::c_int,
2550             pub planes: u32,
2551             pub resolution: root::spirv_cross::MSLFormatResolution,
2552             pub chroma_filter: root::spirv_cross::MSLSamplerFilter,
2553             pub x_chroma_offset: root::spirv_cross::MSLChromaLocation,
2554             pub y_chroma_offset: root::spirv_cross::MSLChromaLocation,
2555             pub swizzle: [root::spirv_cross::MSLComponentSwizzle; 4usize],
2556             pub ycbcr_model: root::spirv_cross::MSLSamplerYCbCrModelConversion,
2557             pub ycbcr_range: root::spirv_cross::MSLSamplerYCbCrRange,
2558             pub bpc: u32,
2559             pub compare_enable: bool,
2560             pub lod_clamp_enable: bool,
2561             pub anisotropy_enable: bool,
2562             pub ycbcr_conversion_enable: bool,
2563         }
2564     }
2565     pub type ScInternalCompilerBase = ::std::os::raw::c_void;
2566     pub type ScInternalCompilerHlsl = ::std::os::raw::c_void;
2567     pub type ScInternalCompilerMsl = ::std::os::raw::c_void;
2568     pub type ScInternalCompilerGlsl = ::std::os::raw::c_void;
2569     #[repr(u32)]
2570     #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
2571     pub enum ScInternalResult {
2572         Success = 0,
2573         Unhandled = 1,
2574         CompilationError = 2,
2575     }
2576     #[repr(C)]
2577     #[derive(Debug, Copy, Clone)]
2578     pub struct ScEntryPoint {
2579         pub name: *mut ::std::os::raw::c_char,
2580         pub execution_model: root::spv::ExecutionModel,
2581         pub work_group_size_x: u32,
2582         pub work_group_size_y: u32,
2583         pub work_group_size_z: u32,
2584     }
2585     #[repr(C)]
2586     #[derive(Debug, Copy, Clone)]
2587     pub struct ScBufferRange {
2588         pub index: ::std::os::raw::c_uint,
2589         pub offset: usize,
2590         pub range: usize,
2591     }
2592     #[repr(C)]
2593     #[derive(Debug, Copy, Clone)]
2594     pub struct ScCombinedImageSampler {
2595         pub combined_id: u32,
2596         pub image_id: u32,
2597         pub sampler_id: u32,
2598     }
2599     #[repr(C)]
2600     #[derive(Debug, Copy, Clone)]
2601     pub struct ScHlslRootConstant {
2602         pub start: u32,
2603         pub end: u32,
2604         pub binding: u32,
2605         pub space: u32,
2606     }
2607     #[repr(C)]
2608     #[derive(Debug, Copy, Clone)]
2609     pub struct ScHlslCompilerOptions {
2610         pub shader_model: i32,
2611         pub point_size_compat: bool,
2612         pub point_coord_compat: bool,
2613         pub vertex_transform_clip_space: bool,
2614         pub vertex_invert_y: bool,
2615         pub force_storage_buffer_as_uav: bool,
2616         pub nonwritable_uav_texture_as_srv: bool,
2617         pub force_zero_initialized_variables: bool,
2618     }
2619     #[repr(C)]
2620     #[derive(Debug, Copy, Clone)]
2621     pub struct ScMslCompilerOptions {
2622         pub vertex_transform_clip_space: bool,
2623         pub vertex_invert_y: bool,
2624         pub platform: u8,
2625         pub version: u32,
2626         pub enable_point_size_builtin: bool,
2627         pub disable_rasterization: bool,
2628         pub swizzle_buffer_index: u32,
2629         pub indirect_params_buffer_index: u32,
2630         pub shader_output_buffer_index: u32,
2631         pub shader_patch_output_buffer_index: u32,
2632         pub shader_tess_factor_buffer_index: u32,
2633         pub buffer_size_buffer_index: u32,
2634         pub capture_output_to_buffer: bool,
2635         pub swizzle_texture_samples: bool,
2636         pub tess_domain_origin_lower_left: bool,
2637         pub argument_buffers: bool,
2638         pub pad_fragment_output_components: bool,
2639         pub force_native_arrays: bool,
2640         pub force_zero_initialized_variables: bool,
2641     }
2642     #[repr(C)]
2643     #[derive(Debug, Copy, Clone)]
2644     pub struct ScGlslCompilerOptions {
2645         pub vertex_transform_clip_space: bool,
2646         pub vertex_invert_y: bool,
2647         pub vertex_support_nonzero_base_instance: bool,
2648         pub fragment_default_float_precision: u8,
2649         pub fragment_default_int_precision: u8,
2650         pub version: u32,
2651         pub es: bool,
2652         pub force_temporary: bool,
2653         pub vulkan_semantics: bool,
2654         pub separate_shader_objects: bool,
2655         pub flatten_multidimensional_arrays: bool,
2656         pub enable_420_pack_extension: bool,
2657         pub emit_push_constant_as_uniform_buffer: bool,
2658         pub emit_uniform_buffer_as_plain_uniforms: bool,
2659         pub emit_line_directives: bool,
2660         pub enable_storage_image_qualifier_deduction: bool,
2661         pub force_zero_initialized_variables: bool,
2662     }
2663     #[repr(C)]
2664     #[derive(Debug, Copy, Clone)]
2665     pub struct ScResource {
2666         pub id: u32,
2667         pub type_id: u32,
2668         pub base_type_id: u32,
2669         pub name: *mut ::std::os::raw::c_char,
2670     }
2671     #[repr(C)]
2672     #[derive(Debug, Copy, Clone)]
2673     pub struct ScResourceArray {
2674         pub data: *mut root::ScResource,
2675         pub num: usize,
2676     }
2677     #[repr(C)]
2678     #[derive(Debug, Copy, Clone)]
2679     pub struct ScShaderResources {
2680         pub uniform_buffers: root::ScResourceArray,
2681         pub storage_buffers: root::ScResourceArray,
2682         pub stage_inputs: root::ScResourceArray,
2683         pub stage_outputs: root::ScResourceArray,
2684         pub subpass_inputs: root::ScResourceArray,
2685         pub storage_images: root::ScResourceArray,
2686         pub sampled_images: root::ScResourceArray,
2687         pub atomic_counters: root::ScResourceArray,
2688         pub push_constant_buffers: root::ScResourceArray,
2689         pub separate_images: root::ScResourceArray,
2690         pub separate_samplers: root::ScResourceArray,
2691     }
2692     #[repr(C)]
2693     #[derive(Debug, Copy, Clone)]
2694     pub struct ScSpecializationConstant {
2695         pub id: u32,
2696         pub constant_id: u32,
2697     }
2698     #[repr(C)]
2699     #[derive(Debug, Copy, Clone)]
2700     pub struct ScType {
2701         pub type_: root::spirv_cross::SPIRType_BaseType,
2702         pub vecsize: u32,
2703         pub columns: u32,
2704         pub member_types: *mut u32,
2705         pub member_types_size: usize,
2706         pub array: *mut u32,
2707         pub array_size: usize,
2708     }
2709     extern "C" {
sc_internal_get_latest_exception_message( message: *mut *const ::std::os::raw::c_char, ) -> root::ScInternalResult2710         pub fn sc_internal_get_latest_exception_message(
2711             message: *mut *const ::std::os::raw::c_char,
2712         ) -> root::ScInternalResult;
2713     }
2714     extern "C" {
sc_internal_compiler_hlsl_new( compiler: *mut *mut root::ScInternalCompilerHlsl, ir: *const u32, size: usize, ) -> root::ScInternalResult2715         pub fn sc_internal_compiler_hlsl_new(
2716             compiler: *mut *mut root::ScInternalCompilerHlsl,
2717             ir: *const u32,
2718             size: usize,
2719         ) -> root::ScInternalResult;
2720     }
2721     extern "C" {
sc_internal_compiler_hlsl_set_options( compiler: *const root::ScInternalCompilerHlsl, options: *const root::ScHlslCompilerOptions, ) -> root::ScInternalResult2722         pub fn sc_internal_compiler_hlsl_set_options(
2723             compiler: *const root::ScInternalCompilerHlsl,
2724             options: *const root::ScHlslCompilerOptions,
2725         ) -> root::ScInternalResult;
2726     }
2727     extern "C" {
sc_internal_compiler_hlsl_set_root_constant_layout( compiler: *const root::ScInternalCompilerHlsl, constants: *const root::ScHlslRootConstant, count: usize, ) -> root::ScInternalResult2728         pub fn sc_internal_compiler_hlsl_set_root_constant_layout(
2729             compiler: *const root::ScInternalCompilerHlsl,
2730             constants: *const root::ScHlslRootConstant,
2731             count: usize,
2732         ) -> root::ScInternalResult;
2733     }
2734     #[repr(C)]
2735     #[derive(Debug, Copy, Clone)]
2736     pub struct ScMslConstSamplerMapping {
2737         pub desc_set: u32,
2738         pub binding: u32,
2739         pub sampler: root::spirv_cross::MSLConstexprSampler,
2740     }
2741     extern "C" {
sc_internal_compiler_msl_new( compiler: *mut *mut root::ScInternalCompilerMsl, ir: *const u32, size: usize, ) -> root::ScInternalResult2742         pub fn sc_internal_compiler_msl_new(
2743             compiler: *mut *mut root::ScInternalCompilerMsl,
2744             ir: *const u32,
2745             size: usize,
2746         ) -> root::ScInternalResult;
2747     }
2748     extern "C" {
sc_internal_compiler_msl_set_options( compiler: *const root::ScInternalCompilerMsl, options: *const root::ScMslCompilerOptions, ) -> root::ScInternalResult2749         pub fn sc_internal_compiler_msl_set_options(
2750             compiler: *const root::ScInternalCompilerMsl,
2751             options: *const root::ScMslCompilerOptions,
2752         ) -> root::ScInternalResult;
2753     }
2754     extern "C" {
sc_internal_compiler_msl_get_is_rasterization_disabled( compiler: *const root::ScInternalCompilerMsl, is_rasterization_disabled: *mut bool, ) -> root::ScInternalResult2755         pub fn sc_internal_compiler_msl_get_is_rasterization_disabled(
2756             compiler: *const root::ScInternalCompilerMsl,
2757             is_rasterization_disabled: *mut bool,
2758         ) -> root::ScInternalResult;
2759     }
2760     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::MSLShaderInput, vat_override_count: usize, p_res_overrides: *const root::spirv_cross::MSLResourceBinding, res_override_count: usize, p_const_samplers: *const root::ScMslConstSamplerMapping, const_sampler_count: usize, ) -> root::ScInternalResult2761         pub fn sc_internal_compiler_msl_compile(
2762             compiler: *const root::ScInternalCompilerBase,
2763             shader: *mut *const ::std::os::raw::c_char,
2764             p_vat_overrides: *const root::spirv_cross::MSLShaderInput,
2765             vat_override_count: usize,
2766             p_res_overrides: *const root::spirv_cross::MSLResourceBinding,
2767             res_override_count: usize,
2768             p_const_samplers: *const root::ScMslConstSamplerMapping,
2769             const_sampler_count: usize,
2770         ) -> root::ScInternalResult;
2771     }
2772     extern "C" {
sc_internal_compiler_glsl_new( compiler: *mut *mut root::ScInternalCompilerGlsl, ir: *const u32, size: usize, ) -> root::ScInternalResult2773         pub fn sc_internal_compiler_glsl_new(
2774             compiler: *mut *mut root::ScInternalCompilerGlsl,
2775             ir: *const u32,
2776             size: usize,
2777         ) -> root::ScInternalResult;
2778     }
2779     extern "C" {
sc_internal_compiler_glsl_set_options( compiler: *const root::ScInternalCompilerGlsl, options: *const root::ScGlslCompilerOptions, ) -> root::ScInternalResult2780         pub fn sc_internal_compiler_glsl_set_options(
2781             compiler: *const root::ScInternalCompilerGlsl,
2782             options: *const root::ScGlslCompilerOptions,
2783         ) -> root::ScInternalResult;
2784     }
2785     extern "C" {
sc_internal_compiler_glsl_build_combined_image_samplers( compiler: *const root::ScInternalCompilerBase, ) -> root::ScInternalResult2786         pub fn sc_internal_compiler_glsl_build_combined_image_samplers(
2787             compiler: *const root::ScInternalCompilerBase,
2788         ) -> root::ScInternalResult;
2789     }
2790     extern "C" {
sc_internal_compiler_glsl_get_combined_image_samplers( compiler: *const root::ScInternalCompilerBase, samplers: *mut *const root::ScCombinedImageSampler, size: *mut usize, ) -> root::ScInternalResult2791         pub fn sc_internal_compiler_glsl_get_combined_image_samplers(
2792             compiler: *const root::ScInternalCompilerBase,
2793             samplers: *mut *const root::ScCombinedImageSampler,
2794             size: *mut usize,
2795         ) -> root::ScInternalResult;
2796     }
2797     extern "C" {
sc_internal_compiler_glsl_add_header_line( compiler: *const root::ScInternalCompilerBase, str: *const ::std::os::raw::c_char, ) -> root::ScInternalResult2798         pub fn sc_internal_compiler_glsl_add_header_line(
2799             compiler: *const root::ScInternalCompilerBase,
2800             str: *const ::std::os::raw::c_char,
2801         ) -> root::ScInternalResult;
2802     }
2803     extern "C" {
sc_internal_compiler_glsl_flatten_buffer_block( compiler: *const root::ScInternalCompilerBase, id: u32, ) -> root::ScInternalResult2804         pub fn sc_internal_compiler_glsl_flatten_buffer_block(
2805             compiler: *const root::ScInternalCompilerBase,
2806             id: u32,
2807         ) -> root::ScInternalResult;
2808     }
2809     extern "C" {
sc_internal_compiler_get_decoration( compiler: *const root::ScInternalCompilerBase, result: *mut u32, id: u32, decoration: root::spv::Decoration, ) -> root::ScInternalResult2810         pub fn sc_internal_compiler_get_decoration(
2811             compiler: *const root::ScInternalCompilerBase,
2812             result: *mut u32,
2813             id: u32,
2814             decoration: root::spv::Decoration,
2815         ) -> root::ScInternalResult;
2816     }
2817     extern "C" {
sc_internal_compiler_set_decoration( compiler: *const root::ScInternalCompilerBase, id: u32, decoration: root::spv::Decoration, argument: u32, ) -> root::ScInternalResult2818         pub fn sc_internal_compiler_set_decoration(
2819             compiler: *const root::ScInternalCompilerBase,
2820             id: u32,
2821             decoration: root::spv::Decoration,
2822             argument: u32,
2823         ) -> root::ScInternalResult;
2824     }
2825     extern "C" {
sc_internal_compiler_unset_decoration( compiler: *const root::ScInternalCompilerBase, id: u32, decoration: root::spv::Decoration, ) -> root::ScInternalResult2826         pub fn sc_internal_compiler_unset_decoration(
2827             compiler: *const root::ScInternalCompilerBase,
2828             id: u32,
2829             decoration: root::spv::Decoration,
2830         ) -> root::ScInternalResult;
2831     }
2832     extern "C" {
sc_internal_compiler_get_name( compiler: *const root::ScInternalCompilerBase, id: u32, name: *mut *const ::std::os::raw::c_char, ) -> root::ScInternalResult2833         pub fn sc_internal_compiler_get_name(
2834             compiler: *const root::ScInternalCompilerBase,
2835             id: u32,
2836             name: *mut *const ::std::os::raw::c_char,
2837         ) -> root::ScInternalResult;
2838     }
2839     extern "C" {
sc_internal_compiler_set_name( compiler: *const root::ScInternalCompilerBase, id: u32, name: *const ::std::os::raw::c_char, ) -> root::ScInternalResult2840         pub fn sc_internal_compiler_set_name(
2841             compiler: *const root::ScInternalCompilerBase,
2842             id: u32,
2843             name: *const ::std::os::raw::c_char,
2844         ) -> root::ScInternalResult;
2845     }
2846     extern "C" {
sc_internal_compiler_get_entry_points( compiler: *const root::ScInternalCompilerBase, entry_points: *mut *mut root::ScEntryPoint, size: *mut usize, ) -> root::ScInternalResult2847         pub fn sc_internal_compiler_get_entry_points(
2848             compiler: *const root::ScInternalCompilerBase,
2849             entry_points: *mut *mut root::ScEntryPoint,
2850             size: *mut usize,
2851         ) -> root::ScInternalResult;
2852     }
2853     extern "C" {
sc_internal_compiler_get_active_buffer_ranges( compiler: *const root::ScInternalCompilerBase, id: u32, active_buffer_ranges: *mut *mut root::ScBufferRange, size: *mut usize, ) -> root::ScInternalResult2854         pub fn sc_internal_compiler_get_active_buffer_ranges(
2855             compiler: *const root::ScInternalCompilerBase,
2856             id: u32,
2857             active_buffer_ranges: *mut *mut root::ScBufferRange,
2858             size: *mut usize,
2859         ) -> root::ScInternalResult;
2860     }
2861     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::ScInternalResult2862         pub fn sc_internal_compiler_get_cleansed_entry_point_name(
2863             compiler: *const root::ScInternalCompilerBase,
2864             original_entry_point_name: *const ::std::os::raw::c_char,
2865             execution_model: root::spv::ExecutionModel,
2866             compiled_entry_point_name: *mut *const ::std::os::raw::c_char,
2867         ) -> root::ScInternalResult;
2868     }
2869     extern "C" {
sc_internal_compiler_get_shader_resources( compiler: *const root::ScInternalCompilerBase, shader_resources: *mut root::ScShaderResources, ) -> root::ScInternalResult2870         pub fn sc_internal_compiler_get_shader_resources(
2871             compiler: *const root::ScInternalCompilerBase,
2872             shader_resources: *mut root::ScShaderResources,
2873         ) -> root::ScInternalResult;
2874     }
2875     extern "C" {
sc_internal_compiler_get_specialization_constants( compiler: *const root::ScInternalCompilerBase, constants: *mut *mut root::ScSpecializationConstant, size: *mut usize, ) -> root::ScInternalResult2876         pub fn sc_internal_compiler_get_specialization_constants(
2877             compiler: *const root::ScInternalCompilerBase,
2878             constants: *mut *mut root::ScSpecializationConstant,
2879             size: *mut usize,
2880         ) -> root::ScInternalResult;
2881     }
2882     extern "C" {
sc_internal_compiler_set_scalar_constant( compiler: *const root::ScInternalCompilerBase, id: u32, constant_high_bits: u32, constant_low_bits: u32, ) -> root::ScInternalResult2883         pub fn sc_internal_compiler_set_scalar_constant(
2884             compiler: *const root::ScInternalCompilerBase,
2885             id: u32,
2886             constant_high_bits: u32,
2887             constant_low_bits: u32,
2888         ) -> root::ScInternalResult;
2889     }
2890     extern "C" {
sc_internal_compiler_get_type( compiler: *const root::ScInternalCompilerBase, id: u32, spirv_type: *mut *const root::ScType, ) -> root::ScInternalResult2891         pub fn sc_internal_compiler_get_type(
2892             compiler: *const root::ScInternalCompilerBase,
2893             id: u32,
2894             spirv_type: *mut *const root::ScType,
2895         ) -> root::ScInternalResult;
2896     }
2897     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::ScInternalResult2898         pub fn sc_internal_compiler_get_member_name(
2899             compiler: *const root::ScInternalCompilerBase,
2900             id: u32,
2901             index: u32,
2902             name: *mut *const ::std::os::raw::c_char,
2903         ) -> root::ScInternalResult;
2904     }
2905     extern "C" {
sc_internal_compiler_get_member_decoration( compiler: *const root::ScInternalCompilerBase, id: u32, index: u32, decoration: root::spv::Decoration, result: *mut u32, ) -> root::ScInternalResult2906         pub fn sc_internal_compiler_get_member_decoration(
2907             compiler: *const root::ScInternalCompilerBase,
2908             id: u32,
2909             index: u32,
2910             decoration: root::spv::Decoration,
2911             result: *mut u32,
2912         ) -> root::ScInternalResult;
2913     }
2914     extern "C" {
sc_internal_compiler_set_member_decoration( compiler: *const root::ScInternalCompilerBase, id: u32, index: u32, decoration: root::spv::Decoration, argument: u32, ) -> root::ScInternalResult2915         pub fn sc_internal_compiler_set_member_decoration(
2916             compiler: *const root::ScInternalCompilerBase,
2917             id: u32,
2918             index: u32,
2919             decoration: root::spv::Decoration,
2920             argument: u32,
2921         ) -> root::ScInternalResult;
2922     }
2923     extern "C" {
sc_internal_compiler_get_declared_struct_size( compiler: *const root::ScInternalCompilerBase, id: u32, result: *mut u32, ) -> root::ScInternalResult2924         pub fn sc_internal_compiler_get_declared_struct_size(
2925             compiler: *const root::ScInternalCompilerBase,
2926             id: u32,
2927             result: *mut u32,
2928         ) -> root::ScInternalResult;
2929     }
2930     extern "C" {
sc_internal_compiler_get_declared_struct_member_size( compiler: *const root::ScInternalCompilerBase, id: u32, index: u32, result: *mut u32, ) -> root::ScInternalResult2931         pub fn sc_internal_compiler_get_declared_struct_member_size(
2932             compiler: *const root::ScInternalCompilerBase,
2933             id: u32,
2934             index: u32,
2935             result: *mut u32,
2936         ) -> root::ScInternalResult;
2937     }
2938     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::ScInternalResult2939         pub fn sc_internal_compiler_rename_interface_variable(
2940             compiler: *const root::ScInternalCompilerBase,
2941             resources: *const root::ScResource,
2942             resources_size: usize,
2943             location: u32,
2944             name: *const ::std::os::raw::c_char,
2945         ) -> root::ScInternalResult;
2946     }
2947     extern "C" {
sc_internal_compiler_get_work_group_size_specialization_constants( compiler: *const root::ScInternalCompilerBase, constants: *mut *mut root::ScSpecializationConstant, ) -> root::ScInternalResult2948         pub fn sc_internal_compiler_get_work_group_size_specialization_constants(
2949             compiler: *const root::ScInternalCompilerBase,
2950             constants: *mut *mut root::ScSpecializationConstant,
2951         ) -> root::ScInternalResult;
2952     }
2953     extern "C" {
sc_internal_compiler_set_entry_point( compiler: *const root::ScInternalCompilerBase, name: *const ::std::os::raw::c_char, execution_model: root::spv::ExecutionModel, ) -> root::ScInternalResult2954         pub fn sc_internal_compiler_set_entry_point(
2955             compiler: *const root::ScInternalCompilerBase,
2956             name: *const ::std::os::raw::c_char,
2957             execution_model: root::spv::ExecutionModel,
2958         ) -> root::ScInternalResult;
2959     }
2960     extern "C" {
sc_internal_compiler_compile( compiler: *const root::ScInternalCompilerBase, shader: *mut *const ::std::os::raw::c_char, ) -> root::ScInternalResult2961         pub fn sc_internal_compiler_compile(
2962             compiler: *const root::ScInternalCompilerBase,
2963             shader: *mut *const ::std::os::raw::c_char,
2964         ) -> root::ScInternalResult;
2965     }
2966     extern "C" {
sc_internal_compiler_delete( compiler: *mut root::ScInternalCompilerBase, ) -> root::ScInternalResult2967         pub fn sc_internal_compiler_delete(
2968             compiler: *mut root::ScInternalCompilerBase,
2969         ) -> root::ScInternalResult;
2970     }
2971     extern "C" {
sc_internal_free_pointer( pointer: *mut ::std::os::raw::c_void, ) -> root::ScInternalResult2972         pub fn sc_internal_free_pointer(
2973             pointer: *mut ::std::os::raw::c_void,
2974         ) -> root::ScInternalResult;
2975     }
2976 }
2977