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