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 pub const TessellationControl: SpvExecutionModel = SpvExecutionModel(1);
9 pub const TessellationEvaluation: SpvExecutionModel = SpvExecutionModel(2);
10 pub const Geometry: SpvExecutionModel = SpvExecutionModel(3);
11 pub const Fragment: SpvExecutionModel = SpvExecutionModel(4);
12 pub const GLCompute: SpvExecutionModel = SpvExecutionModel(5);
13 pub const Kernel: SpvExecutionModel = SpvExecutionModel(6);
14 pub const TaskNV: SpvExecutionModel = SpvExecutionModel(5267);
15 pub const MeshNV: SpvExecutionModel = SpvExecutionModel(5268);
16 pub const RayGenerationKHR: SpvExecutionModel = SpvExecutionModel(5313);
17 pub const RayGenerationNV: SpvExecutionModel = SpvExecutionModel(5313);
18 pub const IntersectionKHR: SpvExecutionModel = SpvExecutionModel(5314);
19 pub const IntersectionNV: SpvExecutionModel = SpvExecutionModel(5314);
20 pub const AnyHitKHR: SpvExecutionModel = SpvExecutionModel(5315);
21 pub const AnyHitNV: SpvExecutionModel = SpvExecutionModel(5315);
22 pub const ClosestHitKHR: SpvExecutionModel = SpvExecutionModel(5316);
23 pub const ClosestHitNV: SpvExecutionModel = SpvExecutionModel(5316);
24 pub const MissKHR: SpvExecutionModel = SpvExecutionModel(5317);
25 pub const MissNV: SpvExecutionModel = SpvExecutionModel(5317);
26 pub const CallableKHR: SpvExecutionModel = SpvExecutionModel(5318);
27 pub const CallableNV: SpvExecutionModel = SpvExecutionModel(5318);
28 pub const TaskEXT: SpvExecutionModel = SpvExecutionModel(5364);
29 pub const MeshEXT: SpvExecutionModel = SpvExecutionModel(5365);
30 pub const Max: SpvExecutionModel = SpvExecutionModel(2147483647);
31}
32#[repr(transparent)]
33#[derive(
34 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
35)]
36pub struct SpvExecutionModel(pub u32);
37impl SpvExecutionMode {
38 pub const Invocations: SpvExecutionMode = SpvExecutionMode(0);
39 pub const SpacingEqual: SpvExecutionMode = SpvExecutionMode(1);
40 pub const SpacingFractionalEven: SpvExecutionMode = SpvExecutionMode(2);
41 pub const SpacingFractionalOdd: SpvExecutionMode = SpvExecutionMode(3);
42 pub const VertexOrderCw: SpvExecutionMode = SpvExecutionMode(4);
43 pub const VertexOrderCcw: SpvExecutionMode = SpvExecutionMode(5);
44 pub const PixelCenterInteger: SpvExecutionMode = SpvExecutionMode(6);
45 pub const OriginUpperLeft: SpvExecutionMode = SpvExecutionMode(7);
46 pub const OriginLowerLeft: SpvExecutionMode = SpvExecutionMode(8);
47 pub const EarlyFragmentTests: SpvExecutionMode = SpvExecutionMode(9);
48 pub const PointMode: SpvExecutionMode = SpvExecutionMode(10);
49 pub const Xfb: SpvExecutionMode = SpvExecutionMode(11);
50 pub const DepthReplacing: SpvExecutionMode = SpvExecutionMode(12);
51 pub const DepthGreater: SpvExecutionMode = SpvExecutionMode(14);
52 pub const DepthLess: SpvExecutionMode = SpvExecutionMode(15);
53 pub const DepthUnchanged: SpvExecutionMode = SpvExecutionMode(16);
54 pub const LocalSize: SpvExecutionMode = SpvExecutionMode(17);
55 pub const LocalSizeHint: SpvExecutionMode = SpvExecutionMode(18);
56 pub const InputPoints: SpvExecutionMode = SpvExecutionMode(19);
57 pub const InputLines: SpvExecutionMode = SpvExecutionMode(20);
58 pub const InputLinesAdjacency: SpvExecutionMode = SpvExecutionMode(21);
59 pub const Triangles: SpvExecutionMode = SpvExecutionMode(22);
60 pub const InputTrianglesAdjacency: SpvExecutionMode = SpvExecutionMode(23);
61 pub const Quads: SpvExecutionMode = SpvExecutionMode(24);
62 pub const Isolines: SpvExecutionMode = SpvExecutionMode(25);
63 pub const OutputVertices: SpvExecutionMode = SpvExecutionMode(26);
64 pub const OutputPoints: SpvExecutionMode = SpvExecutionMode(27);
65 pub const OutputLineStrip: SpvExecutionMode = SpvExecutionMode(28);
66 pub const OutputTriangleStrip: SpvExecutionMode = SpvExecutionMode(29);
67 pub const VecTypeHint: SpvExecutionMode = SpvExecutionMode(30);
68 pub const ContractionOff: SpvExecutionMode = SpvExecutionMode(31);
69 pub const Initializer: SpvExecutionMode = SpvExecutionMode(33);
70 pub const Finalizer: SpvExecutionMode = SpvExecutionMode(34);
71 pub const SubgroupSize: SpvExecutionMode = SpvExecutionMode(35);
72 pub const SubgroupsPerWorkgroup: SpvExecutionMode = SpvExecutionMode(36);
73 pub const SubgroupsPerWorkgroupId: SpvExecutionMode = SpvExecutionMode(37);
74 pub const LocalSizeId: SpvExecutionMode = SpvExecutionMode(38);
75 pub const LocalSizeHintId: SpvExecutionMode = SpvExecutionMode(39);
76 pub const NonCoherentColorAttachmentReadEXT: SpvExecutionMode = SpvExecutionMode(4169);
77 pub const NonCoherentDepthAttachmentReadEXT: SpvExecutionMode = SpvExecutionMode(4170);
78 pub const NonCoherentStencilAttachmentReadEXT: SpvExecutionMode = SpvExecutionMode(4171);
79 pub const SubgroupUniformControlFlowKHR: SpvExecutionMode = SpvExecutionMode(4421);
80 pub const PostDepthCoverage: SpvExecutionMode = SpvExecutionMode(4446);
81 pub const DenormPreserve: SpvExecutionMode = SpvExecutionMode(4459);
82 pub const DenormFlushToZero: SpvExecutionMode = SpvExecutionMode(4460);
83 pub const SignedZeroInfNanPreserve: SpvExecutionMode = SpvExecutionMode(4461);
84 pub const RoundingModeRTE: SpvExecutionMode = SpvExecutionMode(4462);
85 pub const RoundingModeRTZ: SpvExecutionMode = SpvExecutionMode(4463);
86 pub const NonCoherentTileAttachmentReadQCOM: SpvExecutionMode = SpvExecutionMode(4489);
87 pub const TileShadingRateQCOM: SpvExecutionMode = SpvExecutionMode(4490);
88 pub const EarlyAndLateFragmentTestsAMD: SpvExecutionMode = SpvExecutionMode(5017);
89 pub const StencilRefReplacingEXT: SpvExecutionMode = SpvExecutionMode(5027);
90 pub const CoalescingAMDX: SpvExecutionMode = SpvExecutionMode(5069);
91 pub const IsApiEntryAMDX: SpvExecutionMode = SpvExecutionMode(5070);
92 pub const MaxNodeRecursionAMDX: SpvExecutionMode = SpvExecutionMode(5071);
93 pub const StaticNumWorkgroupsAMDX: SpvExecutionMode = SpvExecutionMode(5072);
94 pub const ShaderIndexAMDX: SpvExecutionMode = SpvExecutionMode(5073);
95 pub const MaxNumWorkgroupsAMDX: SpvExecutionMode = SpvExecutionMode(5077);
96 pub const StencilRefUnchangedFrontAMD: SpvExecutionMode = SpvExecutionMode(5079);
97 pub const StencilRefGreaterFrontAMD: SpvExecutionMode = SpvExecutionMode(5080);
98 pub const StencilRefLessFrontAMD: SpvExecutionMode = SpvExecutionMode(5081);
99 pub const StencilRefUnchangedBackAMD: SpvExecutionMode = SpvExecutionMode(5082);
100 pub const StencilRefGreaterBackAMD: SpvExecutionMode = SpvExecutionMode(5083);
101 pub const StencilRefLessBackAMD: SpvExecutionMode = SpvExecutionMode(5084);
102 pub const QuadDerivativesKHR: SpvExecutionMode = SpvExecutionMode(5088);
103 pub const RequireFullQuadsKHR: SpvExecutionMode = SpvExecutionMode(5089);
104 pub const SharesInputWithAMDX: SpvExecutionMode = SpvExecutionMode(5102);
105 pub const ArithmeticPoisonKHR: SpvExecutionMode = SpvExecutionMode(5157);
106 pub const OutputLinesEXT: SpvExecutionMode = SpvExecutionMode(5269);
107 pub const OutputLinesNV: SpvExecutionMode = SpvExecutionMode(5269);
108 pub const OutputPrimitivesEXT: SpvExecutionMode = SpvExecutionMode(5270);
109 pub const OutputPrimitivesNV: SpvExecutionMode = SpvExecutionMode(5270);
110 pub const DerivativeGroupQuadsKHR: SpvExecutionMode = SpvExecutionMode(5289);
111 pub const DerivativeGroupQuadsNV: SpvExecutionMode = SpvExecutionMode(5289);
112 pub const DerivativeGroupLinearKHR: SpvExecutionMode = SpvExecutionMode(5290);
113 pub const DerivativeGroupLinearNV: SpvExecutionMode = SpvExecutionMode(5290);
114 pub const OutputTrianglesEXT: SpvExecutionMode = SpvExecutionMode(5298);
115 pub const OutputTrianglesNV: SpvExecutionMode = SpvExecutionMode(5298);
116 pub const PixelInterlockOrderedEXT: SpvExecutionMode = SpvExecutionMode(5366);
117 pub const PixelInterlockUnorderedEXT: SpvExecutionMode = SpvExecutionMode(5367);
118 pub const SampleInterlockOrderedEXT: SpvExecutionMode = SpvExecutionMode(5368);
119 pub const SampleInterlockUnorderedEXT: SpvExecutionMode = SpvExecutionMode(5369);
120 pub const ShadingRateInterlockOrderedEXT: SpvExecutionMode = SpvExecutionMode(5370);
121 pub const ShadingRateInterlockUnorderedEXT: SpvExecutionMode = SpvExecutionMode(5371);
122 pub const Shader64BitIndexingEXT: SpvExecutionMode = SpvExecutionMode(5427);
123 pub const SharedLocalMemorySizeINTEL: SpvExecutionMode = SpvExecutionMode(5618);
124 pub const RoundingModeRTPINTEL: SpvExecutionMode = SpvExecutionMode(5620);
125 pub const RoundingModeRTNINTEL: SpvExecutionMode = SpvExecutionMode(5621);
126 pub const FloatingPointModeALTINTEL: SpvExecutionMode = SpvExecutionMode(5622);
127 pub const FloatingPointModeIEEEINTEL: SpvExecutionMode = SpvExecutionMode(5623);
128 pub const MaxWorkgroupSizeINTEL: SpvExecutionMode = SpvExecutionMode(5893);
129 pub const MaxWorkDimINTEL: SpvExecutionMode = SpvExecutionMode(5894);
130 pub const NoGlobalOffsetINTEL: SpvExecutionMode = SpvExecutionMode(5895);
131 pub const NumSIMDWorkitemsINTEL: SpvExecutionMode = SpvExecutionMode(5896);
132 pub const SchedulerTargetFmaxMhzINTEL: SpvExecutionMode = SpvExecutionMode(5903);
133 pub const MaximallyReconvergesKHR: SpvExecutionMode = SpvExecutionMode(6023);
134 pub const FPFastMathDefault: SpvExecutionMode = SpvExecutionMode(6028);
135 pub const StreamingInterfaceINTEL: SpvExecutionMode = SpvExecutionMode(6154);
136 pub const RegisterMapInterfaceINTEL: SpvExecutionMode = SpvExecutionMode(6160);
137 pub const NamedBarrierCountINTEL: SpvExecutionMode = SpvExecutionMode(6417);
138 pub const MaximumRegistersINTEL: SpvExecutionMode = SpvExecutionMode(6461);
139 pub const MaximumRegistersIdINTEL: SpvExecutionMode = SpvExecutionMode(6462);
140 pub const NamedMaximumRegistersINTEL: SpvExecutionMode = SpvExecutionMode(6463);
141 pub const Max: SpvExecutionMode = SpvExecutionMode(2147483647);
142}
143#[repr(transparent)]
144#[derive(
145 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
146)]
147pub struct SpvExecutionMode(pub u32);
148impl SpvStorageClass {
149 pub const UniformConstant: SpvStorageClass = SpvStorageClass(0);
150 pub const Input: SpvStorageClass = SpvStorageClass(1);
151 pub const Uniform: SpvStorageClass = SpvStorageClass(2);
152 pub const Output: SpvStorageClass = SpvStorageClass(3);
153 pub const Workgroup: SpvStorageClass = SpvStorageClass(4);
154 pub const CrossWorkgroup: SpvStorageClass = SpvStorageClass(5);
155 pub const Private: SpvStorageClass = SpvStorageClass(6);
156 pub const Function: SpvStorageClass = SpvStorageClass(7);
157 pub const Generic: SpvStorageClass = SpvStorageClass(8);
158 pub const PushConstant: SpvStorageClass = SpvStorageClass(9);
159 pub const AtomicCounter: SpvStorageClass = SpvStorageClass(10);
160 pub const Image: SpvStorageClass = SpvStorageClass(11);
161 pub const StorageBuffer: SpvStorageClass = SpvStorageClass(12);
162 pub const TileImageEXT: SpvStorageClass = SpvStorageClass(4172);
163 pub const TileAttachmentQCOM: SpvStorageClass = SpvStorageClass(4491);
164 pub const NodePayloadAMDX: SpvStorageClass = SpvStorageClass(5068);
165 pub const CallableDataKHR: SpvStorageClass = SpvStorageClass(5328);
166 pub const CallableDataNV: SpvStorageClass = SpvStorageClass(5328);
167 pub const IncomingCallableDataKHR: SpvStorageClass = SpvStorageClass(5329);
168 pub const IncomingCallableDataNV: SpvStorageClass = SpvStorageClass(5329);
169 pub const RayPayloadKHR: SpvStorageClass = SpvStorageClass(5338);
170 pub const RayPayloadNV: SpvStorageClass = SpvStorageClass(5338);
171 pub const HitAttributeKHR: SpvStorageClass = SpvStorageClass(5339);
172 pub const HitAttributeNV: SpvStorageClass = SpvStorageClass(5339);
173 pub const IncomingRayPayloadKHR: SpvStorageClass = SpvStorageClass(5342);
174 pub const IncomingRayPayloadNV: SpvStorageClass = SpvStorageClass(5342);
175 pub const ShaderRecordBufferKHR: SpvStorageClass = SpvStorageClass(5343);
176 pub const ShaderRecordBufferNV: SpvStorageClass = SpvStorageClass(5343);
177 pub const PhysicalStorageBuffer: SpvStorageClass = SpvStorageClass(5349);
178 pub const PhysicalStorageBufferEXT: SpvStorageClass = SpvStorageClass(5349);
179 pub const HitObjectAttributeNV: SpvStorageClass = SpvStorageClass(5385);
180 pub const TaskPayloadWorkgroupEXT: SpvStorageClass = SpvStorageClass(5402);
181 pub const HitObjectAttributeEXT: SpvStorageClass = SpvStorageClass(5411);
182 pub const CodeSectionINTEL: SpvStorageClass = SpvStorageClass(5605);
183 pub const DeviceOnlyALTERA: SpvStorageClass = SpvStorageClass(5936);
184 pub const DeviceOnlyINTEL: SpvStorageClass = SpvStorageClass(5936);
185 pub const HostOnlyALTERA: SpvStorageClass = SpvStorageClass(5937);
186 pub const HostOnlyINTEL: SpvStorageClass = SpvStorageClass(5937);
187 pub const Max: SpvStorageClass = SpvStorageClass(2147483647);
188}
189#[repr(transparent)]
190#[derive(
191 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
192)]
193pub struct SpvStorageClass(pub u32);
194impl SpvDim {
195 pub const Dim1D: SpvDim = SpvDim(0);
196 pub const Dim2D: SpvDim = SpvDim(1);
197 pub const Dim3D: SpvDim = SpvDim(2);
198 pub const DimCube: SpvDim = SpvDim(3);
199 pub const DimRect: SpvDim = SpvDim(4);
200 pub const DimBuffer: SpvDim = SpvDim(5);
201 pub const DimSubpassData: SpvDim = SpvDim(6);
202 pub const DimTileImageDataEXT: SpvDim = SpvDim(4173);
203 pub const DimMax: SpvDim = SpvDim(2147483647);
204}
205#[repr(transparent)]
206#[derive(
207 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
208)]
209pub struct SpvDim(pub u32);
210impl SpvImageFormat {
211 pub const Unknown: SpvImageFormat = SpvImageFormat(0);
212 pub const Rgba32f: SpvImageFormat = SpvImageFormat(1);
213 pub const Rgba16f: SpvImageFormat = SpvImageFormat(2);
214 pub const R32f: SpvImageFormat = SpvImageFormat(3);
215 pub const Rgba8: SpvImageFormat = SpvImageFormat(4);
216 pub const Rgba8Snorm: SpvImageFormat = SpvImageFormat(5);
217 pub const Rg32f: SpvImageFormat = SpvImageFormat(6);
218 pub const Rg16f: SpvImageFormat = SpvImageFormat(7);
219 pub const R11fG11fB10f: SpvImageFormat = SpvImageFormat(8);
220 pub const R16f: SpvImageFormat = SpvImageFormat(9);
221 pub const Rgba16: SpvImageFormat = SpvImageFormat(10);
222 pub const Rgb10A2: SpvImageFormat = SpvImageFormat(11);
223 pub const Rg16: SpvImageFormat = SpvImageFormat(12);
224 pub const Rg8: SpvImageFormat = SpvImageFormat(13);
225 pub const R16: SpvImageFormat = SpvImageFormat(14);
226 pub const R8: SpvImageFormat = SpvImageFormat(15);
227 pub const Rgba16Snorm: SpvImageFormat = SpvImageFormat(16);
228 pub const Rg16Snorm: SpvImageFormat = SpvImageFormat(17);
229 pub const Rg8Snorm: SpvImageFormat = SpvImageFormat(18);
230 pub const R16Snorm: SpvImageFormat = SpvImageFormat(19);
231 pub const R8Snorm: SpvImageFormat = SpvImageFormat(20);
232 pub const Rgba32i: SpvImageFormat = SpvImageFormat(21);
233 pub const Rgba16i: SpvImageFormat = SpvImageFormat(22);
234 pub const Rgba8i: SpvImageFormat = SpvImageFormat(23);
235 pub const R32i: SpvImageFormat = SpvImageFormat(24);
236 pub const Rg32i: SpvImageFormat = SpvImageFormat(25);
237 pub const Rg16i: SpvImageFormat = SpvImageFormat(26);
238 pub const Rg8i: SpvImageFormat = SpvImageFormat(27);
239 pub const R16i: SpvImageFormat = SpvImageFormat(28);
240 pub const R8i: SpvImageFormat = SpvImageFormat(29);
241 pub const Rgba32ui: SpvImageFormat = SpvImageFormat(30);
242 pub const Rgba16ui: SpvImageFormat = SpvImageFormat(31);
243 pub const Rgba8ui: SpvImageFormat = SpvImageFormat(32);
244 pub const R32ui: SpvImageFormat = SpvImageFormat(33);
245 pub const Rgb10a2ui: SpvImageFormat = SpvImageFormat(34);
246 pub const Rg32ui: SpvImageFormat = SpvImageFormat(35);
247 pub const Rg16ui: SpvImageFormat = SpvImageFormat(36);
248 pub const Rg8ui: SpvImageFormat = SpvImageFormat(37);
249 pub const R16ui: SpvImageFormat = SpvImageFormat(38);
250 pub const R8ui: SpvImageFormat = SpvImageFormat(39);
251 pub const R64ui: SpvImageFormat = SpvImageFormat(40);
252 pub const R64i: SpvImageFormat = SpvImageFormat(41);
253 pub const Max: SpvImageFormat = SpvImageFormat(2147483647);
254}
255#[repr(transparent)]
256#[derive(
257 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
258)]
259pub struct SpvImageFormat(pub u32);
260impl SpvFPRoundingMode {
261 pub const RTE: SpvFPRoundingMode = SpvFPRoundingMode(0);
262 pub const RTZ: SpvFPRoundingMode = SpvFPRoundingMode(1);
263 pub const RTP: SpvFPRoundingMode = SpvFPRoundingMode(2);
264 pub const RTN: SpvFPRoundingMode = SpvFPRoundingMode(3);
265 pub const Max: SpvFPRoundingMode = SpvFPRoundingMode(2147483647);
266}
267#[repr(transparent)]
268#[derive(
269 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
270)]
271pub struct SpvFPRoundingMode(pub u32);
272pub const SpvAccessQualifier_ReadOnly: SpvAccessQualifier = 0;
273pub const SpvAccessQualifier_WriteOnly: SpvAccessQualifier = 1;
274pub const SpvAccessQualifier_ReadWrite: SpvAccessQualifier = 2;
275pub const SpvAccessQualifier_Max: SpvAccessQualifier = 2147483647;
276pub type SpvAccessQualifier = u32;
277impl SpvDecoration {
278 pub const RelaxedPrecision: SpvDecoration = SpvDecoration(0);
279 pub const SpecId: SpvDecoration = SpvDecoration(1);
280 pub const Block: SpvDecoration = SpvDecoration(2);
281 pub const BufferBlock: SpvDecoration = SpvDecoration(3);
282 pub const RowMajor: SpvDecoration = SpvDecoration(4);
283 pub const ColMajor: SpvDecoration = SpvDecoration(5);
284 pub const ArrayStride: SpvDecoration = SpvDecoration(6);
285 pub const MatrixStride: SpvDecoration = SpvDecoration(7);
286 pub const GLSLShared: SpvDecoration = SpvDecoration(8);
287 pub const GLSLPacked: SpvDecoration = SpvDecoration(9);
288 pub const CPacked: SpvDecoration = SpvDecoration(10);
289 pub const BuiltIn: SpvDecoration = SpvDecoration(11);
290 pub const NoPerspective: SpvDecoration = SpvDecoration(13);
291 pub const Flat: SpvDecoration = SpvDecoration(14);
292 pub const Patch: SpvDecoration = SpvDecoration(15);
293 pub const Centroid: SpvDecoration = SpvDecoration(16);
294 pub const Sample: SpvDecoration = SpvDecoration(17);
295 pub const Invariant: SpvDecoration = SpvDecoration(18);
296 pub const Restrict: SpvDecoration = SpvDecoration(19);
297 pub const Aliased: SpvDecoration = SpvDecoration(20);
298 pub const Volatile: SpvDecoration = SpvDecoration(21);
299 pub const Constant: SpvDecoration = SpvDecoration(22);
300 pub const Coherent: SpvDecoration = SpvDecoration(23);
301 pub const NonWritable: SpvDecoration = SpvDecoration(24);
302 pub const NonReadable: SpvDecoration = SpvDecoration(25);
303 pub const Uniform: SpvDecoration = SpvDecoration(26);
304 pub const UniformId: SpvDecoration = SpvDecoration(27);
305 pub const SaturatedConversion: SpvDecoration = SpvDecoration(28);
306 pub const Stream: SpvDecoration = SpvDecoration(29);
307 pub const Location: SpvDecoration = SpvDecoration(30);
308 pub const Component: SpvDecoration = SpvDecoration(31);
309 pub const Index: SpvDecoration = SpvDecoration(32);
310 pub const Binding: SpvDecoration = SpvDecoration(33);
311 pub const DescriptorSet: SpvDecoration = SpvDecoration(34);
312 pub const Offset: SpvDecoration = SpvDecoration(35);
313 pub const XfbBuffer: SpvDecoration = SpvDecoration(36);
314 pub const XfbStride: SpvDecoration = SpvDecoration(37);
315 pub const FuncParamAttr: SpvDecoration = SpvDecoration(38);
316 pub const FPRoundingMode: SpvDecoration = SpvDecoration(39);
317 pub const FPFastMathMode: SpvDecoration = SpvDecoration(40);
318 pub const LinkageAttributes: SpvDecoration = SpvDecoration(41);
319 pub const NoContraction: SpvDecoration = SpvDecoration(42);
320 pub const InputAttachmentIndex: SpvDecoration = SpvDecoration(43);
321 pub const Alignment: SpvDecoration = SpvDecoration(44);
322 pub const MaxByteOffset: SpvDecoration = SpvDecoration(45);
323 pub const AlignmentId: SpvDecoration = SpvDecoration(46);
324 pub const MaxByteOffsetId: SpvDecoration = SpvDecoration(47);
325 pub const SaturatedToLargestFloat8NormalConversionEXT: SpvDecoration = SpvDecoration(4216);
326 pub const NoSignedWrap: SpvDecoration = SpvDecoration(4469);
327 pub const NoUnsignedWrap: SpvDecoration = SpvDecoration(4470);
328 pub const WeightTextureQCOM: SpvDecoration = SpvDecoration(4487);
329 pub const BlockMatchTextureQCOM: SpvDecoration = SpvDecoration(4488);
330 pub const BlockMatchSamplerQCOM: SpvDecoration = SpvDecoration(4499);
331 pub const ExplicitInterpAMD: SpvDecoration = SpvDecoration(4999);
332 pub const NodeSharesPayloadLimitsWithAMDX: SpvDecoration = SpvDecoration(5019);
333 pub const NodeMaxPayloadsAMDX: SpvDecoration = SpvDecoration(5020);
334 pub const TrackFinishWritingAMDX: SpvDecoration = SpvDecoration(5078);
335 pub const PayloadNodeNameAMDX: SpvDecoration = SpvDecoration(5091);
336 pub const PayloadNodeBaseIndexAMDX: SpvDecoration = SpvDecoration(5098);
337 pub const PayloadNodeSparseArrayAMDX: SpvDecoration = SpvDecoration(5099);
338 pub const PayloadNodeArraySizeAMDX: SpvDecoration = SpvDecoration(5100);
339 pub const PayloadDispatchIndirectAMDX: SpvDecoration = SpvDecoration(5105);
340 pub const ArrayStrideIdEXT: SpvDecoration = SpvDecoration(5124);
341 pub const OffsetIdEXT: SpvDecoration = SpvDecoration(5125);
342 pub const UTFEncodedKHR: SpvDecoration = SpvDecoration(5145);
343 pub const OverrideCoverageNV: SpvDecoration = SpvDecoration(5248);
344 pub const PassthroughNV: SpvDecoration = SpvDecoration(5250);
345 pub const ViewportRelativeNV: SpvDecoration = SpvDecoration(5252);
346 pub const SecondaryViewportRelativeNV: SpvDecoration = SpvDecoration(5256);
347 pub const PerPrimitiveEXT: SpvDecoration = SpvDecoration(5271);
348 pub const PerPrimitiveNV: SpvDecoration = SpvDecoration(5271);
349 pub const PerViewNV: SpvDecoration = SpvDecoration(5272);
350 pub const PerTaskNV: SpvDecoration = SpvDecoration(5273);
351 pub const PerVertexKHR: SpvDecoration = SpvDecoration(5285);
352 pub const PerVertexNV: SpvDecoration = SpvDecoration(5285);
353 pub const NonUniform: SpvDecoration = SpvDecoration(5300);
354 pub const NonUniformEXT: SpvDecoration = SpvDecoration(5300);
355 pub const RestrictPointer: SpvDecoration = SpvDecoration(5355);
356 pub const RestrictPointerEXT: SpvDecoration = SpvDecoration(5355);
357 pub const AliasedPointer: SpvDecoration = SpvDecoration(5356);
358 pub const AliasedPointerEXT: SpvDecoration = SpvDecoration(5356);
359 pub const MemberOffsetNV: SpvDecoration = SpvDecoration(5358);
360 pub const HitObjectShaderRecordBufferNV: SpvDecoration = SpvDecoration(5386);
361 pub const HitObjectShaderRecordBufferEXT: SpvDecoration = SpvDecoration(5389);
362 pub const BankNV: SpvDecoration = SpvDecoration(5397);
363 pub const BindlessSamplerNV: SpvDecoration = SpvDecoration(5398);
364 pub const BindlessImageNV: SpvDecoration = SpvDecoration(5399);
365 pub const BoundSamplerNV: SpvDecoration = SpvDecoration(5400);
366 pub const BoundImageNV: SpvDecoration = SpvDecoration(5401);
367 pub const SIMTCallINTEL: SpvDecoration = SpvDecoration(5599);
368 pub const ReferencedIndirectlyINTEL: SpvDecoration = SpvDecoration(5602);
369 pub const ClobberINTEL: SpvDecoration = SpvDecoration(5607);
370 pub const SideEffectsINTEL: SpvDecoration = SpvDecoration(5608);
371 pub const VectorComputeVariableINTEL: SpvDecoration = SpvDecoration(5624);
372 pub const FuncParamIOKindINTEL: SpvDecoration = SpvDecoration(5625);
373 pub const VectorComputeFunctionINTEL: SpvDecoration = SpvDecoration(5626);
374 pub const StackCallINTEL: SpvDecoration = SpvDecoration(5627);
375 pub const GlobalVariableOffsetINTEL: SpvDecoration = SpvDecoration(5628);
376 pub const CounterBuffer: SpvDecoration = SpvDecoration(5634);
377 pub const HlslCounterBufferGOOGLE: SpvDecoration = SpvDecoration(5634);
378 pub const HlslSemanticGOOGLE: SpvDecoration = SpvDecoration(5635);
379 pub const UserSemantic: SpvDecoration = SpvDecoration(5635);
380 pub const UserTypeGOOGLE: SpvDecoration = SpvDecoration(5636);
381 pub const FunctionRoundingModeINTEL: SpvDecoration = SpvDecoration(5822);
382 pub const FunctionDenormModeINTEL: SpvDecoration = SpvDecoration(5823);
383 pub const RegisterALTERA: SpvDecoration = SpvDecoration(5825);
384 pub const RegisterINTEL: SpvDecoration = SpvDecoration(5825);
385 pub const MemoryALTERA: SpvDecoration = SpvDecoration(5826);
386 pub const MemoryINTEL: SpvDecoration = SpvDecoration(5826);
387 pub const NumbanksALTERA: SpvDecoration = SpvDecoration(5827);
388 pub const NumbanksINTEL: SpvDecoration = SpvDecoration(5827);
389 pub const BankwidthALTERA: SpvDecoration = SpvDecoration(5828);
390 pub const BankwidthINTEL: SpvDecoration = SpvDecoration(5828);
391 pub const MaxPrivateCopiesALTERA: SpvDecoration = SpvDecoration(5829);
392 pub const MaxPrivateCopiesINTEL: SpvDecoration = SpvDecoration(5829);
393 pub const SinglepumpALTERA: SpvDecoration = SpvDecoration(5830);
394 pub const SinglepumpINTEL: SpvDecoration = SpvDecoration(5830);
395 pub const DoublepumpALTERA: SpvDecoration = SpvDecoration(5831);
396 pub const DoublepumpINTEL: SpvDecoration = SpvDecoration(5831);
397 pub const MaxReplicatesALTERA: SpvDecoration = SpvDecoration(5832);
398 pub const MaxReplicatesINTEL: SpvDecoration = SpvDecoration(5832);
399 pub const SimpleDualPortALTERA: SpvDecoration = SpvDecoration(5833);
400 pub const SimpleDualPortINTEL: SpvDecoration = SpvDecoration(5833);
401 pub const MergeALTERA: SpvDecoration = SpvDecoration(5834);
402 pub const MergeINTEL: SpvDecoration = SpvDecoration(5834);
403 pub const BankBitsALTERA: SpvDecoration = SpvDecoration(5835);
404 pub const BankBitsINTEL: SpvDecoration = SpvDecoration(5835);
405 pub const ForcePow2DepthALTERA: SpvDecoration = SpvDecoration(5836);
406 pub const ForcePow2DepthINTEL: SpvDecoration = SpvDecoration(5836);
407 pub const StridesizeALTERA: SpvDecoration = SpvDecoration(5883);
408 pub const StridesizeINTEL: SpvDecoration = SpvDecoration(5883);
409 pub const WordsizeALTERA: SpvDecoration = SpvDecoration(5884);
410 pub const WordsizeINTEL: SpvDecoration = SpvDecoration(5884);
411 pub const TrueDualPortALTERA: SpvDecoration = SpvDecoration(5885);
412 pub const TrueDualPortINTEL: SpvDecoration = SpvDecoration(5885);
413 pub const BurstCoalesceALTERA: SpvDecoration = SpvDecoration(5899);
414 pub const BurstCoalesceINTEL: SpvDecoration = SpvDecoration(5899);
415 pub const CacheSizeALTERA: SpvDecoration = SpvDecoration(5900);
416 pub const CacheSizeINTEL: SpvDecoration = SpvDecoration(5900);
417 pub const DontStaticallyCoalesceALTERA: SpvDecoration = SpvDecoration(5901);
418 pub const DontStaticallyCoalesceINTEL: SpvDecoration = SpvDecoration(5901);
419 pub const PrefetchALTERA: SpvDecoration = SpvDecoration(5902);
420 pub const PrefetchINTEL: SpvDecoration = SpvDecoration(5902);
421 pub const StallEnableALTERA: SpvDecoration = SpvDecoration(5905);
422 pub const StallEnableINTEL: SpvDecoration = SpvDecoration(5905);
423 pub const FuseLoopsInFunctionALTERA: SpvDecoration = SpvDecoration(5907);
424 pub const FuseLoopsInFunctionINTEL: SpvDecoration = SpvDecoration(5907);
425 pub const MathOpDSPModeALTERA: SpvDecoration = SpvDecoration(5909);
426 pub const MathOpDSPModeINTEL: SpvDecoration = SpvDecoration(5909);
427 pub const AliasScopeINTEL: SpvDecoration = SpvDecoration(5914);
428 pub const NoAliasINTEL: SpvDecoration = SpvDecoration(5915);
429 pub const InitiationIntervalALTERA: SpvDecoration = SpvDecoration(5917);
430 pub const InitiationIntervalINTEL: SpvDecoration = SpvDecoration(5917);
431 pub const MaxConcurrencyALTERA: SpvDecoration = SpvDecoration(5918);
432 pub const MaxConcurrencyINTEL: SpvDecoration = SpvDecoration(5918);
433 pub const PipelineEnableALTERA: SpvDecoration = SpvDecoration(5919);
434 pub const PipelineEnableINTEL: SpvDecoration = SpvDecoration(5919);
435 pub const BufferLocationALTERA: SpvDecoration = SpvDecoration(5921);
436 pub const BufferLocationINTEL: SpvDecoration = SpvDecoration(5921);
437 pub const IOPipeStorageALTERA: SpvDecoration = SpvDecoration(5944);
438 pub const IOPipeStorageINTEL: SpvDecoration = SpvDecoration(5944);
439 pub const FunctionFloatingPointModeINTEL: SpvDecoration = SpvDecoration(6080);
440 pub const SingleElementVectorINTEL: SpvDecoration = SpvDecoration(6085);
441 pub const VectorComputeCallableFunctionINTEL: SpvDecoration = SpvDecoration(6087);
442 pub const MediaBlockIOINTEL: SpvDecoration = SpvDecoration(6140);
443 pub const StallFreeALTERA: SpvDecoration = SpvDecoration(6151);
444 pub const StallFreeINTEL: SpvDecoration = SpvDecoration(6151);
445 pub const FPMaxErrorDecorationINTEL: SpvDecoration = SpvDecoration(6170);
446 pub const LatencyControlLabelALTERA: SpvDecoration = SpvDecoration(6172);
447 pub const LatencyControlLabelINTEL: SpvDecoration = SpvDecoration(6172);
448 pub const LatencyControlConstraintALTERA: SpvDecoration = SpvDecoration(6173);
449 pub const LatencyControlConstraintINTEL: SpvDecoration = SpvDecoration(6173);
450 pub const ConduitKernelArgumentALTERA: SpvDecoration = SpvDecoration(6175);
451 pub const ConduitKernelArgumentINTEL: SpvDecoration = SpvDecoration(6175);
452 pub const RegisterMapKernelArgumentALTERA: SpvDecoration = SpvDecoration(6176);
453 pub const RegisterMapKernelArgumentINTEL: SpvDecoration = SpvDecoration(6176);
454 pub const MMHostInterfaceAddressWidthALTERA: SpvDecoration = SpvDecoration(6177);
455 pub const MMHostInterfaceAddressWidthINTEL: SpvDecoration = SpvDecoration(6177);
456 pub const MMHostInterfaceDataWidthALTERA: SpvDecoration = SpvDecoration(6178);
457 pub const MMHostInterfaceDataWidthINTEL: SpvDecoration = SpvDecoration(6178);
458 pub const MMHostInterfaceLatencyALTERA: SpvDecoration = SpvDecoration(6179);
459 pub const MMHostInterfaceLatencyINTEL: SpvDecoration = SpvDecoration(6179);
460 pub const MMHostInterfaceReadWriteModeALTERA: SpvDecoration = SpvDecoration(6180);
461 pub const MMHostInterfaceReadWriteModeINTEL: SpvDecoration = SpvDecoration(6180);
462 pub const MMHostInterfaceMaxBurstALTERA: SpvDecoration = SpvDecoration(6181);
463 pub const MMHostInterfaceMaxBurstINTEL: SpvDecoration = SpvDecoration(6181);
464 pub const MMHostInterfaceWaitRequestALTERA: SpvDecoration = SpvDecoration(6182);
465 pub const MMHostInterfaceWaitRequestINTEL: SpvDecoration = SpvDecoration(6182);
466 pub const StableKernelArgumentALTERA: SpvDecoration = SpvDecoration(6183);
467 pub const StableKernelArgumentINTEL: SpvDecoration = SpvDecoration(6183);
468 pub const HostAccessINTEL: SpvDecoration = SpvDecoration(6188);
469 pub const InitModeALTERA: SpvDecoration = SpvDecoration(6190);
470 pub const InitModeINTEL: SpvDecoration = SpvDecoration(6190);
471 pub const ImplementInRegisterMapALTERA: SpvDecoration = SpvDecoration(6191);
472 pub const ImplementInRegisterMapINTEL: SpvDecoration = SpvDecoration(6191);
473 pub const ConditionalINTEL: SpvDecoration = SpvDecoration(6247);
474 pub const CacheControlLoadINTEL: SpvDecoration = SpvDecoration(6442);
475 pub const CacheControlStoreINTEL: SpvDecoration = SpvDecoration(6443);
476 pub const Max: SpvDecoration = SpvDecoration(2147483647);
477}
478#[repr(transparent)]
479#[derive(
480 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
481)]
482pub struct SpvDecoration(pub u32);
483impl SpvBuiltIn {
484 pub const Position: SpvBuiltIn = SpvBuiltIn(0);
485 pub const PointSize: SpvBuiltIn = SpvBuiltIn(1);
486 pub const ClipDistance: SpvBuiltIn = SpvBuiltIn(3);
487 pub const CullDistance: SpvBuiltIn = SpvBuiltIn(4);
488 pub const VertexId: SpvBuiltIn = SpvBuiltIn(5);
489 pub const InstanceId: SpvBuiltIn = SpvBuiltIn(6);
490 pub const PrimitiveId: SpvBuiltIn = SpvBuiltIn(7);
491 pub const InvocationId: SpvBuiltIn = SpvBuiltIn(8);
492 pub const Layer: SpvBuiltIn = SpvBuiltIn(9);
493 pub const ViewportIndex: SpvBuiltIn = SpvBuiltIn(10);
494 pub const TessLevelOuter: SpvBuiltIn = SpvBuiltIn(11);
495 pub const TessLevelInner: SpvBuiltIn = SpvBuiltIn(12);
496 pub const TessCoord: SpvBuiltIn = SpvBuiltIn(13);
497 pub const PatchVertices: SpvBuiltIn = SpvBuiltIn(14);
498 pub const FragCoord: SpvBuiltIn = SpvBuiltIn(15);
499 pub const PointCoord: SpvBuiltIn = SpvBuiltIn(16);
500 pub const FrontFacing: SpvBuiltIn = SpvBuiltIn(17);
501 pub const SampleId: SpvBuiltIn = SpvBuiltIn(18);
502 pub const SamplePosition: SpvBuiltIn = SpvBuiltIn(19);
503 pub const SampleMask: SpvBuiltIn = SpvBuiltIn(20);
504 pub const FragDepth: SpvBuiltIn = SpvBuiltIn(22);
505 pub const HelperInvocation: SpvBuiltIn = SpvBuiltIn(23);
506 pub const NumWorkgroups: SpvBuiltIn = SpvBuiltIn(24);
507 pub const WorkgroupSize: SpvBuiltIn = SpvBuiltIn(25);
508 pub const WorkgroupId: SpvBuiltIn = SpvBuiltIn(26);
509 pub const LocalInvocationId: SpvBuiltIn = SpvBuiltIn(27);
510 pub const GlobalInvocationId: SpvBuiltIn = SpvBuiltIn(28);
511 pub const LocalInvocationIndex: SpvBuiltIn = SpvBuiltIn(29);
512 pub const WorkDim: SpvBuiltIn = SpvBuiltIn(30);
513 pub const GlobalSize: SpvBuiltIn = SpvBuiltIn(31);
514 pub const EnqueuedWorkgroupSize: SpvBuiltIn = SpvBuiltIn(32);
515 pub const GlobalOffset: SpvBuiltIn = SpvBuiltIn(33);
516 pub const GlobalLinearId: SpvBuiltIn = SpvBuiltIn(34);
517 pub const SubgroupSize: SpvBuiltIn = SpvBuiltIn(36);
518 pub const SubgroupMaxSize: SpvBuiltIn = SpvBuiltIn(37);
519 pub const NumSubgroups: SpvBuiltIn = SpvBuiltIn(38);
520 pub const NumEnqueuedSubgroups: SpvBuiltIn = SpvBuiltIn(39);
521 pub const SubgroupId: SpvBuiltIn = SpvBuiltIn(40);
522 pub const SubgroupLocalInvocationId: SpvBuiltIn = SpvBuiltIn(41);
523 pub const VertexIndex: SpvBuiltIn = SpvBuiltIn(42);
524 pub const InstanceIndex: SpvBuiltIn = SpvBuiltIn(43);
525 pub const CoreIDARM: SpvBuiltIn = SpvBuiltIn(4160);
526 pub const CoreCountARM: SpvBuiltIn = SpvBuiltIn(4161);
527 pub const CoreMaxIDARM: SpvBuiltIn = SpvBuiltIn(4162);
528 pub const WarpIDARM: SpvBuiltIn = SpvBuiltIn(4163);
529 pub const WarpMaxIDARM: SpvBuiltIn = SpvBuiltIn(4164);
530 pub const SubgroupEqMask: SpvBuiltIn = SpvBuiltIn(4416);
531 pub const SubgroupEqMaskKHR: SpvBuiltIn = SpvBuiltIn(4416);
532 pub const SubgroupGeMask: SpvBuiltIn = SpvBuiltIn(4417);
533 pub const SubgroupGeMaskKHR: SpvBuiltIn = SpvBuiltIn(4417);
534 pub const SubgroupGtMask: SpvBuiltIn = SpvBuiltIn(4418);
535 pub const SubgroupGtMaskKHR: SpvBuiltIn = SpvBuiltIn(4418);
536 pub const SubgroupLeMask: SpvBuiltIn = SpvBuiltIn(4419);
537 pub const SubgroupLeMaskKHR: SpvBuiltIn = SpvBuiltIn(4419);
538 pub const SubgroupLtMask: SpvBuiltIn = SpvBuiltIn(4420);
539 pub const SubgroupLtMaskKHR: SpvBuiltIn = SpvBuiltIn(4420);
540 pub const BaseVertex: SpvBuiltIn = SpvBuiltIn(4424);
541 pub const BaseInstance: SpvBuiltIn = SpvBuiltIn(4425);
542 pub const DrawIndex: SpvBuiltIn = SpvBuiltIn(4426);
543 pub const PrimitiveShadingRateKHR: SpvBuiltIn = SpvBuiltIn(4432);
544 pub const DeviceIndex: SpvBuiltIn = SpvBuiltIn(4438);
545 pub const ViewIndex: SpvBuiltIn = SpvBuiltIn(4440);
546 pub const ShadingRateKHR: SpvBuiltIn = SpvBuiltIn(4444);
547 pub const TileOffsetQCOM: SpvBuiltIn = SpvBuiltIn(4492);
548 pub const TileDimensionQCOM: SpvBuiltIn = SpvBuiltIn(4493);
549 pub const TileApronSizeQCOM: SpvBuiltIn = SpvBuiltIn(4494);
550 pub const BaryCoordNoPerspAMD: SpvBuiltIn = SpvBuiltIn(4992);
551 pub const BaryCoordNoPerspCentroidAMD: SpvBuiltIn = SpvBuiltIn(4993);
552 pub const BaryCoordNoPerspSampleAMD: SpvBuiltIn = SpvBuiltIn(4994);
553 pub const BaryCoordSmoothAMD: SpvBuiltIn = SpvBuiltIn(4995);
554 pub const BaryCoordSmoothCentroidAMD: SpvBuiltIn = SpvBuiltIn(4996);
555 pub const BaryCoordSmoothSampleAMD: SpvBuiltIn = SpvBuiltIn(4997);
556 pub const BaryCoordPullModelAMD: SpvBuiltIn = SpvBuiltIn(4998);
557 pub const FragStencilRefEXT: SpvBuiltIn = SpvBuiltIn(5014);
558 pub const RemainingRecursionLevelsAMDX: SpvBuiltIn = SpvBuiltIn(5021);
559 pub const ShaderIndexAMDX: SpvBuiltIn = SpvBuiltIn(5073);
560 pub const SamplerHeapEXT: SpvBuiltIn = SpvBuiltIn(5122);
561 pub const ResourceHeapEXT: SpvBuiltIn = SpvBuiltIn(5123);
562 pub const ViewportMaskNV: SpvBuiltIn = SpvBuiltIn(5253);
563 pub const SecondaryPositionNV: SpvBuiltIn = SpvBuiltIn(5257);
564 pub const SecondaryViewportMaskNV: SpvBuiltIn = SpvBuiltIn(5258);
565 pub const PositionPerViewNV: SpvBuiltIn = SpvBuiltIn(5261);
566 pub const ViewportMaskPerViewNV: SpvBuiltIn = SpvBuiltIn(5262);
567 pub const FullyCoveredEXT: SpvBuiltIn = SpvBuiltIn(5264);
568 pub const TaskCountNV: SpvBuiltIn = SpvBuiltIn(5274);
569 pub const PrimitiveCountNV: SpvBuiltIn = SpvBuiltIn(5275);
570 pub const PrimitiveIndicesNV: SpvBuiltIn = SpvBuiltIn(5276);
571 pub const ClipDistancePerViewNV: SpvBuiltIn = SpvBuiltIn(5277);
572 pub const CullDistancePerViewNV: SpvBuiltIn = SpvBuiltIn(5278);
573 pub const LayerPerViewNV: SpvBuiltIn = SpvBuiltIn(5279);
574 pub const MeshViewCountNV: SpvBuiltIn = SpvBuiltIn(5280);
575 pub const MeshViewIndicesNV: SpvBuiltIn = SpvBuiltIn(5281);
576 pub const BaryCoordKHR: SpvBuiltIn = SpvBuiltIn(5286);
577 pub const BaryCoordNV: SpvBuiltIn = SpvBuiltIn(5286);
578 pub const BaryCoordNoPerspKHR: SpvBuiltIn = SpvBuiltIn(5287);
579 pub const BaryCoordNoPerspNV: SpvBuiltIn = SpvBuiltIn(5287);
580 pub const FragSizeEXT: SpvBuiltIn = SpvBuiltIn(5292);
581 pub const FragmentSizeNV: SpvBuiltIn = SpvBuiltIn(5292);
582 pub const FragInvocationCountEXT: SpvBuiltIn = SpvBuiltIn(5293);
583 pub const InvocationsPerPixelNV: SpvBuiltIn = SpvBuiltIn(5293);
584 pub const PrimitivePointIndicesEXT: SpvBuiltIn = SpvBuiltIn(5294);
585 pub const PrimitiveLineIndicesEXT: SpvBuiltIn = SpvBuiltIn(5295);
586 pub const PrimitiveTriangleIndicesEXT: SpvBuiltIn = SpvBuiltIn(5296);
587 pub const CullPrimitiveEXT: SpvBuiltIn = SpvBuiltIn(5299);
588 pub const LaunchIdKHR: SpvBuiltIn = SpvBuiltIn(5319);
589 pub const LaunchIdNV: SpvBuiltIn = SpvBuiltIn(5319);
590 pub const LaunchSizeKHR: SpvBuiltIn = SpvBuiltIn(5320);
591 pub const LaunchSizeNV: SpvBuiltIn = SpvBuiltIn(5320);
592 pub const WorldRayOriginKHR: SpvBuiltIn = SpvBuiltIn(5321);
593 pub const WorldRayOriginNV: SpvBuiltIn = SpvBuiltIn(5321);
594 pub const WorldRayDirectionKHR: SpvBuiltIn = SpvBuiltIn(5322);
595 pub const WorldRayDirectionNV: SpvBuiltIn = SpvBuiltIn(5322);
596 pub const ObjectRayOriginKHR: SpvBuiltIn = SpvBuiltIn(5323);
597 pub const ObjectRayOriginNV: SpvBuiltIn = SpvBuiltIn(5323);
598 pub const ObjectRayDirectionKHR: SpvBuiltIn = SpvBuiltIn(5324);
599 pub const ObjectRayDirectionNV: SpvBuiltIn = SpvBuiltIn(5324);
600 pub const RayTminKHR: SpvBuiltIn = SpvBuiltIn(5325);
601 pub const RayTminNV: SpvBuiltIn = SpvBuiltIn(5325);
602 pub const RayTmaxKHR: SpvBuiltIn = SpvBuiltIn(5326);
603 pub const RayTmaxNV: SpvBuiltIn = SpvBuiltIn(5326);
604 pub const InstanceCustomIndexKHR: SpvBuiltIn = SpvBuiltIn(5327);
605 pub const InstanceCustomIndexNV: SpvBuiltIn = SpvBuiltIn(5327);
606 pub const ObjectToWorldKHR: SpvBuiltIn = SpvBuiltIn(5330);
607 pub const ObjectToWorldNV: SpvBuiltIn = SpvBuiltIn(5330);
608 pub const WorldToObjectKHR: SpvBuiltIn = SpvBuiltIn(5331);
609 pub const WorldToObjectNV: SpvBuiltIn = SpvBuiltIn(5331);
610 pub const HitTNV: SpvBuiltIn = SpvBuiltIn(5332);
611 pub const HitKindKHR: SpvBuiltIn = SpvBuiltIn(5333);
612 pub const HitKindNV: SpvBuiltIn = SpvBuiltIn(5333);
613 pub const CurrentRayTimeNV: SpvBuiltIn = SpvBuiltIn(5334);
614 pub const HitTriangleVertexPositionsKHR: SpvBuiltIn = SpvBuiltIn(5335);
615 pub const HitMicroTriangleVertexPositionsNV: SpvBuiltIn = SpvBuiltIn(5337);
616 pub const HitMicroTriangleVertexBarycentricsNV: SpvBuiltIn = SpvBuiltIn(5344);
617 pub const IncomingRayFlagsKHR: SpvBuiltIn = SpvBuiltIn(5351);
618 pub const IncomingRayFlagsNV: SpvBuiltIn = SpvBuiltIn(5351);
619 pub const RayGeometryIndexKHR: SpvBuiltIn = SpvBuiltIn(5352);
620 pub const HitIsSphereNV: SpvBuiltIn = SpvBuiltIn(5359);
621 pub const HitIsLSSNV: SpvBuiltIn = SpvBuiltIn(5360);
622 pub const HitSpherePositionNV: SpvBuiltIn = SpvBuiltIn(5361);
623 pub const WarpsPerSMNV: SpvBuiltIn = SpvBuiltIn(5374);
624 pub const SMCountNV: SpvBuiltIn = SpvBuiltIn(5375);
625 pub const WarpIDNV: SpvBuiltIn = SpvBuiltIn(5376);
626 pub const SMIDNV: SpvBuiltIn = SpvBuiltIn(5377);
627 pub const HitLSSPositionsNV: SpvBuiltIn = SpvBuiltIn(5396);
628 pub const HitKindFrontFacingMicroTriangleNV: SpvBuiltIn = SpvBuiltIn(5405);
629 pub const HitKindBackFacingMicroTriangleNV: SpvBuiltIn = SpvBuiltIn(5406);
630 pub const HitSphereRadiusNV: SpvBuiltIn = SpvBuiltIn(5420);
631 pub const HitLSSRadiiNV: SpvBuiltIn = SpvBuiltIn(5421);
632 pub const ClusterIDNV: SpvBuiltIn = SpvBuiltIn(5436);
633 pub const CullMaskKHR: SpvBuiltIn = SpvBuiltIn(6021);
634 pub const Max: SpvBuiltIn = SpvBuiltIn(2147483647);
635}
636#[repr(transparent)]
637#[derive(
638 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
639)]
640pub struct SpvBuiltIn(pub u32);
641impl SpvCapability {
642 pub const Matrix: SpvCapability = SpvCapability(0);
643 pub const Shader: SpvCapability = SpvCapability(1);
644 pub const Geometry: SpvCapability = SpvCapability(2);
645 pub const Tessellation: SpvCapability = SpvCapability(3);
646 pub const Addresses: SpvCapability = SpvCapability(4);
647 pub const Linkage: SpvCapability = SpvCapability(5);
648 pub const Kernel: SpvCapability = SpvCapability(6);
649 pub const Vector16: SpvCapability = SpvCapability(7);
650 pub const Float16Buffer: SpvCapability = SpvCapability(8);
651 pub const Float16: SpvCapability = SpvCapability(9);
652 pub const Float64: SpvCapability = SpvCapability(10);
653 pub const Int64: SpvCapability = SpvCapability(11);
654 pub const Int64Atomics: SpvCapability = SpvCapability(12);
655 pub const ImageBasic: SpvCapability = SpvCapability(13);
656 pub const ImageReadWrite: SpvCapability = SpvCapability(14);
657 pub const ImageMipmap: SpvCapability = SpvCapability(15);
658 pub const Pipes: SpvCapability = SpvCapability(17);
659 pub const Groups: SpvCapability = SpvCapability(18);
660 pub const DeviceEnqueue: SpvCapability = SpvCapability(19);
661 pub const LiteralSampler: SpvCapability = SpvCapability(20);
662 pub const AtomicStorage: SpvCapability = SpvCapability(21);
663 pub const Int16: SpvCapability = SpvCapability(22);
664 pub const TessellationPointSize: SpvCapability = SpvCapability(23);
665 pub const GeometryPointSize: SpvCapability = SpvCapability(24);
666 pub const ImageGatherExtended: SpvCapability = SpvCapability(25);
667 pub const StorageImageMultisample: SpvCapability = SpvCapability(27);
668 pub const UniformBufferArrayDynamicIndexing: SpvCapability = SpvCapability(28);
669 pub const SampledImageArrayDynamicIndexing: SpvCapability = SpvCapability(29);
670 pub const StorageBufferArrayDynamicIndexing: SpvCapability = SpvCapability(30);
671 pub const StorageImageArrayDynamicIndexing: SpvCapability = SpvCapability(31);
672 pub const ClipDistance: SpvCapability = SpvCapability(32);
673 pub const CullDistance: SpvCapability = SpvCapability(33);
674 pub const ImageCubeArray: SpvCapability = SpvCapability(34);
675 pub const SampleRateShading: SpvCapability = SpvCapability(35);
676 pub const ImageRect: SpvCapability = SpvCapability(36);
677 pub const SampledRect: SpvCapability = SpvCapability(37);
678 pub const GenericPointer: SpvCapability = SpvCapability(38);
679 pub const Int8: SpvCapability = SpvCapability(39);
680 pub const InputAttachment: SpvCapability = SpvCapability(40);
681 pub const SparseResidency: SpvCapability = SpvCapability(41);
682 pub const MinLod: SpvCapability = SpvCapability(42);
683 pub const Sampled1D: SpvCapability = SpvCapability(43);
684 pub const Image1D: SpvCapability = SpvCapability(44);
685 pub const SampledCubeArray: SpvCapability = SpvCapability(45);
686 pub const SampledBuffer: SpvCapability = SpvCapability(46);
687 pub const ImageBuffer: SpvCapability = SpvCapability(47);
688 pub const ImageMSArray: SpvCapability = SpvCapability(48);
689 pub const StorageImageExtendedFormats: SpvCapability = SpvCapability(49);
690 pub const ImageQuery: SpvCapability = SpvCapability(50);
691 pub const DerivativeControl: SpvCapability = SpvCapability(51);
692 pub const InterpolationFunction: SpvCapability = SpvCapability(52);
693 pub const TransformFeedback: SpvCapability = SpvCapability(53);
694 pub const GeometryStreams: SpvCapability = SpvCapability(54);
695 pub const StorageImageReadWithoutFormat: SpvCapability = SpvCapability(55);
696 pub const StorageImageWriteWithoutFormat: SpvCapability = SpvCapability(56);
697 pub const MultiViewport: SpvCapability = SpvCapability(57);
698 pub const SubgroupDispatch: SpvCapability = SpvCapability(58);
699 pub const NamedBarrier: SpvCapability = SpvCapability(59);
700 pub const PipeStorage: SpvCapability = SpvCapability(60);
701 pub const GroupNonUniform: SpvCapability = SpvCapability(61);
702 pub const GroupNonUniformVote: SpvCapability = SpvCapability(62);
703 pub const GroupNonUniformArithmetic: SpvCapability = SpvCapability(63);
704 pub const GroupNonUniformBallot: SpvCapability = SpvCapability(64);
705 pub const GroupNonUniformShuffle: SpvCapability = SpvCapability(65);
706 pub const GroupNonUniformShuffleRelative: SpvCapability = SpvCapability(66);
707 pub const GroupNonUniformClustered: SpvCapability = SpvCapability(67);
708 pub const GroupNonUniformQuad: SpvCapability = SpvCapability(68);
709 pub const ShaderLayer: SpvCapability = SpvCapability(69);
710 pub const ShaderViewportIndex: SpvCapability = SpvCapability(70);
711 pub const UniformDecoration: SpvCapability = SpvCapability(71);
712 pub const CoreBuiltinsARM: SpvCapability = SpvCapability(4165);
713 pub const TileImageColorReadAccessEXT: SpvCapability = SpvCapability(4166);
714 pub const TileImageDepthReadAccessEXT: SpvCapability = SpvCapability(4167);
715 pub const TileImageStencilReadAccessEXT: SpvCapability = SpvCapability(4168);
716 pub const TensorsARM: SpvCapability = SpvCapability(4174);
717 pub const StorageTensorArrayDynamicIndexingARM: SpvCapability = SpvCapability(4175);
718 pub const StorageTensorArrayNonUniformIndexingARM: SpvCapability = SpvCapability(4176);
719 pub const GraphARM: SpvCapability = SpvCapability(4191);
720 pub const CooperativeMatrixLayoutsARM: SpvCapability = SpvCapability(4201);
721 pub const Float8EXT: SpvCapability = SpvCapability(4212);
722 pub const Float8CooperativeMatrixEXT: SpvCapability = SpvCapability(4213);
723 pub const FragmentShadingRateKHR: SpvCapability = SpvCapability(4422);
724 pub const SubgroupBallotKHR: SpvCapability = SpvCapability(4423);
725 pub const DrawParameters: SpvCapability = SpvCapability(4427);
726 pub const WorkgroupMemoryExplicitLayoutKHR: SpvCapability = SpvCapability(4428);
727 pub const WorkgroupMemoryExplicitLayout8BitAccessKHR: SpvCapability = SpvCapability(4429);
728 pub const WorkgroupMemoryExplicitLayout16BitAccessKHR: SpvCapability = SpvCapability(4430);
729 pub const SubgroupVoteKHR: SpvCapability = SpvCapability(4431);
730 pub const StorageBuffer16BitAccess: SpvCapability = SpvCapability(4433);
731 pub const StorageUniformBufferBlock16: SpvCapability = SpvCapability(4433);
732 pub const StorageUniform16: SpvCapability = SpvCapability(4434);
733 pub const UniformAndStorageBuffer16BitAccess: SpvCapability = SpvCapability(4434);
734 pub const StoragePushConstant16: SpvCapability = SpvCapability(4435);
735 pub const StorageInputOutput16: SpvCapability = SpvCapability(4436);
736 pub const DeviceGroup: SpvCapability = SpvCapability(4437);
737 pub const MultiView: SpvCapability = SpvCapability(4439);
738 pub const VariablePointersStorageBuffer: SpvCapability = SpvCapability(4441);
739 pub const VariablePointers: SpvCapability = SpvCapability(4442);
740 pub const AtomicStorageOps: SpvCapability = SpvCapability(4445);
741 pub const SampleMaskPostDepthCoverage: SpvCapability = SpvCapability(4447);
742 pub const StorageBuffer8BitAccess: SpvCapability = SpvCapability(4448);
743 pub const UniformAndStorageBuffer8BitAccess: SpvCapability = SpvCapability(4449);
744 pub const StoragePushConstant8: SpvCapability = SpvCapability(4450);
745 pub const DenormPreserve: SpvCapability = SpvCapability(4464);
746 pub const DenormFlushToZero: SpvCapability = SpvCapability(4465);
747 pub const SignedZeroInfNanPreserve: SpvCapability = SpvCapability(4466);
748 pub const RoundingModeRTE: SpvCapability = SpvCapability(4467);
749 pub const RoundingModeRTZ: SpvCapability = SpvCapability(4468);
750 pub const RayQueryProvisionalKHR: SpvCapability = SpvCapability(4471);
751 pub const RayQueryKHR: SpvCapability = SpvCapability(4472);
752 pub const UntypedPointersKHR: SpvCapability = SpvCapability(4473);
753 pub const RayTraversalPrimitiveCullingKHR: SpvCapability = SpvCapability(4478);
754 pub const RayTracingKHR: SpvCapability = SpvCapability(4479);
755 pub const TextureSampleWeightedQCOM: SpvCapability = SpvCapability(4484);
756 pub const TextureBoxFilterQCOM: SpvCapability = SpvCapability(4485);
757 pub const TextureBlockMatchQCOM: SpvCapability = SpvCapability(4486);
758 pub const TileShadingQCOM: SpvCapability = SpvCapability(4495);
759 pub const CooperativeMatrixConversionQCOM: SpvCapability = SpvCapability(4496);
760 pub const TextureBlockMatch2QCOM: SpvCapability = SpvCapability(4498);
761 pub const Float16ImageAMD: SpvCapability = SpvCapability(5008);
762 pub const ImageGatherBiasLodAMD: SpvCapability = SpvCapability(5009);
763 pub const FragmentMaskAMD: SpvCapability = SpvCapability(5010);
764 pub const StencilExportEXT: SpvCapability = SpvCapability(5013);
765 pub const ImageReadWriteLodAMD: SpvCapability = SpvCapability(5015);
766 pub const Int64ImageEXT: SpvCapability = SpvCapability(5016);
767 pub const ShaderClockKHR: SpvCapability = SpvCapability(5055);
768 pub const ShaderEnqueueAMDX: SpvCapability = SpvCapability(5067);
769 pub const QuadControlKHR: SpvCapability = SpvCapability(5087);
770 pub const Int4TypeINTEL: SpvCapability = SpvCapability(5112);
771 pub const Int4CooperativeMatrixINTEL: SpvCapability = SpvCapability(5114);
772 pub const BFloat16TypeKHR: SpvCapability = SpvCapability(5116);
773 pub const BFloat16DotProductKHR: SpvCapability = SpvCapability(5117);
774 pub const BFloat16CooperativeMatrixKHR: SpvCapability = SpvCapability(5118);
775 pub const AbortKHR: SpvCapability = SpvCapability(5120);
776 pub const DescriptorHeapEXT: SpvCapability = SpvCapability(5128);
777 pub const ConstantDataKHR: SpvCapability = SpvCapability(5146);
778 pub const PoisonFreezeKHR: SpvCapability = SpvCapability(5156);
779 pub const SampleMaskOverrideCoverageNV: SpvCapability = SpvCapability(5249);
780 pub const GeometryShaderPassthroughNV: SpvCapability = SpvCapability(5251);
781 pub const ShaderViewportIndexLayerEXT: SpvCapability = SpvCapability(5254);
782 pub const ShaderViewportIndexLayerNV: SpvCapability = SpvCapability(5254);
783 pub const ShaderViewportMaskNV: SpvCapability = SpvCapability(5255);
784 pub const ShaderStereoViewNV: SpvCapability = SpvCapability(5259);
785 pub const PerViewAttributesNV: SpvCapability = SpvCapability(5260);
786 pub const FragmentFullyCoveredEXT: SpvCapability = SpvCapability(5265);
787 pub const MeshShadingNV: SpvCapability = SpvCapability(5266);
788 pub const ImageFootprintNV: SpvCapability = SpvCapability(5282);
789 pub const MeshShadingEXT: SpvCapability = SpvCapability(5283);
790 pub const FragmentBarycentricKHR: SpvCapability = SpvCapability(5284);
791 pub const FragmentBarycentricNV: SpvCapability = SpvCapability(5284);
792 pub const ComputeDerivativeGroupQuadsKHR: SpvCapability = SpvCapability(5288);
793 pub const ComputeDerivativeGroupQuadsNV: SpvCapability = SpvCapability(5288);
794 pub const FragmentDensityEXT: SpvCapability = SpvCapability(5291);
795 pub const ShadingRateNV: SpvCapability = SpvCapability(5291);
796 pub const GroupNonUniformPartitionedEXT: SpvCapability = SpvCapability(5297);
797 pub const GroupNonUniformPartitionedNV: SpvCapability = SpvCapability(5297);
798 pub const ShaderNonUniform: SpvCapability = SpvCapability(5301);
799 pub const ShaderNonUniformEXT: SpvCapability = SpvCapability(5301);
800 pub const RuntimeDescriptorArray: SpvCapability = SpvCapability(5302);
801 pub const RuntimeDescriptorArrayEXT: SpvCapability = SpvCapability(5302);
802 pub const InputAttachmentArrayDynamicIndexing: SpvCapability = SpvCapability(5303);
803 pub const InputAttachmentArrayDynamicIndexingEXT: SpvCapability = SpvCapability(5303);
804 pub const UniformTexelBufferArrayDynamicIndexing: SpvCapability = SpvCapability(5304);
805 pub const UniformTexelBufferArrayDynamicIndexingEXT: SpvCapability = SpvCapability(5304);
806 pub const StorageTexelBufferArrayDynamicIndexing: SpvCapability = SpvCapability(5305);
807 pub const StorageTexelBufferArrayDynamicIndexingEXT: SpvCapability = SpvCapability(5305);
808 pub const UniformBufferArrayNonUniformIndexing: SpvCapability = SpvCapability(5306);
809 pub const UniformBufferArrayNonUniformIndexingEXT: SpvCapability = SpvCapability(5306);
810 pub const SampledImageArrayNonUniformIndexing: SpvCapability = SpvCapability(5307);
811 pub const SampledImageArrayNonUniformIndexingEXT: SpvCapability = SpvCapability(5307);
812 pub const StorageBufferArrayNonUniformIndexing: SpvCapability = SpvCapability(5308);
813 pub const StorageBufferArrayNonUniformIndexingEXT: SpvCapability = SpvCapability(5308);
814 pub const StorageImageArrayNonUniformIndexing: SpvCapability = SpvCapability(5309);
815 pub const StorageImageArrayNonUniformIndexingEXT: SpvCapability = SpvCapability(5309);
816 pub const InputAttachmentArrayNonUniformIndexing: SpvCapability = SpvCapability(5310);
817 pub const InputAttachmentArrayNonUniformIndexingEXT: SpvCapability = SpvCapability(5310);
818 pub const UniformTexelBufferArrayNonUniformIndexing: SpvCapability = SpvCapability(5311);
819 pub const UniformTexelBufferArrayNonUniformIndexingEXT: SpvCapability = SpvCapability(5311);
820 pub const StorageTexelBufferArrayNonUniformIndexing: SpvCapability = SpvCapability(5312);
821 pub const StorageTexelBufferArrayNonUniformIndexingEXT: SpvCapability = SpvCapability(5312);
822 pub const RayTracingPositionFetchKHR: SpvCapability = SpvCapability(5336);
823 pub const RayTracingNV: SpvCapability = SpvCapability(5340);
824 pub const RayTracingMotionBlurNV: SpvCapability = SpvCapability(5341);
825 pub const VulkanMemoryModel: SpvCapability = SpvCapability(5345);
826 pub const VulkanMemoryModelKHR: SpvCapability = SpvCapability(5345);
827 pub const VulkanMemoryModelDeviceScope: SpvCapability = SpvCapability(5346);
828 pub const VulkanMemoryModelDeviceScopeKHR: SpvCapability = SpvCapability(5346);
829 pub const PhysicalStorageBufferAddresses: SpvCapability = SpvCapability(5347);
830 pub const PhysicalStorageBufferAddressesEXT: SpvCapability = SpvCapability(5347);
831 pub const ComputeDerivativeGroupLinearKHR: SpvCapability = SpvCapability(5350);
832 pub const ComputeDerivativeGroupLinearNV: SpvCapability = SpvCapability(5350);
833 pub const RayTracingProvisionalKHR: SpvCapability = SpvCapability(5353);
834 pub const CooperativeMatrixNV: SpvCapability = SpvCapability(5357);
835 pub const FragmentShaderSampleInterlockEXT: SpvCapability = SpvCapability(5363);
836 pub const FragmentShaderShadingRateInterlockEXT: SpvCapability = SpvCapability(5372);
837 pub const ShaderSMBuiltinsNV: SpvCapability = SpvCapability(5373);
838 pub const FragmentShaderPixelInterlockEXT: SpvCapability = SpvCapability(5378);
839 pub const DemoteToHelperInvocation: SpvCapability = SpvCapability(5379);
840 pub const DemoteToHelperInvocationEXT: SpvCapability = SpvCapability(5379);
841 pub const DisplacementMicromapNV: SpvCapability = SpvCapability(5380);
842 pub const RayTracingOpacityMicromapEXT: SpvCapability = SpvCapability(5381);
843 pub const ShaderInvocationReorderNV: SpvCapability = SpvCapability(5383);
844 pub const ShaderInvocationReorderEXT: SpvCapability = SpvCapability(5388);
845 pub const BindlessTextureNV: SpvCapability = SpvCapability(5390);
846 pub const RayQueryPositionFetchKHR: SpvCapability = SpvCapability(5391);
847 pub const CooperativeVectorNV: SpvCapability = SpvCapability(5394);
848 pub const AtomicFloat16VectorNV: SpvCapability = SpvCapability(5404);
849 pub const RayTracingDisplacementMicromapNV: SpvCapability = SpvCapability(5409);
850 pub const RawAccessChainsNV: SpvCapability = SpvCapability(5414);
851 pub const RayTracingSpheresGeometryNV: SpvCapability = SpvCapability(5418);
852 pub const RayTracingLinearSweptSpheresGeometryNV: SpvCapability = SpvCapability(5419);
853 pub const PushConstantBanksNV: SpvCapability = SpvCapability(5423);
854 pub const LongVectorEXT: SpvCapability = SpvCapability(5425);
855 pub const Shader64BitIndexingEXT: SpvCapability = SpvCapability(5426);
856 pub const CooperativeMatrixReductionsNV: SpvCapability = SpvCapability(5430);
857 pub const CooperativeMatrixConversionsNV: SpvCapability = SpvCapability(5431);
858 pub const CooperativeMatrixPerElementOperationsNV: SpvCapability = SpvCapability(5432);
859 pub const CooperativeMatrixTensorAddressingNV: SpvCapability = SpvCapability(5433);
860 pub const CooperativeMatrixBlockLoadsNV: SpvCapability = SpvCapability(5434);
861 pub const CooperativeVectorTrainingNV: SpvCapability = SpvCapability(5435);
862 pub const RayTracingClusterAccelerationStructureNV: SpvCapability = SpvCapability(5437);
863 pub const TensorAddressingNV: SpvCapability = SpvCapability(5439);
864 pub const SubgroupShuffleINTEL: SpvCapability = SpvCapability(5568);
865 pub const SubgroupBufferBlockIOINTEL: SpvCapability = SpvCapability(5569);
866 pub const SubgroupImageBlockIOINTEL: SpvCapability = SpvCapability(5570);
867 pub const SubgroupImageMediaBlockIOINTEL: SpvCapability = SpvCapability(5579);
868 pub const RoundToInfinityINTEL: SpvCapability = SpvCapability(5582);
869 pub const FloatingPointModeINTEL: SpvCapability = SpvCapability(5583);
870 pub const IntegerFunctions2INTEL: SpvCapability = SpvCapability(5584);
871 pub const FunctionPointersINTEL: SpvCapability = SpvCapability(5603);
872 pub const IndirectReferencesINTEL: SpvCapability = SpvCapability(5604);
873 pub const AsmINTEL: SpvCapability = SpvCapability(5606);
874 pub const AtomicFloat32MinMaxEXT: SpvCapability = SpvCapability(5612);
875 pub const AtomicFloat64MinMaxEXT: SpvCapability = SpvCapability(5613);
876 pub const AtomicFloat16MinMaxEXT: SpvCapability = SpvCapability(5616);
877 pub const VectorComputeINTEL: SpvCapability = SpvCapability(5617);
878 pub const VectorAnyINTEL: SpvCapability = SpvCapability(5619);
879 pub const ExpectAssumeKHR: SpvCapability = SpvCapability(5629);
880 pub const SubgroupAvcMotionEstimationINTEL: SpvCapability = SpvCapability(5696);
881 pub const SubgroupAvcMotionEstimationIntraINTEL: SpvCapability = SpvCapability(5697);
882 pub const SubgroupAvcMotionEstimationChromaINTEL: SpvCapability = SpvCapability(5698);
883 pub const VariableLengthArrayINTEL: SpvCapability = SpvCapability(5817);
884 pub const FunctionFloatControlINTEL: SpvCapability = SpvCapability(5821);
885 pub const FPGAMemoryAttributesALTERA: SpvCapability = SpvCapability(5824);
886 pub const FPGAMemoryAttributesINTEL: SpvCapability = SpvCapability(5824);
887 pub const FPFastMathModeINTEL: SpvCapability = SpvCapability(5837);
888 pub const ArbitraryPrecisionIntegersALTERA: SpvCapability = SpvCapability(5844);
889 pub const ArbitraryPrecisionIntegersINTEL: SpvCapability = SpvCapability(5844);
890 pub const ArbitraryPrecisionFloatingPointALTERA: SpvCapability = SpvCapability(5845);
891 pub const ArbitraryPrecisionFloatingPointINTEL: SpvCapability = SpvCapability(5845);
892 pub const UnstructuredLoopControlsINTEL: SpvCapability = SpvCapability(5886);
893 pub const FPGALoopControlsALTERA: SpvCapability = SpvCapability(5888);
894 pub const FPGALoopControlsINTEL: SpvCapability = SpvCapability(5888);
895 pub const KernelAttributesINTEL: SpvCapability = SpvCapability(5892);
896 pub const FPGAKernelAttributesINTEL: SpvCapability = SpvCapability(5897);
897 pub const FPGAMemoryAccessesALTERA: SpvCapability = SpvCapability(5898);
898 pub const FPGAMemoryAccessesINTEL: SpvCapability = SpvCapability(5898);
899 pub const FPGAClusterAttributesALTERA: SpvCapability = SpvCapability(5904);
900 pub const FPGAClusterAttributesINTEL: SpvCapability = SpvCapability(5904);
901 pub const LoopFuseALTERA: SpvCapability = SpvCapability(5906);
902 pub const LoopFuseINTEL: SpvCapability = SpvCapability(5906);
903 pub const FPGADSPControlALTERA: SpvCapability = SpvCapability(5908);
904 pub const FPGADSPControlINTEL: SpvCapability = SpvCapability(5908);
905 pub const MemoryAccessAliasingINTEL: SpvCapability = SpvCapability(5910);
906 pub const FPGAInvocationPipeliningAttributesALTERA: SpvCapability = SpvCapability(5916);
907 pub const FPGAInvocationPipeliningAttributesINTEL: SpvCapability = SpvCapability(5916);
908 pub const FPGABufferLocationALTERA: SpvCapability = SpvCapability(5920);
909 pub const FPGABufferLocationINTEL: SpvCapability = SpvCapability(5920);
910 pub const ArbitraryPrecisionFixedPointALTERA: SpvCapability = SpvCapability(5922);
911 pub const ArbitraryPrecisionFixedPointINTEL: SpvCapability = SpvCapability(5922);
912 pub const USMStorageClassesALTERA: SpvCapability = SpvCapability(5935);
913 pub const USMStorageClassesINTEL: SpvCapability = SpvCapability(5935);
914 pub const RuntimeAlignedAttributeALTERA: SpvCapability = SpvCapability(5939);
915 pub const RuntimeAlignedAttributeINTEL: SpvCapability = SpvCapability(5939);
916 pub const IOPipesALTERA: SpvCapability = SpvCapability(5943);
917 pub const IOPipesINTEL: SpvCapability = SpvCapability(5943);
918 pub const BlockingPipesALTERA: SpvCapability = SpvCapability(5945);
919 pub const BlockingPipesINTEL: SpvCapability = SpvCapability(5945);
920 pub const FPGARegALTERA: SpvCapability = SpvCapability(5948);
921 pub const FPGARegINTEL: SpvCapability = SpvCapability(5948);
922 pub const DotProductInputAll: SpvCapability = SpvCapability(6016);
923 pub const DotProductInputAllKHR: SpvCapability = SpvCapability(6016);
924 pub const DotProductInput4x8Bit: SpvCapability = SpvCapability(6017);
925 pub const DotProductInput4x8BitKHR: SpvCapability = SpvCapability(6017);
926 pub const DotProductInput4x8BitPacked: SpvCapability = SpvCapability(6018);
927 pub const DotProductInput4x8BitPackedKHR: SpvCapability = SpvCapability(6018);
928 pub const DotProduct: SpvCapability = SpvCapability(6019);
929 pub const DotProductKHR: SpvCapability = SpvCapability(6019);
930 pub const RayCullMaskKHR: SpvCapability = SpvCapability(6020);
931 pub const CooperativeMatrixKHR: SpvCapability = SpvCapability(6022);
932 pub const ReplicatedCompositesEXT: SpvCapability = SpvCapability(6024);
933 pub const BitInstructions: SpvCapability = SpvCapability(6025);
934 pub const GroupNonUniformRotateKHR: SpvCapability = SpvCapability(6026);
935 pub const FloatControls2: SpvCapability = SpvCapability(6029);
936 pub const FMAKHR: SpvCapability = SpvCapability(6030);
937 pub const AtomicFloat32AddEXT: SpvCapability = SpvCapability(6033);
938 pub const AtomicFloat64AddEXT: SpvCapability = SpvCapability(6034);
939 pub const LongCompositesINTEL: SpvCapability = SpvCapability(6089);
940 pub const OptNoneEXT: SpvCapability = SpvCapability(6094);
941 pub const OptNoneINTEL: SpvCapability = SpvCapability(6094);
942 pub const AtomicFloat16AddEXT: SpvCapability = SpvCapability(6095);
943 pub const DebugInfoModuleINTEL: SpvCapability = SpvCapability(6114);
944 pub const BFloat16ConversionINTEL: SpvCapability = SpvCapability(6115);
945 pub const SplitBarrierINTEL: SpvCapability = SpvCapability(6141);
946 pub const ArithmeticFenceEXT: SpvCapability = SpvCapability(6144);
947 pub const FPGAClusterAttributesV2ALTERA: SpvCapability = SpvCapability(6150);
948 pub const FPGAClusterAttributesV2INTEL: SpvCapability = SpvCapability(6150);
949 pub const FPGAKernelAttributesv2INTEL: SpvCapability = SpvCapability(6161);
950 pub const TaskSequenceALTERA: SpvCapability = SpvCapability(6162);
951 pub const TaskSequenceINTEL: SpvCapability = SpvCapability(6162);
952 pub const FPMaxErrorINTEL: SpvCapability = SpvCapability(6169);
953 pub const FPGALatencyControlALTERA: SpvCapability = SpvCapability(6171);
954 pub const FPGALatencyControlINTEL: SpvCapability = SpvCapability(6171);
955 pub const FPGAArgumentInterfacesALTERA: SpvCapability = SpvCapability(6174);
956 pub const FPGAArgumentInterfacesINTEL: SpvCapability = SpvCapability(6174);
957 pub const GlobalVariableHostAccessINTEL: SpvCapability = SpvCapability(6187);
958 pub const GlobalVariableFPGADecorationsALTERA: SpvCapability = SpvCapability(6189);
959 pub const GlobalVariableFPGADecorationsINTEL: SpvCapability = SpvCapability(6189);
960 pub const SubgroupBufferPrefetchINTEL: SpvCapability = SpvCapability(6220);
961 pub const Subgroup2DBlockIOINTEL: SpvCapability = SpvCapability(6228);
962 pub const Subgroup2DBlockTransformINTEL: SpvCapability = SpvCapability(6229);
963 pub const Subgroup2DBlockTransposeINTEL: SpvCapability = SpvCapability(6230);
964 pub const SubgroupMatrixMultiplyAccumulateINTEL: SpvCapability = SpvCapability(6236);
965 pub const TernaryBitwiseFunctionINTEL: SpvCapability = SpvCapability(6241);
966 pub const UntypedVariableLengthArrayINTEL: SpvCapability = SpvCapability(6243);
967 pub const SpecConditionalINTEL: SpvCapability = SpvCapability(6245);
968 pub const FunctionVariantsINTEL: SpvCapability = SpvCapability(6246);
969 pub const GroupUniformArithmeticKHR: SpvCapability = SpvCapability(6400);
970 pub const TensorFloat32RoundingINTEL: SpvCapability = SpvCapability(6425);
971 pub const MaskedGatherScatterINTEL: SpvCapability = SpvCapability(6427);
972 pub const CacheControlsINTEL: SpvCapability = SpvCapability(6441);
973 pub const RegisterLimitsINTEL: SpvCapability = SpvCapability(6460);
974 pub const BindlessImagesINTEL: SpvCapability = SpvCapability(6528);
975 pub const DotProductFloat16AccFloat32VALVE: SpvCapability = SpvCapability(6912);
976 pub const DotProductFloat16AccFloat16VALVE: SpvCapability = SpvCapability(6913);
977 pub const DotProductBFloat16AccVALVE: SpvCapability = SpvCapability(6914);
978 pub const DotProductFloat8AccFloat32VALVE: SpvCapability = SpvCapability(6915);
979 pub const Max: SpvCapability = SpvCapability(2147483647);
980}
981#[repr(transparent)]
982#[derive(
983 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
984)]
985pub struct SpvCapability(pub u32);
986unsafe extern "C" {
987 pub fn spvc_get_version(
988 major: *mut crate::ctypes::c_uint,
989 minor: *mut crate::ctypes::c_uint,
990 patch: *mut crate::ctypes::c_uint,
991 );
992}
993unsafe extern "C" {
994 pub fn spvc_get_commit_revision_and_timestamp() -> *const crate::ctypes::c_char;
995}
996#[repr(C)]
997#[derive(Debug, Copy, Clone)]
998pub struct spvc_context_s {
999 _unused: [u8; 0],
1000}
1001pub type spvc_context = *mut spvc_context_s;
1002#[repr(C)]
1003#[derive(Debug, Copy, Clone)]
1004pub struct spvc_parsed_ir_s {
1005 _unused: [u8; 0],
1006}
1007pub type spvc_parsed_ir = *mut spvc_parsed_ir_s;
1008#[repr(C)]
1009#[derive(Debug, Copy, Clone)]
1010pub struct spvc_compiler_s {
1011 _unused: [u8; 0],
1012}
1013pub type spvc_compiler = *mut spvc_compiler_s;
1014#[repr(C)]
1015#[derive(Debug, Copy, Clone)]
1016pub struct spvc_compiler_options_s {
1017 _unused: [u8; 0],
1018}
1019pub type spvc_compiler_options = *mut spvc_compiler_options_s;
1020#[repr(C)]
1021#[derive(Debug, Copy, Clone)]
1022pub struct spvc_resources_s {
1023 _unused: [u8; 0],
1024}
1025pub type spvc_resources = *mut spvc_resources_s;
1026#[repr(C)]
1027#[derive(Debug, Copy, Clone)]
1028pub struct spvc_type_s {
1029 _unused: [u8; 0],
1030}
1031pub type spvc_type = *const spvc_type_s;
1032#[repr(C)]
1033#[derive(Debug, Copy, Clone)]
1034pub struct spvc_constant_s {
1035 _unused: [u8; 0],
1036}
1037pub type spvc_constant = *mut spvc_constant_s;
1038#[repr(C)]
1039#[derive(Debug, Copy, Clone)]
1040pub struct spvc_set_s {
1041 _unused: [u8; 0],
1042}
1043pub type spvc_set = *const spvc_set_s;
1044#[repr(transparent)]
1045#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1046pub struct TypeId(pub SpvId);
1047#[repr(transparent)]
1048#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1049pub struct VariableId(pub SpvId);
1050#[repr(transparent)]
1051#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1052pub struct ConstantId(pub SpvId);
1053#[repr(C)]
1054#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1055pub struct spvc_reflected_resource {
1056 pub id: VariableId,
1057 pub base_type_id: TypeId,
1058 pub type_id: TypeId,
1059 pub name: *const crate::ctypes::c_char,
1060}
1061#[repr(C)]
1062#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1063pub struct spvc_reflected_builtin_resource {
1064 pub builtin: SpvBuiltIn,
1065 pub value_type_id: TypeId,
1066 pub resource: spvc_reflected_resource,
1067}
1068#[repr(C)]
1069#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1070pub struct spvc_entry_point {
1071 pub execution_model: SpvExecutionModel,
1072 pub name: *const crate::ctypes::c_char,
1073}
1074#[repr(C)]
1075#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1076pub struct spvc_combined_image_sampler {
1077 pub combined_id: VariableId,
1078 pub image_id: VariableId,
1079 pub sampler_id: VariableId,
1080}
1081#[repr(C)]
1082#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1083pub struct spvc_specialization_constant {
1084 pub id: ConstantId,
1085 pub constant_id: crate::ctypes::c_uint,
1086}
1087#[repr(C)]
1088#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1089pub struct BufferRange {
1090 pub index: crate::ctypes::c_uint,
1091 pub offset: usize,
1092 pub range: usize,
1093}
1094#[repr(C)]
1095#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1096pub struct HlslRootConstants {
1097 pub start: crate::ctypes::c_uint,
1098 pub end: crate::ctypes::c_uint,
1099 pub binding: crate::ctypes::c_uint,
1100 pub space: crate::ctypes::c_uint,
1101}
1102#[repr(C)]
1103#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1104pub struct HlslVertexAttributeRemap {
1105 pub location: crate::ctypes::c_uint,
1106 pub semantic: *const crate::ctypes::c_char,
1107}
1108#[repr(i32)]
1109#[must_use]
1110#[derive(
1111 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
1112)]
1113pub enum spvc_result {
1114 SPVC_SUCCESS = 0,
1115 SPVC_ERROR_INVALID_SPIRV = -1,
1116 SPVC_ERROR_UNSUPPORTED_SPIRV = -2,
1117 SPVC_ERROR_OUT_OF_MEMORY = -3,
1118 SPVC_ERROR_INVALID_ARGUMENT = -4,
1119}
1120#[repr(u32)]
1121#[derive(
1122 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
1123)]
1124pub enum spvc_capture_mode {
1125 Copy = 0,
1126 TakeOwnership = 1,
1127}
1128#[repr(u32)]
1129#[derive(
1130 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
1131)]
1132pub enum CompilerBackend {
1133 None = 0,
1134 Glsl = 1,
1135 Hlsl = 2,
1136 Msl = 3,
1137 Cpp = 4,
1138 Json = 5,
1139}
1140#[repr(u32)]
1141#[non_exhaustive]
1142#[derive(
1143 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
1144)]
1145pub enum ResourceType {
1146 Unknown = 0,
1147 UniformBuffer = 1,
1148 StorageBuffer = 2,
1149 StageInput = 3,
1150 StageOutput = 4,
1151 SubpassInput = 5,
1152 StorageImage = 6,
1153 SampledImage = 7,
1154 AtomicCounter = 8,
1155 PushConstant = 9,
1156 SeparateImage = 10,
1157 SeparateSamplers = 11,
1158 AccelerationStructure = 12,
1159 RayQuery = 13,
1160 ShaderRecordBuffer = 14,
1161 GlPlainUniform = 15,
1162 Tensor = 16,
1163}
1164#[repr(u32)]
1165#[derive(
1166 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
1167)]
1168pub enum BuiltinResourceType {
1169 Unknown = 0,
1170 StageInput = 1,
1171 StageOutput = 2,
1172}
1173#[repr(u32)]
1174#[derive(
1175 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
1176)]
1177pub enum BaseType {
1178 Unknown = 0,
1179 Void = 1,
1180 Boolean = 2,
1181 Int8 = 3,
1182 Uint8 = 4,
1183 Int16 = 5,
1184 Uint16 = 6,
1185 Int32 = 7,
1186 Uint32 = 8,
1187 Int64 = 9,
1188 Uint64 = 10,
1189 AtomicCounter = 11,
1190 Fp16 = 12,
1191 Fp32 = 13,
1192 Fp64 = 14,
1193 Struct = 15,
1194 Image = 16,
1195 SampledImage = 17,
1196 Sampler = 18,
1197 AccelerationStructure = 19,
1198}
1199#[repr(u32)]
1200#[derive(
1201 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
1202)]
1203pub enum MslPlatform {
1204 Ios = 0,
1205 Macos = 1,
1206}
1207#[repr(u32)]
1208#[derive(
1209 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
1210)]
1211pub enum MslIndexType {
1212 None = 0,
1213 Uint16 = 1,
1214 Uint32 = 2,
1215}
1216impl MslShaderVariableFormat {
1217 pub const SPVC_MSL_VERTEX_FORMAT_OTHER: MslShaderVariableFormat =
1218 MslShaderVariableFormat::Other;
1219}
1220impl MslShaderVariableFormat {
1221 pub const SPVC_MSL_VERTEX_FORMAT_UINT8: MslShaderVariableFormat =
1222 MslShaderVariableFormat::Uint8;
1223}
1224impl MslShaderVariableFormat {
1225 pub const SPVC_MSL_VERTEX_FORMAT_UINT16: MslShaderVariableFormat =
1226 MslShaderVariableFormat::Uint16;
1227}
1228impl MslShaderVariableFormat {
1229 pub const SPVC_MSL_SHADER_INPUT_FORMAT_OTHER: MslShaderVariableFormat =
1230 MslShaderVariableFormat::Other;
1231}
1232impl MslShaderVariableFormat {
1233 pub const SPVC_MSL_SHADER_INPUT_FORMAT_UINT8: MslShaderVariableFormat =
1234 MslShaderVariableFormat::Uint8;
1235}
1236impl MslShaderVariableFormat {
1237 pub const SPVC_MSL_SHADER_INPUT_FORMAT_UINT16: MslShaderVariableFormat =
1238 MslShaderVariableFormat::Uint16;
1239}
1240impl MslShaderVariableFormat {
1241 pub const SPVC_MSL_SHADER_INPUT_FORMAT_ANY16: MslShaderVariableFormat =
1242 MslShaderVariableFormat::Any16;
1243}
1244impl MslShaderVariableFormat {
1245 pub const SPVC_MSL_SHADER_INPUT_FORMAT_ANY32: MslShaderVariableFormat =
1246 MslShaderVariableFormat::Any32;
1247}
1248#[repr(u32)]
1249#[non_exhaustive]
1250#[derive(
1251 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
1252)]
1253pub enum MslShaderVariableFormat {
1254 Other = 0,
1255 Uint8 = 1,
1256 Uint16 = 2,
1257 Any16 = 3,
1258 Any32 = 4,
1259}
1260pub use self::MslShaderVariableFormat as MslShaderInputFormat;
1261pub use self::MslShaderVariableFormat as MslVertexFormat;
1262#[repr(C)]
1263pub struct MslVertexAttribute {
1264 pub location: crate::ctypes::c_uint,
1265 pub msl_buffer: crate::ctypes::c_uint,
1266 pub msl_offset: crate::ctypes::c_uint,
1267 pub msl_stride: crate::ctypes::c_uint,
1268 pub per_instance: crate::ctypes::spvc_bool,
1269 pub format: MslVertexFormat,
1270 pub builtin: SpvBuiltIn,
1271}
1272unsafe extern "C" {
1273 pub fn spvc_msl_vertex_attribute_init(attr: *mut MslVertexAttribute);
1274}
1275#[repr(C)]
1276#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1277pub struct MslShaderInterfaceVar {
1278 pub location: crate::ctypes::c_uint,
1279 pub format: MslVertexFormat,
1280 pub builtin: SpvBuiltIn,
1281 pub vecsize: crate::ctypes::c_uint,
1282}
1283pub type MslShaderInput = MslShaderInterfaceVar;
1284unsafe extern "C" {
1285 pub fn spvc_msl_shader_interface_var_init(var: *mut MslShaderInterfaceVar);
1286}
1287unsafe extern "C" {
1288 pub fn spvc_msl_shader_input_init(input: *mut MslShaderInput);
1289}
1290#[repr(u32)]
1291#[derive(
1292 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
1293)]
1294pub enum MslShaderVariableRate {
1295 PerVertex = 0,
1296 PerPrimitive = 1,
1297 PerPatch = 2,
1298}
1299#[repr(C)]
1300#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1301pub struct MslShaderInterfaceVar2 {
1302 pub location: crate::ctypes::c_uint,
1303 pub format: MslShaderVariableFormat,
1304 pub builtin: SpvBuiltIn,
1305 pub vecsize: crate::ctypes::c_uint,
1306 pub rate: MslShaderVariableRate,
1307}
1308unsafe extern "C" {
1309 pub fn spvc_msl_shader_interface_var_init_2(var: *mut MslShaderInterfaceVar2);
1310}
1311#[repr(C)]
1312#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1313pub struct MslResourceBinding {
1314 pub stage: SpvExecutionModel,
1315 pub desc_set: crate::ctypes::c_uint,
1316 pub binding: crate::ctypes::c_uint,
1317 pub msl_buffer: crate::ctypes::c_uint,
1318 pub msl_texture: crate::ctypes::c_uint,
1319 pub msl_sampler: crate::ctypes::c_uint,
1320}
1321#[repr(C)]
1322#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1323pub struct MslResourceBinding2 {
1324 pub stage: SpvExecutionModel,
1325 pub desc_set: crate::ctypes::c_uint,
1326 pub binding: crate::ctypes::c_uint,
1327 pub count: crate::ctypes::c_uint,
1328 pub msl_buffer: crate::ctypes::c_uint,
1329 pub msl_texture: crate::ctypes::c_uint,
1330 pub msl_sampler: crate::ctypes::c_uint,
1331}
1332unsafe extern "C" {
1333 pub fn spvc_msl_resource_binding_init(binding: *mut MslResourceBinding);
1334}
1335unsafe extern "C" {
1336 pub fn spvc_msl_resource_binding_init_2(binding: *mut MslResourceBinding2);
1337}
1338unsafe extern "C" {
1339 pub fn spvc_msl_get_aux_buffer_struct_version() -> crate::ctypes::c_uint;
1340}
1341#[repr(u32)]
1342#[derive(
1343 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
1344)]
1345pub enum MslSamplerCoord {
1346 Normalized = 0,
1347 Pixel = 1,
1348}
1349#[repr(u32)]
1350#[derive(
1351 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
1352)]
1353pub enum MslSamplerFilter {
1354 Nearest = 0,
1355 Linear = 1,
1356}
1357#[repr(u32)]
1358#[derive(
1359 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
1360)]
1361pub enum MslSamplerMipFilter {
1362 None = 0,
1363 Nearest = 1,
1364 Linear = 2,
1365}
1366#[repr(u32)]
1367#[derive(
1368 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
1369)]
1370pub enum MslSamplerAddress {
1371 ClampToZero = 0,
1372 ClampToEdge = 1,
1373 ClampToBorder = 2,
1374 Repeat = 3,
1375 MirroredRepeat = 4,
1376}
1377#[repr(u32)]
1378#[derive(
1379 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
1380)]
1381pub enum MslSamplerCompareFunc {
1382 Never = 0,
1383 Less = 1,
1384 LessEqual = 2,
1385 Greater = 3,
1386 GreaterEqual = 4,
1387 Equal = 5,
1388 NotEqual = 6,
1389 Always = 7,
1390}
1391#[repr(u32)]
1392#[derive(
1393 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
1394)]
1395pub enum MslSamplerBorderColor {
1396 TransparentBlack = 0,
1397 OpaqueBlack = 1,
1398 OpaqueWhite = 2,
1399}
1400#[repr(u32)]
1401#[derive(
1402 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
1403)]
1404pub enum MslFormatResolution {
1405 FormatResolution444 = 0,
1406 FormatResolution422 = 1,
1407 FormatResolution420 = 2,
1408}
1409#[repr(u32)]
1410#[derive(
1411 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
1412)]
1413pub enum MslChromaLocation {
1414 CositedEven = 0,
1415 Midpoint = 1,
1416}
1417#[repr(u32)]
1418#[derive(
1419 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
1420)]
1421pub enum MslComponentSwizzle {
1422 Identity = 0,
1423 Zero = 1,
1424 One = 2,
1425 R = 3,
1426 G = 4,
1427 B = 5,
1428 A = 6,
1429}
1430#[repr(u32)]
1431#[derive(
1432 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
1433)]
1434pub enum MslSamplerYcbcrModelConversion {
1435 RgbIdentity = 0,
1436 YcbcrIdentity = 1,
1437 YcbcrBt709 = 2,
1438 YcbcrBt601 = 3,
1439 YcbcrBt2020 = 4,
1440}
1441#[repr(u32)]
1442#[derive(
1443 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
1444)]
1445pub enum MslSamplerYcbcrRange {
1446 ItuFull = 0,
1447 ItuNarrow = 1,
1448}
1449#[repr(C)]
1450pub struct MslConstexprSampler {
1451 pub coord: MslSamplerCoord,
1452 pub min_filter: MslSamplerFilter,
1453 pub mag_filter: MslSamplerFilter,
1454 pub mip_filter: MslSamplerMipFilter,
1455 pub s_address: MslSamplerAddress,
1456 pub t_address: MslSamplerAddress,
1457 pub r_address: MslSamplerAddress,
1458 pub compare_func: MslSamplerCompareFunc,
1459 pub border_color: MslSamplerBorderColor,
1460 pub lod_clamp_min: f32,
1461 pub lod_clamp_max: f32,
1462 pub max_anisotropy: crate::ctypes::c_int,
1463 pub compare_enable: crate::ctypes::spvc_bool,
1464 pub lod_clamp_enable: crate::ctypes::spvc_bool,
1465 pub anisotropy_enable: crate::ctypes::spvc_bool,
1466}
1467unsafe extern "C" {
1468 pub fn spvc_msl_constexpr_sampler_init(sampler: *mut MslConstexprSampler);
1469}
1470#[repr(C)]
1471#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1472pub struct MslSamplerYcbcrConversion {
1473 pub planes: crate::ctypes::c_uint,
1474 pub resolution: MslFormatResolution,
1475 pub chroma_filter: MslSamplerFilter,
1476 pub x_chroma_offset: MslChromaLocation,
1477 pub y_chroma_offset: MslChromaLocation,
1478 pub swizzle: [MslComponentSwizzle; 4usize],
1479 pub ycbcr_model: MslSamplerYcbcrModelConversion,
1480 pub ycbcr_range: MslSamplerYcbcrRange,
1481 pub bpc: crate::ctypes::c_uint,
1482}
1483unsafe extern "C" {
1484 pub fn spvc_msl_sampler_ycbcr_conversion_init(conv: *mut MslSamplerYcbcrConversion);
1485}
1486impl HlslBindingFlagBits {
1487 pub const SPVC_HLSL_BINDING_AUTO_NONE_BIT: HlslBindingFlagBits = HlslBindingFlagBits(0);
1488 pub const SPVC_HLSL_BINDING_AUTO_PUSH_CONSTANT_BIT: HlslBindingFlagBits =
1489 HlslBindingFlagBits(1);
1490 pub const SPVC_HLSL_BINDING_AUTO_CBV_BIT: HlslBindingFlagBits = HlslBindingFlagBits(2);
1491 pub const SPVC_HLSL_BINDING_AUTO_SRV_BIT: HlslBindingFlagBits = HlslBindingFlagBits(4);
1492 pub const SPVC_HLSL_BINDING_AUTO_UAV_BIT: HlslBindingFlagBits = HlslBindingFlagBits(8);
1493 pub const SPVC_HLSL_BINDING_AUTO_SAMPLER_BIT: HlslBindingFlagBits = HlslBindingFlagBits(16);
1494 pub const SPVC_HLSL_BINDING_AUTO_ALL: HlslBindingFlagBits = HlslBindingFlagBits(2147483647);
1495}
1496impl ::std::ops::BitOr<HlslBindingFlagBits> for HlslBindingFlagBits {
1497 type Output = Self;
1498 #[inline]
1499 fn bitor(self, other: Self) -> Self {
1500 HlslBindingFlagBits(self.0 | other.0)
1501 }
1502}
1503impl ::std::ops::BitOrAssign for HlslBindingFlagBits {
1504 #[inline]
1505 fn bitor_assign(&mut self, rhs: HlslBindingFlagBits) {
1506 self.0 |= rhs.0;
1507 }
1508}
1509impl ::std::ops::BitAnd<HlslBindingFlagBits> for HlslBindingFlagBits {
1510 type Output = Self;
1511 #[inline]
1512 fn bitand(self, other: Self) -> Self {
1513 HlslBindingFlagBits(self.0 & other.0)
1514 }
1515}
1516impl ::std::ops::BitAndAssign for HlslBindingFlagBits {
1517 #[inline]
1518 fn bitand_assign(&mut self, rhs: HlslBindingFlagBits) {
1519 self.0 &= rhs.0;
1520 }
1521}
1522#[repr(transparent)]
1523#[derive(
1524 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
1525)]
1526pub struct HlslBindingFlagBits(pub u32);
1527#[repr(transparent)]
1528#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1529pub struct HlslBindingFlags(pub crate::ctypes::c_uint);
1530#[repr(C)]
1531#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1532pub struct HlslResourceBindingMapping {
1533 pub register_space: crate::ctypes::c_uint,
1534 pub register_binding: crate::ctypes::c_uint,
1535}
1536#[repr(C)]
1537#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1538pub struct HlslResourceBinding {
1539 pub stage: SpvExecutionModel,
1540 pub desc_set: crate::ctypes::c_uint,
1541 pub binding: crate::ctypes::c_uint,
1542 pub cbv: HlslResourceBindingMapping,
1543 pub uav: HlslResourceBindingMapping,
1544 pub srv: HlslResourceBindingMapping,
1545 pub sampler: HlslResourceBindingMapping,
1546}
1547unsafe extern "C" {
1548 pub fn spvc_hlsl_resource_binding_init(binding: *mut HlslResourceBinding);
1549}
1550impl spvc_compiler_option {
1551 pub const SPVC_COMPILER_OPTION_UNKNOWN: spvc_compiler_option = spvc_compiler_option(0);
1552 pub const SPVC_COMPILER_OPTION_FORCE_TEMPORARY: spvc_compiler_option =
1553 spvc_compiler_option(16777217);
1554 pub const SPVC_COMPILER_OPTION_FLATTEN_MULTIDIMENSIONAL_ARRAYS: spvc_compiler_option =
1555 spvc_compiler_option(16777218);
1556 pub const SPVC_COMPILER_OPTION_FIXUP_DEPTH_CONVENTION: spvc_compiler_option =
1557 spvc_compiler_option(16777219);
1558 pub const SPVC_COMPILER_OPTION_FLIP_VERTEX_Y: spvc_compiler_option =
1559 spvc_compiler_option(16777220);
1560 pub const SPVC_COMPILER_OPTION_GLSL_SUPPORT_NONZERO_BASE_INSTANCE: spvc_compiler_option =
1561 spvc_compiler_option(33554437);
1562 pub const SPVC_COMPILER_OPTION_GLSL_SEPARATE_SHADER_OBJECTS: spvc_compiler_option =
1563 spvc_compiler_option(33554438);
1564 pub const SPVC_COMPILER_OPTION_GLSL_ENABLE_420PACK_EXTENSION: spvc_compiler_option =
1565 spvc_compiler_option(33554439);
1566 pub const SPVC_COMPILER_OPTION_GLSL_VERSION: spvc_compiler_option =
1567 spvc_compiler_option(33554440);
1568 pub const SPVC_COMPILER_OPTION_GLSL_ES: spvc_compiler_option = spvc_compiler_option(33554441);
1569 pub const SPVC_COMPILER_OPTION_GLSL_VULKAN_SEMANTICS: spvc_compiler_option =
1570 spvc_compiler_option(33554442);
1571 pub const SPVC_COMPILER_OPTION_GLSL_ES_DEFAULT_FLOAT_PRECISION_HIGHP: spvc_compiler_option =
1572 spvc_compiler_option(33554443);
1573 pub const SPVC_COMPILER_OPTION_GLSL_ES_DEFAULT_INT_PRECISION_HIGHP: spvc_compiler_option =
1574 spvc_compiler_option(33554444);
1575 pub const SPVC_COMPILER_OPTION_HLSL_SHADER_MODEL: spvc_compiler_option =
1576 spvc_compiler_option(67108877);
1577 pub const SPVC_COMPILER_OPTION_HLSL_POINT_SIZE_COMPAT: spvc_compiler_option =
1578 spvc_compiler_option(67108878);
1579 pub const SPVC_COMPILER_OPTION_HLSL_POINT_COORD_COMPAT: spvc_compiler_option =
1580 spvc_compiler_option(67108879);
1581 pub const SPVC_COMPILER_OPTION_HLSL_SUPPORT_NONZERO_BASE_VERTEX_BASE_INSTANCE:
1582 spvc_compiler_option = spvc_compiler_option(67108880);
1583 pub const SPVC_COMPILER_OPTION_MSL_VERSION: spvc_compiler_option =
1584 spvc_compiler_option(134217745);
1585 pub const SPVC_COMPILER_OPTION_MSL_TEXEL_BUFFER_TEXTURE_WIDTH: spvc_compiler_option =
1586 spvc_compiler_option(134217746);
1587 pub const SPVC_COMPILER_OPTION_MSL_AUX_BUFFER_INDEX: spvc_compiler_option =
1588 spvc_compiler_option(134217747);
1589 pub const SPVC_COMPILER_OPTION_MSL_SWIZZLE_BUFFER_INDEX: spvc_compiler_option =
1590 spvc_compiler_option(134217747);
1591 pub const SPVC_COMPILER_OPTION_MSL_INDIRECT_PARAMS_BUFFER_INDEX: spvc_compiler_option =
1592 spvc_compiler_option(134217748);
1593 pub const SPVC_COMPILER_OPTION_MSL_SHADER_OUTPUT_BUFFER_INDEX: spvc_compiler_option =
1594 spvc_compiler_option(134217749);
1595 pub const SPVC_COMPILER_OPTION_MSL_SHADER_PATCH_OUTPUT_BUFFER_INDEX: spvc_compiler_option =
1596 spvc_compiler_option(134217750);
1597 pub const SPVC_COMPILER_OPTION_MSL_SHADER_TESS_FACTOR_OUTPUT_BUFFER_INDEX:
1598 spvc_compiler_option = spvc_compiler_option(134217751);
1599 pub const SPVC_COMPILER_OPTION_MSL_SHADER_INPUT_WORKGROUP_INDEX: spvc_compiler_option =
1600 spvc_compiler_option(134217752);
1601 pub const SPVC_COMPILER_OPTION_MSL_ENABLE_POINT_SIZE_BUILTIN: spvc_compiler_option =
1602 spvc_compiler_option(134217753);
1603 pub const SPVC_COMPILER_OPTION_MSL_DISABLE_RASTERIZATION: spvc_compiler_option =
1604 spvc_compiler_option(134217754);
1605 pub const SPVC_COMPILER_OPTION_MSL_CAPTURE_OUTPUT_TO_BUFFER: spvc_compiler_option =
1606 spvc_compiler_option(134217755);
1607 pub const SPVC_COMPILER_OPTION_MSL_SWIZZLE_TEXTURE_SAMPLES: spvc_compiler_option =
1608 spvc_compiler_option(134217756);
1609 pub const SPVC_COMPILER_OPTION_MSL_PAD_FRAGMENT_OUTPUT_COMPONENTS: spvc_compiler_option =
1610 spvc_compiler_option(134217757);
1611 pub const SPVC_COMPILER_OPTION_MSL_TESS_DOMAIN_ORIGIN_LOWER_LEFT: spvc_compiler_option =
1612 spvc_compiler_option(134217758);
1613 pub const SPVC_COMPILER_OPTION_MSL_PLATFORM: spvc_compiler_option =
1614 spvc_compiler_option(134217759);
1615 pub const SPVC_COMPILER_OPTION_MSL_ARGUMENT_BUFFERS: spvc_compiler_option =
1616 spvc_compiler_option(134217760);
1617 pub const SPVC_COMPILER_OPTION_GLSL_EMIT_PUSH_CONSTANT_AS_UNIFORM_BUFFER: spvc_compiler_option =
1618 spvc_compiler_option(33554465);
1619 pub const SPVC_COMPILER_OPTION_MSL_TEXTURE_BUFFER_NATIVE: spvc_compiler_option =
1620 spvc_compiler_option(134217762);
1621 pub const SPVC_COMPILER_OPTION_GLSL_EMIT_UNIFORM_BUFFER_AS_PLAIN_UNIFORMS:
1622 spvc_compiler_option = spvc_compiler_option(33554467);
1623 pub const SPVC_COMPILER_OPTION_MSL_BUFFER_SIZE_BUFFER_INDEX: spvc_compiler_option =
1624 spvc_compiler_option(134217764);
1625 pub const SPVC_COMPILER_OPTION_EMIT_LINE_DIRECTIVES: spvc_compiler_option =
1626 spvc_compiler_option(16777253);
1627 pub const SPVC_COMPILER_OPTION_MSL_MULTIVIEW: spvc_compiler_option =
1628 spvc_compiler_option(134217766);
1629 pub const SPVC_COMPILER_OPTION_MSL_VIEW_MASK_BUFFER_INDEX: spvc_compiler_option =
1630 spvc_compiler_option(134217767);
1631 pub const SPVC_COMPILER_OPTION_MSL_DEVICE_INDEX: spvc_compiler_option =
1632 spvc_compiler_option(134217768);
1633 pub const SPVC_COMPILER_OPTION_MSL_VIEW_INDEX_FROM_DEVICE_INDEX: spvc_compiler_option =
1634 spvc_compiler_option(134217769);
1635 pub const SPVC_COMPILER_OPTION_MSL_DISPATCH_BASE: spvc_compiler_option =
1636 spvc_compiler_option(134217770);
1637 pub const SPVC_COMPILER_OPTION_MSL_DYNAMIC_OFFSETS_BUFFER_INDEX: spvc_compiler_option =
1638 spvc_compiler_option(134217771);
1639 pub const SPVC_COMPILER_OPTION_MSL_TEXTURE_1D_AS_2D: spvc_compiler_option =
1640 spvc_compiler_option(134217772);
1641 pub const SPVC_COMPILER_OPTION_MSL_ENABLE_BASE_INDEX_ZERO: spvc_compiler_option =
1642 spvc_compiler_option(134217773);
1643 pub const SPVC_COMPILER_OPTION_MSL_IOS_FRAMEBUFFER_FETCH_SUBPASS: spvc_compiler_option =
1644 spvc_compiler_option(134217774);
1645 pub const SPVC_COMPILER_OPTION_MSL_FRAMEBUFFER_FETCH_SUBPASS: spvc_compiler_option =
1646 spvc_compiler_option(134217774);
1647 pub const SPVC_COMPILER_OPTION_MSL_INVARIANT_FP_MATH: spvc_compiler_option =
1648 spvc_compiler_option(134217775);
1649 pub const SPVC_COMPILER_OPTION_MSL_EMULATE_CUBEMAP_ARRAY: spvc_compiler_option =
1650 spvc_compiler_option(134217776);
1651 pub const SPVC_COMPILER_OPTION_MSL_ENABLE_DECORATION_BINDING: spvc_compiler_option =
1652 spvc_compiler_option(134217777);
1653 pub const SPVC_COMPILER_OPTION_MSL_FORCE_ACTIVE_ARGUMENT_BUFFER_RESOURCES:
1654 spvc_compiler_option = spvc_compiler_option(134217778);
1655 pub const SPVC_COMPILER_OPTION_MSL_FORCE_NATIVE_ARRAYS: spvc_compiler_option =
1656 spvc_compiler_option(134217779);
1657 pub const SPVC_COMPILER_OPTION_ENABLE_STORAGE_IMAGE_QUALIFIER_DEDUCTION: spvc_compiler_option =
1658 spvc_compiler_option(16777268);
1659 pub const SPVC_COMPILER_OPTION_HLSL_FORCE_STORAGE_BUFFER_AS_UAV: spvc_compiler_option =
1660 spvc_compiler_option(67108917);
1661 pub const SPVC_COMPILER_OPTION_FORCE_ZERO_INITIALIZED_VARIABLES: spvc_compiler_option =
1662 spvc_compiler_option(16777270);
1663 pub const SPVC_COMPILER_OPTION_HLSL_NONWRITABLE_UAV_TEXTURE_AS_SRV: spvc_compiler_option =
1664 spvc_compiler_option(67108919);
1665 pub const SPVC_COMPILER_OPTION_MSL_ENABLE_FRAG_OUTPUT_MASK: spvc_compiler_option =
1666 spvc_compiler_option(134217784);
1667 pub const SPVC_COMPILER_OPTION_MSL_ENABLE_FRAG_DEPTH_BUILTIN: spvc_compiler_option =
1668 spvc_compiler_option(134217785);
1669 pub const SPVC_COMPILER_OPTION_MSL_ENABLE_FRAG_STENCIL_REF_BUILTIN: spvc_compiler_option =
1670 spvc_compiler_option(134217786);
1671 pub const SPVC_COMPILER_OPTION_MSL_ENABLE_CLIP_DISTANCE_USER_VARYING: spvc_compiler_option =
1672 spvc_compiler_option(134217787);
1673 pub const SPVC_COMPILER_OPTION_HLSL_ENABLE_16BIT_TYPES: spvc_compiler_option =
1674 spvc_compiler_option(67108924);
1675 pub const SPVC_COMPILER_OPTION_MSL_MULTI_PATCH_WORKGROUP: spvc_compiler_option =
1676 spvc_compiler_option(134217789);
1677 pub const SPVC_COMPILER_OPTION_MSL_SHADER_INPUT_BUFFER_INDEX: spvc_compiler_option =
1678 spvc_compiler_option(134217790);
1679 pub const SPVC_COMPILER_OPTION_MSL_SHADER_INDEX_BUFFER_INDEX: spvc_compiler_option =
1680 spvc_compiler_option(134217791);
1681 pub const SPVC_COMPILER_OPTION_MSL_VERTEX_FOR_TESSELLATION: spvc_compiler_option =
1682 spvc_compiler_option(134217792);
1683 pub const SPVC_COMPILER_OPTION_MSL_VERTEX_INDEX_TYPE: spvc_compiler_option =
1684 spvc_compiler_option(134217793);
1685 pub const SPVC_COMPILER_OPTION_GLSL_FORCE_FLATTENED_IO_BLOCKS: spvc_compiler_option =
1686 spvc_compiler_option(33554498);
1687 pub const SPVC_COMPILER_OPTION_MSL_MULTIVIEW_LAYERED_RENDERING: spvc_compiler_option =
1688 spvc_compiler_option(134217795);
1689 pub const SPVC_COMPILER_OPTION_MSL_ARRAYED_SUBPASS_INPUT: spvc_compiler_option =
1690 spvc_compiler_option(134217796);
1691 pub const SPVC_COMPILER_OPTION_MSL_R32UI_LINEAR_TEXTURE_ALIGNMENT: spvc_compiler_option =
1692 spvc_compiler_option(134217797);
1693 pub const SPVC_COMPILER_OPTION_MSL_R32UI_ALIGNMENT_CONSTANT_ID: spvc_compiler_option =
1694 spvc_compiler_option(134217798);
1695 pub const SPVC_COMPILER_OPTION_HLSL_FLATTEN_MATRIX_VERTEX_INPUT_SEMANTICS:
1696 spvc_compiler_option = spvc_compiler_option(67108935);
1697 pub const SPVC_COMPILER_OPTION_MSL_IOS_USE_SIMDGROUP_FUNCTIONS: spvc_compiler_option =
1698 spvc_compiler_option(134217800);
1699 pub const SPVC_COMPILER_OPTION_MSL_EMULATE_SUBGROUPS: spvc_compiler_option =
1700 spvc_compiler_option(134217801);
1701 pub const SPVC_COMPILER_OPTION_MSL_FIXED_SUBGROUP_SIZE: spvc_compiler_option =
1702 spvc_compiler_option(134217802);
1703 pub const SPVC_COMPILER_OPTION_MSL_FORCE_SAMPLE_RATE_SHADING: spvc_compiler_option =
1704 spvc_compiler_option(134217803);
1705 pub const SPVC_COMPILER_OPTION_MSL_IOS_SUPPORT_BASE_VERTEX_INSTANCE: spvc_compiler_option =
1706 spvc_compiler_option(134217804);
1707 pub const SPVC_COMPILER_OPTION_GLSL_OVR_MULTIVIEW_VIEW_COUNT: spvc_compiler_option =
1708 spvc_compiler_option(33554509);
1709 pub const SPVC_COMPILER_OPTION_RELAX_NAN_CHECKS: spvc_compiler_option =
1710 spvc_compiler_option(16777294);
1711 pub const SPVC_COMPILER_OPTION_MSL_RAW_BUFFER_TESE_INPUT: spvc_compiler_option =
1712 spvc_compiler_option(134217807);
1713 pub const SPVC_COMPILER_OPTION_MSL_SHADER_PATCH_INPUT_BUFFER_INDEX: spvc_compiler_option =
1714 spvc_compiler_option(134217808);
1715 pub const SPVC_COMPILER_OPTION_MSL_MANUAL_HELPER_INVOCATION_UPDATES: spvc_compiler_option =
1716 spvc_compiler_option(134217809);
1717 pub const SPVC_COMPILER_OPTION_MSL_CHECK_DISCARDED_FRAG_STORES: spvc_compiler_option =
1718 spvc_compiler_option(134217810);
1719 pub const SPVC_COMPILER_OPTION_GLSL_ENABLE_ROW_MAJOR_LOAD_WORKAROUND: spvc_compiler_option =
1720 spvc_compiler_option(33554515);
1721 pub const SPVC_COMPILER_OPTION_MSL_ARGUMENT_BUFFERS_TIER: spvc_compiler_option =
1722 spvc_compiler_option(134217812);
1723 pub const SPVC_COMPILER_OPTION_MSL_SAMPLE_DREF_LOD_ARRAY_AS_GRAD: spvc_compiler_option =
1724 spvc_compiler_option(134217813);
1725 pub const SPVC_COMPILER_OPTION_MSL_READWRITE_TEXTURE_FENCES: spvc_compiler_option =
1726 spvc_compiler_option(134217814);
1727 pub const SPVC_COMPILER_OPTION_MSL_REPLACE_RECURSIVE_INPUTS: spvc_compiler_option =
1728 spvc_compiler_option(134217815);
1729 pub const SPVC_COMPILER_OPTION_MSL_AGX_MANUAL_CUBE_GRAD_FIXUP: spvc_compiler_option =
1730 spvc_compiler_option(134217816);
1731 pub const SPVC_COMPILER_OPTION_MSL_FORCE_FRAGMENT_WITH_SIDE_EFFECTS_EXECUTION:
1732 spvc_compiler_option = spvc_compiler_option(134217817);
1733 pub const SPVC_COMPILER_OPTION_HLSL_USE_ENTRY_POINT_NAME: spvc_compiler_option =
1734 spvc_compiler_option(67108954);
1735 pub const SPVC_COMPILER_OPTION_HLSL_PRESERVE_STRUCTURED_BUFFERS: spvc_compiler_option =
1736 spvc_compiler_option(67108955);
1737 pub const SPVC_COMPILER_OPTION_MSL_AUTO_DISABLE_RASTERIZATION: spvc_compiler_option =
1738 spvc_compiler_option(134217820);
1739 pub const SPVC_COMPILER_OPTION_MSL_ENABLE_POINT_SIZE_DEFAULT: spvc_compiler_option =
1740 spvc_compiler_option(134217821);
1741 pub const SPVC_COMPILER_OPTION_HLSL_USER_SEMANTIC: spvc_compiler_option =
1742 spvc_compiler_option(67108958);
1743}
1744impl ::std::ops::BitOr<spvc_compiler_option> for spvc_compiler_option {
1745 type Output = Self;
1746 #[inline]
1747 fn bitor(self, other: Self) -> Self {
1748 spvc_compiler_option(self.0 | other.0)
1749 }
1750}
1751impl ::std::ops::BitOrAssign for spvc_compiler_option {
1752 #[inline]
1753 fn bitor_assign(&mut self, rhs: spvc_compiler_option) {
1754 self.0 |= rhs.0;
1755 }
1756}
1757impl ::std::ops::BitAnd<spvc_compiler_option> for spvc_compiler_option {
1758 type Output = Self;
1759 #[inline]
1760 fn bitand(self, other: Self) -> Self {
1761 spvc_compiler_option(self.0 & other.0)
1762 }
1763}
1764impl ::std::ops::BitAndAssign for spvc_compiler_option {
1765 #[inline]
1766 fn bitand_assign(&mut self, rhs: spvc_compiler_option) {
1767 self.0 &= rhs.0;
1768 }
1769}
1770#[repr(transparent)]
1771#[derive(
1772 Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
1773)]
1774pub struct spvc_compiler_option(pub u32);
1775unsafe extern "C" {
1776 #[must_use]
1777 pub fn spvc_context_create(context: *mut spvc_context) -> spvc_result;
1778}
1779unsafe extern "C" {
1780 pub fn spvc_context_destroy(context: spvc_context);
1781}
1782unsafe extern "C" {
1783 pub fn spvc_context_release_allocations(context: spvc_context);
1784}
1785unsafe extern "C" {
1786 pub fn spvc_context_get_last_error_string(
1787 context: spvc_context,
1788 ) -> *const crate::ctypes::c_char;
1789}
1790pub type spvc_error_callback = ::std::option::Option<
1791 unsafe extern "C" fn(userdata: *mut crate::ctypes::c_void, error: *const crate::ctypes::c_char),
1792>;
1793unsafe extern "C" {
1794 pub fn spvc_context_set_error_callback(
1795 context: spvc_context,
1796 cb: spvc_error_callback,
1797 userdata: *mut crate::ctypes::c_void,
1798 );
1799}
1800unsafe extern "C" {
1801 #[must_use]
1802 pub fn spvc_context_parse_spirv(
1803 context: spvc_context,
1804 spirv: *const SpvId,
1805 word_count: usize,
1806 parsed_ir: *mut spvc_parsed_ir,
1807 ) -> spvc_result;
1808}
1809unsafe extern "C" {
1810 #[must_use]
1811 pub fn spvc_context_create_compiler(
1812 context: spvc_context,
1813 backend: CompilerBackend,
1814 parsed_ir: spvc_parsed_ir,
1815 mode: spvc_capture_mode,
1816 compiler: *mut spvc_compiler,
1817 ) -> spvc_result;
1818}
1819unsafe extern "C" {
1820 pub fn spvc_compiler_get_current_id_bound(compiler: spvc_compiler) -> crate::ctypes::c_uint;
1821}
1822unsafe extern "C" {
1823 #[must_use]
1824 pub fn spvc_compiler_create_compiler_options(
1825 compiler: spvc_compiler,
1826 options: *mut spvc_compiler_options,
1827 ) -> spvc_result;
1828}
1829unsafe extern "C" {
1830 #[must_use]
1831 pub fn spvc_compiler_options_set_bool(
1832 options: spvc_compiler_options,
1833 option: spvc_compiler_option,
1834 value: crate::ctypes::spvc_bool,
1835 ) -> spvc_result;
1836}
1837unsafe extern "C" {
1838 #[must_use]
1839 pub fn spvc_compiler_options_set_uint(
1840 options: spvc_compiler_options,
1841 option: spvc_compiler_option,
1842 value: crate::ctypes::c_uint,
1843 ) -> spvc_result;
1844}
1845unsafe extern "C" {
1846 #[must_use]
1847 pub fn spvc_compiler_install_compiler_options(
1848 compiler: spvc_compiler,
1849 options: spvc_compiler_options,
1850 ) -> spvc_result;
1851}
1852unsafe extern "C" {
1853 #[must_use]
1854 pub fn spvc_compiler_compile(
1855 compiler: spvc_compiler,
1856 source: *mut *const crate::ctypes::c_char,
1857 ) -> spvc_result;
1858}
1859unsafe extern "C" {
1860 #[must_use]
1861 pub fn spvc_compiler_add_header_line(
1862 compiler: spvc_compiler,
1863 line: *const crate::ctypes::c_char,
1864 ) -> spvc_result;
1865}
1866unsafe extern "C" {
1867 #[must_use]
1868 pub fn spvc_compiler_require_extension(
1869 compiler: spvc_compiler,
1870 ext: *const crate::ctypes::c_char,
1871 ) -> spvc_result;
1872}
1873unsafe extern "C" {
1874 pub fn spvc_compiler_get_num_required_extensions(compiler: spvc_compiler) -> usize;
1875}
1876unsafe extern "C" {
1877 pub fn spvc_compiler_get_required_extension(
1878 compiler: spvc_compiler,
1879 index: usize,
1880 ) -> *const crate::ctypes::c_char;
1881}
1882unsafe extern "C" {
1883 #[must_use]
1884 pub fn spvc_compiler_flatten_buffer_block(
1885 compiler: spvc_compiler,
1886 id: VariableId,
1887 ) -> spvc_result;
1888}
1889unsafe extern "C" {
1890 pub fn spvc_compiler_variable_is_depth_or_compare(
1891 compiler: spvc_compiler,
1892 id: VariableId,
1893 ) -> crate::ctypes::spvc_bool;
1894}
1895unsafe extern "C" {
1896 #[must_use]
1897 pub fn spvc_compiler_mask_stage_output_by_location(
1898 compiler: spvc_compiler,
1899 location: crate::ctypes::c_uint,
1900 component: crate::ctypes::c_uint,
1901 ) -> spvc_result;
1902}
1903unsafe extern "C" {
1904 #[must_use]
1905 pub fn spvc_compiler_mask_stage_output_by_builtin(
1906 compiler: spvc_compiler,
1907 builtin: SpvBuiltIn,
1908 ) -> spvc_result;
1909}
1910unsafe extern "C" {
1911 #[must_use]
1912 pub fn spvc_compiler_hlsl_set_root_constants_layout(
1913 compiler: spvc_compiler,
1914 constant_info: *const HlslRootConstants,
1915 count: usize,
1916 ) -> spvc_result;
1917}
1918unsafe extern "C" {
1919 #[must_use]
1920 pub fn spvc_compiler_hlsl_add_vertex_attribute_remap(
1921 compiler: spvc_compiler,
1922 remap: *const HlslVertexAttributeRemap,
1923 remaps: usize,
1924 ) -> spvc_result;
1925}
1926unsafe extern "C" {
1927 pub fn spvc_compiler_hlsl_remap_num_workgroups_builtin(compiler: spvc_compiler) -> VariableId;
1928}
1929unsafe extern "C" {
1930 #[must_use]
1931 pub fn spvc_compiler_hlsl_set_resource_binding_flags(
1932 compiler: spvc_compiler,
1933 flags: HlslBindingFlags,
1934 ) -> spvc_result;
1935}
1936unsafe extern "C" {
1937 #[must_use]
1938 pub fn spvc_compiler_hlsl_add_resource_binding(
1939 compiler: spvc_compiler,
1940 binding: *const HlslResourceBinding,
1941 ) -> spvc_result;
1942}
1943unsafe extern "C" {
1944 pub fn spvc_compiler_hlsl_is_resource_used(
1945 compiler: spvc_compiler,
1946 model: SpvExecutionModel,
1947 set: crate::ctypes::c_uint,
1948 binding: crate::ctypes::c_uint,
1949 ) -> crate::ctypes::spvc_bool;
1950}
1951unsafe extern "C" {
1952 pub fn spvc_compiler_msl_is_rasterization_disabled(
1953 compiler: spvc_compiler,
1954 ) -> crate::ctypes::spvc_bool;
1955}
1956unsafe extern "C" {
1957 pub fn spvc_compiler_msl_needs_aux_buffer(compiler: spvc_compiler) -> crate::ctypes::spvc_bool;
1958}
1959unsafe extern "C" {
1960 pub fn spvc_compiler_msl_needs_swizzle_buffer(
1961 compiler: spvc_compiler,
1962 ) -> crate::ctypes::spvc_bool;
1963}
1964unsafe extern "C" {
1965 pub fn spvc_compiler_msl_needs_buffer_size_buffer(
1966 compiler: spvc_compiler,
1967 ) -> crate::ctypes::spvc_bool;
1968}
1969unsafe extern "C" {
1970 pub fn spvc_compiler_msl_needs_output_buffer(
1971 compiler: spvc_compiler,
1972 ) -> crate::ctypes::spvc_bool;
1973}
1974unsafe extern "C" {
1975 pub fn spvc_compiler_msl_needs_patch_output_buffer(
1976 compiler: spvc_compiler,
1977 ) -> crate::ctypes::spvc_bool;
1978}
1979unsafe extern "C" {
1980 pub fn spvc_compiler_msl_needs_input_threadgroup_mem(
1981 compiler: spvc_compiler,
1982 ) -> crate::ctypes::spvc_bool;
1983}
1984unsafe extern "C" {
1985 #[must_use]
1986 pub fn spvc_compiler_msl_add_vertex_attribute(
1987 compiler: spvc_compiler,
1988 attrs: *const MslVertexAttribute,
1989 ) -> spvc_result;
1990}
1991unsafe extern "C" {
1992 #[must_use]
1993 pub fn spvc_compiler_msl_add_resource_binding(
1994 compiler: spvc_compiler,
1995 binding: *const MslResourceBinding,
1996 ) -> spvc_result;
1997}
1998unsafe extern "C" {
1999 #[must_use]
2000 pub fn spvc_compiler_msl_add_resource_binding_2(
2001 compiler: spvc_compiler,
2002 binding: *const MslResourceBinding2,
2003 ) -> spvc_result;
2004}
2005unsafe extern "C" {
2006 #[must_use]
2007 pub fn spvc_compiler_msl_add_shader_input(
2008 compiler: spvc_compiler,
2009 input: *const MslShaderInterfaceVar,
2010 ) -> spvc_result;
2011}
2012unsafe extern "C" {
2013 #[must_use]
2014 pub fn spvc_compiler_msl_add_shader_input_2(
2015 compiler: spvc_compiler,
2016 input: *const MslShaderInterfaceVar2,
2017 ) -> spvc_result;
2018}
2019unsafe extern "C" {
2020 #[must_use]
2021 pub fn spvc_compiler_msl_add_shader_output(
2022 compiler: spvc_compiler,
2023 output: *const MslShaderInterfaceVar,
2024 ) -> spvc_result;
2025}
2026unsafe extern "C" {
2027 #[must_use]
2028 pub fn spvc_compiler_msl_add_shader_output_2(
2029 compiler: spvc_compiler,
2030 output: *const MslShaderInterfaceVar2,
2031 ) -> spvc_result;
2032}
2033unsafe extern "C" {
2034 #[must_use]
2035 pub fn spvc_compiler_msl_add_discrete_descriptor_set(
2036 compiler: spvc_compiler,
2037 desc_set: crate::ctypes::c_uint,
2038 ) -> spvc_result;
2039}
2040unsafe extern "C" {
2041 #[must_use]
2042 pub fn spvc_compiler_msl_set_argument_buffer_device_address_space(
2043 compiler: spvc_compiler,
2044 desc_set: crate::ctypes::c_uint,
2045 device_address: crate::ctypes::spvc_bool,
2046 ) -> spvc_result;
2047}
2048unsafe extern "C" {
2049 pub fn spvc_compiler_msl_is_vertex_attribute_used(
2050 compiler: spvc_compiler,
2051 location: crate::ctypes::c_uint,
2052 ) -> crate::ctypes::spvc_bool;
2053}
2054unsafe extern "C" {
2055 pub fn spvc_compiler_msl_is_shader_input_used(
2056 compiler: spvc_compiler,
2057 location: crate::ctypes::c_uint,
2058 ) -> crate::ctypes::spvc_bool;
2059}
2060unsafe extern "C" {
2061 pub fn spvc_compiler_msl_is_shader_output_used(
2062 compiler: spvc_compiler,
2063 location: crate::ctypes::c_uint,
2064 ) -> crate::ctypes::spvc_bool;
2065}
2066unsafe extern "C" {
2067 pub fn spvc_compiler_msl_is_resource_used(
2068 compiler: spvc_compiler,
2069 model: SpvExecutionModel,
2070 set: crate::ctypes::c_uint,
2071 binding: crate::ctypes::c_uint,
2072 ) -> crate::ctypes::spvc_bool;
2073}
2074unsafe extern "C" {
2075 #[must_use]
2076 pub fn spvc_compiler_msl_remap_constexpr_sampler(
2077 compiler: spvc_compiler,
2078 id: VariableId,
2079 sampler: *const MslConstexprSampler,
2080 ) -> spvc_result;
2081}
2082unsafe extern "C" {
2083 #[must_use]
2084 pub fn spvc_compiler_msl_remap_constexpr_sampler_by_binding(
2085 compiler: spvc_compiler,
2086 desc_set: crate::ctypes::c_uint,
2087 binding: crate::ctypes::c_uint,
2088 sampler: *const MslConstexprSampler,
2089 ) -> spvc_result;
2090}
2091unsafe extern "C" {
2092 #[must_use]
2093 pub fn spvc_compiler_msl_remap_constexpr_sampler_ycbcr(
2094 compiler: spvc_compiler,
2095 id: VariableId,
2096 sampler: *const MslConstexprSampler,
2097 conv: *const MslSamplerYcbcrConversion,
2098 ) -> spvc_result;
2099}
2100unsafe extern "C" {
2101 #[must_use]
2102 pub fn spvc_compiler_msl_remap_constexpr_sampler_by_binding_ycbcr(
2103 compiler: spvc_compiler,
2104 desc_set: crate::ctypes::c_uint,
2105 binding: crate::ctypes::c_uint,
2106 sampler: *const MslConstexprSampler,
2107 conv: *const MslSamplerYcbcrConversion,
2108 ) -> spvc_result;
2109}
2110unsafe extern "C" {
2111 #[must_use]
2112 pub fn spvc_compiler_msl_set_fragment_output_components(
2113 compiler: spvc_compiler,
2114 location: crate::ctypes::c_uint,
2115 components: crate::ctypes::c_uint,
2116 ) -> spvc_result;
2117}
2118unsafe extern "C" {
2119 pub fn spvc_compiler_msl_get_automatic_resource_binding(
2120 compiler: spvc_compiler,
2121 id: VariableId,
2122 ) -> crate::ctypes::c_uint;
2123}
2124unsafe extern "C" {
2125 pub fn spvc_compiler_msl_get_automatic_resource_binding_secondary(
2126 compiler: spvc_compiler,
2127 id: VariableId,
2128 ) -> crate::ctypes::c_uint;
2129}
2130unsafe extern "C" {
2131 #[must_use]
2132 pub fn spvc_compiler_msl_add_dynamic_buffer(
2133 compiler: spvc_compiler,
2134 desc_set: crate::ctypes::c_uint,
2135 binding: crate::ctypes::c_uint,
2136 index: crate::ctypes::c_uint,
2137 ) -> spvc_result;
2138}
2139unsafe extern "C" {
2140 #[must_use]
2141 pub fn spvc_compiler_msl_add_inline_uniform_block(
2142 compiler: spvc_compiler,
2143 desc_set: crate::ctypes::c_uint,
2144 binding: crate::ctypes::c_uint,
2145 ) -> spvc_result;
2146}
2147unsafe extern "C" {
2148 #[must_use]
2149 pub fn spvc_compiler_msl_set_combined_sampler_suffix(
2150 compiler: spvc_compiler,
2151 suffix: *const crate::ctypes::c_char,
2152 ) -> spvc_result;
2153}
2154unsafe extern "C" {
2155 pub fn spvc_compiler_msl_get_combined_sampler_suffix(
2156 compiler: spvc_compiler,
2157 ) -> *const crate::ctypes::c_char;
2158}
2159unsafe extern "C" {
2160 #[must_use]
2161 pub fn spvc_compiler_get_active_interface_variables(
2162 compiler: spvc_compiler,
2163 set: *mut spvc_set,
2164 ) -> spvc_result;
2165}
2166unsafe extern "C" {
2167 #[must_use]
2168 pub fn spvc_compiler_set_enabled_interface_variables(
2169 compiler: spvc_compiler,
2170 set: spvc_set,
2171 ) -> spvc_result;
2172}
2173unsafe extern "C" {
2174 #[must_use]
2175 pub fn spvc_compiler_create_shader_resources(
2176 compiler: spvc_compiler,
2177 resources: *mut spvc_resources,
2178 ) -> spvc_result;
2179}
2180unsafe extern "C" {
2181 #[must_use]
2182 pub fn spvc_compiler_create_shader_resources_for_active_variables(
2183 compiler: spvc_compiler,
2184 resources: *mut spvc_resources,
2185 active: spvc_set,
2186 ) -> spvc_result;
2187}
2188unsafe extern "C" {
2189 #[must_use]
2190 pub fn spvc_resources_get_resource_list_for_type(
2191 resources: spvc_resources,
2192 type_: ResourceType,
2193 resource_list: *mut *const spvc_reflected_resource,
2194 resource_size: *mut usize,
2195 ) -> spvc_result;
2196}
2197unsafe extern "C" {
2198 #[must_use]
2199 pub fn spvc_resources_get_builtin_resource_list_for_type(
2200 resources: spvc_resources,
2201 type_: BuiltinResourceType,
2202 resource_list: *mut *const spvc_reflected_builtin_resource,
2203 resource_size: *mut usize,
2204 ) -> spvc_result;
2205}
2206unsafe extern "C" {
2207 pub fn spvc_compiler_set_decoration(
2208 compiler: spvc_compiler,
2209 id: SpvId,
2210 decoration: SpvDecoration,
2211 argument: crate::ctypes::c_uint,
2212 );
2213}
2214unsafe extern "C" {
2215 pub fn spvc_compiler_set_decoration_string(
2216 compiler: spvc_compiler,
2217 id: SpvId,
2218 decoration: SpvDecoration,
2219 argument: *const crate::ctypes::c_char,
2220 );
2221}
2222unsafe extern "C" {
2223 pub fn spvc_compiler_set_name(
2224 compiler: spvc_compiler,
2225 id: SpvId,
2226 argument: *const crate::ctypes::c_char,
2227 );
2228}
2229unsafe extern "C" {
2230 pub fn spvc_compiler_set_member_decoration(
2231 compiler: spvc_compiler,
2232 id: TypeId,
2233 member_index: crate::ctypes::c_uint,
2234 decoration: SpvDecoration,
2235 argument: crate::ctypes::c_uint,
2236 );
2237}
2238unsafe extern "C" {
2239 pub fn spvc_compiler_set_member_decoration_string(
2240 compiler: spvc_compiler,
2241 id: TypeId,
2242 member_index: crate::ctypes::c_uint,
2243 decoration: SpvDecoration,
2244 argument: *const crate::ctypes::c_char,
2245 );
2246}
2247unsafe extern "C" {
2248 pub fn spvc_compiler_set_member_name(
2249 compiler: spvc_compiler,
2250 id: TypeId,
2251 member_index: crate::ctypes::c_uint,
2252 argument: *const crate::ctypes::c_char,
2253 );
2254}
2255unsafe extern "C" {
2256 pub fn spvc_compiler_unset_decoration(
2257 compiler: spvc_compiler,
2258 id: SpvId,
2259 decoration: SpvDecoration,
2260 );
2261}
2262unsafe extern "C" {
2263 pub fn spvc_compiler_unset_member_decoration(
2264 compiler: spvc_compiler,
2265 id: TypeId,
2266 member_index: crate::ctypes::c_uint,
2267 decoration: SpvDecoration,
2268 );
2269}
2270unsafe extern "C" {
2271 pub fn spvc_compiler_has_decoration(
2272 compiler: spvc_compiler,
2273 id: SpvId,
2274 decoration: SpvDecoration,
2275 ) -> crate::ctypes::spvc_bool;
2276}
2277unsafe extern "C" {
2278 pub fn spvc_compiler_has_member_decoration(
2279 compiler: spvc_compiler,
2280 id: TypeId,
2281 member_index: crate::ctypes::c_uint,
2282 decoration: SpvDecoration,
2283 ) -> crate::ctypes::spvc_bool;
2284}
2285unsafe extern "C" {
2286 pub fn spvc_compiler_get_name(
2287 compiler: spvc_compiler,
2288 id: SpvId,
2289 ) -> *const crate::ctypes::c_char;
2290}
2291unsafe extern "C" {
2292 pub fn spvc_compiler_get_decoration(
2293 compiler: spvc_compiler,
2294 id: SpvId,
2295 decoration: SpvDecoration,
2296 ) -> crate::ctypes::c_uint;
2297}
2298unsafe extern "C" {
2299 pub fn spvc_compiler_get_decoration_string(
2300 compiler: spvc_compiler,
2301 id: SpvId,
2302 decoration: SpvDecoration,
2303 ) -> *const crate::ctypes::c_char;
2304}
2305unsafe extern "C" {
2306 pub fn spvc_compiler_get_member_decoration(
2307 compiler: spvc_compiler,
2308 id: TypeId,
2309 member_index: crate::ctypes::c_uint,
2310 decoration: SpvDecoration,
2311 ) -> crate::ctypes::c_uint;
2312}
2313unsafe extern "C" {
2314 pub fn spvc_compiler_get_member_decoration_string(
2315 compiler: spvc_compiler,
2316 id: TypeId,
2317 member_index: crate::ctypes::c_uint,
2318 decoration: SpvDecoration,
2319 ) -> *const crate::ctypes::c_char;
2320}
2321unsafe extern "C" {
2322 pub fn spvc_compiler_get_member_name(
2323 compiler: spvc_compiler,
2324 id: TypeId,
2325 member_index: crate::ctypes::c_uint,
2326 ) -> *const crate::ctypes::c_char;
2327}
2328unsafe extern "C" {
2329 #[must_use]
2330 pub fn spvc_compiler_get_entry_points(
2331 compiler: spvc_compiler,
2332 entry_points: *mut *const spvc_entry_point,
2333 num_entry_points: *mut usize,
2334 ) -> spvc_result;
2335}
2336unsafe extern "C" {
2337 #[must_use]
2338 pub fn spvc_compiler_set_entry_point(
2339 compiler: spvc_compiler,
2340 name: *const crate::ctypes::c_char,
2341 model: SpvExecutionModel,
2342 ) -> spvc_result;
2343}
2344unsafe extern "C" {
2345 #[must_use]
2346 pub fn spvc_compiler_rename_entry_point(
2347 compiler: spvc_compiler,
2348 old_name: *const crate::ctypes::c_char,
2349 new_name: *const crate::ctypes::c_char,
2350 model: SpvExecutionModel,
2351 ) -> spvc_result;
2352}
2353unsafe extern "C" {
2354 pub fn spvc_compiler_get_cleansed_entry_point_name(
2355 compiler: spvc_compiler,
2356 name: *const crate::ctypes::c_char,
2357 model: SpvExecutionModel,
2358 ) -> *const crate::ctypes::c_char;
2359}
2360unsafe extern "C" {
2361 pub fn spvc_compiler_set_execution_mode(compiler: spvc_compiler, mode: SpvExecutionMode);
2362}
2363unsafe extern "C" {
2364 pub fn spvc_compiler_unset_execution_mode(compiler: spvc_compiler, mode: SpvExecutionMode);
2365}
2366unsafe extern "C" {
2367 pub fn spvc_compiler_set_execution_mode_with_arguments(
2368 compiler: spvc_compiler,
2369 mode: SpvExecutionMode,
2370 arg0: crate::ctypes::c_uint,
2371 arg1: crate::ctypes::c_uint,
2372 arg2: crate::ctypes::c_uint,
2373 );
2374}
2375unsafe extern "C" {
2376 #[must_use]
2377 pub fn spvc_compiler_get_execution_modes(
2378 compiler: spvc_compiler,
2379 modes: *mut *const SpvExecutionMode,
2380 num_modes: *mut usize,
2381 ) -> spvc_result;
2382}
2383unsafe extern "C" {
2384 pub fn spvc_compiler_get_execution_mode_argument(
2385 compiler: spvc_compiler,
2386 mode: SpvExecutionMode,
2387 ) -> crate::ctypes::c_uint;
2388}
2389unsafe extern "C" {
2390 pub fn spvc_compiler_get_execution_mode_argument_by_index(
2391 compiler: spvc_compiler,
2392 mode: SpvExecutionMode,
2393 index: crate::ctypes::c_uint,
2394 ) -> crate::ctypes::c_uint;
2395}
2396unsafe extern "C" {
2397 pub fn spvc_compiler_get_execution_model(compiler: spvc_compiler) -> SpvExecutionModel;
2398}
2399unsafe extern "C" {
2400 pub fn spvc_compiler_update_active_builtins(compiler: spvc_compiler);
2401}
2402unsafe extern "C" {
2403 pub fn spvc_compiler_has_active_builtin(
2404 compiler: spvc_compiler,
2405 builtin: SpvBuiltIn,
2406 storage: SpvStorageClass,
2407 ) -> crate::ctypes::spvc_bool;
2408}
2409unsafe extern "C" {
2410 pub fn spvc_compiler_get_type_handle(compiler: spvc_compiler, id: TypeId) -> spvc_type;
2411}
2412unsafe extern "C" {
2413 pub fn spvc_type_get_base_type_id(type_: spvc_type) -> TypeId;
2414}
2415unsafe extern "C" {
2416 pub fn spvc_type_get_basetype(type_: spvc_type) -> BaseType;
2417}
2418unsafe extern "C" {
2419 pub fn spvc_type_get_bit_width(type_: spvc_type) -> crate::ctypes::c_uint;
2420}
2421unsafe extern "C" {
2422 pub fn spvc_type_get_vector_size(type_: spvc_type) -> crate::ctypes::c_uint;
2423}
2424unsafe extern "C" {
2425 pub fn spvc_type_get_columns(type_: spvc_type) -> crate::ctypes::c_uint;
2426}
2427unsafe extern "C" {
2428 pub fn spvc_type_get_num_array_dimensions(type_: spvc_type) -> crate::ctypes::c_uint;
2429}
2430unsafe extern "C" {
2431 pub fn spvc_type_array_dimension_is_literal(
2432 type_: spvc_type,
2433 dimension: crate::ctypes::c_uint,
2434 ) -> crate::ctypes::spvc_bool;
2435}
2436unsafe extern "C" {
2437 pub fn spvc_type_get_array_dimension(
2438 type_: spvc_type,
2439 dimension: crate::ctypes::c_uint,
2440 ) -> SpvId;
2441}
2442unsafe extern "C" {
2443 pub fn spvc_type_get_num_member_types(type_: spvc_type) -> crate::ctypes::c_uint;
2444}
2445unsafe extern "C" {
2446 pub fn spvc_type_get_member_type(type_: spvc_type, index: crate::ctypes::c_uint) -> TypeId;
2447}
2448unsafe extern "C" {
2449 pub fn spvc_type_get_storage_class(type_: spvc_type) -> SpvStorageClass;
2450}
2451unsafe extern "C" {
2452 pub fn spvc_type_get_image_sampled_type(type_: spvc_type) -> TypeId;
2453}
2454unsafe extern "C" {
2455 pub fn spvc_type_get_image_dimension(type_: spvc_type) -> SpvDim;
2456}
2457unsafe extern "C" {
2458 pub fn spvc_type_get_image_is_depth(type_: spvc_type) -> crate::ctypes::spvc_bool;
2459}
2460unsafe extern "C" {
2461 pub fn spvc_type_get_image_arrayed(type_: spvc_type) -> crate::ctypes::spvc_bool;
2462}
2463unsafe extern "C" {
2464 pub fn spvc_type_get_image_multisampled(type_: spvc_type) -> crate::ctypes::spvc_bool;
2465}
2466unsafe extern "C" {
2467 pub fn spvc_type_get_image_is_storage(type_: spvc_type) -> crate::ctypes::spvc_bool;
2468}
2469unsafe extern "C" {
2470 pub fn spvc_type_get_image_storage_format(type_: spvc_type) -> SpvImageFormat;
2471}
2472unsafe extern "C" {
2473 pub fn spvc_type_get_image_access_qualifier(type_: spvc_type) -> SpvAccessQualifier;
2474}
2475unsafe extern "C" {
2476 #[must_use]
2477 pub fn spvc_compiler_get_declared_struct_size(
2478 compiler: spvc_compiler,
2479 struct_type: spvc_type,
2480 size: *mut usize,
2481 ) -> spvc_result;
2482}
2483unsafe extern "C" {
2484 #[must_use]
2485 pub fn spvc_compiler_get_declared_struct_size_runtime_array(
2486 compiler: spvc_compiler,
2487 struct_type: spvc_type,
2488 array_size: usize,
2489 size: *mut usize,
2490 ) -> spvc_result;
2491}
2492unsafe extern "C" {
2493 #[must_use]
2494 pub fn spvc_compiler_get_declared_struct_member_size(
2495 compiler: spvc_compiler,
2496 type_: spvc_type,
2497 index: crate::ctypes::c_uint,
2498 size: *mut usize,
2499 ) -> spvc_result;
2500}
2501unsafe extern "C" {
2502 #[must_use]
2503 pub fn spvc_compiler_type_struct_member_offset(
2504 compiler: spvc_compiler,
2505 type_: spvc_type,
2506 index: crate::ctypes::c_uint,
2507 offset: *mut crate::ctypes::c_uint,
2508 ) -> spvc_result;
2509}
2510unsafe extern "C" {
2511 #[must_use]
2512 pub fn spvc_compiler_type_struct_member_array_stride(
2513 compiler: spvc_compiler,
2514 type_: spvc_type,
2515 index: crate::ctypes::c_uint,
2516 stride: *mut crate::ctypes::c_uint,
2517 ) -> spvc_result;
2518}
2519unsafe extern "C" {
2520 #[must_use]
2521 pub fn spvc_compiler_type_struct_member_matrix_stride(
2522 compiler: spvc_compiler,
2523 type_: spvc_type,
2524 index: crate::ctypes::c_uint,
2525 stride: *mut crate::ctypes::c_uint,
2526 ) -> spvc_result;
2527}
2528unsafe extern "C" {
2529 #[must_use]
2530 pub fn spvc_compiler_build_dummy_sampler_for_combined_images(
2531 compiler: spvc_compiler,
2532 id: *mut VariableId,
2533 ) -> spvc_result;
2534}
2535unsafe extern "C" {
2536 #[must_use]
2537 pub fn spvc_compiler_build_combined_image_samplers(compiler: spvc_compiler) -> spvc_result;
2538}
2539unsafe extern "C" {
2540 #[must_use]
2541 pub fn spvc_compiler_get_combined_image_samplers(
2542 compiler: spvc_compiler,
2543 samplers: *mut *const spvc_combined_image_sampler,
2544 num_samplers: *mut usize,
2545 ) -> spvc_result;
2546}
2547unsafe extern "C" {
2548 #[must_use]
2549 pub fn spvc_compiler_get_specialization_constants(
2550 compiler: spvc_compiler,
2551 constants: *mut *const spvc_specialization_constant,
2552 num_constants: *mut usize,
2553 ) -> spvc_result;
2554}
2555unsafe extern "C" {
2556 pub fn spvc_compiler_get_constant_handle(
2557 compiler: spvc_compiler,
2558 id: ConstantId,
2559 ) -> spvc_constant;
2560}
2561unsafe extern "C" {
2562 pub fn spvc_compiler_get_work_group_size_specialization_constants(
2563 compiler: spvc_compiler,
2564 x: *mut spvc_specialization_constant,
2565 y: *mut spvc_specialization_constant,
2566 z: *mut spvc_specialization_constant,
2567 ) -> ConstantId;
2568}
2569unsafe extern "C" {
2570 #[must_use]
2571 pub fn spvc_compiler_get_active_buffer_ranges(
2572 compiler: spvc_compiler,
2573 id: VariableId,
2574 ranges: *mut *const BufferRange,
2575 num_ranges: *mut usize,
2576 ) -> spvc_result;
2577}
2578unsafe extern "C" {
2579 pub fn spvc_constant_get_scalar_fp16(
2580 constant: spvc_constant,
2581 column: crate::ctypes::c_uint,
2582 row: crate::ctypes::c_uint,
2583 ) -> f32;
2584}
2585unsafe extern "C" {
2586 pub fn spvc_constant_get_scalar_fp32(
2587 constant: spvc_constant,
2588 column: crate::ctypes::c_uint,
2589 row: crate::ctypes::c_uint,
2590 ) -> f32;
2591}
2592unsafe extern "C" {
2593 pub fn spvc_constant_get_scalar_fp64(
2594 constant: spvc_constant,
2595 column: crate::ctypes::c_uint,
2596 row: crate::ctypes::c_uint,
2597 ) -> f64;
2598}
2599unsafe extern "C" {
2600 pub fn spvc_constant_get_scalar_u32(
2601 constant: spvc_constant,
2602 column: crate::ctypes::c_uint,
2603 row: crate::ctypes::c_uint,
2604 ) -> crate::ctypes::c_uint;
2605}
2606unsafe extern "C" {
2607 pub fn spvc_constant_get_scalar_i32(
2608 constant: spvc_constant,
2609 column: crate::ctypes::c_uint,
2610 row: crate::ctypes::c_uint,
2611 ) -> crate::ctypes::c_int;
2612}
2613unsafe extern "C" {
2614 pub fn spvc_constant_get_scalar_u16(
2615 constant: spvc_constant,
2616 column: crate::ctypes::c_uint,
2617 row: crate::ctypes::c_uint,
2618 ) -> crate::ctypes::c_uint;
2619}
2620unsafe extern "C" {
2621 pub fn spvc_constant_get_scalar_i16(
2622 constant: spvc_constant,
2623 column: crate::ctypes::c_uint,
2624 row: crate::ctypes::c_uint,
2625 ) -> crate::ctypes::c_int;
2626}
2627unsafe extern "C" {
2628 pub fn spvc_constant_get_scalar_u8(
2629 constant: spvc_constant,
2630 column: crate::ctypes::c_uint,
2631 row: crate::ctypes::c_uint,
2632 ) -> crate::ctypes::c_uint;
2633}
2634unsafe extern "C" {
2635 pub fn spvc_constant_get_scalar_i8(
2636 constant: spvc_constant,
2637 column: crate::ctypes::c_uint,
2638 row: crate::ctypes::c_uint,
2639 ) -> crate::ctypes::c_int;
2640}
2641unsafe extern "C" {
2642 pub fn spvc_constant_get_subconstants(
2643 constant: spvc_constant,
2644 constituents: *mut *const ConstantId,
2645 count: *mut usize,
2646 );
2647}
2648unsafe extern "C" {
2649 pub fn spvc_constant_get_scalar_u64(
2650 constant: spvc_constant,
2651 column: crate::ctypes::c_uint,
2652 row: crate::ctypes::c_uint,
2653 ) -> crate::ctypes::c_ulonglong;
2654}
2655unsafe extern "C" {
2656 pub fn spvc_constant_get_scalar_i64(
2657 constant: spvc_constant,
2658 column: crate::ctypes::c_uint,
2659 row: crate::ctypes::c_uint,
2660 ) -> crate::ctypes::c_longlong;
2661}
2662unsafe extern "C" {
2663 pub fn spvc_constant_get_type(constant: spvc_constant) -> TypeId;
2664}
2665unsafe extern "C" {
2666 pub fn spvc_constant_set_scalar_fp16(
2667 constant: spvc_constant,
2668 column: crate::ctypes::c_uint,
2669 row: crate::ctypes::c_uint,
2670 value: crate::ctypes::c_ushort,
2671 );
2672}
2673unsafe extern "C" {
2674 pub fn spvc_constant_set_scalar_fp32(
2675 constant: spvc_constant,
2676 column: crate::ctypes::c_uint,
2677 row: crate::ctypes::c_uint,
2678 value: f32,
2679 );
2680}
2681unsafe extern "C" {
2682 pub fn spvc_constant_set_scalar_fp64(
2683 constant: spvc_constant,
2684 column: crate::ctypes::c_uint,
2685 row: crate::ctypes::c_uint,
2686 value: f64,
2687 );
2688}
2689unsafe extern "C" {
2690 pub fn spvc_constant_set_scalar_u32(
2691 constant: spvc_constant,
2692 column: crate::ctypes::c_uint,
2693 row: crate::ctypes::c_uint,
2694 value: crate::ctypes::c_uint,
2695 );
2696}
2697unsafe extern "C" {
2698 pub fn spvc_constant_set_scalar_i32(
2699 constant: spvc_constant,
2700 column: crate::ctypes::c_uint,
2701 row: crate::ctypes::c_uint,
2702 value: crate::ctypes::c_int,
2703 );
2704}
2705unsafe extern "C" {
2706 pub fn spvc_constant_set_scalar_u64(
2707 constant: spvc_constant,
2708 column: crate::ctypes::c_uint,
2709 row: crate::ctypes::c_uint,
2710 value: crate::ctypes::c_ulonglong,
2711 );
2712}
2713unsafe extern "C" {
2714 pub fn spvc_constant_set_scalar_i64(
2715 constant: spvc_constant,
2716 column: crate::ctypes::c_uint,
2717 row: crate::ctypes::c_uint,
2718 value: crate::ctypes::c_longlong,
2719 );
2720}
2721unsafe extern "C" {
2722 pub fn spvc_constant_set_scalar_u16(
2723 constant: spvc_constant,
2724 column: crate::ctypes::c_uint,
2725 row: crate::ctypes::c_uint,
2726 value: crate::ctypes::c_ushort,
2727 );
2728}
2729unsafe extern "C" {
2730 pub fn spvc_constant_set_scalar_i16(
2731 constant: spvc_constant,
2732 column: crate::ctypes::c_uint,
2733 row: crate::ctypes::c_uint,
2734 value: crate::ctypes::c_short,
2735 );
2736}
2737unsafe extern "C" {
2738 pub fn spvc_constant_set_scalar_u8(
2739 constant: spvc_constant,
2740 column: crate::ctypes::c_uint,
2741 row: crate::ctypes::c_uint,
2742 value: crate::ctypes::c_uchar,
2743 );
2744}
2745unsafe extern "C" {
2746 pub fn spvc_constant_set_scalar_i8(
2747 constant: spvc_constant,
2748 column: crate::ctypes::c_uint,
2749 row: crate::ctypes::c_uint,
2750 value: crate::ctypes::c_schar,
2751 );
2752}
2753unsafe extern "C" {
2754 pub fn spvc_compiler_get_binary_offset_for_decoration(
2755 compiler: spvc_compiler,
2756 id: VariableId,
2757 decoration: SpvDecoration,
2758 word_offset: *mut crate::ctypes::c_uint,
2759 ) -> crate::ctypes::spvc_bool;
2760}
2761unsafe extern "C" {
2762 pub fn spvc_compiler_buffer_is_hlsl_counter_buffer(
2763 compiler: spvc_compiler,
2764 id: VariableId,
2765 ) -> crate::ctypes::spvc_bool;
2766}
2767unsafe extern "C" {
2768 pub fn spvc_compiler_buffer_get_hlsl_counter_buffer(
2769 compiler: spvc_compiler,
2770 id: VariableId,
2771 counter_id: *mut VariableId,
2772 ) -> crate::ctypes::spvc_bool;
2773}
2774unsafe extern "C" {
2775 #[must_use]
2776 pub fn spvc_compiler_get_declared_capabilities(
2777 compiler: spvc_compiler,
2778 capabilities: *mut *const SpvCapability,
2779 num_capabilities: *mut usize,
2780 ) -> spvc_result;
2781}
2782unsafe extern "C" {
2783 #[must_use]
2784 pub fn spvc_compiler_get_declared_extensions(
2785 compiler: spvc_compiler,
2786 extensions: *mut *mut *const crate::ctypes::c_char,
2787 num_extensions: *mut usize,
2788 ) -> spvc_result;
2789}
2790unsafe extern "C" {
2791 pub fn spvc_compiler_get_remapped_declared_block_name(
2792 compiler: spvc_compiler,
2793 id: VariableId,
2794 ) -> *const crate::ctypes::c_char;
2795}
2796unsafe extern "C" {
2797 #[must_use]
2798 pub fn spvc_compiler_get_buffer_block_decorations(
2799 compiler: spvc_compiler,
2800 id: VariableId,
2801 decorations: *mut *const SpvDecoration,
2802 num_decorations: *mut usize,
2803 ) -> spvc_result;
2804}
2805unsafe extern "C" {
2806 pub fn spvc_rs_expose_set(set: spvc_set, out: *mut u32, length: *mut usize);
2807}
2808unsafe extern "C" {
2809 pub fn spvc_rs_constant_is_scalar(constant: spvc_constant) -> crate::ctypes::spvc_bool;
2810}
2811unsafe extern "C" {
2812 pub fn spvc_rs_constant_get_vecsize(constant: spvc_constant) -> u32;
2813}
2814unsafe extern "C" {
2815 pub fn spvc_rs_constant_get_matrix_colsize(constant: spvc_constant) -> u32;
2816}
2817unsafe extern "C" {
2818 #[must_use]
2819 pub fn spvc_rs_compiler_variable_get_type(
2820 compiler: spvc_compiler,
2821 variable_id: VariableId,
2822 out: *mut TypeId,
2823 ) -> spvc_result;
2824}
2825unsafe extern "C" {
2826 pub fn spvc_rs_type_is_pointer(type_: spvc_type) -> crate::ctypes::spvc_bool;
2827}
2828unsafe extern "C" {
2829 pub fn spvc_rs_type_is_forward_pointer(type_: spvc_type) -> crate::ctypes::spvc_bool;
2830}
2831unsafe extern "C" {
2832 pub fn spvc_rs_compiler_get_execution_model_indirect(
2833 compiler: spvc_compiler,
2834 out: *mut SpvExecutionModel,
2835 );
2836}