1#[repr(transparent)]
4#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
5pub struct SpvId(pub crate::ctypes::c_uint);
6impl SpvExecutionModel {
7 pub const Vertex: SpvExecutionModel = SpvExecutionModel(0);
8}
9impl SpvExecutionModel {
10 pub const TessellationControl: SpvExecutionModel = SpvExecutionModel(1);
11}
12impl SpvExecutionModel {
13 pub const TessellationEvaluation: SpvExecutionModel = SpvExecutionModel(2);
14}
15impl SpvExecutionModel {
16 pub const Geometry: SpvExecutionModel = SpvExecutionModel(3);
17}
18impl SpvExecutionModel {
19 pub const Fragment: SpvExecutionModel = SpvExecutionModel(4);
20}
21impl SpvExecutionModel {
22 pub const GLCompute: SpvExecutionModel = SpvExecutionModel(5);
23}
24impl SpvExecutionModel {
25 pub const Kernel: SpvExecutionModel = SpvExecutionModel(6);
26}
27impl SpvExecutionModel {
28 pub const TaskNV: SpvExecutionModel = SpvExecutionModel(5267);
29}
30impl SpvExecutionModel {
31 pub const MeshNV: SpvExecutionModel = SpvExecutionModel(5268);
32}
33impl SpvExecutionModel {
34 pub const RayGenerationKHR: SpvExecutionModel = SpvExecutionModel(5313);
35}
36impl SpvExecutionModel {
37 pub const RayGenerationNV: SpvExecutionModel = SpvExecutionModel(5313);
38}
39impl SpvExecutionModel {
40 pub const IntersectionKHR: SpvExecutionModel = SpvExecutionModel(5314);
41}
42impl SpvExecutionModel {
43 pub const IntersectionNV: SpvExecutionModel = SpvExecutionModel(5314);
44}
45impl SpvExecutionModel {
46 pub const AnyHitKHR: SpvExecutionModel = SpvExecutionModel(5315);
47}
48impl SpvExecutionModel {
49 pub const AnyHitNV: SpvExecutionModel = SpvExecutionModel(5315);
50}
51impl SpvExecutionModel {
52 pub const ClosestHitKHR: SpvExecutionModel = SpvExecutionModel(5316);
53}
54impl SpvExecutionModel {
55 pub const ClosestHitNV: SpvExecutionModel = SpvExecutionModel(5316);
56}
57impl SpvExecutionModel {
58 pub const MissKHR: SpvExecutionModel = SpvExecutionModel(5317);
59}
60impl SpvExecutionModel {
61 pub const MissNV: SpvExecutionModel = SpvExecutionModel(5317);
62}
63impl SpvExecutionModel {
64 pub const CallableKHR: SpvExecutionModel = SpvExecutionModel(5318);
65}
66impl SpvExecutionModel {
67 pub const CallableNV: SpvExecutionModel = SpvExecutionModel(5318);
68}
69impl SpvExecutionModel {
70 pub const TaskEXT: SpvExecutionModel = SpvExecutionModel(5364);
71}
72impl SpvExecutionModel {
73 pub const MeshEXT: SpvExecutionModel = SpvExecutionModel(5365);
74}
75impl SpvExecutionModel {
76 pub const Max: SpvExecutionModel = SpvExecutionModel(2147483647);
77}
78#[repr(transparent)]
79#[derive(
80 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
81)]
82pub struct SpvExecutionModel(pub i32);
83impl SpvExecutionMode {
84 pub const Invocations: SpvExecutionMode = SpvExecutionMode(0);
85}
86impl SpvExecutionMode {
87 pub const SpacingEqual: SpvExecutionMode = SpvExecutionMode(1);
88}
89impl SpvExecutionMode {
90 pub const SpacingFractionalEven: SpvExecutionMode = SpvExecutionMode(2);
91}
92impl SpvExecutionMode {
93 pub const SpacingFractionalOdd: SpvExecutionMode = SpvExecutionMode(3);
94}
95impl SpvExecutionMode {
96 pub const VertexOrderCw: SpvExecutionMode = SpvExecutionMode(4);
97}
98impl SpvExecutionMode {
99 pub const VertexOrderCcw: SpvExecutionMode = SpvExecutionMode(5);
100}
101impl SpvExecutionMode {
102 pub const PixelCenterInteger: SpvExecutionMode = SpvExecutionMode(6);
103}
104impl SpvExecutionMode {
105 pub const OriginUpperLeft: SpvExecutionMode = SpvExecutionMode(7);
106}
107impl SpvExecutionMode {
108 pub const OriginLowerLeft: SpvExecutionMode = SpvExecutionMode(8);
109}
110impl SpvExecutionMode {
111 pub const EarlyFragmentTests: SpvExecutionMode = SpvExecutionMode(9);
112}
113impl SpvExecutionMode {
114 pub const PointMode: SpvExecutionMode = SpvExecutionMode(10);
115}
116impl SpvExecutionMode {
117 pub const Xfb: SpvExecutionMode = SpvExecutionMode(11);
118}
119impl SpvExecutionMode {
120 pub const DepthReplacing: SpvExecutionMode = SpvExecutionMode(12);
121}
122impl SpvExecutionMode {
123 pub const DepthGreater: SpvExecutionMode = SpvExecutionMode(14);
124}
125impl SpvExecutionMode {
126 pub const DepthLess: SpvExecutionMode = SpvExecutionMode(15);
127}
128impl SpvExecutionMode {
129 pub const DepthUnchanged: SpvExecutionMode = SpvExecutionMode(16);
130}
131impl SpvExecutionMode {
132 pub const LocalSize: SpvExecutionMode = SpvExecutionMode(17);
133}
134impl SpvExecutionMode {
135 pub const LocalSizeHint: SpvExecutionMode = SpvExecutionMode(18);
136}
137impl SpvExecutionMode {
138 pub const InputPoints: SpvExecutionMode = SpvExecutionMode(19);
139}
140impl SpvExecutionMode {
141 pub const InputLines: SpvExecutionMode = SpvExecutionMode(20);
142}
143impl SpvExecutionMode {
144 pub const InputLinesAdjacency: SpvExecutionMode = SpvExecutionMode(21);
145}
146impl SpvExecutionMode {
147 pub const Triangles: SpvExecutionMode = SpvExecutionMode(22);
148}
149impl SpvExecutionMode {
150 pub const InputTrianglesAdjacency: SpvExecutionMode = SpvExecutionMode(23);
151}
152impl SpvExecutionMode {
153 pub const Quads: SpvExecutionMode = SpvExecutionMode(24);
154}
155impl SpvExecutionMode {
156 pub const Isolines: SpvExecutionMode = SpvExecutionMode(25);
157}
158impl SpvExecutionMode {
159 pub const OutputVertices: SpvExecutionMode = SpvExecutionMode(26);
160}
161impl SpvExecutionMode {
162 pub const OutputPoints: SpvExecutionMode = SpvExecutionMode(27);
163}
164impl SpvExecutionMode {
165 pub const OutputLineStrip: SpvExecutionMode = SpvExecutionMode(28);
166}
167impl SpvExecutionMode {
168 pub const OutputTriangleStrip: SpvExecutionMode = SpvExecutionMode(29);
169}
170impl SpvExecutionMode {
171 pub const VecTypeHint: SpvExecutionMode = SpvExecutionMode(30);
172}
173impl SpvExecutionMode {
174 pub const ContractionOff: SpvExecutionMode = SpvExecutionMode(31);
175}
176impl SpvExecutionMode {
177 pub const Initializer: SpvExecutionMode = SpvExecutionMode(33);
178}
179impl SpvExecutionMode {
180 pub const Finalizer: SpvExecutionMode = SpvExecutionMode(34);
181}
182impl SpvExecutionMode {
183 pub const SubgroupSize: SpvExecutionMode = SpvExecutionMode(35);
184}
185impl SpvExecutionMode {
186 pub const SubgroupsPerWorkgroup: SpvExecutionMode = SpvExecutionMode(36);
187}
188impl SpvExecutionMode {
189 pub const SubgroupsPerWorkgroupId: SpvExecutionMode = SpvExecutionMode(37);
190}
191impl SpvExecutionMode {
192 pub const LocalSizeId: SpvExecutionMode = SpvExecutionMode(38);
193}
194impl SpvExecutionMode {
195 pub const LocalSizeHintId: SpvExecutionMode = SpvExecutionMode(39);
196}
197impl SpvExecutionMode {
198 pub const SubgroupUniformControlFlowKHR: SpvExecutionMode = SpvExecutionMode(4421);
199}
200impl SpvExecutionMode {
201 pub const PostDepthCoverage: SpvExecutionMode = SpvExecutionMode(4446);
202}
203impl SpvExecutionMode {
204 pub const DenormPreserve: SpvExecutionMode = SpvExecutionMode(4459);
205}
206impl SpvExecutionMode {
207 pub const DenormFlushToZero: SpvExecutionMode = SpvExecutionMode(4460);
208}
209impl SpvExecutionMode {
210 pub const SignedZeroInfNanPreserve: SpvExecutionMode = SpvExecutionMode(4461);
211}
212impl SpvExecutionMode {
213 pub const RoundingModeRTE: SpvExecutionMode = SpvExecutionMode(4462);
214}
215impl SpvExecutionMode {
216 pub const RoundingModeRTZ: SpvExecutionMode = SpvExecutionMode(4463);
217}
218impl SpvExecutionMode {
219 pub const EarlyAndLateFragmentTestsAMD: SpvExecutionMode = SpvExecutionMode(5017);
220}
221impl SpvExecutionMode {
222 pub const StencilRefReplacingEXT: SpvExecutionMode = SpvExecutionMode(5027);
223}
224impl SpvExecutionMode {
225 pub const StencilRefUnchangedFrontAMD: SpvExecutionMode = SpvExecutionMode(5079);
226}
227impl SpvExecutionMode {
228 pub const StencilRefGreaterFrontAMD: SpvExecutionMode = SpvExecutionMode(5080);
229}
230impl SpvExecutionMode {
231 pub const StencilRefLessFrontAMD: SpvExecutionMode = SpvExecutionMode(5081);
232}
233impl SpvExecutionMode {
234 pub const StencilRefUnchangedBackAMD: SpvExecutionMode = SpvExecutionMode(5082);
235}
236impl SpvExecutionMode {
237 pub const StencilRefGreaterBackAMD: SpvExecutionMode = SpvExecutionMode(5083);
238}
239impl SpvExecutionMode {
240 pub const StencilRefLessBackAMD: SpvExecutionMode = SpvExecutionMode(5084);
241}
242impl SpvExecutionMode {
243 pub const OutputLinesEXT: SpvExecutionMode = SpvExecutionMode(5269);
244}
245impl SpvExecutionMode {
246 pub const OutputLinesNV: SpvExecutionMode = SpvExecutionMode(5269);
247}
248impl SpvExecutionMode {
249 pub const OutputPrimitivesEXT: SpvExecutionMode = SpvExecutionMode(5270);
250}
251impl SpvExecutionMode {
252 pub const OutputPrimitivesNV: SpvExecutionMode = SpvExecutionMode(5270);
253}
254impl SpvExecutionMode {
255 pub const DerivativeGroupQuadsNV: SpvExecutionMode = SpvExecutionMode(5289);
256}
257impl SpvExecutionMode {
258 pub const DerivativeGroupLinearNV: SpvExecutionMode = SpvExecutionMode(5290);
259}
260impl SpvExecutionMode {
261 pub const OutputTrianglesEXT: SpvExecutionMode = SpvExecutionMode(5298);
262}
263impl SpvExecutionMode {
264 pub const OutputTrianglesNV: SpvExecutionMode = SpvExecutionMode(5298);
265}
266impl SpvExecutionMode {
267 pub const PixelInterlockOrderedEXT: SpvExecutionMode = SpvExecutionMode(5366);
268}
269impl SpvExecutionMode {
270 pub const PixelInterlockUnorderedEXT: SpvExecutionMode = SpvExecutionMode(5367);
271}
272impl SpvExecutionMode {
273 pub const SampleInterlockOrderedEXT: SpvExecutionMode = SpvExecutionMode(5368);
274}
275impl SpvExecutionMode {
276 pub const SampleInterlockUnorderedEXT: SpvExecutionMode = SpvExecutionMode(5369);
277}
278impl SpvExecutionMode {
279 pub const ShadingRateInterlockOrderedEXT: SpvExecutionMode = SpvExecutionMode(5370);
280}
281impl SpvExecutionMode {
282 pub const ShadingRateInterlockUnorderedEXT: SpvExecutionMode = SpvExecutionMode(5371);
283}
284impl SpvExecutionMode {
285 pub const SharedLocalMemorySizeINTEL: SpvExecutionMode = SpvExecutionMode(5618);
286}
287impl SpvExecutionMode {
288 pub const RoundingModeRTPINTEL: SpvExecutionMode = SpvExecutionMode(5620);
289}
290impl SpvExecutionMode {
291 pub const RoundingModeRTNINTEL: SpvExecutionMode = SpvExecutionMode(5621);
292}
293impl SpvExecutionMode {
294 pub const FloatingPointModeALTINTEL: SpvExecutionMode = SpvExecutionMode(5622);
295}
296impl SpvExecutionMode {
297 pub const FloatingPointModeIEEEINTEL: SpvExecutionMode = SpvExecutionMode(5623);
298}
299impl SpvExecutionMode {
300 pub const MaxWorkgroupSizeINTEL: SpvExecutionMode = SpvExecutionMode(5893);
301}
302impl SpvExecutionMode {
303 pub const MaxWorkDimINTEL: SpvExecutionMode = SpvExecutionMode(5894);
304}
305impl SpvExecutionMode {
306 pub const NoGlobalOffsetINTEL: SpvExecutionMode = SpvExecutionMode(5895);
307}
308impl SpvExecutionMode {
309 pub const NumSIMDWorkitemsINTEL: SpvExecutionMode = SpvExecutionMode(5896);
310}
311impl SpvExecutionMode {
312 pub const SchedulerTargetFmaxMhzINTEL: SpvExecutionMode = SpvExecutionMode(5903);
313}
314impl SpvExecutionMode {
315 pub const NamedBarrierCountINTEL: SpvExecutionMode = SpvExecutionMode(6417);
316}
317impl SpvExecutionMode {
318 pub const Max: SpvExecutionMode = SpvExecutionMode(2147483647);
319}
320#[repr(transparent)]
321#[derive(
322 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
323)]
324pub struct SpvExecutionMode(pub i32);
325impl SpvStorageClass {
326 pub const UniformConstant: SpvStorageClass = SpvStorageClass(0);
327}
328impl SpvStorageClass {
329 pub const Input: SpvStorageClass = SpvStorageClass(1);
330}
331impl SpvStorageClass {
332 pub const Uniform: SpvStorageClass = SpvStorageClass(2);
333}
334impl SpvStorageClass {
335 pub const Output: SpvStorageClass = SpvStorageClass(3);
336}
337impl SpvStorageClass {
338 pub const Workgroup: SpvStorageClass = SpvStorageClass(4);
339}
340impl SpvStorageClass {
341 pub const CrossWorkgroup: SpvStorageClass = SpvStorageClass(5);
342}
343impl SpvStorageClass {
344 pub const Private: SpvStorageClass = SpvStorageClass(6);
345}
346impl SpvStorageClass {
347 pub const Function: SpvStorageClass = SpvStorageClass(7);
348}
349impl SpvStorageClass {
350 pub const Generic: SpvStorageClass = SpvStorageClass(8);
351}
352impl SpvStorageClass {
353 pub const PushConstant: SpvStorageClass = SpvStorageClass(9);
354}
355impl SpvStorageClass {
356 pub const AtomicCounter: SpvStorageClass = SpvStorageClass(10);
357}
358impl SpvStorageClass {
359 pub const Image: SpvStorageClass = SpvStorageClass(11);
360}
361impl SpvStorageClass {
362 pub const StorageBuffer: SpvStorageClass = SpvStorageClass(12);
363}
364impl SpvStorageClass {
365 pub const CallableDataKHR: SpvStorageClass = SpvStorageClass(5328);
366}
367impl SpvStorageClass {
368 pub const CallableDataNV: SpvStorageClass = SpvStorageClass(5328);
369}
370impl SpvStorageClass {
371 pub const IncomingCallableDataKHR: SpvStorageClass = SpvStorageClass(5329);
372}
373impl SpvStorageClass {
374 pub const IncomingCallableDataNV: SpvStorageClass = SpvStorageClass(5329);
375}
376impl SpvStorageClass {
377 pub const RayPayloadKHR: SpvStorageClass = SpvStorageClass(5338);
378}
379impl SpvStorageClass {
380 pub const RayPayloadNV: SpvStorageClass = SpvStorageClass(5338);
381}
382impl SpvStorageClass {
383 pub const HitAttributeKHR: SpvStorageClass = SpvStorageClass(5339);
384}
385impl SpvStorageClass {
386 pub const HitAttributeNV: SpvStorageClass = SpvStorageClass(5339);
387}
388impl SpvStorageClass {
389 pub const IncomingRayPayloadKHR: SpvStorageClass = SpvStorageClass(5342);
390}
391impl SpvStorageClass {
392 pub const IncomingRayPayloadNV: SpvStorageClass = SpvStorageClass(5342);
393}
394impl SpvStorageClass {
395 pub const ShaderRecordBufferKHR: SpvStorageClass = SpvStorageClass(5343);
396}
397impl SpvStorageClass {
398 pub const ShaderRecordBufferNV: SpvStorageClass = SpvStorageClass(5343);
399}
400impl SpvStorageClass {
401 pub const PhysicalStorageBuffer: SpvStorageClass = SpvStorageClass(5349);
402}
403impl SpvStorageClass {
404 pub const PhysicalStorageBufferEXT: SpvStorageClass = SpvStorageClass(5349);
405}
406impl SpvStorageClass {
407 pub const TaskPayloadWorkgroupEXT: SpvStorageClass = SpvStorageClass(5402);
408}
409impl SpvStorageClass {
410 pub const CodeSectionINTEL: SpvStorageClass = SpvStorageClass(5605);
411}
412impl SpvStorageClass {
413 pub const DeviceOnlyINTEL: SpvStorageClass = SpvStorageClass(5936);
414}
415impl SpvStorageClass {
416 pub const HostOnlyINTEL: SpvStorageClass = SpvStorageClass(5937);
417}
418impl SpvStorageClass {
419 pub const Max: SpvStorageClass = SpvStorageClass(2147483647);
420}
421#[repr(transparent)]
422#[derive(
423 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
424)]
425pub struct SpvStorageClass(pub i32);
426impl SpvDim {
427 pub const Dim1D: SpvDim = SpvDim(0);
428}
429impl SpvDim {
430 pub const Dim2D: SpvDim = SpvDim(1);
431}
432impl SpvDim {
433 pub const Dim3D: SpvDim = SpvDim(2);
434}
435impl SpvDim {
436 pub const DimCube: SpvDim = SpvDim(3);
437}
438impl SpvDim {
439 pub const DimRect: SpvDim = SpvDim(4);
440}
441impl SpvDim {
442 pub const DimBuffer: SpvDim = SpvDim(5);
443}
444impl SpvDim {
445 pub const DimSubpassData: SpvDim = SpvDim(6);
446}
447impl SpvDim {
448 pub const DimMax: SpvDim = SpvDim(2147483647);
449}
450#[repr(transparent)]
451#[derive(
452 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
453)]
454pub struct SpvDim(pub i32);
455impl SpvImageFormat {
456 pub const Unknown: SpvImageFormat = SpvImageFormat(0);
457}
458impl SpvImageFormat {
459 pub const Rgba32f: SpvImageFormat = SpvImageFormat(1);
460}
461impl SpvImageFormat {
462 pub const Rgba16f: SpvImageFormat = SpvImageFormat(2);
463}
464impl SpvImageFormat {
465 pub const R32f: SpvImageFormat = SpvImageFormat(3);
466}
467impl SpvImageFormat {
468 pub const Rgba8: SpvImageFormat = SpvImageFormat(4);
469}
470impl SpvImageFormat {
471 pub const Rgba8Snorm: SpvImageFormat = SpvImageFormat(5);
472}
473impl SpvImageFormat {
474 pub const Rg32f: SpvImageFormat = SpvImageFormat(6);
475}
476impl SpvImageFormat {
477 pub const Rg16f: SpvImageFormat = SpvImageFormat(7);
478}
479impl SpvImageFormat {
480 pub const R11fG11fB10f: SpvImageFormat = SpvImageFormat(8);
481}
482impl SpvImageFormat {
483 pub const R16f: SpvImageFormat = SpvImageFormat(9);
484}
485impl SpvImageFormat {
486 pub const Rgba16: SpvImageFormat = SpvImageFormat(10);
487}
488impl SpvImageFormat {
489 pub const Rgb10A2: SpvImageFormat = SpvImageFormat(11);
490}
491impl SpvImageFormat {
492 pub const Rg16: SpvImageFormat = SpvImageFormat(12);
493}
494impl SpvImageFormat {
495 pub const Rg8: SpvImageFormat = SpvImageFormat(13);
496}
497impl SpvImageFormat {
498 pub const R16: SpvImageFormat = SpvImageFormat(14);
499}
500impl SpvImageFormat {
501 pub const R8: SpvImageFormat = SpvImageFormat(15);
502}
503impl SpvImageFormat {
504 pub const Rgba16Snorm: SpvImageFormat = SpvImageFormat(16);
505}
506impl SpvImageFormat {
507 pub const Rg16Snorm: SpvImageFormat = SpvImageFormat(17);
508}
509impl SpvImageFormat {
510 pub const Rg8Snorm: SpvImageFormat = SpvImageFormat(18);
511}
512impl SpvImageFormat {
513 pub const R16Snorm: SpvImageFormat = SpvImageFormat(19);
514}
515impl SpvImageFormat {
516 pub const R8Snorm: SpvImageFormat = SpvImageFormat(20);
517}
518impl SpvImageFormat {
519 pub const Rgba32i: SpvImageFormat = SpvImageFormat(21);
520}
521impl SpvImageFormat {
522 pub const Rgba16i: SpvImageFormat = SpvImageFormat(22);
523}
524impl SpvImageFormat {
525 pub const Rgba8i: SpvImageFormat = SpvImageFormat(23);
526}
527impl SpvImageFormat {
528 pub const R32i: SpvImageFormat = SpvImageFormat(24);
529}
530impl SpvImageFormat {
531 pub const Rg32i: SpvImageFormat = SpvImageFormat(25);
532}
533impl SpvImageFormat {
534 pub const Rg16i: SpvImageFormat = SpvImageFormat(26);
535}
536impl SpvImageFormat {
537 pub const Rg8i: SpvImageFormat = SpvImageFormat(27);
538}
539impl SpvImageFormat {
540 pub const R16i: SpvImageFormat = SpvImageFormat(28);
541}
542impl SpvImageFormat {
543 pub const R8i: SpvImageFormat = SpvImageFormat(29);
544}
545impl SpvImageFormat {
546 pub const Rgba32ui: SpvImageFormat = SpvImageFormat(30);
547}
548impl SpvImageFormat {
549 pub const Rgba16ui: SpvImageFormat = SpvImageFormat(31);
550}
551impl SpvImageFormat {
552 pub const Rgba8ui: SpvImageFormat = SpvImageFormat(32);
553}
554impl SpvImageFormat {
555 pub const R32ui: SpvImageFormat = SpvImageFormat(33);
556}
557impl SpvImageFormat {
558 pub const Rgb10a2ui: SpvImageFormat = SpvImageFormat(34);
559}
560impl SpvImageFormat {
561 pub const Rg32ui: SpvImageFormat = SpvImageFormat(35);
562}
563impl SpvImageFormat {
564 pub const Rg16ui: SpvImageFormat = SpvImageFormat(36);
565}
566impl SpvImageFormat {
567 pub const Rg8ui: SpvImageFormat = SpvImageFormat(37);
568}
569impl SpvImageFormat {
570 pub const R16ui: SpvImageFormat = SpvImageFormat(38);
571}
572impl SpvImageFormat {
573 pub const R8ui: SpvImageFormat = SpvImageFormat(39);
574}
575impl SpvImageFormat {
576 pub const R64ui: SpvImageFormat = SpvImageFormat(40);
577}
578impl SpvImageFormat {
579 pub const R64i: SpvImageFormat = SpvImageFormat(41);
580}
581impl SpvImageFormat {
582 pub const Max: SpvImageFormat = SpvImageFormat(2147483647);
583}
584#[repr(transparent)]
585#[derive(
586 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
587)]
588pub struct SpvImageFormat(pub i32);
589impl SpvFPRoundingMode {
590 pub const RTE: SpvFPRoundingMode = SpvFPRoundingMode(0);
591}
592impl SpvFPRoundingMode {
593 pub const RTZ: SpvFPRoundingMode = SpvFPRoundingMode(1);
594}
595impl SpvFPRoundingMode {
596 pub const RTP: SpvFPRoundingMode = SpvFPRoundingMode(2);
597}
598impl SpvFPRoundingMode {
599 pub const RTN: SpvFPRoundingMode = SpvFPRoundingMode(3);
600}
601impl SpvFPRoundingMode {
602 pub const Max: SpvFPRoundingMode = SpvFPRoundingMode(2147483647);
603}
604#[repr(transparent)]
605#[derive(
606 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
607)]
608pub struct SpvFPRoundingMode(pub i32);
609pub const SpvAccessQualifier_ReadOnly: SpvAccessQualifier = 0;
610pub const SpvAccessQualifier_WriteOnly: SpvAccessQualifier = 1;
611pub const SpvAccessQualifier_ReadWrite: SpvAccessQualifier = 2;
612pub const SpvAccessQualifier_Max: SpvAccessQualifier = 2147483647;
613pub type SpvAccessQualifier = i32;
614impl SpvDecoration {
615 pub const RelaxedPrecision: SpvDecoration = SpvDecoration(0);
616}
617impl SpvDecoration {
618 pub const SpecId: SpvDecoration = SpvDecoration(1);
619}
620impl SpvDecoration {
621 pub const Block: SpvDecoration = SpvDecoration(2);
622}
623impl SpvDecoration {
624 pub const BufferBlock: SpvDecoration = SpvDecoration(3);
625}
626impl SpvDecoration {
627 pub const RowMajor: SpvDecoration = SpvDecoration(4);
628}
629impl SpvDecoration {
630 pub const ColMajor: SpvDecoration = SpvDecoration(5);
631}
632impl SpvDecoration {
633 pub const ArrayStride: SpvDecoration = SpvDecoration(6);
634}
635impl SpvDecoration {
636 pub const MatrixStride: SpvDecoration = SpvDecoration(7);
637}
638impl SpvDecoration {
639 pub const GLSLShared: SpvDecoration = SpvDecoration(8);
640}
641impl SpvDecoration {
642 pub const GLSLPacked: SpvDecoration = SpvDecoration(9);
643}
644impl SpvDecoration {
645 pub const CPacked: SpvDecoration = SpvDecoration(10);
646}
647impl SpvDecoration {
648 pub const BuiltIn: SpvDecoration = SpvDecoration(11);
649}
650impl SpvDecoration {
651 pub const NoPerspective: SpvDecoration = SpvDecoration(13);
652}
653impl SpvDecoration {
654 pub const Flat: SpvDecoration = SpvDecoration(14);
655}
656impl SpvDecoration {
657 pub const Patch: SpvDecoration = SpvDecoration(15);
658}
659impl SpvDecoration {
660 pub const Centroid: SpvDecoration = SpvDecoration(16);
661}
662impl SpvDecoration {
663 pub const Sample: SpvDecoration = SpvDecoration(17);
664}
665impl SpvDecoration {
666 pub const Invariant: SpvDecoration = SpvDecoration(18);
667}
668impl SpvDecoration {
669 pub const Restrict: SpvDecoration = SpvDecoration(19);
670}
671impl SpvDecoration {
672 pub const Aliased: SpvDecoration = SpvDecoration(20);
673}
674impl SpvDecoration {
675 pub const Volatile: SpvDecoration = SpvDecoration(21);
676}
677impl SpvDecoration {
678 pub const Constant: SpvDecoration = SpvDecoration(22);
679}
680impl SpvDecoration {
681 pub const Coherent: SpvDecoration = SpvDecoration(23);
682}
683impl SpvDecoration {
684 pub const NonWritable: SpvDecoration = SpvDecoration(24);
685}
686impl SpvDecoration {
687 pub const NonReadable: SpvDecoration = SpvDecoration(25);
688}
689impl SpvDecoration {
690 pub const Uniform: SpvDecoration = SpvDecoration(26);
691}
692impl SpvDecoration {
693 pub const UniformId: SpvDecoration = SpvDecoration(27);
694}
695impl SpvDecoration {
696 pub const SaturatedConversion: SpvDecoration = SpvDecoration(28);
697}
698impl SpvDecoration {
699 pub const Stream: SpvDecoration = SpvDecoration(29);
700}
701impl SpvDecoration {
702 pub const Location: SpvDecoration = SpvDecoration(30);
703}
704impl SpvDecoration {
705 pub const Component: SpvDecoration = SpvDecoration(31);
706}
707impl SpvDecoration {
708 pub const Index: SpvDecoration = SpvDecoration(32);
709}
710impl SpvDecoration {
711 pub const Binding: SpvDecoration = SpvDecoration(33);
712}
713impl SpvDecoration {
714 pub const DescriptorSet: SpvDecoration = SpvDecoration(34);
715}
716impl SpvDecoration {
717 pub const Offset: SpvDecoration = SpvDecoration(35);
718}
719impl SpvDecoration {
720 pub const XfbBuffer: SpvDecoration = SpvDecoration(36);
721}
722impl SpvDecoration {
723 pub const XfbStride: SpvDecoration = SpvDecoration(37);
724}
725impl SpvDecoration {
726 pub const FuncParamAttr: SpvDecoration = SpvDecoration(38);
727}
728impl SpvDecoration {
729 pub const FPRoundingMode: SpvDecoration = SpvDecoration(39);
730}
731impl SpvDecoration {
732 pub const FPFastMathMode: SpvDecoration = SpvDecoration(40);
733}
734impl SpvDecoration {
735 pub const LinkageAttributes: SpvDecoration = SpvDecoration(41);
736}
737impl SpvDecoration {
738 pub const NoContraction: SpvDecoration = SpvDecoration(42);
739}
740impl SpvDecoration {
741 pub const InputAttachmentIndex: SpvDecoration = SpvDecoration(43);
742}
743impl SpvDecoration {
744 pub const Alignment: SpvDecoration = SpvDecoration(44);
745}
746impl SpvDecoration {
747 pub const MaxByteOffset: SpvDecoration = SpvDecoration(45);
748}
749impl SpvDecoration {
750 pub const AlignmentId: SpvDecoration = SpvDecoration(46);
751}
752impl SpvDecoration {
753 pub const MaxByteOffsetId: SpvDecoration = SpvDecoration(47);
754}
755impl SpvDecoration {
756 pub const NoSignedWrap: SpvDecoration = SpvDecoration(4469);
757}
758impl SpvDecoration {
759 pub const NoUnsignedWrap: SpvDecoration = SpvDecoration(4470);
760}
761impl SpvDecoration {
762 pub const WeightTextureQCOM: SpvDecoration = SpvDecoration(4487);
763}
764impl SpvDecoration {
765 pub const BlockMatchTextureQCOM: SpvDecoration = SpvDecoration(4488);
766}
767impl SpvDecoration {
768 pub const BlockMatchSamplerQCOM: SpvDecoration = SpvDecoration(4499);
769}
770impl SpvDecoration {
771 pub const ExplicitInterpAMD: SpvDecoration = SpvDecoration(4999);
772}
773impl SpvDecoration {
774 pub const OverrideCoverageNV: SpvDecoration = SpvDecoration(5248);
775}
776impl SpvDecoration {
777 pub const PassthroughNV: SpvDecoration = SpvDecoration(5250);
778}
779impl SpvDecoration {
780 pub const ViewportRelativeNV: SpvDecoration = SpvDecoration(5252);
781}
782impl SpvDecoration {
783 pub const SecondaryViewportRelativeNV: SpvDecoration = SpvDecoration(5256);
784}
785impl SpvDecoration {
786 pub const PerPrimitiveEXT: SpvDecoration = SpvDecoration(5271);
787}
788impl SpvDecoration {
789 pub const PerPrimitiveNV: SpvDecoration = SpvDecoration(5271);
790}
791impl SpvDecoration {
792 pub const PerViewNV: SpvDecoration = SpvDecoration(5272);
793}
794impl SpvDecoration {
795 pub const PerTaskNV: SpvDecoration = SpvDecoration(5273);
796}
797impl SpvDecoration {
798 pub const PerVertexKHR: SpvDecoration = SpvDecoration(5285);
799}
800impl SpvDecoration {
801 pub const PerVertexNV: SpvDecoration = SpvDecoration(5285);
802}
803impl SpvDecoration {
804 pub const NonUniform: SpvDecoration = SpvDecoration(5300);
805}
806impl SpvDecoration {
807 pub const NonUniformEXT: SpvDecoration = SpvDecoration(5300);
808}
809impl SpvDecoration {
810 pub const RestrictPointer: SpvDecoration = SpvDecoration(5355);
811}
812impl SpvDecoration {
813 pub const RestrictPointerEXT: SpvDecoration = SpvDecoration(5355);
814}
815impl SpvDecoration {
816 pub const AliasedPointer: SpvDecoration = SpvDecoration(5356);
817}
818impl SpvDecoration {
819 pub const AliasedPointerEXT: SpvDecoration = SpvDecoration(5356);
820}
821impl SpvDecoration {
822 pub const BindlessSamplerNV: SpvDecoration = SpvDecoration(5398);
823}
824impl SpvDecoration {
825 pub const BindlessImageNV: SpvDecoration = SpvDecoration(5399);
826}
827impl SpvDecoration {
828 pub const BoundSamplerNV: SpvDecoration = SpvDecoration(5400);
829}
830impl SpvDecoration {
831 pub const BoundImageNV: SpvDecoration = SpvDecoration(5401);
832}
833impl SpvDecoration {
834 pub const SIMTCallINTEL: SpvDecoration = SpvDecoration(5599);
835}
836impl SpvDecoration {
837 pub const ReferencedIndirectlyINTEL: SpvDecoration = SpvDecoration(5602);
838}
839impl SpvDecoration {
840 pub const ClobberINTEL: SpvDecoration = SpvDecoration(5607);
841}
842impl SpvDecoration {
843 pub const SideEffectsINTEL: SpvDecoration = SpvDecoration(5608);
844}
845impl SpvDecoration {
846 pub const VectorComputeVariableINTEL: SpvDecoration = SpvDecoration(5624);
847}
848impl SpvDecoration {
849 pub const FuncParamIOKindINTEL: SpvDecoration = SpvDecoration(5625);
850}
851impl SpvDecoration {
852 pub const VectorComputeFunctionINTEL: SpvDecoration = SpvDecoration(5626);
853}
854impl SpvDecoration {
855 pub const StackCallINTEL: SpvDecoration = SpvDecoration(5627);
856}
857impl SpvDecoration {
858 pub const GlobalVariableOffsetINTEL: SpvDecoration = SpvDecoration(5628);
859}
860impl SpvDecoration {
861 pub const CounterBuffer: SpvDecoration = SpvDecoration(5634);
862}
863impl SpvDecoration {
864 pub const HlslCounterBufferGOOGLE: SpvDecoration = SpvDecoration(5634);
865}
866impl SpvDecoration {
867 pub const HlslSemanticGOOGLE: SpvDecoration = SpvDecoration(5635);
868}
869impl SpvDecoration {
870 pub const UserSemantic: SpvDecoration = SpvDecoration(5635);
871}
872impl SpvDecoration {
873 pub const UserTypeGOOGLE: SpvDecoration = SpvDecoration(5636);
874}
875impl SpvDecoration {
876 pub const FunctionRoundingModeINTEL: SpvDecoration = SpvDecoration(5822);
877}
878impl SpvDecoration {
879 pub const FunctionDenormModeINTEL: SpvDecoration = SpvDecoration(5823);
880}
881impl SpvDecoration {
882 pub const RegisterINTEL: SpvDecoration = SpvDecoration(5825);
883}
884impl SpvDecoration {
885 pub const MemoryINTEL: SpvDecoration = SpvDecoration(5826);
886}
887impl SpvDecoration {
888 pub const NumbanksINTEL: SpvDecoration = SpvDecoration(5827);
889}
890impl SpvDecoration {
891 pub const BankwidthINTEL: SpvDecoration = SpvDecoration(5828);
892}
893impl SpvDecoration {
894 pub const MaxPrivateCopiesINTEL: SpvDecoration = SpvDecoration(5829);
895}
896impl SpvDecoration {
897 pub const SinglepumpINTEL: SpvDecoration = SpvDecoration(5830);
898}
899impl SpvDecoration {
900 pub const DoublepumpINTEL: SpvDecoration = SpvDecoration(5831);
901}
902impl SpvDecoration {
903 pub const MaxReplicatesINTEL: SpvDecoration = SpvDecoration(5832);
904}
905impl SpvDecoration {
906 pub const SimpleDualPortINTEL: SpvDecoration = SpvDecoration(5833);
907}
908impl SpvDecoration {
909 pub const MergeINTEL: SpvDecoration = SpvDecoration(5834);
910}
911impl SpvDecoration {
912 pub const BankBitsINTEL: SpvDecoration = SpvDecoration(5835);
913}
914impl SpvDecoration {
915 pub const ForcePow2DepthINTEL: SpvDecoration = SpvDecoration(5836);
916}
917impl SpvDecoration {
918 pub const BurstCoalesceINTEL: SpvDecoration = SpvDecoration(5899);
919}
920impl SpvDecoration {
921 pub const CacheSizeINTEL: SpvDecoration = SpvDecoration(5900);
922}
923impl SpvDecoration {
924 pub const DontStaticallyCoalesceINTEL: SpvDecoration = SpvDecoration(5901);
925}
926impl SpvDecoration {
927 pub const PrefetchINTEL: SpvDecoration = SpvDecoration(5902);
928}
929impl SpvDecoration {
930 pub const StallEnableINTEL: SpvDecoration = SpvDecoration(5905);
931}
932impl SpvDecoration {
933 pub const FuseLoopsInFunctionINTEL: SpvDecoration = SpvDecoration(5907);
934}
935impl SpvDecoration {
936 pub const AliasScopeINTEL: SpvDecoration = SpvDecoration(5914);
937}
938impl SpvDecoration {
939 pub const NoAliasINTEL: SpvDecoration = SpvDecoration(5915);
940}
941impl SpvDecoration {
942 pub const BufferLocationINTEL: SpvDecoration = SpvDecoration(5921);
943}
944impl SpvDecoration {
945 pub const IOPipeStorageINTEL: SpvDecoration = SpvDecoration(5944);
946}
947impl SpvDecoration {
948 pub const FunctionFloatingPointModeINTEL: SpvDecoration = SpvDecoration(6080);
949}
950impl SpvDecoration {
951 pub const SingleElementVectorINTEL: SpvDecoration = SpvDecoration(6085);
952}
953impl SpvDecoration {
954 pub const VectorComputeCallableFunctionINTEL: SpvDecoration = SpvDecoration(6087);
955}
956impl SpvDecoration {
957 pub const MediaBlockIOINTEL: SpvDecoration = SpvDecoration(6140);
958}
959impl SpvDecoration {
960 pub const Max: SpvDecoration = SpvDecoration(2147483647);
961}
962#[repr(transparent)]
963#[derive(
964 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
965)]
966pub struct SpvDecoration(pub i32);
967impl SpvBuiltIn {
968 pub const Position: SpvBuiltIn = SpvBuiltIn(0);
969}
970impl SpvBuiltIn {
971 pub const PointSize: SpvBuiltIn = SpvBuiltIn(1);
972}
973impl SpvBuiltIn {
974 pub const ClipDistance: SpvBuiltIn = SpvBuiltIn(3);
975}
976impl SpvBuiltIn {
977 pub const CullDistance: SpvBuiltIn = SpvBuiltIn(4);
978}
979impl SpvBuiltIn {
980 pub const VertexId: SpvBuiltIn = SpvBuiltIn(5);
981}
982impl SpvBuiltIn {
983 pub const InstanceId: SpvBuiltIn = SpvBuiltIn(6);
984}
985impl SpvBuiltIn {
986 pub const PrimitiveId: SpvBuiltIn = SpvBuiltIn(7);
987}
988impl SpvBuiltIn {
989 pub const InvocationId: SpvBuiltIn = SpvBuiltIn(8);
990}
991impl SpvBuiltIn {
992 pub const Layer: SpvBuiltIn = SpvBuiltIn(9);
993}
994impl SpvBuiltIn {
995 pub const ViewportIndex: SpvBuiltIn = SpvBuiltIn(10);
996}
997impl SpvBuiltIn {
998 pub const TessLevelOuter: SpvBuiltIn = SpvBuiltIn(11);
999}
1000impl SpvBuiltIn {
1001 pub const TessLevelInner: SpvBuiltIn = SpvBuiltIn(12);
1002}
1003impl SpvBuiltIn {
1004 pub const TessCoord: SpvBuiltIn = SpvBuiltIn(13);
1005}
1006impl SpvBuiltIn {
1007 pub const PatchVertices: SpvBuiltIn = SpvBuiltIn(14);
1008}
1009impl SpvBuiltIn {
1010 pub const FragCoord: SpvBuiltIn = SpvBuiltIn(15);
1011}
1012impl SpvBuiltIn {
1013 pub const PointCoord: SpvBuiltIn = SpvBuiltIn(16);
1014}
1015impl SpvBuiltIn {
1016 pub const FrontFacing: SpvBuiltIn = SpvBuiltIn(17);
1017}
1018impl SpvBuiltIn {
1019 pub const SampleId: SpvBuiltIn = SpvBuiltIn(18);
1020}
1021impl SpvBuiltIn {
1022 pub const SamplePosition: SpvBuiltIn = SpvBuiltIn(19);
1023}
1024impl SpvBuiltIn {
1025 pub const SampleMask: SpvBuiltIn = SpvBuiltIn(20);
1026}
1027impl SpvBuiltIn {
1028 pub const FragDepth: SpvBuiltIn = SpvBuiltIn(22);
1029}
1030impl SpvBuiltIn {
1031 pub const HelperInvocation: SpvBuiltIn = SpvBuiltIn(23);
1032}
1033impl SpvBuiltIn {
1034 pub const NumWorkgroups: SpvBuiltIn = SpvBuiltIn(24);
1035}
1036impl SpvBuiltIn {
1037 pub const WorkgroupSize: SpvBuiltIn = SpvBuiltIn(25);
1038}
1039impl SpvBuiltIn {
1040 pub const WorkgroupId: SpvBuiltIn = SpvBuiltIn(26);
1041}
1042impl SpvBuiltIn {
1043 pub const LocalInvocationId: SpvBuiltIn = SpvBuiltIn(27);
1044}
1045impl SpvBuiltIn {
1046 pub const GlobalInvocationId: SpvBuiltIn = SpvBuiltIn(28);
1047}
1048impl SpvBuiltIn {
1049 pub const LocalInvocationIndex: SpvBuiltIn = SpvBuiltIn(29);
1050}
1051impl SpvBuiltIn {
1052 pub const WorkDim: SpvBuiltIn = SpvBuiltIn(30);
1053}
1054impl SpvBuiltIn {
1055 pub const GlobalSize: SpvBuiltIn = SpvBuiltIn(31);
1056}
1057impl SpvBuiltIn {
1058 pub const EnqueuedWorkgroupSize: SpvBuiltIn = SpvBuiltIn(32);
1059}
1060impl SpvBuiltIn {
1061 pub const GlobalOffset: SpvBuiltIn = SpvBuiltIn(33);
1062}
1063impl SpvBuiltIn {
1064 pub const GlobalLinearId: SpvBuiltIn = SpvBuiltIn(34);
1065}
1066impl SpvBuiltIn {
1067 pub const SubgroupSize: SpvBuiltIn = SpvBuiltIn(36);
1068}
1069impl SpvBuiltIn {
1070 pub const SubgroupMaxSize: SpvBuiltIn = SpvBuiltIn(37);
1071}
1072impl SpvBuiltIn {
1073 pub const NumSubgroups: SpvBuiltIn = SpvBuiltIn(38);
1074}
1075impl SpvBuiltIn {
1076 pub const NumEnqueuedSubgroups: SpvBuiltIn = SpvBuiltIn(39);
1077}
1078impl SpvBuiltIn {
1079 pub const SubgroupId: SpvBuiltIn = SpvBuiltIn(40);
1080}
1081impl SpvBuiltIn {
1082 pub const SubgroupLocalInvocationId: SpvBuiltIn = SpvBuiltIn(41);
1083}
1084impl SpvBuiltIn {
1085 pub const VertexIndex: SpvBuiltIn = SpvBuiltIn(42);
1086}
1087impl SpvBuiltIn {
1088 pub const InstanceIndex: SpvBuiltIn = SpvBuiltIn(43);
1089}
1090impl SpvBuiltIn {
1091 pub const SubgroupEqMask: SpvBuiltIn = SpvBuiltIn(4416);
1092}
1093impl SpvBuiltIn {
1094 pub const SubgroupEqMaskKHR: SpvBuiltIn = SpvBuiltIn(4416);
1095}
1096impl SpvBuiltIn {
1097 pub const SubgroupGeMask: SpvBuiltIn = SpvBuiltIn(4417);
1098}
1099impl SpvBuiltIn {
1100 pub const SubgroupGeMaskKHR: SpvBuiltIn = SpvBuiltIn(4417);
1101}
1102impl SpvBuiltIn {
1103 pub const SubgroupGtMask: SpvBuiltIn = SpvBuiltIn(4418);
1104}
1105impl SpvBuiltIn {
1106 pub const SubgroupGtMaskKHR: SpvBuiltIn = SpvBuiltIn(4418);
1107}
1108impl SpvBuiltIn {
1109 pub const SubgroupLeMask: SpvBuiltIn = SpvBuiltIn(4419);
1110}
1111impl SpvBuiltIn {
1112 pub const SubgroupLeMaskKHR: SpvBuiltIn = SpvBuiltIn(4419);
1113}
1114impl SpvBuiltIn {
1115 pub const SubgroupLtMask: SpvBuiltIn = SpvBuiltIn(4420);
1116}
1117impl SpvBuiltIn {
1118 pub const SubgroupLtMaskKHR: SpvBuiltIn = SpvBuiltIn(4420);
1119}
1120impl SpvBuiltIn {
1121 pub const BaseVertex: SpvBuiltIn = SpvBuiltIn(4424);
1122}
1123impl SpvBuiltIn {
1124 pub const BaseInstance: SpvBuiltIn = SpvBuiltIn(4425);
1125}
1126impl SpvBuiltIn {
1127 pub const DrawIndex: SpvBuiltIn = SpvBuiltIn(4426);
1128}
1129impl SpvBuiltIn {
1130 pub const PrimitiveShadingRateKHR: SpvBuiltIn = SpvBuiltIn(4432);
1131}
1132impl SpvBuiltIn {
1133 pub const DeviceIndex: SpvBuiltIn = SpvBuiltIn(4438);
1134}
1135impl SpvBuiltIn {
1136 pub const ViewIndex: SpvBuiltIn = SpvBuiltIn(4440);
1137}
1138impl SpvBuiltIn {
1139 pub const ShadingRateKHR: SpvBuiltIn = SpvBuiltIn(4444);
1140}
1141impl SpvBuiltIn {
1142 pub const BaryCoordNoPerspAMD: SpvBuiltIn = SpvBuiltIn(4992);
1143}
1144impl SpvBuiltIn {
1145 pub const BaryCoordNoPerspCentroidAMD: SpvBuiltIn = SpvBuiltIn(4993);
1146}
1147impl SpvBuiltIn {
1148 pub const BaryCoordNoPerspSampleAMD: SpvBuiltIn = SpvBuiltIn(4994);
1149}
1150impl SpvBuiltIn {
1151 pub const BaryCoordSmoothAMD: SpvBuiltIn = SpvBuiltIn(4995);
1152}
1153impl SpvBuiltIn {
1154 pub const BaryCoordSmoothCentroidAMD: SpvBuiltIn = SpvBuiltIn(4996);
1155}
1156impl SpvBuiltIn {
1157 pub const BaryCoordSmoothSampleAMD: SpvBuiltIn = SpvBuiltIn(4997);
1158}
1159impl SpvBuiltIn {
1160 pub const BaryCoordPullModelAMD: SpvBuiltIn = SpvBuiltIn(4998);
1161}
1162impl SpvBuiltIn {
1163 pub const FragStencilRefEXT: SpvBuiltIn = SpvBuiltIn(5014);
1164}
1165impl SpvBuiltIn {
1166 pub const ViewportMaskNV: SpvBuiltIn = SpvBuiltIn(5253);
1167}
1168impl SpvBuiltIn {
1169 pub const SecondaryPositionNV: SpvBuiltIn = SpvBuiltIn(5257);
1170}
1171impl SpvBuiltIn {
1172 pub const SecondaryViewportMaskNV: SpvBuiltIn = SpvBuiltIn(5258);
1173}
1174impl SpvBuiltIn {
1175 pub const PositionPerViewNV: SpvBuiltIn = SpvBuiltIn(5261);
1176}
1177impl SpvBuiltIn {
1178 pub const ViewportMaskPerViewNV: SpvBuiltIn = SpvBuiltIn(5262);
1179}
1180impl SpvBuiltIn {
1181 pub const FullyCoveredEXT: SpvBuiltIn = SpvBuiltIn(5264);
1182}
1183impl SpvBuiltIn {
1184 pub const TaskCountNV: SpvBuiltIn = SpvBuiltIn(5274);
1185}
1186impl SpvBuiltIn {
1187 pub const PrimitiveCountNV: SpvBuiltIn = SpvBuiltIn(5275);
1188}
1189impl SpvBuiltIn {
1190 pub const PrimitiveIndicesNV: SpvBuiltIn = SpvBuiltIn(5276);
1191}
1192impl SpvBuiltIn {
1193 pub const ClipDistancePerViewNV: SpvBuiltIn = SpvBuiltIn(5277);
1194}
1195impl SpvBuiltIn {
1196 pub const CullDistancePerViewNV: SpvBuiltIn = SpvBuiltIn(5278);
1197}
1198impl SpvBuiltIn {
1199 pub const LayerPerViewNV: SpvBuiltIn = SpvBuiltIn(5279);
1200}
1201impl SpvBuiltIn {
1202 pub const MeshViewCountNV: SpvBuiltIn = SpvBuiltIn(5280);
1203}
1204impl SpvBuiltIn {
1205 pub const MeshViewIndicesNV: SpvBuiltIn = SpvBuiltIn(5281);
1206}
1207impl SpvBuiltIn {
1208 pub const BaryCoordKHR: SpvBuiltIn = SpvBuiltIn(5286);
1209}
1210impl SpvBuiltIn {
1211 pub const BaryCoordNV: SpvBuiltIn = SpvBuiltIn(5286);
1212}
1213impl SpvBuiltIn {
1214 pub const BaryCoordNoPerspKHR: SpvBuiltIn = SpvBuiltIn(5287);
1215}
1216impl SpvBuiltIn {
1217 pub const BaryCoordNoPerspNV: SpvBuiltIn = SpvBuiltIn(5287);
1218}
1219impl SpvBuiltIn {
1220 pub const FragSizeEXT: SpvBuiltIn = SpvBuiltIn(5292);
1221}
1222impl SpvBuiltIn {
1223 pub const FragmentSizeNV: SpvBuiltIn = SpvBuiltIn(5292);
1224}
1225impl SpvBuiltIn {
1226 pub const FragInvocationCountEXT: SpvBuiltIn = SpvBuiltIn(5293);
1227}
1228impl SpvBuiltIn {
1229 pub const InvocationsPerPixelNV: SpvBuiltIn = SpvBuiltIn(5293);
1230}
1231impl SpvBuiltIn {
1232 pub const PrimitivePointIndicesEXT: SpvBuiltIn = SpvBuiltIn(5294);
1233}
1234impl SpvBuiltIn {
1235 pub const PrimitiveLineIndicesEXT: SpvBuiltIn = SpvBuiltIn(5295);
1236}
1237impl SpvBuiltIn {
1238 pub const PrimitiveTriangleIndicesEXT: SpvBuiltIn = SpvBuiltIn(5296);
1239}
1240impl SpvBuiltIn {
1241 pub const CullPrimitiveEXT: SpvBuiltIn = SpvBuiltIn(5299);
1242}
1243impl SpvBuiltIn {
1244 pub const LaunchIdKHR: SpvBuiltIn = SpvBuiltIn(5319);
1245}
1246impl SpvBuiltIn {
1247 pub const LaunchIdNV: SpvBuiltIn = SpvBuiltIn(5319);
1248}
1249impl SpvBuiltIn {
1250 pub const LaunchSizeKHR: SpvBuiltIn = SpvBuiltIn(5320);
1251}
1252impl SpvBuiltIn {
1253 pub const LaunchSizeNV: SpvBuiltIn = SpvBuiltIn(5320);
1254}
1255impl SpvBuiltIn {
1256 pub const WorldRayOriginKHR: SpvBuiltIn = SpvBuiltIn(5321);
1257}
1258impl SpvBuiltIn {
1259 pub const WorldRayOriginNV: SpvBuiltIn = SpvBuiltIn(5321);
1260}
1261impl SpvBuiltIn {
1262 pub const WorldRayDirectionKHR: SpvBuiltIn = SpvBuiltIn(5322);
1263}
1264impl SpvBuiltIn {
1265 pub const WorldRayDirectionNV: SpvBuiltIn = SpvBuiltIn(5322);
1266}
1267impl SpvBuiltIn {
1268 pub const ObjectRayOriginKHR: SpvBuiltIn = SpvBuiltIn(5323);
1269}
1270impl SpvBuiltIn {
1271 pub const ObjectRayOriginNV: SpvBuiltIn = SpvBuiltIn(5323);
1272}
1273impl SpvBuiltIn {
1274 pub const ObjectRayDirectionKHR: SpvBuiltIn = SpvBuiltIn(5324);
1275}
1276impl SpvBuiltIn {
1277 pub const ObjectRayDirectionNV: SpvBuiltIn = SpvBuiltIn(5324);
1278}
1279impl SpvBuiltIn {
1280 pub const RayTminKHR: SpvBuiltIn = SpvBuiltIn(5325);
1281}
1282impl SpvBuiltIn {
1283 pub const RayTminNV: SpvBuiltIn = SpvBuiltIn(5325);
1284}
1285impl SpvBuiltIn {
1286 pub const RayTmaxKHR: SpvBuiltIn = SpvBuiltIn(5326);
1287}
1288impl SpvBuiltIn {
1289 pub const RayTmaxNV: SpvBuiltIn = SpvBuiltIn(5326);
1290}
1291impl SpvBuiltIn {
1292 pub const InstanceCustomIndexKHR: SpvBuiltIn = SpvBuiltIn(5327);
1293}
1294impl SpvBuiltIn {
1295 pub const InstanceCustomIndexNV: SpvBuiltIn = SpvBuiltIn(5327);
1296}
1297impl SpvBuiltIn {
1298 pub const ObjectToWorldKHR: SpvBuiltIn = SpvBuiltIn(5330);
1299}
1300impl SpvBuiltIn {
1301 pub const ObjectToWorldNV: SpvBuiltIn = SpvBuiltIn(5330);
1302}
1303impl SpvBuiltIn {
1304 pub const WorldToObjectKHR: SpvBuiltIn = SpvBuiltIn(5331);
1305}
1306impl SpvBuiltIn {
1307 pub const WorldToObjectNV: SpvBuiltIn = SpvBuiltIn(5331);
1308}
1309impl SpvBuiltIn {
1310 pub const HitTNV: SpvBuiltIn = SpvBuiltIn(5332);
1311}
1312impl SpvBuiltIn {
1313 pub const HitKindKHR: SpvBuiltIn = SpvBuiltIn(5333);
1314}
1315impl SpvBuiltIn {
1316 pub const HitKindNV: SpvBuiltIn = SpvBuiltIn(5333);
1317}
1318impl SpvBuiltIn {
1319 pub const CurrentRayTimeNV: SpvBuiltIn = SpvBuiltIn(5334);
1320}
1321impl SpvBuiltIn {
1322 pub const IncomingRayFlagsKHR: SpvBuiltIn = SpvBuiltIn(5351);
1323}
1324impl SpvBuiltIn {
1325 pub const IncomingRayFlagsNV: SpvBuiltIn = SpvBuiltIn(5351);
1326}
1327impl SpvBuiltIn {
1328 pub const RayGeometryIndexKHR: SpvBuiltIn = SpvBuiltIn(5352);
1329}
1330impl SpvBuiltIn {
1331 pub const WarpsPerSMNV: SpvBuiltIn = SpvBuiltIn(5374);
1332}
1333impl SpvBuiltIn {
1334 pub const SMCountNV: SpvBuiltIn = SpvBuiltIn(5375);
1335}
1336impl SpvBuiltIn {
1337 pub const WarpIDNV: SpvBuiltIn = SpvBuiltIn(5376);
1338}
1339impl SpvBuiltIn {
1340 pub const SMIDNV: SpvBuiltIn = SpvBuiltIn(5377);
1341}
1342impl SpvBuiltIn {
1343 pub const CullMaskKHR: SpvBuiltIn = SpvBuiltIn(6021);
1344}
1345impl SpvBuiltIn {
1346 pub const Max: SpvBuiltIn = SpvBuiltIn(2147483647);
1347}
1348#[repr(transparent)]
1349#[derive(
1350 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
1351)]
1352pub struct SpvBuiltIn(pub i32);
1353impl SpvCapability {
1354 pub const Matrix: SpvCapability = SpvCapability(0);
1355}
1356impl SpvCapability {
1357 pub const Shader: SpvCapability = SpvCapability(1);
1358}
1359impl SpvCapability {
1360 pub const Geometry: SpvCapability = SpvCapability(2);
1361}
1362impl SpvCapability {
1363 pub const Tessellation: SpvCapability = SpvCapability(3);
1364}
1365impl SpvCapability {
1366 pub const Addresses: SpvCapability = SpvCapability(4);
1367}
1368impl SpvCapability {
1369 pub const Linkage: SpvCapability = SpvCapability(5);
1370}
1371impl SpvCapability {
1372 pub const Kernel: SpvCapability = SpvCapability(6);
1373}
1374impl SpvCapability {
1375 pub const Vector16: SpvCapability = SpvCapability(7);
1376}
1377impl SpvCapability {
1378 pub const Float16Buffer: SpvCapability = SpvCapability(8);
1379}
1380impl SpvCapability {
1381 pub const Float16: SpvCapability = SpvCapability(9);
1382}
1383impl SpvCapability {
1384 pub const Float64: SpvCapability = SpvCapability(10);
1385}
1386impl SpvCapability {
1387 pub const Int64: SpvCapability = SpvCapability(11);
1388}
1389impl SpvCapability {
1390 pub const Int64Atomics: SpvCapability = SpvCapability(12);
1391}
1392impl SpvCapability {
1393 pub const ImageBasic: SpvCapability = SpvCapability(13);
1394}
1395impl SpvCapability {
1396 pub const ImageReadWrite: SpvCapability = SpvCapability(14);
1397}
1398impl SpvCapability {
1399 pub const ImageMipmap: SpvCapability = SpvCapability(15);
1400}
1401impl SpvCapability {
1402 pub const Pipes: SpvCapability = SpvCapability(17);
1403}
1404impl SpvCapability {
1405 pub const Groups: SpvCapability = SpvCapability(18);
1406}
1407impl SpvCapability {
1408 pub const DeviceEnqueue: SpvCapability = SpvCapability(19);
1409}
1410impl SpvCapability {
1411 pub const LiteralSampler: SpvCapability = SpvCapability(20);
1412}
1413impl SpvCapability {
1414 pub const AtomicStorage: SpvCapability = SpvCapability(21);
1415}
1416impl SpvCapability {
1417 pub const Int16: SpvCapability = SpvCapability(22);
1418}
1419impl SpvCapability {
1420 pub const TessellationPointSize: SpvCapability = SpvCapability(23);
1421}
1422impl SpvCapability {
1423 pub const GeometryPointSize: SpvCapability = SpvCapability(24);
1424}
1425impl SpvCapability {
1426 pub const ImageGatherExtended: SpvCapability = SpvCapability(25);
1427}
1428impl SpvCapability {
1429 pub const StorageImageMultisample: SpvCapability = SpvCapability(27);
1430}
1431impl SpvCapability {
1432 pub const UniformBufferArrayDynamicIndexing: SpvCapability = SpvCapability(28);
1433}
1434impl SpvCapability {
1435 pub const SampledImageArrayDynamicIndexing: SpvCapability = SpvCapability(29);
1436}
1437impl SpvCapability {
1438 pub const StorageBufferArrayDynamicIndexing: SpvCapability = SpvCapability(30);
1439}
1440impl SpvCapability {
1441 pub const StorageImageArrayDynamicIndexing: SpvCapability = SpvCapability(31);
1442}
1443impl SpvCapability {
1444 pub const ClipDistance: SpvCapability = SpvCapability(32);
1445}
1446impl SpvCapability {
1447 pub const CullDistance: SpvCapability = SpvCapability(33);
1448}
1449impl SpvCapability {
1450 pub const ImageCubeArray: SpvCapability = SpvCapability(34);
1451}
1452impl SpvCapability {
1453 pub const SampleRateShading: SpvCapability = SpvCapability(35);
1454}
1455impl SpvCapability {
1456 pub const ImageRect: SpvCapability = SpvCapability(36);
1457}
1458impl SpvCapability {
1459 pub const SampledRect: SpvCapability = SpvCapability(37);
1460}
1461impl SpvCapability {
1462 pub const GenericPointer: SpvCapability = SpvCapability(38);
1463}
1464impl SpvCapability {
1465 pub const Int8: SpvCapability = SpvCapability(39);
1466}
1467impl SpvCapability {
1468 pub const InputAttachment: SpvCapability = SpvCapability(40);
1469}
1470impl SpvCapability {
1471 pub const SparseResidency: SpvCapability = SpvCapability(41);
1472}
1473impl SpvCapability {
1474 pub const MinLod: SpvCapability = SpvCapability(42);
1475}
1476impl SpvCapability {
1477 pub const Sampled1D: SpvCapability = SpvCapability(43);
1478}
1479impl SpvCapability {
1480 pub const Image1D: SpvCapability = SpvCapability(44);
1481}
1482impl SpvCapability {
1483 pub const SampledCubeArray: SpvCapability = SpvCapability(45);
1484}
1485impl SpvCapability {
1486 pub const SampledBuffer: SpvCapability = SpvCapability(46);
1487}
1488impl SpvCapability {
1489 pub const ImageBuffer: SpvCapability = SpvCapability(47);
1490}
1491impl SpvCapability {
1492 pub const ImageMSArray: SpvCapability = SpvCapability(48);
1493}
1494impl SpvCapability {
1495 pub const StorageImageExtendedFormats: SpvCapability = SpvCapability(49);
1496}
1497impl SpvCapability {
1498 pub const ImageQuery: SpvCapability = SpvCapability(50);
1499}
1500impl SpvCapability {
1501 pub const DerivativeControl: SpvCapability = SpvCapability(51);
1502}
1503impl SpvCapability {
1504 pub const InterpolationFunction: SpvCapability = SpvCapability(52);
1505}
1506impl SpvCapability {
1507 pub const TransformFeedback: SpvCapability = SpvCapability(53);
1508}
1509impl SpvCapability {
1510 pub const GeometryStreams: SpvCapability = SpvCapability(54);
1511}
1512impl SpvCapability {
1513 pub const StorageImageReadWithoutFormat: SpvCapability = SpvCapability(55);
1514}
1515impl SpvCapability {
1516 pub const StorageImageWriteWithoutFormat: SpvCapability = SpvCapability(56);
1517}
1518impl SpvCapability {
1519 pub const MultiViewport: SpvCapability = SpvCapability(57);
1520}
1521impl SpvCapability {
1522 pub const SubgroupDispatch: SpvCapability = SpvCapability(58);
1523}
1524impl SpvCapability {
1525 pub const NamedBarrier: SpvCapability = SpvCapability(59);
1526}
1527impl SpvCapability {
1528 pub const PipeStorage: SpvCapability = SpvCapability(60);
1529}
1530impl SpvCapability {
1531 pub const GroupNonUniform: SpvCapability = SpvCapability(61);
1532}
1533impl SpvCapability {
1534 pub const GroupNonUniformVote: SpvCapability = SpvCapability(62);
1535}
1536impl SpvCapability {
1537 pub const GroupNonUniformArithmetic: SpvCapability = SpvCapability(63);
1538}
1539impl SpvCapability {
1540 pub const GroupNonUniformBallot: SpvCapability = SpvCapability(64);
1541}
1542impl SpvCapability {
1543 pub const GroupNonUniformShuffle: SpvCapability = SpvCapability(65);
1544}
1545impl SpvCapability {
1546 pub const GroupNonUniformShuffleRelative: SpvCapability = SpvCapability(66);
1547}
1548impl SpvCapability {
1549 pub const GroupNonUniformClustered: SpvCapability = SpvCapability(67);
1550}
1551impl SpvCapability {
1552 pub const GroupNonUniformQuad: SpvCapability = SpvCapability(68);
1553}
1554impl SpvCapability {
1555 pub const ShaderLayer: SpvCapability = SpvCapability(69);
1556}
1557impl SpvCapability {
1558 pub const ShaderViewportIndex: SpvCapability = SpvCapability(70);
1559}
1560impl SpvCapability {
1561 pub const UniformDecoration: SpvCapability = SpvCapability(71);
1562}
1563impl SpvCapability {
1564 pub const FragmentShadingRateKHR: SpvCapability = SpvCapability(4422);
1565}
1566impl SpvCapability {
1567 pub const SubgroupBallotKHR: SpvCapability = SpvCapability(4423);
1568}
1569impl SpvCapability {
1570 pub const DrawParameters: SpvCapability = SpvCapability(4427);
1571}
1572impl SpvCapability {
1573 pub const WorkgroupMemoryExplicitLayoutKHR: SpvCapability = SpvCapability(4428);
1574}
1575impl SpvCapability {
1576 pub const WorkgroupMemoryExplicitLayout8BitAccessKHR: SpvCapability = SpvCapability(4429);
1577}
1578impl SpvCapability {
1579 pub const WorkgroupMemoryExplicitLayout16BitAccessKHR: SpvCapability = SpvCapability(4430);
1580}
1581impl SpvCapability {
1582 pub const SubgroupVoteKHR: SpvCapability = SpvCapability(4431);
1583}
1584impl SpvCapability {
1585 pub const StorageBuffer16BitAccess: SpvCapability = SpvCapability(4433);
1586}
1587impl SpvCapability {
1588 pub const StorageUniformBufferBlock16: SpvCapability = SpvCapability(4433);
1589}
1590impl SpvCapability {
1591 pub const StorageUniform16: SpvCapability = SpvCapability(4434);
1592}
1593impl SpvCapability {
1594 pub const UniformAndStorageBuffer16BitAccess: SpvCapability = SpvCapability(4434);
1595}
1596impl SpvCapability {
1597 pub const StoragePushConstant16: SpvCapability = SpvCapability(4435);
1598}
1599impl SpvCapability {
1600 pub const StorageInputOutput16: SpvCapability = SpvCapability(4436);
1601}
1602impl SpvCapability {
1603 pub const DeviceGroup: SpvCapability = SpvCapability(4437);
1604}
1605impl SpvCapability {
1606 pub const MultiView: SpvCapability = SpvCapability(4439);
1607}
1608impl SpvCapability {
1609 pub const VariablePointersStorageBuffer: SpvCapability = SpvCapability(4441);
1610}
1611impl SpvCapability {
1612 pub const VariablePointers: SpvCapability = SpvCapability(4442);
1613}
1614impl SpvCapability {
1615 pub const AtomicStorageOps: SpvCapability = SpvCapability(4445);
1616}
1617impl SpvCapability {
1618 pub const SampleMaskPostDepthCoverage: SpvCapability = SpvCapability(4447);
1619}
1620impl SpvCapability {
1621 pub const StorageBuffer8BitAccess: SpvCapability = SpvCapability(4448);
1622}
1623impl SpvCapability {
1624 pub const UniformAndStorageBuffer8BitAccess: SpvCapability = SpvCapability(4449);
1625}
1626impl SpvCapability {
1627 pub const StoragePushConstant8: SpvCapability = SpvCapability(4450);
1628}
1629impl SpvCapability {
1630 pub const DenormPreserve: SpvCapability = SpvCapability(4464);
1631}
1632impl SpvCapability {
1633 pub const DenormFlushToZero: SpvCapability = SpvCapability(4465);
1634}
1635impl SpvCapability {
1636 pub const SignedZeroInfNanPreserve: SpvCapability = SpvCapability(4466);
1637}
1638impl SpvCapability {
1639 pub const RoundingModeRTE: SpvCapability = SpvCapability(4467);
1640}
1641impl SpvCapability {
1642 pub const RoundingModeRTZ: SpvCapability = SpvCapability(4468);
1643}
1644impl SpvCapability {
1645 pub const RayQueryProvisionalKHR: SpvCapability = SpvCapability(4471);
1646}
1647impl SpvCapability {
1648 pub const RayQueryKHR: SpvCapability = SpvCapability(4472);
1649}
1650impl SpvCapability {
1651 pub const RayTraversalPrimitiveCullingKHR: SpvCapability = SpvCapability(4478);
1652}
1653impl SpvCapability {
1654 pub const RayTracingKHR: SpvCapability = SpvCapability(4479);
1655}
1656impl SpvCapability {
1657 pub const TextureSampleWeightedQCOM: SpvCapability = SpvCapability(4484);
1658}
1659impl SpvCapability {
1660 pub const TextureBoxFilterQCOM: SpvCapability = SpvCapability(4485);
1661}
1662impl SpvCapability {
1663 pub const TextureBlockMatchQCOM: SpvCapability = SpvCapability(4486);
1664}
1665impl SpvCapability {
1666 pub const TextureBlockMatch2QCOM: SpvCapability = SpvCapability(4498);
1667}
1668impl SpvCapability {
1669 pub const Float16ImageAMD: SpvCapability = SpvCapability(5008);
1670}
1671impl SpvCapability {
1672 pub const ImageGatherBiasLodAMD: SpvCapability = SpvCapability(5009);
1673}
1674impl SpvCapability {
1675 pub const FragmentMaskAMD: SpvCapability = SpvCapability(5010);
1676}
1677impl SpvCapability {
1678 pub const StencilExportEXT: SpvCapability = SpvCapability(5013);
1679}
1680impl SpvCapability {
1681 pub const ImageReadWriteLodAMD: SpvCapability = SpvCapability(5015);
1682}
1683impl SpvCapability {
1684 pub const Int64ImageEXT: SpvCapability = SpvCapability(5016);
1685}
1686impl SpvCapability {
1687 pub const ShaderClockKHR: SpvCapability = SpvCapability(5055);
1688}
1689impl SpvCapability {
1690 pub const SampleMaskOverrideCoverageNV: SpvCapability = SpvCapability(5249);
1691}
1692impl SpvCapability {
1693 pub const GeometryShaderPassthroughNV: SpvCapability = SpvCapability(5251);
1694}
1695impl SpvCapability {
1696 pub const ShaderViewportIndexLayerEXT: SpvCapability = SpvCapability(5254);
1697}
1698impl SpvCapability {
1699 pub const ShaderViewportIndexLayerNV: SpvCapability = SpvCapability(5254);
1700}
1701impl SpvCapability {
1702 pub const ShaderViewportMaskNV: SpvCapability = SpvCapability(5255);
1703}
1704impl SpvCapability {
1705 pub const ShaderStereoViewNV: SpvCapability = SpvCapability(5259);
1706}
1707impl SpvCapability {
1708 pub const PerViewAttributesNV: SpvCapability = SpvCapability(5260);
1709}
1710impl SpvCapability {
1711 pub const FragmentFullyCoveredEXT: SpvCapability = SpvCapability(5265);
1712}
1713impl SpvCapability {
1714 pub const MeshShadingNV: SpvCapability = SpvCapability(5266);
1715}
1716impl SpvCapability {
1717 pub const ImageFootprintNV: SpvCapability = SpvCapability(5282);
1718}
1719impl SpvCapability {
1720 pub const MeshShadingEXT: SpvCapability = SpvCapability(5283);
1721}
1722impl SpvCapability {
1723 pub const FragmentBarycentricKHR: SpvCapability = SpvCapability(5284);
1724}
1725impl SpvCapability {
1726 pub const FragmentBarycentricNV: SpvCapability = SpvCapability(5284);
1727}
1728impl SpvCapability {
1729 pub const ComputeDerivativeGroupQuadsNV: SpvCapability = SpvCapability(5288);
1730}
1731impl SpvCapability {
1732 pub const FragmentDensityEXT: SpvCapability = SpvCapability(5291);
1733}
1734impl SpvCapability {
1735 pub const ShadingRateNV: SpvCapability = SpvCapability(5291);
1736}
1737impl SpvCapability {
1738 pub const GroupNonUniformPartitionedNV: SpvCapability = SpvCapability(5297);
1739}
1740impl SpvCapability {
1741 pub const ShaderNonUniform: SpvCapability = SpvCapability(5301);
1742}
1743impl SpvCapability {
1744 pub const ShaderNonUniformEXT: SpvCapability = SpvCapability(5301);
1745}
1746impl SpvCapability {
1747 pub const RuntimeDescriptorArray: SpvCapability = SpvCapability(5302);
1748}
1749impl SpvCapability {
1750 pub const RuntimeDescriptorArrayEXT: SpvCapability = SpvCapability(5302);
1751}
1752impl SpvCapability {
1753 pub const InputAttachmentArrayDynamicIndexing: SpvCapability = SpvCapability(5303);
1754}
1755impl SpvCapability {
1756 pub const InputAttachmentArrayDynamicIndexingEXT: SpvCapability = SpvCapability(5303);
1757}
1758impl SpvCapability {
1759 pub const UniformTexelBufferArrayDynamicIndexing: SpvCapability = SpvCapability(5304);
1760}
1761impl SpvCapability {
1762 pub const UniformTexelBufferArrayDynamicIndexingEXT: SpvCapability = SpvCapability(5304);
1763}
1764impl SpvCapability {
1765 pub const StorageTexelBufferArrayDynamicIndexing: SpvCapability = SpvCapability(5305);
1766}
1767impl SpvCapability {
1768 pub const StorageTexelBufferArrayDynamicIndexingEXT: SpvCapability = SpvCapability(5305);
1769}
1770impl SpvCapability {
1771 pub const UniformBufferArrayNonUniformIndexing: SpvCapability = SpvCapability(5306);
1772}
1773impl SpvCapability {
1774 pub const UniformBufferArrayNonUniformIndexingEXT: SpvCapability = SpvCapability(5306);
1775}
1776impl SpvCapability {
1777 pub const SampledImageArrayNonUniformIndexing: SpvCapability = SpvCapability(5307);
1778}
1779impl SpvCapability {
1780 pub const SampledImageArrayNonUniformIndexingEXT: SpvCapability = SpvCapability(5307);
1781}
1782impl SpvCapability {
1783 pub const StorageBufferArrayNonUniformIndexing: SpvCapability = SpvCapability(5308);
1784}
1785impl SpvCapability {
1786 pub const StorageBufferArrayNonUniformIndexingEXT: SpvCapability = SpvCapability(5308);
1787}
1788impl SpvCapability {
1789 pub const StorageImageArrayNonUniformIndexing: SpvCapability = SpvCapability(5309);
1790}
1791impl SpvCapability {
1792 pub const StorageImageArrayNonUniformIndexingEXT: SpvCapability = SpvCapability(5309);
1793}
1794impl SpvCapability {
1795 pub const InputAttachmentArrayNonUniformIndexing: SpvCapability = SpvCapability(5310);
1796}
1797impl SpvCapability {
1798 pub const InputAttachmentArrayNonUniformIndexingEXT: SpvCapability = SpvCapability(5310);
1799}
1800impl SpvCapability {
1801 pub const UniformTexelBufferArrayNonUniformIndexing: SpvCapability = SpvCapability(5311);
1802}
1803impl SpvCapability {
1804 pub const UniformTexelBufferArrayNonUniformIndexingEXT: SpvCapability = SpvCapability(5311);
1805}
1806impl SpvCapability {
1807 pub const StorageTexelBufferArrayNonUniformIndexing: SpvCapability = SpvCapability(5312);
1808}
1809impl SpvCapability {
1810 pub const StorageTexelBufferArrayNonUniformIndexingEXT: SpvCapability = SpvCapability(5312);
1811}
1812impl SpvCapability {
1813 pub const RayTracingNV: SpvCapability = SpvCapability(5340);
1814}
1815impl SpvCapability {
1816 pub const RayTracingMotionBlurNV: SpvCapability = SpvCapability(5341);
1817}
1818impl SpvCapability {
1819 pub const VulkanMemoryModel: SpvCapability = SpvCapability(5345);
1820}
1821impl SpvCapability {
1822 pub const VulkanMemoryModelKHR: SpvCapability = SpvCapability(5345);
1823}
1824impl SpvCapability {
1825 pub const VulkanMemoryModelDeviceScope: SpvCapability = SpvCapability(5346);
1826}
1827impl SpvCapability {
1828 pub const VulkanMemoryModelDeviceScopeKHR: SpvCapability = SpvCapability(5346);
1829}
1830impl SpvCapability {
1831 pub const PhysicalStorageBufferAddresses: SpvCapability = SpvCapability(5347);
1832}
1833impl SpvCapability {
1834 pub const PhysicalStorageBufferAddressesEXT: SpvCapability = SpvCapability(5347);
1835}
1836impl SpvCapability {
1837 pub const ComputeDerivativeGroupLinearNV: SpvCapability = SpvCapability(5350);
1838}
1839impl SpvCapability {
1840 pub const RayTracingProvisionalKHR: SpvCapability = SpvCapability(5353);
1841}
1842impl SpvCapability {
1843 pub const CooperativeMatrixNV: SpvCapability = SpvCapability(5357);
1844}
1845impl SpvCapability {
1846 pub const FragmentShaderSampleInterlockEXT: SpvCapability = SpvCapability(5363);
1847}
1848impl SpvCapability {
1849 pub const FragmentShaderShadingRateInterlockEXT: SpvCapability = SpvCapability(5372);
1850}
1851impl SpvCapability {
1852 pub const ShaderSMBuiltinsNV: SpvCapability = SpvCapability(5373);
1853}
1854impl SpvCapability {
1855 pub const FragmentShaderPixelInterlockEXT: SpvCapability = SpvCapability(5378);
1856}
1857impl SpvCapability {
1858 pub const DemoteToHelperInvocation: SpvCapability = SpvCapability(5379);
1859}
1860impl SpvCapability {
1861 pub const DemoteToHelperInvocationEXT: SpvCapability = SpvCapability(5379);
1862}
1863impl SpvCapability {
1864 pub const BindlessTextureNV: SpvCapability = SpvCapability(5390);
1865}
1866impl SpvCapability {
1867 pub const SubgroupShuffleINTEL: SpvCapability = SpvCapability(5568);
1868}
1869impl SpvCapability {
1870 pub const SubgroupBufferBlockIOINTEL: SpvCapability = SpvCapability(5569);
1871}
1872impl SpvCapability {
1873 pub const SubgroupImageBlockIOINTEL: SpvCapability = SpvCapability(5570);
1874}
1875impl SpvCapability {
1876 pub const SubgroupImageMediaBlockIOINTEL: SpvCapability = SpvCapability(5579);
1877}
1878impl SpvCapability {
1879 pub const RoundToInfinityINTEL: SpvCapability = SpvCapability(5582);
1880}
1881impl SpvCapability {
1882 pub const FloatingPointModeINTEL: SpvCapability = SpvCapability(5583);
1883}
1884impl SpvCapability {
1885 pub const IntegerFunctions2INTEL: SpvCapability = SpvCapability(5584);
1886}
1887impl SpvCapability {
1888 pub const FunctionPointersINTEL: SpvCapability = SpvCapability(5603);
1889}
1890impl SpvCapability {
1891 pub const IndirectReferencesINTEL: SpvCapability = SpvCapability(5604);
1892}
1893impl SpvCapability {
1894 pub const AsmINTEL: SpvCapability = SpvCapability(5606);
1895}
1896impl SpvCapability {
1897 pub const AtomicFloat32MinMaxEXT: SpvCapability = SpvCapability(5612);
1898}
1899impl SpvCapability {
1900 pub const AtomicFloat64MinMaxEXT: SpvCapability = SpvCapability(5613);
1901}
1902impl SpvCapability {
1903 pub const AtomicFloat16MinMaxEXT: SpvCapability = SpvCapability(5616);
1904}
1905impl SpvCapability {
1906 pub const VectorComputeINTEL: SpvCapability = SpvCapability(5617);
1907}
1908impl SpvCapability {
1909 pub const VectorAnyINTEL: SpvCapability = SpvCapability(5619);
1910}
1911impl SpvCapability {
1912 pub const ExpectAssumeKHR: SpvCapability = SpvCapability(5629);
1913}
1914impl SpvCapability {
1915 pub const SubgroupAvcMotionEstimationINTEL: SpvCapability = SpvCapability(5696);
1916}
1917impl SpvCapability {
1918 pub const SubgroupAvcMotionEstimationIntraINTEL: SpvCapability = SpvCapability(5697);
1919}
1920impl SpvCapability {
1921 pub const SubgroupAvcMotionEstimationChromaINTEL: SpvCapability = SpvCapability(5698);
1922}
1923impl SpvCapability {
1924 pub const VariableLengthArrayINTEL: SpvCapability = SpvCapability(5817);
1925}
1926impl SpvCapability {
1927 pub const FunctionFloatControlINTEL: SpvCapability = SpvCapability(5821);
1928}
1929impl SpvCapability {
1930 pub const FPGAMemoryAttributesINTEL: SpvCapability = SpvCapability(5824);
1931}
1932impl SpvCapability {
1933 pub const FPFastMathModeINTEL: SpvCapability = SpvCapability(5837);
1934}
1935impl SpvCapability {
1936 pub const ArbitraryPrecisionIntegersINTEL: SpvCapability = SpvCapability(5844);
1937}
1938impl SpvCapability {
1939 pub const ArbitraryPrecisionFloatingPointINTEL: SpvCapability = SpvCapability(5845);
1940}
1941impl SpvCapability {
1942 pub const UnstructuredLoopControlsINTEL: SpvCapability = SpvCapability(5886);
1943}
1944impl SpvCapability {
1945 pub const FPGALoopControlsINTEL: SpvCapability = SpvCapability(5888);
1946}
1947impl SpvCapability {
1948 pub const KernelAttributesINTEL: SpvCapability = SpvCapability(5892);
1949}
1950impl SpvCapability {
1951 pub const FPGAKernelAttributesINTEL: SpvCapability = SpvCapability(5897);
1952}
1953impl SpvCapability {
1954 pub const FPGAMemoryAccessesINTEL: SpvCapability = SpvCapability(5898);
1955}
1956impl SpvCapability {
1957 pub const FPGAClusterAttributesINTEL: SpvCapability = SpvCapability(5904);
1958}
1959impl SpvCapability {
1960 pub const LoopFuseINTEL: SpvCapability = SpvCapability(5906);
1961}
1962impl SpvCapability {
1963 pub const MemoryAccessAliasingINTEL: SpvCapability = SpvCapability(5910);
1964}
1965impl SpvCapability {
1966 pub const FPGABufferLocationINTEL: SpvCapability = SpvCapability(5920);
1967}
1968impl SpvCapability {
1969 pub const ArbitraryPrecisionFixedPointINTEL: SpvCapability = SpvCapability(5922);
1970}
1971impl SpvCapability {
1972 pub const USMStorageClassesINTEL: SpvCapability = SpvCapability(5935);
1973}
1974impl SpvCapability {
1975 pub const IOPipesINTEL: SpvCapability = SpvCapability(5943);
1976}
1977impl SpvCapability {
1978 pub const BlockingPipesINTEL: SpvCapability = SpvCapability(5945);
1979}
1980impl SpvCapability {
1981 pub const FPGARegINTEL: SpvCapability = SpvCapability(5948);
1982}
1983impl SpvCapability {
1984 pub const DotProductInputAll: SpvCapability = SpvCapability(6016);
1985}
1986impl SpvCapability {
1987 pub const DotProductInputAllKHR: SpvCapability = SpvCapability(6016);
1988}
1989impl SpvCapability {
1990 pub const DotProductInput4x8Bit: SpvCapability = SpvCapability(6017);
1991}
1992impl SpvCapability {
1993 pub const DotProductInput4x8BitKHR: SpvCapability = SpvCapability(6017);
1994}
1995impl SpvCapability {
1996 pub const DotProductInput4x8BitPacked: SpvCapability = SpvCapability(6018);
1997}
1998impl SpvCapability {
1999 pub const DotProductInput4x8BitPackedKHR: SpvCapability = SpvCapability(6018);
2000}
2001impl SpvCapability {
2002 pub const DotProduct: SpvCapability = SpvCapability(6019);
2003}
2004impl SpvCapability {
2005 pub const DotProductKHR: SpvCapability = SpvCapability(6019);
2006}
2007impl SpvCapability {
2008 pub const RayCullMaskKHR: SpvCapability = SpvCapability(6020);
2009}
2010impl SpvCapability {
2011 pub const BitInstructions: SpvCapability = SpvCapability(6025);
2012}
2013impl SpvCapability {
2014 pub const GroupNonUniformRotateKHR: SpvCapability = SpvCapability(6026);
2015}
2016impl SpvCapability {
2017 pub const AtomicFloat32AddEXT: SpvCapability = SpvCapability(6033);
2018}
2019impl SpvCapability {
2020 pub const AtomicFloat64AddEXT: SpvCapability = SpvCapability(6034);
2021}
2022impl SpvCapability {
2023 pub const LongConstantCompositeINTEL: SpvCapability = SpvCapability(6089);
2024}
2025impl SpvCapability {
2026 pub const OptNoneINTEL: SpvCapability = SpvCapability(6094);
2027}
2028impl SpvCapability {
2029 pub const AtomicFloat16AddEXT: SpvCapability = SpvCapability(6095);
2030}
2031impl SpvCapability {
2032 pub const DebugInfoModuleINTEL: SpvCapability = SpvCapability(6114);
2033}
2034impl SpvCapability {
2035 pub const SplitBarrierINTEL: SpvCapability = SpvCapability(6141);
2036}
2037impl SpvCapability {
2038 pub const GroupUniformArithmeticKHR: SpvCapability = SpvCapability(6400);
2039}
2040impl SpvCapability {
2041 pub const Max: SpvCapability = SpvCapability(2147483647);
2042}
2043#[repr(transparent)]
2044#[derive(
2045 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
2046)]
2047pub struct SpvCapability(pub i32);
2048extern "C" {
2049 pub fn spvc_get_version(
2050 major: *mut crate::ctypes::c_uint,
2051 minor: *mut crate::ctypes::c_uint,
2052 patch: *mut crate::ctypes::c_uint,
2053 );
2054}
2055extern "C" {
2056 pub fn spvc_get_commit_revision_and_timestamp() -> *const crate::ctypes::c_char;
2057}
2058#[repr(C)]
2059#[derive(Debug, Copy, Clone)]
2060pub struct spvc_context_s {
2061 _unused: [u8; 0],
2062}
2063pub type spvc_context = *mut spvc_context_s;
2064#[repr(C)]
2065#[derive(Debug, Copy, Clone)]
2066pub struct spvc_parsed_ir_s {
2067 _unused: [u8; 0],
2068}
2069pub type spvc_parsed_ir = *mut spvc_parsed_ir_s;
2070#[repr(C)]
2071#[derive(Debug, Copy, Clone)]
2072pub struct spvc_compiler_s {
2073 _unused: [u8; 0],
2074}
2075pub type spvc_compiler = *mut spvc_compiler_s;
2076#[repr(C)]
2077#[derive(Debug, Copy, Clone)]
2078pub struct spvc_compiler_options_s {
2079 _unused: [u8; 0],
2080}
2081pub type spvc_compiler_options = *mut spvc_compiler_options_s;
2082#[repr(C)]
2083#[derive(Debug, Copy, Clone)]
2084pub struct spvc_resources_s {
2085 _unused: [u8; 0],
2086}
2087pub type spvc_resources = *mut spvc_resources_s;
2088#[repr(C)]
2089#[derive(Debug, Copy, Clone)]
2090pub struct spvc_type_s {
2091 _unused: [u8; 0],
2092}
2093pub type spvc_type = *const spvc_type_s;
2094#[repr(C)]
2095#[derive(Debug, Copy, Clone)]
2096pub struct spvc_constant_s {
2097 _unused: [u8; 0],
2098}
2099pub type spvc_constant = *mut spvc_constant_s;
2100#[repr(C)]
2101#[derive(Debug, Copy, Clone)]
2102pub struct spvc_set_s {
2103 _unused: [u8; 0],
2104}
2105pub type spvc_set = *const spvc_set_s;
2106#[repr(transparent)]
2107#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2108pub struct TypeId(pub SpvId);
2109#[repr(transparent)]
2110#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2111pub struct VariableId(pub SpvId);
2112#[repr(transparent)]
2113#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2114pub struct ConstantId(pub SpvId);
2115#[repr(C)]
2116#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2117pub struct spvc_reflected_resource {
2118 pub id: VariableId,
2119 pub base_type_id: TypeId,
2120 pub type_id: TypeId,
2121 pub name: *const crate::ctypes::c_char,
2122}
2123#[repr(C)]
2124#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2125pub struct spvc_reflected_builtin_resource {
2126 pub builtin: SpvBuiltIn,
2127 pub value_type_id: TypeId,
2128 pub resource: spvc_reflected_resource,
2129}
2130#[repr(C)]
2131#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2132pub struct spvc_entry_point {
2133 pub execution_model: SpvExecutionModel,
2134 pub name: *const crate::ctypes::c_char,
2135}
2136#[repr(C)]
2137#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2138pub struct spvc_combined_image_sampler {
2139 pub combined_id: VariableId,
2140 pub image_id: VariableId,
2141 pub sampler_id: VariableId,
2142}
2143#[repr(C)]
2144#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2145pub struct spvc_specialization_constant {
2146 pub id: ConstantId,
2147 pub constant_id: crate::ctypes::c_uint,
2148}
2149#[repr(C)]
2150#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2151pub struct BufferRange {
2152 pub index: crate::ctypes::c_uint,
2153 pub offset: usize,
2154 pub range: usize,
2155}
2156#[repr(C)]
2157#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2158pub struct HlslRootConstants {
2159 pub start: crate::ctypes::c_uint,
2160 pub end: crate::ctypes::c_uint,
2161 pub binding: crate::ctypes::c_uint,
2162 pub space: crate::ctypes::c_uint,
2163}
2164#[repr(C)]
2165#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2166pub struct HlslVertexAttributeRemap {
2167 pub location: crate::ctypes::c_uint,
2168 pub semantic: *const crate::ctypes::c_char,
2169}
2170#[repr(i32)]
2171#[must_use]
2172#[derive(
2173 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
2174)]
2175pub enum spvc_result {
2176 SPVC_SUCCESS = 0,
2177 SPVC_ERROR_INVALID_SPIRV = -1,
2178 SPVC_ERROR_UNSUPPORTED_SPIRV = -2,
2179 SPVC_ERROR_OUT_OF_MEMORY = -3,
2180 SPVC_ERROR_INVALID_ARGUMENT = -4,
2181}
2182#[repr(i32)]
2183#[derive(
2184 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
2185)]
2186pub enum spvc_capture_mode {
2187 Copy = 0,
2188 TakeOwnership = 1,
2189}
2190#[repr(i32)]
2191#[derive(
2192 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
2193)]
2194pub enum CompilerBackend {
2195 None = 0,
2196 Glsl = 1,
2197 Hlsl = 2,
2198 Msl = 3,
2199 Cpp = 4,
2200 Json = 5,
2201}
2202#[repr(i32)]
2203#[derive(
2204 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
2205)]
2206pub enum ResourceType {
2207 Unknown = 0,
2208 UniformBuffer = 1,
2209 StorageBuffer = 2,
2210 StageInput = 3,
2211 StageOutput = 4,
2212 SubpassInput = 5,
2213 StorageImage = 6,
2214 SampledImage = 7,
2215 AtomicCounter = 8,
2216 PushConstant = 9,
2217 SeparateImage = 10,
2218 SeparateSamplers = 11,
2219 AccelerationStructure = 12,
2220 RayQuery = 13,
2221 ShaderRecordBuffer = 14,
2222 GlPlainUniform = 15,
2223}
2224#[repr(i32)]
2225#[derive(
2226 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
2227)]
2228pub enum BuiltinResourceType {
2229 Unknown = 0,
2230 StageInput = 1,
2231 StageOutput = 2,
2232}
2233#[repr(i32)]
2234#[derive(
2235 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
2236)]
2237pub enum BaseType {
2238 Unknown = 0,
2239 Void = 1,
2240 Boolean = 2,
2241 Int8 = 3,
2242 Uint8 = 4,
2243 Int16 = 5,
2244 Uint16 = 6,
2245 Int32 = 7,
2246 Uint32 = 8,
2247 Int64 = 9,
2248 Uint64 = 10,
2249 AtomicCounter = 11,
2250 Fp16 = 12,
2251 Fp32 = 13,
2252 Fp64 = 14,
2253 Struct = 15,
2254 Image = 16,
2255 SampledImage = 17,
2256 Sampler = 18,
2257 AccelerationStructure = 19,
2258}
2259#[repr(i32)]
2260#[derive(
2261 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
2262)]
2263pub enum MslPlatform {
2264 Ios = 0,
2265 Macos = 1,
2266}
2267#[repr(i32)]
2268#[derive(
2269 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
2270)]
2271pub enum MslIndexType {
2272 None = 0,
2273 Uint16 = 1,
2274 Uint32 = 2,
2275}
2276impl MslShaderVariableFormat {
2277 pub const SPVC_MSL_VERTEX_FORMAT_OTHER: MslShaderVariableFormat =
2278 MslShaderVariableFormat::Other;
2279}
2280impl MslShaderVariableFormat {
2281 pub const SPVC_MSL_VERTEX_FORMAT_UINT8: MslShaderVariableFormat =
2282 MslShaderVariableFormat::Uint8;
2283}
2284impl MslShaderVariableFormat {
2285 pub const SPVC_MSL_VERTEX_FORMAT_UINT16: MslShaderVariableFormat =
2286 MslShaderVariableFormat::Uint16;
2287}
2288impl MslShaderVariableFormat {
2289 pub const SPVC_MSL_SHADER_INPUT_FORMAT_OTHER: MslShaderVariableFormat =
2290 MslShaderVariableFormat::Other;
2291}
2292impl MslShaderVariableFormat {
2293 pub const SPVC_MSL_SHADER_INPUT_FORMAT_UINT8: MslShaderVariableFormat =
2294 MslShaderVariableFormat::Uint8;
2295}
2296impl MslShaderVariableFormat {
2297 pub const SPVC_MSL_SHADER_INPUT_FORMAT_UINT16: MslShaderVariableFormat =
2298 MslShaderVariableFormat::Uint16;
2299}
2300impl MslShaderVariableFormat {
2301 pub const SPVC_MSL_SHADER_INPUT_FORMAT_ANY16: MslShaderVariableFormat =
2302 MslShaderVariableFormat::Any16;
2303}
2304impl MslShaderVariableFormat {
2305 pub const SPVC_MSL_SHADER_INPUT_FORMAT_ANY32: MslShaderVariableFormat =
2306 MslShaderVariableFormat::Any32;
2307}
2308#[repr(i32)]
2309#[non_exhaustive]
2310#[derive(
2311 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
2312)]
2313pub enum MslShaderVariableFormat {
2314 Other = 0,
2315 Uint8 = 1,
2316 Uint16 = 2,
2317 Any16 = 3,
2318 Any32 = 4,
2319}
2320pub use self::MslShaderVariableFormat as MslShaderInputFormat;
2321pub use self::MslShaderVariableFormat as MslVertexFormat;
2322#[repr(C)]
2323pub struct MslVertexAttribute {
2324 pub location: crate::ctypes::c_uint,
2325 pub msl_buffer: crate::ctypes::c_uint,
2326 pub msl_offset: crate::ctypes::c_uint,
2327 pub msl_stride: crate::ctypes::c_uint,
2328 pub per_instance: crate::ctypes::spvc_bool,
2329 pub format: MslVertexFormat,
2330 pub builtin: SpvBuiltIn,
2331}
2332extern "C" {
2333 pub fn spvc_msl_vertex_attribute_init(attr: *mut MslVertexAttribute);
2334}
2335#[repr(C)]
2336#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2337pub struct MslShaderInterfaceVar {
2338 pub location: crate::ctypes::c_uint,
2339 pub format: MslVertexFormat,
2340 pub builtin: SpvBuiltIn,
2341 pub vecsize: crate::ctypes::c_uint,
2342}
2343pub type MslShaderInput = MslShaderInterfaceVar;
2344extern "C" {
2345 pub fn spvc_msl_shader_interface_var_init(var: *mut MslShaderInterfaceVar);
2346}
2347extern "C" {
2348 pub fn spvc_msl_shader_input_init(input: *mut MslShaderInput);
2349}
2350#[repr(i32)]
2351#[derive(
2352 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
2353)]
2354pub enum MslShaderVariableRate {
2355 PerVertex = 0,
2356 PerPrimitive = 1,
2357 PerPatch = 2,
2358}
2359#[repr(C)]
2360#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2361pub struct MslShaderInterfaceVar2 {
2362 pub location: crate::ctypes::c_uint,
2363 pub format: MslShaderVariableFormat,
2364 pub builtin: SpvBuiltIn,
2365 pub vecsize: crate::ctypes::c_uint,
2366 pub rate: MslShaderVariableRate,
2367}
2368extern "C" {
2369 pub fn spvc_msl_shader_interface_var_init_2(var: *mut MslShaderInterfaceVar2);
2370}
2371#[repr(C)]
2372#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2373pub struct MslResourceBinding {
2374 pub stage: SpvExecutionModel,
2375 pub desc_set: crate::ctypes::c_uint,
2376 pub binding: crate::ctypes::c_uint,
2377 pub msl_buffer: crate::ctypes::c_uint,
2378 pub msl_texture: crate::ctypes::c_uint,
2379 pub msl_sampler: crate::ctypes::c_uint,
2380}
2381#[repr(C)]
2382#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2383pub struct MslResourceBinding2 {
2384 pub stage: SpvExecutionModel,
2385 pub desc_set: crate::ctypes::c_uint,
2386 pub binding: crate::ctypes::c_uint,
2387 pub count: crate::ctypes::c_uint,
2388 pub msl_buffer: crate::ctypes::c_uint,
2389 pub msl_texture: crate::ctypes::c_uint,
2390 pub msl_sampler: crate::ctypes::c_uint,
2391}
2392extern "C" {
2393 pub fn spvc_msl_resource_binding_init(binding: *mut MslResourceBinding);
2394}
2395extern "C" {
2396 pub fn spvc_msl_resource_binding_init_2(binding: *mut MslResourceBinding2);
2397}
2398extern "C" {
2399 pub fn spvc_msl_get_aux_buffer_struct_version() -> crate::ctypes::c_uint;
2400}
2401#[repr(i32)]
2402#[derive(
2403 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
2404)]
2405pub enum MslSamplerCoord {
2406 Normalized = 0,
2407 Pixel = 1,
2408}
2409#[repr(i32)]
2410#[derive(
2411 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
2412)]
2413pub enum MslSamplerFilter {
2414 Nearest = 0,
2415 Linear = 1,
2416}
2417#[repr(i32)]
2418#[derive(
2419 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
2420)]
2421pub enum MslSamplerMipFilter {
2422 None = 0,
2423 Nearest = 1,
2424 Linear = 2,
2425}
2426#[repr(i32)]
2427#[derive(
2428 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
2429)]
2430pub enum MslSamplerAddress {
2431 ClampToZero = 0,
2432 ClampToEdge = 1,
2433 ClampToBorder = 2,
2434 Repeat = 3,
2435 MirroredRepeat = 4,
2436}
2437#[repr(i32)]
2438#[derive(
2439 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
2440)]
2441pub enum MslSamplerCompareFunc {
2442 Never = 0,
2443 Less = 1,
2444 LessEqual = 2,
2445 Greater = 3,
2446 GreaterEqual = 4,
2447 Equal = 5,
2448 NotEqual = 6,
2449 Always = 7,
2450}
2451#[repr(i32)]
2452#[derive(
2453 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
2454)]
2455pub enum MslSamplerBorderColor {
2456 TransparentBlack = 0,
2457 OpaqueBlack = 1,
2458 OpaqueWhite = 2,
2459}
2460#[repr(i32)]
2461#[derive(
2462 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
2463)]
2464pub enum MslFormatResolution {
2465 FormatResolution444 = 0,
2466 FormatResolution422 = 1,
2467 FormatResolution420 = 2,
2468}
2469#[repr(i32)]
2470#[derive(
2471 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
2472)]
2473pub enum MslChromaLocation {
2474 CositedEven = 0,
2475 Midpoint = 1,
2476}
2477#[repr(i32)]
2478#[derive(
2479 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
2480)]
2481pub enum MslComponentSwizzle {
2482 Identity = 0,
2483 Zero = 1,
2484 One = 2,
2485 R = 3,
2486 G = 4,
2487 B = 5,
2488 A = 6,
2489}
2490#[repr(i32)]
2491#[derive(
2492 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
2493)]
2494pub enum MslSamplerYcbcrModelConversion {
2495 RgbIdentity = 0,
2496 YcbcrIdentity = 1,
2497 YcbcrBt709 = 2,
2498 YcbcrBt601 = 3,
2499 YcbcrBt2020 = 4,
2500}
2501#[repr(i32)]
2502#[derive(
2503 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
2504)]
2505pub enum MslSamplerYcbcrRange {
2506 ItuFull = 0,
2507 ItuNarrow = 1,
2508}
2509#[repr(C)]
2510pub struct MslConstexprSampler {
2511 pub coord: MslSamplerCoord,
2512 pub min_filter: MslSamplerFilter,
2513 pub mag_filter: MslSamplerFilter,
2514 pub mip_filter: MslSamplerMipFilter,
2515 pub s_address: MslSamplerAddress,
2516 pub t_address: MslSamplerAddress,
2517 pub r_address: MslSamplerAddress,
2518 pub compare_func: MslSamplerCompareFunc,
2519 pub border_color: MslSamplerBorderColor,
2520 pub lod_clamp_min: f32,
2521 pub lod_clamp_max: f32,
2522 pub max_anisotropy: crate::ctypes::c_int,
2523 pub compare_enable: crate::ctypes::spvc_bool,
2524 pub lod_clamp_enable: crate::ctypes::spvc_bool,
2525 pub anisotropy_enable: crate::ctypes::spvc_bool,
2526}
2527extern "C" {
2528 pub fn spvc_msl_constexpr_sampler_init(sampler: *mut MslConstexprSampler);
2529}
2530#[repr(C)]
2531#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2532pub struct MslSamplerYcbcrConversion {
2533 pub planes: crate::ctypes::c_uint,
2534 pub resolution: MslFormatResolution,
2535 pub chroma_filter: MslSamplerFilter,
2536 pub x_chroma_offset: MslChromaLocation,
2537 pub y_chroma_offset: MslChromaLocation,
2538 pub swizzle: [MslComponentSwizzle; 4usize],
2539 pub ycbcr_model: MslSamplerYcbcrModelConversion,
2540 pub ycbcr_range: MslSamplerYcbcrRange,
2541 pub bpc: crate::ctypes::c_uint,
2542}
2543extern "C" {
2544 pub fn spvc_msl_sampler_ycbcr_conversion_init(conv: *mut MslSamplerYcbcrConversion);
2545}
2546impl HlslBindingFlagBits {
2547 pub const SPVC_HLSL_BINDING_AUTO_NONE_BIT: HlslBindingFlagBits = HlslBindingFlagBits(0);
2548}
2549impl HlslBindingFlagBits {
2550 pub const SPVC_HLSL_BINDING_AUTO_PUSH_CONSTANT_BIT: HlslBindingFlagBits =
2551 HlslBindingFlagBits(1);
2552}
2553impl HlslBindingFlagBits {
2554 pub const SPVC_HLSL_BINDING_AUTO_CBV_BIT: HlslBindingFlagBits = HlslBindingFlagBits(2);
2555}
2556impl HlslBindingFlagBits {
2557 pub const SPVC_HLSL_BINDING_AUTO_SRV_BIT: HlslBindingFlagBits = HlslBindingFlagBits(4);
2558}
2559impl HlslBindingFlagBits {
2560 pub const SPVC_HLSL_BINDING_AUTO_UAV_BIT: HlslBindingFlagBits = HlslBindingFlagBits(8);
2561}
2562impl HlslBindingFlagBits {
2563 pub const SPVC_HLSL_BINDING_AUTO_SAMPLER_BIT: HlslBindingFlagBits = HlslBindingFlagBits(16);
2564}
2565impl HlslBindingFlagBits {
2566 pub const SPVC_HLSL_BINDING_AUTO_ALL: HlslBindingFlagBits = HlslBindingFlagBits(2147483647);
2567}
2568impl ::std::ops::BitOr<HlslBindingFlagBits> for HlslBindingFlagBits {
2569 type Output = Self;
2570 #[inline]
2571 fn bitor(self, other: Self) -> Self {
2572 HlslBindingFlagBits(self.0 | other.0)
2573 }
2574}
2575impl ::std::ops::BitOrAssign for HlslBindingFlagBits {
2576 #[inline]
2577 fn bitor_assign(&mut self, rhs: HlslBindingFlagBits) {
2578 self.0 |= rhs.0;
2579 }
2580}
2581impl ::std::ops::BitAnd<HlslBindingFlagBits> for HlslBindingFlagBits {
2582 type Output = Self;
2583 #[inline]
2584 fn bitand(self, other: Self) -> Self {
2585 HlslBindingFlagBits(self.0 & other.0)
2586 }
2587}
2588impl ::std::ops::BitAndAssign for HlslBindingFlagBits {
2589 #[inline]
2590 fn bitand_assign(&mut self, rhs: HlslBindingFlagBits) {
2591 self.0 &= rhs.0;
2592 }
2593}
2594#[repr(transparent)]
2595#[derive(
2596 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
2597)]
2598pub struct HlslBindingFlagBits(pub i32);
2599#[repr(transparent)]
2600#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2601pub struct HlslBindingFlags(pub crate::ctypes::c_uint);
2602#[repr(C)]
2603#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2604pub struct HlslResourceBindingMapping {
2605 pub register_space: crate::ctypes::c_uint,
2606 pub register_binding: crate::ctypes::c_uint,
2607}
2608#[repr(C)]
2609#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2610pub struct HlslResourceBinding {
2611 pub stage: SpvExecutionModel,
2612 pub desc_set: crate::ctypes::c_uint,
2613 pub binding: crate::ctypes::c_uint,
2614 pub cbv: HlslResourceBindingMapping,
2615 pub uav: HlslResourceBindingMapping,
2616 pub srv: HlslResourceBindingMapping,
2617 pub sampler: HlslResourceBindingMapping,
2618}
2619extern "C" {
2620 pub fn spvc_hlsl_resource_binding_init(binding: *mut HlslResourceBinding);
2621}
2622impl spvc_compiler_option {
2623 pub const SPVC_COMPILER_OPTION_UNKNOWN: spvc_compiler_option = spvc_compiler_option(0);
2624}
2625impl spvc_compiler_option {
2626 pub const SPVC_COMPILER_OPTION_FORCE_TEMPORARY: spvc_compiler_option =
2627 spvc_compiler_option(16777217);
2628}
2629impl spvc_compiler_option {
2630 pub const SPVC_COMPILER_OPTION_FLATTEN_MULTIDIMENSIONAL_ARRAYS: spvc_compiler_option =
2631 spvc_compiler_option(16777218);
2632}
2633impl spvc_compiler_option {
2634 pub const SPVC_COMPILER_OPTION_FIXUP_DEPTH_CONVENTION: spvc_compiler_option =
2635 spvc_compiler_option(16777219);
2636}
2637impl spvc_compiler_option {
2638 pub const SPVC_COMPILER_OPTION_FLIP_VERTEX_Y: spvc_compiler_option =
2639 spvc_compiler_option(16777220);
2640}
2641impl spvc_compiler_option {
2642 pub const SPVC_COMPILER_OPTION_GLSL_SUPPORT_NONZERO_BASE_INSTANCE: spvc_compiler_option =
2643 spvc_compiler_option(33554437);
2644}
2645impl spvc_compiler_option {
2646 pub const SPVC_COMPILER_OPTION_GLSL_SEPARATE_SHADER_OBJECTS: spvc_compiler_option =
2647 spvc_compiler_option(33554438);
2648}
2649impl spvc_compiler_option {
2650 pub const SPVC_COMPILER_OPTION_GLSL_ENABLE_420PACK_EXTENSION: spvc_compiler_option =
2651 spvc_compiler_option(33554439);
2652}
2653impl spvc_compiler_option {
2654 pub const SPVC_COMPILER_OPTION_GLSL_VERSION: spvc_compiler_option =
2655 spvc_compiler_option(33554440);
2656}
2657impl spvc_compiler_option {
2658 pub const SPVC_COMPILER_OPTION_GLSL_ES: spvc_compiler_option = spvc_compiler_option(33554441);
2659}
2660impl spvc_compiler_option {
2661 pub const SPVC_COMPILER_OPTION_GLSL_VULKAN_SEMANTICS: spvc_compiler_option =
2662 spvc_compiler_option(33554442);
2663}
2664impl spvc_compiler_option {
2665 pub const SPVC_COMPILER_OPTION_GLSL_ES_DEFAULT_FLOAT_PRECISION_HIGHP: spvc_compiler_option =
2666 spvc_compiler_option(33554443);
2667}
2668impl spvc_compiler_option {
2669 pub const SPVC_COMPILER_OPTION_GLSL_ES_DEFAULT_INT_PRECISION_HIGHP: spvc_compiler_option =
2670 spvc_compiler_option(33554444);
2671}
2672impl spvc_compiler_option {
2673 pub const SPVC_COMPILER_OPTION_HLSL_SHADER_MODEL: spvc_compiler_option =
2674 spvc_compiler_option(67108877);
2675}
2676impl spvc_compiler_option {
2677 pub const SPVC_COMPILER_OPTION_HLSL_POINT_SIZE_COMPAT: spvc_compiler_option =
2678 spvc_compiler_option(67108878);
2679}
2680impl spvc_compiler_option {
2681 pub const SPVC_COMPILER_OPTION_HLSL_POINT_COORD_COMPAT: spvc_compiler_option =
2682 spvc_compiler_option(67108879);
2683}
2684impl spvc_compiler_option {
2685 pub const SPVC_COMPILER_OPTION_HLSL_SUPPORT_NONZERO_BASE_VERTEX_BASE_INSTANCE:
2686 spvc_compiler_option = spvc_compiler_option(67108880);
2687}
2688impl spvc_compiler_option {
2689 pub const SPVC_COMPILER_OPTION_MSL_VERSION: spvc_compiler_option =
2690 spvc_compiler_option(134217745);
2691}
2692impl spvc_compiler_option {
2693 pub const SPVC_COMPILER_OPTION_MSL_TEXEL_BUFFER_TEXTURE_WIDTH: spvc_compiler_option =
2694 spvc_compiler_option(134217746);
2695}
2696impl spvc_compiler_option {
2697 pub const SPVC_COMPILER_OPTION_MSL_AUX_BUFFER_INDEX: spvc_compiler_option =
2698 spvc_compiler_option(134217747);
2699}
2700impl spvc_compiler_option {
2701 pub const SPVC_COMPILER_OPTION_MSL_SWIZZLE_BUFFER_INDEX: spvc_compiler_option =
2702 spvc_compiler_option(134217747);
2703}
2704impl spvc_compiler_option {
2705 pub const SPVC_COMPILER_OPTION_MSL_INDIRECT_PARAMS_BUFFER_INDEX: spvc_compiler_option =
2706 spvc_compiler_option(134217748);
2707}
2708impl spvc_compiler_option {
2709 pub const SPVC_COMPILER_OPTION_MSL_SHADER_OUTPUT_BUFFER_INDEX: spvc_compiler_option =
2710 spvc_compiler_option(134217749);
2711}
2712impl spvc_compiler_option {
2713 pub const SPVC_COMPILER_OPTION_MSL_SHADER_PATCH_OUTPUT_BUFFER_INDEX: spvc_compiler_option =
2714 spvc_compiler_option(134217750);
2715}
2716impl spvc_compiler_option {
2717 pub const SPVC_COMPILER_OPTION_MSL_SHADER_TESS_FACTOR_OUTPUT_BUFFER_INDEX:
2718 spvc_compiler_option = spvc_compiler_option(134217751);
2719}
2720impl spvc_compiler_option {
2721 pub const SPVC_COMPILER_OPTION_MSL_SHADER_INPUT_WORKGROUP_INDEX: spvc_compiler_option =
2722 spvc_compiler_option(134217752);
2723}
2724impl spvc_compiler_option {
2725 pub const SPVC_COMPILER_OPTION_MSL_ENABLE_POINT_SIZE_BUILTIN: spvc_compiler_option =
2726 spvc_compiler_option(134217753);
2727}
2728impl spvc_compiler_option {
2729 pub const SPVC_COMPILER_OPTION_MSL_DISABLE_RASTERIZATION: spvc_compiler_option =
2730 spvc_compiler_option(134217754);
2731}
2732impl spvc_compiler_option {
2733 pub const SPVC_COMPILER_OPTION_MSL_CAPTURE_OUTPUT_TO_BUFFER: spvc_compiler_option =
2734 spvc_compiler_option(134217755);
2735}
2736impl spvc_compiler_option {
2737 pub const SPVC_COMPILER_OPTION_MSL_SWIZZLE_TEXTURE_SAMPLES: spvc_compiler_option =
2738 spvc_compiler_option(134217756);
2739}
2740impl spvc_compiler_option {
2741 pub const SPVC_COMPILER_OPTION_MSL_PAD_FRAGMENT_OUTPUT_COMPONENTS: spvc_compiler_option =
2742 spvc_compiler_option(134217757);
2743}
2744impl spvc_compiler_option {
2745 pub const SPVC_COMPILER_OPTION_MSL_TESS_DOMAIN_ORIGIN_LOWER_LEFT: spvc_compiler_option =
2746 spvc_compiler_option(134217758);
2747}
2748impl spvc_compiler_option {
2749 pub const SPVC_COMPILER_OPTION_MSL_PLATFORM: spvc_compiler_option =
2750 spvc_compiler_option(134217759);
2751}
2752impl spvc_compiler_option {
2753 pub const SPVC_COMPILER_OPTION_MSL_ARGUMENT_BUFFERS: spvc_compiler_option =
2754 spvc_compiler_option(134217760);
2755}
2756impl spvc_compiler_option {
2757 pub const SPVC_COMPILER_OPTION_GLSL_EMIT_PUSH_CONSTANT_AS_UNIFORM_BUFFER: spvc_compiler_option =
2758 spvc_compiler_option(33554465);
2759}
2760impl spvc_compiler_option {
2761 pub const SPVC_COMPILER_OPTION_MSL_TEXTURE_BUFFER_NATIVE: spvc_compiler_option =
2762 spvc_compiler_option(134217762);
2763}
2764impl spvc_compiler_option {
2765 pub const SPVC_COMPILER_OPTION_GLSL_EMIT_UNIFORM_BUFFER_AS_PLAIN_UNIFORMS:
2766 spvc_compiler_option = spvc_compiler_option(33554467);
2767}
2768impl spvc_compiler_option {
2769 pub const SPVC_COMPILER_OPTION_MSL_BUFFER_SIZE_BUFFER_INDEX: spvc_compiler_option =
2770 spvc_compiler_option(134217764);
2771}
2772impl spvc_compiler_option {
2773 pub const SPVC_COMPILER_OPTION_EMIT_LINE_DIRECTIVES: spvc_compiler_option =
2774 spvc_compiler_option(16777253);
2775}
2776impl spvc_compiler_option {
2777 pub const SPVC_COMPILER_OPTION_MSL_MULTIVIEW: spvc_compiler_option =
2778 spvc_compiler_option(134217766);
2779}
2780impl spvc_compiler_option {
2781 pub const SPVC_COMPILER_OPTION_MSL_VIEW_MASK_BUFFER_INDEX: spvc_compiler_option =
2782 spvc_compiler_option(134217767);
2783}
2784impl spvc_compiler_option {
2785 pub const SPVC_COMPILER_OPTION_MSL_DEVICE_INDEX: spvc_compiler_option =
2786 spvc_compiler_option(134217768);
2787}
2788impl spvc_compiler_option {
2789 pub const SPVC_COMPILER_OPTION_MSL_VIEW_INDEX_FROM_DEVICE_INDEX: spvc_compiler_option =
2790 spvc_compiler_option(134217769);
2791}
2792impl spvc_compiler_option {
2793 pub const SPVC_COMPILER_OPTION_MSL_DISPATCH_BASE: spvc_compiler_option =
2794 spvc_compiler_option(134217770);
2795}
2796impl spvc_compiler_option {
2797 pub const SPVC_COMPILER_OPTION_MSL_DYNAMIC_OFFSETS_BUFFER_INDEX: spvc_compiler_option =
2798 spvc_compiler_option(134217771);
2799}
2800impl spvc_compiler_option {
2801 pub const SPVC_COMPILER_OPTION_MSL_TEXTURE_1D_AS_2D: spvc_compiler_option =
2802 spvc_compiler_option(134217772);
2803}
2804impl spvc_compiler_option {
2805 pub const SPVC_COMPILER_OPTION_MSL_ENABLE_BASE_INDEX_ZERO: spvc_compiler_option =
2806 spvc_compiler_option(134217773);
2807}
2808impl spvc_compiler_option {
2809 pub const SPVC_COMPILER_OPTION_MSL_IOS_FRAMEBUFFER_FETCH_SUBPASS: spvc_compiler_option =
2810 spvc_compiler_option(134217774);
2811}
2812impl spvc_compiler_option {
2813 pub const SPVC_COMPILER_OPTION_MSL_FRAMEBUFFER_FETCH_SUBPASS: spvc_compiler_option =
2814 spvc_compiler_option(134217774);
2815}
2816impl spvc_compiler_option {
2817 pub const SPVC_COMPILER_OPTION_MSL_INVARIANT_FP_MATH: spvc_compiler_option =
2818 spvc_compiler_option(134217775);
2819}
2820impl spvc_compiler_option {
2821 pub const SPVC_COMPILER_OPTION_MSL_EMULATE_CUBEMAP_ARRAY: spvc_compiler_option =
2822 spvc_compiler_option(134217776);
2823}
2824impl spvc_compiler_option {
2825 pub const SPVC_COMPILER_OPTION_MSL_ENABLE_DECORATION_BINDING: spvc_compiler_option =
2826 spvc_compiler_option(134217777);
2827}
2828impl spvc_compiler_option {
2829 pub const SPVC_COMPILER_OPTION_MSL_FORCE_ACTIVE_ARGUMENT_BUFFER_RESOURCES:
2830 spvc_compiler_option = spvc_compiler_option(134217778);
2831}
2832impl spvc_compiler_option {
2833 pub const SPVC_COMPILER_OPTION_MSL_FORCE_NATIVE_ARRAYS: spvc_compiler_option =
2834 spvc_compiler_option(134217779);
2835}
2836impl spvc_compiler_option {
2837 pub const SPVC_COMPILER_OPTION_ENABLE_STORAGE_IMAGE_QUALIFIER_DEDUCTION: spvc_compiler_option =
2838 spvc_compiler_option(16777268);
2839}
2840impl spvc_compiler_option {
2841 pub const SPVC_COMPILER_OPTION_HLSL_FORCE_STORAGE_BUFFER_AS_UAV: spvc_compiler_option =
2842 spvc_compiler_option(67108917);
2843}
2844impl spvc_compiler_option {
2845 pub const SPVC_COMPILER_OPTION_FORCE_ZERO_INITIALIZED_VARIABLES: spvc_compiler_option =
2846 spvc_compiler_option(16777270);
2847}
2848impl spvc_compiler_option {
2849 pub const SPVC_COMPILER_OPTION_HLSL_NONWRITABLE_UAV_TEXTURE_AS_SRV: spvc_compiler_option =
2850 spvc_compiler_option(67108919);
2851}
2852impl spvc_compiler_option {
2853 pub const SPVC_COMPILER_OPTION_MSL_ENABLE_FRAG_OUTPUT_MASK: spvc_compiler_option =
2854 spvc_compiler_option(134217784);
2855}
2856impl spvc_compiler_option {
2857 pub const SPVC_COMPILER_OPTION_MSL_ENABLE_FRAG_DEPTH_BUILTIN: spvc_compiler_option =
2858 spvc_compiler_option(134217785);
2859}
2860impl spvc_compiler_option {
2861 pub const SPVC_COMPILER_OPTION_MSL_ENABLE_FRAG_STENCIL_REF_BUILTIN: spvc_compiler_option =
2862 spvc_compiler_option(134217786);
2863}
2864impl spvc_compiler_option {
2865 pub const SPVC_COMPILER_OPTION_MSL_ENABLE_CLIP_DISTANCE_USER_VARYING: spvc_compiler_option =
2866 spvc_compiler_option(134217787);
2867}
2868impl spvc_compiler_option {
2869 pub const SPVC_COMPILER_OPTION_HLSL_ENABLE_16BIT_TYPES: spvc_compiler_option =
2870 spvc_compiler_option(67108924);
2871}
2872impl spvc_compiler_option {
2873 pub const SPVC_COMPILER_OPTION_MSL_MULTI_PATCH_WORKGROUP: spvc_compiler_option =
2874 spvc_compiler_option(134217789);
2875}
2876impl spvc_compiler_option {
2877 pub const SPVC_COMPILER_OPTION_MSL_SHADER_INPUT_BUFFER_INDEX: spvc_compiler_option =
2878 spvc_compiler_option(134217790);
2879}
2880impl spvc_compiler_option {
2881 pub const SPVC_COMPILER_OPTION_MSL_SHADER_INDEX_BUFFER_INDEX: spvc_compiler_option =
2882 spvc_compiler_option(134217791);
2883}
2884impl spvc_compiler_option {
2885 pub const SPVC_COMPILER_OPTION_MSL_VERTEX_FOR_TESSELLATION: spvc_compiler_option =
2886 spvc_compiler_option(134217792);
2887}
2888impl spvc_compiler_option {
2889 pub const SPVC_COMPILER_OPTION_MSL_VERTEX_INDEX_TYPE: spvc_compiler_option =
2890 spvc_compiler_option(134217793);
2891}
2892impl spvc_compiler_option {
2893 pub const SPVC_COMPILER_OPTION_GLSL_FORCE_FLATTENED_IO_BLOCKS: spvc_compiler_option =
2894 spvc_compiler_option(33554498);
2895}
2896impl spvc_compiler_option {
2897 pub const SPVC_COMPILER_OPTION_MSL_MULTIVIEW_LAYERED_RENDERING: spvc_compiler_option =
2898 spvc_compiler_option(134217795);
2899}
2900impl spvc_compiler_option {
2901 pub const SPVC_COMPILER_OPTION_MSL_ARRAYED_SUBPASS_INPUT: spvc_compiler_option =
2902 spvc_compiler_option(134217796);
2903}
2904impl spvc_compiler_option {
2905 pub const SPVC_COMPILER_OPTION_MSL_R32UI_LINEAR_TEXTURE_ALIGNMENT: spvc_compiler_option =
2906 spvc_compiler_option(134217797);
2907}
2908impl spvc_compiler_option {
2909 pub const SPVC_COMPILER_OPTION_MSL_R32UI_ALIGNMENT_CONSTANT_ID: spvc_compiler_option =
2910 spvc_compiler_option(134217798);
2911}
2912impl spvc_compiler_option {
2913 pub const SPVC_COMPILER_OPTION_HLSL_FLATTEN_MATRIX_VERTEX_INPUT_SEMANTICS:
2914 spvc_compiler_option = spvc_compiler_option(67108935);
2915}
2916impl spvc_compiler_option {
2917 pub const SPVC_COMPILER_OPTION_MSL_IOS_USE_SIMDGROUP_FUNCTIONS: spvc_compiler_option =
2918 spvc_compiler_option(134217800);
2919}
2920impl spvc_compiler_option {
2921 pub const SPVC_COMPILER_OPTION_MSL_EMULATE_SUBGROUPS: spvc_compiler_option =
2922 spvc_compiler_option(134217801);
2923}
2924impl spvc_compiler_option {
2925 pub const SPVC_COMPILER_OPTION_MSL_FIXED_SUBGROUP_SIZE: spvc_compiler_option =
2926 spvc_compiler_option(134217802);
2927}
2928impl spvc_compiler_option {
2929 pub const SPVC_COMPILER_OPTION_MSL_FORCE_SAMPLE_RATE_SHADING: spvc_compiler_option =
2930 spvc_compiler_option(134217803);
2931}
2932impl spvc_compiler_option {
2933 pub const SPVC_COMPILER_OPTION_MSL_IOS_SUPPORT_BASE_VERTEX_INSTANCE: spvc_compiler_option =
2934 spvc_compiler_option(134217804);
2935}
2936impl spvc_compiler_option {
2937 pub const SPVC_COMPILER_OPTION_GLSL_OVR_MULTIVIEW_VIEW_COUNT: spvc_compiler_option =
2938 spvc_compiler_option(33554509);
2939}
2940impl spvc_compiler_option {
2941 pub const SPVC_COMPILER_OPTION_RELAX_NAN_CHECKS: spvc_compiler_option =
2942 spvc_compiler_option(16777294);
2943}
2944impl spvc_compiler_option {
2945 pub const SPVC_COMPILER_OPTION_MSL_RAW_BUFFER_TESE_INPUT: spvc_compiler_option =
2946 spvc_compiler_option(134217807);
2947}
2948impl spvc_compiler_option {
2949 pub const SPVC_COMPILER_OPTION_MSL_SHADER_PATCH_INPUT_BUFFER_INDEX: spvc_compiler_option =
2950 spvc_compiler_option(134217808);
2951}
2952impl spvc_compiler_option {
2953 pub const SPVC_COMPILER_OPTION_MSL_MANUAL_HELPER_INVOCATION_UPDATES: spvc_compiler_option =
2954 spvc_compiler_option(134217809);
2955}
2956impl spvc_compiler_option {
2957 pub const SPVC_COMPILER_OPTION_MSL_CHECK_DISCARDED_FRAG_STORES: spvc_compiler_option =
2958 spvc_compiler_option(134217810);
2959}
2960impl spvc_compiler_option {
2961 pub const SPVC_COMPILER_OPTION_GLSL_ENABLE_ROW_MAJOR_LOAD_WORKAROUND: spvc_compiler_option =
2962 spvc_compiler_option(33554515);
2963}
2964impl spvc_compiler_option {
2965 pub const SPVC_COMPILER_OPTION_MSL_ARGUMENT_BUFFERS_TIER: spvc_compiler_option =
2966 spvc_compiler_option(134217812);
2967}
2968impl spvc_compiler_option {
2969 pub const SPVC_COMPILER_OPTION_MSL_SAMPLE_DREF_LOD_ARRAY_AS_GRAD: spvc_compiler_option =
2970 spvc_compiler_option(134217813);
2971}
2972impl spvc_compiler_option {
2973 pub const SPVC_COMPILER_OPTION_MSL_READWRITE_TEXTURE_FENCES: spvc_compiler_option =
2974 spvc_compiler_option(134217814);
2975}
2976impl spvc_compiler_option {
2977 pub const SPVC_COMPILER_OPTION_MSL_REPLACE_RECURSIVE_INPUTS: spvc_compiler_option =
2978 spvc_compiler_option(134217815);
2979}
2980impl spvc_compiler_option {
2981 pub const SPVC_COMPILER_OPTION_MSL_AGX_MANUAL_CUBE_GRAD_FIXUP: spvc_compiler_option =
2982 spvc_compiler_option(134217816);
2983}
2984impl spvc_compiler_option {
2985 pub const SPVC_COMPILER_OPTION_MSL_FORCE_FRAGMENT_WITH_SIDE_EFFECTS_EXECUTION:
2986 spvc_compiler_option = spvc_compiler_option(134217817);
2987}
2988impl spvc_compiler_option {
2989 pub const SPVC_COMPILER_OPTION_HLSL_USE_ENTRY_POINT_NAME: spvc_compiler_option =
2990 spvc_compiler_option(67108954);
2991}
2992impl spvc_compiler_option {
2993 pub const SPVC_COMPILER_OPTION_HLSL_PRESERVE_STRUCTURED_BUFFERS: spvc_compiler_option =
2994 spvc_compiler_option(67108955);
2995}
2996impl ::std::ops::BitOr<spvc_compiler_option> for spvc_compiler_option {
2997 type Output = Self;
2998 #[inline]
2999 fn bitor(self, other: Self) -> Self {
3000 spvc_compiler_option(self.0 | other.0)
3001 }
3002}
3003impl ::std::ops::BitOrAssign for spvc_compiler_option {
3004 #[inline]
3005 fn bitor_assign(&mut self, rhs: spvc_compiler_option) {
3006 self.0 |= rhs.0;
3007 }
3008}
3009impl ::std::ops::BitAnd<spvc_compiler_option> for spvc_compiler_option {
3010 type Output = Self;
3011 #[inline]
3012 fn bitand(self, other: Self) -> Self {
3013 spvc_compiler_option(self.0 & other.0)
3014 }
3015}
3016impl ::std::ops::BitAndAssign for spvc_compiler_option {
3017 #[inline]
3018 fn bitand_assign(&mut self, rhs: spvc_compiler_option) {
3019 self.0 &= rhs.0;
3020 }
3021}
3022#[repr(transparent)]
3023#[derive(
3024 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
3025)]
3026pub struct spvc_compiler_option(pub i32);
3027extern "C" {
3028 #[must_use]
3029 pub fn spvc_context_create(context: *mut spvc_context) -> spvc_result;
3030}
3031extern "C" {
3032 pub fn spvc_context_destroy(context: spvc_context);
3033}
3034extern "C" {
3035 pub fn spvc_context_release_allocations(context: spvc_context);
3036}
3037extern "C" {
3038 pub fn spvc_context_get_last_error_string(
3039 context: spvc_context,
3040 ) -> *const crate::ctypes::c_char;
3041}
3042pub type spvc_error_callback = ::std::option::Option<
3043 unsafe extern "C" fn(userdata: *mut crate::ctypes::c_void, error: *const crate::ctypes::c_char),
3044>;
3045extern "C" {
3046 pub fn spvc_context_set_error_callback(
3047 context: spvc_context,
3048 cb: spvc_error_callback,
3049 userdata: *mut crate::ctypes::c_void,
3050 );
3051}
3052extern "C" {
3053 #[must_use]
3054 pub fn spvc_context_parse_spirv(
3055 context: spvc_context,
3056 spirv: *const SpvId,
3057 word_count: usize,
3058 parsed_ir: *mut spvc_parsed_ir,
3059 ) -> spvc_result;
3060}
3061extern "C" {
3062 #[must_use]
3063 pub fn spvc_context_create_compiler(
3064 context: spvc_context,
3065 backend: CompilerBackend,
3066 parsed_ir: spvc_parsed_ir,
3067 mode: spvc_capture_mode,
3068 compiler: *mut spvc_compiler,
3069 ) -> spvc_result;
3070}
3071extern "C" {
3072 pub fn spvc_compiler_get_current_id_bound(compiler: spvc_compiler) -> crate::ctypes::c_uint;
3073}
3074extern "C" {
3075 #[must_use]
3076 pub fn spvc_compiler_create_compiler_options(
3077 compiler: spvc_compiler,
3078 options: *mut spvc_compiler_options,
3079 ) -> spvc_result;
3080}
3081extern "C" {
3082 #[must_use]
3083 pub fn spvc_compiler_options_set_bool(
3084 options: spvc_compiler_options,
3085 option: spvc_compiler_option,
3086 value: crate::ctypes::spvc_bool,
3087 ) -> spvc_result;
3088}
3089extern "C" {
3090 #[must_use]
3091 pub fn spvc_compiler_options_set_uint(
3092 options: spvc_compiler_options,
3093 option: spvc_compiler_option,
3094 value: crate::ctypes::c_uint,
3095 ) -> spvc_result;
3096}
3097extern "C" {
3098 #[must_use]
3099 pub fn spvc_compiler_install_compiler_options(
3100 compiler: spvc_compiler,
3101 options: spvc_compiler_options,
3102 ) -> spvc_result;
3103}
3104extern "C" {
3105 #[must_use]
3106 pub fn spvc_compiler_compile(
3107 compiler: spvc_compiler,
3108 source: *mut *const crate::ctypes::c_char,
3109 ) -> spvc_result;
3110}
3111extern "C" {
3112 #[must_use]
3113 pub fn spvc_compiler_add_header_line(
3114 compiler: spvc_compiler,
3115 line: *const crate::ctypes::c_char,
3116 ) -> spvc_result;
3117}
3118extern "C" {
3119 #[must_use]
3120 pub fn spvc_compiler_require_extension(
3121 compiler: spvc_compiler,
3122 ext: *const crate::ctypes::c_char,
3123 ) -> spvc_result;
3124}
3125extern "C" {
3126 pub fn spvc_compiler_get_num_required_extensions(compiler: spvc_compiler) -> usize;
3127}
3128extern "C" {
3129 pub fn spvc_compiler_get_required_extension(
3130 compiler: spvc_compiler,
3131 index: usize,
3132 ) -> *const crate::ctypes::c_char;
3133}
3134extern "C" {
3135 #[must_use]
3136 pub fn spvc_compiler_flatten_buffer_block(
3137 compiler: spvc_compiler,
3138 id: VariableId,
3139 ) -> spvc_result;
3140}
3141extern "C" {
3142 pub fn spvc_compiler_variable_is_depth_or_compare(
3143 compiler: spvc_compiler,
3144 id: VariableId,
3145 ) -> crate::ctypes::spvc_bool;
3146}
3147extern "C" {
3148 #[must_use]
3149 pub fn spvc_compiler_mask_stage_output_by_location(
3150 compiler: spvc_compiler,
3151 location: crate::ctypes::c_uint,
3152 component: crate::ctypes::c_uint,
3153 ) -> spvc_result;
3154}
3155extern "C" {
3156 #[must_use]
3157 pub fn spvc_compiler_mask_stage_output_by_builtin(
3158 compiler: spvc_compiler,
3159 builtin: SpvBuiltIn,
3160 ) -> spvc_result;
3161}
3162extern "C" {
3163 #[must_use]
3164 pub fn spvc_compiler_hlsl_set_root_constants_layout(
3165 compiler: spvc_compiler,
3166 constant_info: *const HlslRootConstants,
3167 count: usize,
3168 ) -> spvc_result;
3169}
3170extern "C" {
3171 #[must_use]
3172 pub fn spvc_compiler_hlsl_add_vertex_attribute_remap(
3173 compiler: spvc_compiler,
3174 remap: *const HlslVertexAttributeRemap,
3175 remaps: usize,
3176 ) -> spvc_result;
3177}
3178extern "C" {
3179 pub fn spvc_compiler_hlsl_remap_num_workgroups_builtin(compiler: spvc_compiler) -> VariableId;
3180}
3181extern "C" {
3182 #[must_use]
3183 pub fn spvc_compiler_hlsl_set_resource_binding_flags(
3184 compiler: spvc_compiler,
3185 flags: HlslBindingFlags,
3186 ) -> spvc_result;
3187}
3188extern "C" {
3189 #[must_use]
3190 pub fn spvc_compiler_hlsl_add_resource_binding(
3191 compiler: spvc_compiler,
3192 binding: *const HlslResourceBinding,
3193 ) -> spvc_result;
3194}
3195extern "C" {
3196 pub fn spvc_compiler_hlsl_is_resource_used(
3197 compiler: spvc_compiler,
3198 model: SpvExecutionModel,
3199 set: crate::ctypes::c_uint,
3200 binding: crate::ctypes::c_uint,
3201 ) -> crate::ctypes::spvc_bool;
3202}
3203extern "C" {
3204 pub fn spvc_compiler_msl_is_rasterization_disabled(
3205 compiler: spvc_compiler,
3206 ) -> crate::ctypes::spvc_bool;
3207}
3208extern "C" {
3209 pub fn spvc_compiler_msl_needs_aux_buffer(compiler: spvc_compiler) -> crate::ctypes::spvc_bool;
3210}
3211extern "C" {
3212 pub fn spvc_compiler_msl_needs_swizzle_buffer(
3213 compiler: spvc_compiler,
3214 ) -> crate::ctypes::spvc_bool;
3215}
3216extern "C" {
3217 pub fn spvc_compiler_msl_needs_buffer_size_buffer(
3218 compiler: spvc_compiler,
3219 ) -> crate::ctypes::spvc_bool;
3220}
3221extern "C" {
3222 pub fn spvc_compiler_msl_needs_output_buffer(
3223 compiler: spvc_compiler,
3224 ) -> crate::ctypes::spvc_bool;
3225}
3226extern "C" {
3227 pub fn spvc_compiler_msl_needs_patch_output_buffer(
3228 compiler: spvc_compiler,
3229 ) -> crate::ctypes::spvc_bool;
3230}
3231extern "C" {
3232 pub fn spvc_compiler_msl_needs_input_threadgroup_mem(
3233 compiler: spvc_compiler,
3234 ) -> crate::ctypes::spvc_bool;
3235}
3236extern "C" {
3237 #[must_use]
3238 pub fn spvc_compiler_msl_add_vertex_attribute(
3239 compiler: spvc_compiler,
3240 attrs: *const MslVertexAttribute,
3241 ) -> spvc_result;
3242}
3243extern "C" {
3244 #[must_use]
3245 pub fn spvc_compiler_msl_add_resource_binding(
3246 compiler: spvc_compiler,
3247 binding: *const MslResourceBinding,
3248 ) -> spvc_result;
3249}
3250extern "C" {
3251 #[must_use]
3252 pub fn spvc_compiler_msl_add_resource_binding_2(
3253 compiler: spvc_compiler,
3254 binding: *const MslResourceBinding2,
3255 ) -> spvc_result;
3256}
3257extern "C" {
3258 #[must_use]
3259 pub fn spvc_compiler_msl_add_shader_input(
3260 compiler: spvc_compiler,
3261 input: *const MslShaderInterfaceVar,
3262 ) -> spvc_result;
3263}
3264extern "C" {
3265 #[must_use]
3266 pub fn spvc_compiler_msl_add_shader_input_2(
3267 compiler: spvc_compiler,
3268 input: *const MslShaderInterfaceVar2,
3269 ) -> spvc_result;
3270}
3271extern "C" {
3272 #[must_use]
3273 pub fn spvc_compiler_msl_add_shader_output(
3274 compiler: spvc_compiler,
3275 output: *const MslShaderInterfaceVar,
3276 ) -> spvc_result;
3277}
3278extern "C" {
3279 #[must_use]
3280 pub fn spvc_compiler_msl_add_shader_output_2(
3281 compiler: spvc_compiler,
3282 output: *const MslShaderInterfaceVar2,
3283 ) -> spvc_result;
3284}
3285extern "C" {
3286 #[must_use]
3287 pub fn spvc_compiler_msl_add_discrete_descriptor_set(
3288 compiler: spvc_compiler,
3289 desc_set: crate::ctypes::c_uint,
3290 ) -> spvc_result;
3291}
3292extern "C" {
3293 #[must_use]
3294 pub fn spvc_compiler_msl_set_argument_buffer_device_address_space(
3295 compiler: spvc_compiler,
3296 desc_set: crate::ctypes::c_uint,
3297 device_address: crate::ctypes::spvc_bool,
3298 ) -> spvc_result;
3299}
3300extern "C" {
3301 pub fn spvc_compiler_msl_is_vertex_attribute_used(
3302 compiler: spvc_compiler,
3303 location: crate::ctypes::c_uint,
3304 ) -> crate::ctypes::spvc_bool;
3305}
3306extern "C" {
3307 pub fn spvc_compiler_msl_is_shader_input_used(
3308 compiler: spvc_compiler,
3309 location: crate::ctypes::c_uint,
3310 ) -> crate::ctypes::spvc_bool;
3311}
3312extern "C" {
3313 pub fn spvc_compiler_msl_is_shader_output_used(
3314 compiler: spvc_compiler,
3315 location: crate::ctypes::c_uint,
3316 ) -> crate::ctypes::spvc_bool;
3317}
3318extern "C" {
3319 pub fn spvc_compiler_msl_is_resource_used(
3320 compiler: spvc_compiler,
3321 model: SpvExecutionModel,
3322 set: crate::ctypes::c_uint,
3323 binding: crate::ctypes::c_uint,
3324 ) -> crate::ctypes::spvc_bool;
3325}
3326extern "C" {
3327 #[must_use]
3328 pub fn spvc_compiler_msl_remap_constexpr_sampler(
3329 compiler: spvc_compiler,
3330 id: VariableId,
3331 sampler: *const MslConstexprSampler,
3332 ) -> spvc_result;
3333}
3334extern "C" {
3335 #[must_use]
3336 pub fn spvc_compiler_msl_remap_constexpr_sampler_by_binding(
3337 compiler: spvc_compiler,
3338 desc_set: crate::ctypes::c_uint,
3339 binding: crate::ctypes::c_uint,
3340 sampler: *const MslConstexprSampler,
3341 ) -> spvc_result;
3342}
3343extern "C" {
3344 #[must_use]
3345 pub fn spvc_compiler_msl_remap_constexpr_sampler_ycbcr(
3346 compiler: spvc_compiler,
3347 id: VariableId,
3348 sampler: *const MslConstexprSampler,
3349 conv: *const MslSamplerYcbcrConversion,
3350 ) -> spvc_result;
3351}
3352extern "C" {
3353 #[must_use]
3354 pub fn spvc_compiler_msl_remap_constexpr_sampler_by_binding_ycbcr(
3355 compiler: spvc_compiler,
3356 desc_set: crate::ctypes::c_uint,
3357 binding: crate::ctypes::c_uint,
3358 sampler: *const MslConstexprSampler,
3359 conv: *const MslSamplerYcbcrConversion,
3360 ) -> spvc_result;
3361}
3362extern "C" {
3363 #[must_use]
3364 pub fn spvc_compiler_msl_set_fragment_output_components(
3365 compiler: spvc_compiler,
3366 location: crate::ctypes::c_uint,
3367 components: crate::ctypes::c_uint,
3368 ) -> spvc_result;
3369}
3370extern "C" {
3371 pub fn spvc_compiler_msl_get_automatic_resource_binding(
3372 compiler: spvc_compiler,
3373 id: VariableId,
3374 ) -> crate::ctypes::c_uint;
3375}
3376extern "C" {
3377 pub fn spvc_compiler_msl_get_automatic_resource_binding_secondary(
3378 compiler: spvc_compiler,
3379 id: VariableId,
3380 ) -> crate::ctypes::c_uint;
3381}
3382extern "C" {
3383 #[must_use]
3384 pub fn spvc_compiler_msl_add_dynamic_buffer(
3385 compiler: spvc_compiler,
3386 desc_set: crate::ctypes::c_uint,
3387 binding: crate::ctypes::c_uint,
3388 index: crate::ctypes::c_uint,
3389 ) -> spvc_result;
3390}
3391extern "C" {
3392 #[must_use]
3393 pub fn spvc_compiler_msl_add_inline_uniform_block(
3394 compiler: spvc_compiler,
3395 desc_set: crate::ctypes::c_uint,
3396 binding: crate::ctypes::c_uint,
3397 ) -> spvc_result;
3398}
3399extern "C" {
3400 #[must_use]
3401 pub fn spvc_compiler_msl_set_combined_sampler_suffix(
3402 compiler: spvc_compiler,
3403 suffix: *const crate::ctypes::c_char,
3404 ) -> spvc_result;
3405}
3406extern "C" {
3407 pub fn spvc_compiler_msl_get_combined_sampler_suffix(
3408 compiler: spvc_compiler,
3409 ) -> *const crate::ctypes::c_char;
3410}
3411extern "C" {
3412 #[must_use]
3413 pub fn spvc_compiler_get_active_interface_variables(
3414 compiler: spvc_compiler,
3415 set: *mut spvc_set,
3416 ) -> spvc_result;
3417}
3418extern "C" {
3419 #[must_use]
3420 pub fn spvc_compiler_set_enabled_interface_variables(
3421 compiler: spvc_compiler,
3422 set: spvc_set,
3423 ) -> spvc_result;
3424}
3425extern "C" {
3426 #[must_use]
3427 pub fn spvc_compiler_create_shader_resources(
3428 compiler: spvc_compiler,
3429 resources: *mut spvc_resources,
3430 ) -> spvc_result;
3431}
3432extern "C" {
3433 #[must_use]
3434 pub fn spvc_compiler_create_shader_resources_for_active_variables(
3435 compiler: spvc_compiler,
3436 resources: *mut spvc_resources,
3437 active: spvc_set,
3438 ) -> spvc_result;
3439}
3440extern "C" {
3441 #[must_use]
3442 pub fn spvc_resources_get_resource_list_for_type(
3443 resources: spvc_resources,
3444 type_: ResourceType,
3445 resource_list: *mut *const spvc_reflected_resource,
3446 resource_size: *mut usize,
3447 ) -> spvc_result;
3448}
3449extern "C" {
3450 #[must_use]
3451 pub fn spvc_resources_get_builtin_resource_list_for_type(
3452 resources: spvc_resources,
3453 type_: BuiltinResourceType,
3454 resource_list: *mut *const spvc_reflected_builtin_resource,
3455 resource_size: *mut usize,
3456 ) -> spvc_result;
3457}
3458extern "C" {
3459 pub fn spvc_compiler_set_decoration(
3460 compiler: spvc_compiler,
3461 id: SpvId,
3462 decoration: SpvDecoration,
3463 argument: crate::ctypes::c_uint,
3464 );
3465}
3466extern "C" {
3467 pub fn spvc_compiler_set_decoration_string(
3468 compiler: spvc_compiler,
3469 id: SpvId,
3470 decoration: SpvDecoration,
3471 argument: *const crate::ctypes::c_char,
3472 );
3473}
3474extern "C" {
3475 pub fn spvc_compiler_set_name(
3476 compiler: spvc_compiler,
3477 id: SpvId,
3478 argument: *const crate::ctypes::c_char,
3479 );
3480}
3481extern "C" {
3482 pub fn spvc_compiler_set_member_decoration(
3483 compiler: spvc_compiler,
3484 id: TypeId,
3485 member_index: crate::ctypes::c_uint,
3486 decoration: SpvDecoration,
3487 argument: crate::ctypes::c_uint,
3488 );
3489}
3490extern "C" {
3491 pub fn spvc_compiler_set_member_decoration_string(
3492 compiler: spvc_compiler,
3493 id: TypeId,
3494 member_index: crate::ctypes::c_uint,
3495 decoration: SpvDecoration,
3496 argument: *const crate::ctypes::c_char,
3497 );
3498}
3499extern "C" {
3500 pub fn spvc_compiler_set_member_name(
3501 compiler: spvc_compiler,
3502 id: TypeId,
3503 member_index: crate::ctypes::c_uint,
3504 argument: *const crate::ctypes::c_char,
3505 );
3506}
3507extern "C" {
3508 pub fn spvc_compiler_unset_decoration(
3509 compiler: spvc_compiler,
3510 id: SpvId,
3511 decoration: SpvDecoration,
3512 );
3513}
3514extern "C" {
3515 pub fn spvc_compiler_unset_member_decoration(
3516 compiler: spvc_compiler,
3517 id: TypeId,
3518 member_index: crate::ctypes::c_uint,
3519 decoration: SpvDecoration,
3520 );
3521}
3522extern "C" {
3523 pub fn spvc_compiler_has_decoration(
3524 compiler: spvc_compiler,
3525 id: SpvId,
3526 decoration: SpvDecoration,
3527 ) -> crate::ctypes::spvc_bool;
3528}
3529extern "C" {
3530 pub fn spvc_compiler_has_member_decoration(
3531 compiler: spvc_compiler,
3532 id: TypeId,
3533 member_index: crate::ctypes::c_uint,
3534 decoration: SpvDecoration,
3535 ) -> crate::ctypes::spvc_bool;
3536}
3537extern "C" {
3538 pub fn spvc_compiler_get_name(
3539 compiler: spvc_compiler,
3540 id: SpvId,
3541 ) -> *const crate::ctypes::c_char;
3542}
3543extern "C" {
3544 pub fn spvc_compiler_get_decoration(
3545 compiler: spvc_compiler,
3546 id: SpvId,
3547 decoration: SpvDecoration,
3548 ) -> crate::ctypes::c_uint;
3549}
3550extern "C" {
3551 pub fn spvc_compiler_get_decoration_string(
3552 compiler: spvc_compiler,
3553 id: SpvId,
3554 decoration: SpvDecoration,
3555 ) -> *const crate::ctypes::c_char;
3556}
3557extern "C" {
3558 pub fn spvc_compiler_get_member_decoration(
3559 compiler: spvc_compiler,
3560 id: TypeId,
3561 member_index: crate::ctypes::c_uint,
3562 decoration: SpvDecoration,
3563 ) -> crate::ctypes::c_uint;
3564}
3565extern "C" {
3566 pub fn spvc_compiler_get_member_decoration_string(
3567 compiler: spvc_compiler,
3568 id: TypeId,
3569 member_index: crate::ctypes::c_uint,
3570 decoration: SpvDecoration,
3571 ) -> *const crate::ctypes::c_char;
3572}
3573extern "C" {
3574 pub fn spvc_compiler_get_member_name(
3575 compiler: spvc_compiler,
3576 id: TypeId,
3577 member_index: crate::ctypes::c_uint,
3578 ) -> *const crate::ctypes::c_char;
3579}
3580extern "C" {
3581 #[must_use]
3582 pub fn spvc_compiler_get_entry_points(
3583 compiler: spvc_compiler,
3584 entry_points: *mut *const spvc_entry_point,
3585 num_entry_points: *mut usize,
3586 ) -> spvc_result;
3587}
3588extern "C" {
3589 #[must_use]
3590 pub fn spvc_compiler_set_entry_point(
3591 compiler: spvc_compiler,
3592 name: *const crate::ctypes::c_char,
3593 model: SpvExecutionModel,
3594 ) -> spvc_result;
3595}
3596extern "C" {
3597 #[must_use]
3598 pub fn spvc_compiler_rename_entry_point(
3599 compiler: spvc_compiler,
3600 old_name: *const crate::ctypes::c_char,
3601 new_name: *const crate::ctypes::c_char,
3602 model: SpvExecutionModel,
3603 ) -> spvc_result;
3604}
3605extern "C" {
3606 pub fn spvc_compiler_get_cleansed_entry_point_name(
3607 compiler: spvc_compiler,
3608 name: *const crate::ctypes::c_char,
3609 model: SpvExecutionModel,
3610 ) -> *const crate::ctypes::c_char;
3611}
3612extern "C" {
3613 pub fn spvc_compiler_set_execution_mode(compiler: spvc_compiler, mode: SpvExecutionMode);
3614}
3615extern "C" {
3616 pub fn spvc_compiler_unset_execution_mode(compiler: spvc_compiler, mode: SpvExecutionMode);
3617}
3618extern "C" {
3619 pub fn spvc_compiler_set_execution_mode_with_arguments(
3620 compiler: spvc_compiler,
3621 mode: SpvExecutionMode,
3622 arg0: crate::ctypes::c_uint,
3623 arg1: crate::ctypes::c_uint,
3624 arg2: crate::ctypes::c_uint,
3625 );
3626}
3627extern "C" {
3628 #[must_use]
3629 pub fn spvc_compiler_get_execution_modes(
3630 compiler: spvc_compiler,
3631 modes: *mut *const SpvExecutionMode,
3632 num_modes: *mut usize,
3633 ) -> spvc_result;
3634}
3635extern "C" {
3636 pub fn spvc_compiler_get_execution_mode_argument(
3637 compiler: spvc_compiler,
3638 mode: SpvExecutionMode,
3639 ) -> crate::ctypes::c_uint;
3640}
3641extern "C" {
3642 pub fn spvc_compiler_get_execution_mode_argument_by_index(
3643 compiler: spvc_compiler,
3644 mode: SpvExecutionMode,
3645 index: crate::ctypes::c_uint,
3646 ) -> crate::ctypes::c_uint;
3647}
3648extern "C" {
3649 pub fn spvc_compiler_get_execution_model(compiler: spvc_compiler) -> SpvExecutionModel;
3650}
3651extern "C" {
3652 pub fn spvc_compiler_update_active_builtins(compiler: spvc_compiler);
3653}
3654extern "C" {
3655 pub fn spvc_compiler_has_active_builtin(
3656 compiler: spvc_compiler,
3657 builtin: SpvBuiltIn,
3658 storage: SpvStorageClass,
3659 ) -> crate::ctypes::spvc_bool;
3660}
3661extern "C" {
3662 pub fn spvc_compiler_get_type_handle(compiler: spvc_compiler, id: TypeId) -> spvc_type;
3663}
3664extern "C" {
3665 pub fn spvc_type_get_base_type_id(type_: spvc_type) -> TypeId;
3666}
3667extern "C" {
3668 pub fn spvc_type_get_basetype(type_: spvc_type) -> BaseType;
3669}
3670extern "C" {
3671 pub fn spvc_type_get_bit_width(type_: spvc_type) -> crate::ctypes::c_uint;
3672}
3673extern "C" {
3674 pub fn spvc_type_get_vector_size(type_: spvc_type) -> crate::ctypes::c_uint;
3675}
3676extern "C" {
3677 pub fn spvc_type_get_columns(type_: spvc_type) -> crate::ctypes::c_uint;
3678}
3679extern "C" {
3680 pub fn spvc_type_get_num_array_dimensions(type_: spvc_type) -> crate::ctypes::c_uint;
3681}
3682extern "C" {
3683 pub fn spvc_type_array_dimension_is_literal(
3684 type_: spvc_type,
3685 dimension: crate::ctypes::c_uint,
3686 ) -> crate::ctypes::spvc_bool;
3687}
3688extern "C" {
3689 pub fn spvc_type_get_array_dimension(
3690 type_: spvc_type,
3691 dimension: crate::ctypes::c_uint,
3692 ) -> SpvId;
3693}
3694extern "C" {
3695 pub fn spvc_type_get_num_member_types(type_: spvc_type) -> crate::ctypes::c_uint;
3696}
3697extern "C" {
3698 pub fn spvc_type_get_member_type(type_: spvc_type, index: crate::ctypes::c_uint) -> TypeId;
3699}
3700extern "C" {
3701 pub fn spvc_type_get_storage_class(type_: spvc_type) -> SpvStorageClass;
3702}
3703extern "C" {
3704 pub fn spvc_type_get_image_sampled_type(type_: spvc_type) -> TypeId;
3705}
3706extern "C" {
3707 pub fn spvc_type_get_image_dimension(type_: spvc_type) -> SpvDim;
3708}
3709extern "C" {
3710 pub fn spvc_type_get_image_is_depth(type_: spvc_type) -> crate::ctypes::spvc_bool;
3711}
3712extern "C" {
3713 pub fn spvc_type_get_image_arrayed(type_: spvc_type) -> crate::ctypes::spvc_bool;
3714}
3715extern "C" {
3716 pub fn spvc_type_get_image_multisampled(type_: spvc_type) -> crate::ctypes::spvc_bool;
3717}
3718extern "C" {
3719 pub fn spvc_type_get_image_is_storage(type_: spvc_type) -> crate::ctypes::spvc_bool;
3720}
3721extern "C" {
3722 pub fn spvc_type_get_image_storage_format(type_: spvc_type) -> SpvImageFormat;
3723}
3724extern "C" {
3725 pub fn spvc_type_get_image_access_qualifier(type_: spvc_type) -> SpvAccessQualifier;
3726}
3727extern "C" {
3728 #[must_use]
3729 pub fn spvc_compiler_get_declared_struct_size(
3730 compiler: spvc_compiler,
3731 struct_type: spvc_type,
3732 size: *mut usize,
3733 ) -> spvc_result;
3734}
3735extern "C" {
3736 #[must_use]
3737 pub fn spvc_compiler_get_declared_struct_size_runtime_array(
3738 compiler: spvc_compiler,
3739 struct_type: spvc_type,
3740 array_size: usize,
3741 size: *mut usize,
3742 ) -> spvc_result;
3743}
3744extern "C" {
3745 #[must_use]
3746 pub fn spvc_compiler_get_declared_struct_member_size(
3747 compiler: spvc_compiler,
3748 type_: spvc_type,
3749 index: crate::ctypes::c_uint,
3750 size: *mut usize,
3751 ) -> spvc_result;
3752}
3753extern "C" {
3754 #[must_use]
3755 pub fn spvc_compiler_type_struct_member_offset(
3756 compiler: spvc_compiler,
3757 type_: spvc_type,
3758 index: crate::ctypes::c_uint,
3759 offset: *mut crate::ctypes::c_uint,
3760 ) -> spvc_result;
3761}
3762extern "C" {
3763 #[must_use]
3764 pub fn spvc_compiler_type_struct_member_array_stride(
3765 compiler: spvc_compiler,
3766 type_: spvc_type,
3767 index: crate::ctypes::c_uint,
3768 stride: *mut crate::ctypes::c_uint,
3769 ) -> spvc_result;
3770}
3771extern "C" {
3772 #[must_use]
3773 pub fn spvc_compiler_type_struct_member_matrix_stride(
3774 compiler: spvc_compiler,
3775 type_: spvc_type,
3776 index: crate::ctypes::c_uint,
3777 stride: *mut crate::ctypes::c_uint,
3778 ) -> spvc_result;
3779}
3780extern "C" {
3781 #[must_use]
3782 pub fn spvc_compiler_build_dummy_sampler_for_combined_images(
3783 compiler: spvc_compiler,
3784 id: *mut VariableId,
3785 ) -> spvc_result;
3786}
3787extern "C" {
3788 #[must_use]
3789 pub fn spvc_compiler_build_combined_image_samplers(compiler: spvc_compiler) -> spvc_result;
3790}
3791extern "C" {
3792 #[must_use]
3793 pub fn spvc_compiler_get_combined_image_samplers(
3794 compiler: spvc_compiler,
3795 samplers: *mut *const spvc_combined_image_sampler,
3796 num_samplers: *mut usize,
3797 ) -> spvc_result;
3798}
3799extern "C" {
3800 #[must_use]
3801 pub fn spvc_compiler_get_specialization_constants(
3802 compiler: spvc_compiler,
3803 constants: *mut *const spvc_specialization_constant,
3804 num_constants: *mut usize,
3805 ) -> spvc_result;
3806}
3807extern "C" {
3808 pub fn spvc_compiler_get_constant_handle(
3809 compiler: spvc_compiler,
3810 id: ConstantId,
3811 ) -> spvc_constant;
3812}
3813extern "C" {
3814 pub fn spvc_compiler_get_work_group_size_specialization_constants(
3815 compiler: spvc_compiler,
3816 x: *mut spvc_specialization_constant,
3817 y: *mut spvc_specialization_constant,
3818 z: *mut spvc_specialization_constant,
3819 ) -> ConstantId;
3820}
3821extern "C" {
3822 #[must_use]
3823 pub fn spvc_compiler_get_active_buffer_ranges(
3824 compiler: spvc_compiler,
3825 id: VariableId,
3826 ranges: *mut *const BufferRange,
3827 num_ranges: *mut usize,
3828 ) -> spvc_result;
3829}
3830extern "C" {
3831 pub fn spvc_constant_get_scalar_fp16(
3832 constant: spvc_constant,
3833 column: crate::ctypes::c_uint,
3834 row: crate::ctypes::c_uint,
3835 ) -> f32;
3836}
3837extern "C" {
3838 pub fn spvc_constant_get_scalar_fp32(
3839 constant: spvc_constant,
3840 column: crate::ctypes::c_uint,
3841 row: crate::ctypes::c_uint,
3842 ) -> f32;
3843}
3844extern "C" {
3845 pub fn spvc_constant_get_scalar_fp64(
3846 constant: spvc_constant,
3847 column: crate::ctypes::c_uint,
3848 row: crate::ctypes::c_uint,
3849 ) -> f64;
3850}
3851extern "C" {
3852 pub fn spvc_constant_get_scalar_u32(
3853 constant: spvc_constant,
3854 column: crate::ctypes::c_uint,
3855 row: crate::ctypes::c_uint,
3856 ) -> crate::ctypes::c_uint;
3857}
3858extern "C" {
3859 pub fn spvc_constant_get_scalar_i32(
3860 constant: spvc_constant,
3861 column: crate::ctypes::c_uint,
3862 row: crate::ctypes::c_uint,
3863 ) -> crate::ctypes::c_int;
3864}
3865extern "C" {
3866 pub fn spvc_constant_get_scalar_u16(
3867 constant: spvc_constant,
3868 column: crate::ctypes::c_uint,
3869 row: crate::ctypes::c_uint,
3870 ) -> crate::ctypes::c_uint;
3871}
3872extern "C" {
3873 pub fn spvc_constant_get_scalar_i16(
3874 constant: spvc_constant,
3875 column: crate::ctypes::c_uint,
3876 row: crate::ctypes::c_uint,
3877 ) -> crate::ctypes::c_int;
3878}
3879extern "C" {
3880 pub fn spvc_constant_get_scalar_u8(
3881 constant: spvc_constant,
3882 column: crate::ctypes::c_uint,
3883 row: crate::ctypes::c_uint,
3884 ) -> crate::ctypes::c_uint;
3885}
3886extern "C" {
3887 pub fn spvc_constant_get_scalar_i8(
3888 constant: spvc_constant,
3889 column: crate::ctypes::c_uint,
3890 row: crate::ctypes::c_uint,
3891 ) -> crate::ctypes::c_int;
3892}
3893extern "C" {
3894 pub fn spvc_constant_get_subconstants(
3895 constant: spvc_constant,
3896 constituents: *mut *const ConstantId,
3897 count: *mut usize,
3898 );
3899}
3900extern "C" {
3901 pub fn spvc_constant_get_scalar_u64(
3902 constant: spvc_constant,
3903 column: crate::ctypes::c_uint,
3904 row: crate::ctypes::c_uint,
3905 ) -> crate::ctypes::c_ulonglong;
3906}
3907extern "C" {
3908 pub fn spvc_constant_get_scalar_i64(
3909 constant: spvc_constant,
3910 column: crate::ctypes::c_uint,
3911 row: crate::ctypes::c_uint,
3912 ) -> crate::ctypes::c_longlong;
3913}
3914extern "C" {
3915 pub fn spvc_constant_get_type(constant: spvc_constant) -> TypeId;
3916}
3917extern "C" {
3918 pub fn spvc_constant_set_scalar_fp16(
3919 constant: spvc_constant,
3920 column: crate::ctypes::c_uint,
3921 row: crate::ctypes::c_uint,
3922 value: crate::ctypes::c_ushort,
3923 );
3924}
3925extern "C" {
3926 pub fn spvc_constant_set_scalar_fp32(
3927 constant: spvc_constant,
3928 column: crate::ctypes::c_uint,
3929 row: crate::ctypes::c_uint,
3930 value: f32,
3931 );
3932}
3933extern "C" {
3934 pub fn spvc_constant_set_scalar_fp64(
3935 constant: spvc_constant,
3936 column: crate::ctypes::c_uint,
3937 row: crate::ctypes::c_uint,
3938 value: f64,
3939 );
3940}
3941extern "C" {
3942 pub fn spvc_constant_set_scalar_u32(
3943 constant: spvc_constant,
3944 column: crate::ctypes::c_uint,
3945 row: crate::ctypes::c_uint,
3946 value: crate::ctypes::c_uint,
3947 );
3948}
3949extern "C" {
3950 pub fn spvc_constant_set_scalar_i32(
3951 constant: spvc_constant,
3952 column: crate::ctypes::c_uint,
3953 row: crate::ctypes::c_uint,
3954 value: crate::ctypes::c_int,
3955 );
3956}
3957extern "C" {
3958 pub fn spvc_constant_set_scalar_u64(
3959 constant: spvc_constant,
3960 column: crate::ctypes::c_uint,
3961 row: crate::ctypes::c_uint,
3962 value: crate::ctypes::c_ulonglong,
3963 );
3964}
3965extern "C" {
3966 pub fn spvc_constant_set_scalar_i64(
3967 constant: spvc_constant,
3968 column: crate::ctypes::c_uint,
3969 row: crate::ctypes::c_uint,
3970 value: crate::ctypes::c_longlong,
3971 );
3972}
3973extern "C" {
3974 pub fn spvc_constant_set_scalar_u16(
3975 constant: spvc_constant,
3976 column: crate::ctypes::c_uint,
3977 row: crate::ctypes::c_uint,
3978 value: crate::ctypes::c_ushort,
3979 );
3980}
3981extern "C" {
3982 pub fn spvc_constant_set_scalar_i16(
3983 constant: spvc_constant,
3984 column: crate::ctypes::c_uint,
3985 row: crate::ctypes::c_uint,
3986 value: crate::ctypes::c_short,
3987 );
3988}
3989extern "C" {
3990 pub fn spvc_constant_set_scalar_u8(
3991 constant: spvc_constant,
3992 column: crate::ctypes::c_uint,
3993 row: crate::ctypes::c_uint,
3994 value: crate::ctypes::c_uchar,
3995 );
3996}
3997extern "C" {
3998 pub fn spvc_constant_set_scalar_i8(
3999 constant: spvc_constant,
4000 column: crate::ctypes::c_uint,
4001 row: crate::ctypes::c_uint,
4002 value: crate::ctypes::c_schar,
4003 );
4004}
4005extern "C" {
4006 pub fn spvc_compiler_get_binary_offset_for_decoration(
4007 compiler: spvc_compiler,
4008 id: VariableId,
4009 decoration: SpvDecoration,
4010 word_offset: *mut crate::ctypes::c_uint,
4011 ) -> crate::ctypes::spvc_bool;
4012}
4013extern "C" {
4014 pub fn spvc_compiler_buffer_is_hlsl_counter_buffer(
4015 compiler: spvc_compiler,
4016 id: VariableId,
4017 ) -> crate::ctypes::spvc_bool;
4018}
4019extern "C" {
4020 pub fn spvc_compiler_buffer_get_hlsl_counter_buffer(
4021 compiler: spvc_compiler,
4022 id: VariableId,
4023 counter_id: *mut VariableId,
4024 ) -> crate::ctypes::spvc_bool;
4025}
4026extern "C" {
4027 #[must_use]
4028 pub fn spvc_compiler_get_declared_capabilities(
4029 compiler: spvc_compiler,
4030 capabilities: *mut *const SpvCapability,
4031 num_capabilities: *mut usize,
4032 ) -> spvc_result;
4033}
4034extern "C" {
4035 #[must_use]
4036 pub fn spvc_compiler_get_declared_extensions(
4037 compiler: spvc_compiler,
4038 extensions: *mut *mut *const crate::ctypes::c_char,
4039 num_extensions: *mut usize,
4040 ) -> spvc_result;
4041}
4042extern "C" {
4043 pub fn spvc_compiler_get_remapped_declared_block_name(
4044 compiler: spvc_compiler,
4045 id: VariableId,
4046 ) -> *const crate::ctypes::c_char;
4047}
4048extern "C" {
4049 #[must_use]
4050 pub fn spvc_compiler_get_buffer_block_decorations(
4051 compiler: spvc_compiler,
4052 id: VariableId,
4053 decorations: *mut *const SpvDecoration,
4054 num_decorations: *mut usize,
4055 ) -> spvc_result;
4056}
4057extern "C" {
4058 pub fn spvc_rs_expose_set(set: spvc_set, out: *mut u32, length: *mut usize);
4059}
4060extern "C" {
4061 pub fn spvc_rs_constant_is_scalar(constant: spvc_constant) -> crate::ctypes::spvc_bool;
4062}
4063extern "C" {
4064 pub fn spvc_rs_constant_get_vecsize(constant: spvc_constant) -> u32;
4065}
4066extern "C" {
4067 pub fn spvc_rs_constant_get_matrix_colsize(constant: spvc_constant) -> u32;
4068}
4069extern "C" {
4070 #[must_use]
4071 pub fn spvc_rs_compiler_variable_get_type(
4072 compiler: spvc_compiler,
4073 variable_id: VariableId,
4074 out: *mut TypeId,
4075 ) -> spvc_result;
4076}
4077extern "C" {
4078 pub fn spvc_rs_type_is_pointer(type_: spvc_type) -> crate::ctypes::spvc_bool;
4079}
4080extern "C" {
4081 pub fn spvc_rs_type_is_forward_pointer(type_: spvc_type) -> crate::ctypes::spvc_bool;
4082}
4083extern "C" {
4084 pub fn spvc_rs_compiler_get_execution_model_indirect(
4085 compiler: spvc_compiler,
4086 out: *mut SpvExecutionModel,
4087 );
4088}