#[repr(transparent)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct SpvId(pub crate::ctypes::c_uint);
impl SpvExecutionModel {
pub const Vertex: SpvExecutionModel = SpvExecutionModel(0);
}
impl SpvExecutionModel {
pub const TessellationControl: SpvExecutionModel = SpvExecutionModel(1);
}
impl SpvExecutionModel {
pub const TessellationEvaluation: SpvExecutionModel = SpvExecutionModel(2);
}
impl SpvExecutionModel {
pub const Geometry: SpvExecutionModel = SpvExecutionModel(3);
}
impl SpvExecutionModel {
pub const Fragment: SpvExecutionModel = SpvExecutionModel(4);
}
impl SpvExecutionModel {
pub const GLCompute: SpvExecutionModel = SpvExecutionModel(5);
}
impl SpvExecutionModel {
pub const Kernel: SpvExecutionModel = SpvExecutionModel(6);
}
impl SpvExecutionModel {
pub const TaskNV: SpvExecutionModel = SpvExecutionModel(5267);
}
impl SpvExecutionModel {
pub const MeshNV: SpvExecutionModel = SpvExecutionModel(5268);
}
impl SpvExecutionModel {
pub const RayGenerationKHR: SpvExecutionModel = SpvExecutionModel(5313);
}
impl SpvExecutionModel {
pub const RayGenerationNV: SpvExecutionModel = SpvExecutionModel(5313);
}
impl SpvExecutionModel {
pub const IntersectionKHR: SpvExecutionModel = SpvExecutionModel(5314);
}
impl SpvExecutionModel {
pub const IntersectionNV: SpvExecutionModel = SpvExecutionModel(5314);
}
impl SpvExecutionModel {
pub const AnyHitKHR: SpvExecutionModel = SpvExecutionModel(5315);
}
impl SpvExecutionModel {
pub const AnyHitNV: SpvExecutionModel = SpvExecutionModel(5315);
}
impl SpvExecutionModel {
pub const ClosestHitKHR: SpvExecutionModel = SpvExecutionModel(5316);
}
impl SpvExecutionModel {
pub const ClosestHitNV: SpvExecutionModel = SpvExecutionModel(5316);
}
impl SpvExecutionModel {
pub const MissKHR: SpvExecutionModel = SpvExecutionModel(5317);
}
impl SpvExecutionModel {
pub const MissNV: SpvExecutionModel = SpvExecutionModel(5317);
}
impl SpvExecutionModel {
pub const CallableKHR: SpvExecutionModel = SpvExecutionModel(5318);
}
impl SpvExecutionModel {
pub const CallableNV: SpvExecutionModel = SpvExecutionModel(5318);
}
impl SpvExecutionModel {
pub const TaskEXT: SpvExecutionModel = SpvExecutionModel(5364);
}
impl SpvExecutionModel {
pub const MeshEXT: SpvExecutionModel = SpvExecutionModel(5365);
}
impl SpvExecutionModel {
pub const Max: SpvExecutionModel = SpvExecutionModel(2147483647);
}
#[repr(transparent)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub struct SpvExecutionModel(pub i32);
impl SpvExecutionMode {
pub const Invocations: SpvExecutionMode = SpvExecutionMode(0);
}
impl SpvExecutionMode {
pub const SpacingEqual: SpvExecutionMode = SpvExecutionMode(1);
}
impl SpvExecutionMode {
pub const SpacingFractionalEven: SpvExecutionMode = SpvExecutionMode(2);
}
impl SpvExecutionMode {
pub const SpacingFractionalOdd: SpvExecutionMode = SpvExecutionMode(3);
}
impl SpvExecutionMode {
pub const VertexOrderCw: SpvExecutionMode = SpvExecutionMode(4);
}
impl SpvExecutionMode {
pub const VertexOrderCcw: SpvExecutionMode = SpvExecutionMode(5);
}
impl SpvExecutionMode {
pub const PixelCenterInteger: SpvExecutionMode = SpvExecutionMode(6);
}
impl SpvExecutionMode {
pub const OriginUpperLeft: SpvExecutionMode = SpvExecutionMode(7);
}
impl SpvExecutionMode {
pub const OriginLowerLeft: SpvExecutionMode = SpvExecutionMode(8);
}
impl SpvExecutionMode {
pub const EarlyFragmentTests: SpvExecutionMode = SpvExecutionMode(9);
}
impl SpvExecutionMode {
pub const PointMode: SpvExecutionMode = SpvExecutionMode(10);
}
impl SpvExecutionMode {
pub const Xfb: SpvExecutionMode = SpvExecutionMode(11);
}
impl SpvExecutionMode {
pub const DepthReplacing: SpvExecutionMode = SpvExecutionMode(12);
}
impl SpvExecutionMode {
pub const DepthGreater: SpvExecutionMode = SpvExecutionMode(14);
}
impl SpvExecutionMode {
pub const DepthLess: SpvExecutionMode = SpvExecutionMode(15);
}
impl SpvExecutionMode {
pub const DepthUnchanged: SpvExecutionMode = SpvExecutionMode(16);
}
impl SpvExecutionMode {
pub const LocalSize: SpvExecutionMode = SpvExecutionMode(17);
}
impl SpvExecutionMode {
pub const LocalSizeHint: SpvExecutionMode = SpvExecutionMode(18);
}
impl SpvExecutionMode {
pub const InputPoints: SpvExecutionMode = SpvExecutionMode(19);
}
impl SpvExecutionMode {
pub const InputLines: SpvExecutionMode = SpvExecutionMode(20);
}
impl SpvExecutionMode {
pub const InputLinesAdjacency: SpvExecutionMode = SpvExecutionMode(21);
}
impl SpvExecutionMode {
pub const Triangles: SpvExecutionMode = SpvExecutionMode(22);
}
impl SpvExecutionMode {
pub const InputTrianglesAdjacency: SpvExecutionMode = SpvExecutionMode(23);
}
impl SpvExecutionMode {
pub const Quads: SpvExecutionMode = SpvExecutionMode(24);
}
impl SpvExecutionMode {
pub const Isolines: SpvExecutionMode = SpvExecutionMode(25);
}
impl SpvExecutionMode {
pub const OutputVertices: SpvExecutionMode = SpvExecutionMode(26);
}
impl SpvExecutionMode {
pub const OutputPoints: SpvExecutionMode = SpvExecutionMode(27);
}
impl SpvExecutionMode {
pub const OutputLineStrip: SpvExecutionMode = SpvExecutionMode(28);
}
impl SpvExecutionMode {
pub const OutputTriangleStrip: SpvExecutionMode = SpvExecutionMode(29);
}
impl SpvExecutionMode {
pub const VecTypeHint: SpvExecutionMode = SpvExecutionMode(30);
}
impl SpvExecutionMode {
pub const ContractionOff: SpvExecutionMode = SpvExecutionMode(31);
}
impl SpvExecutionMode {
pub const Initializer: SpvExecutionMode = SpvExecutionMode(33);
}
impl SpvExecutionMode {
pub const Finalizer: SpvExecutionMode = SpvExecutionMode(34);
}
impl SpvExecutionMode {
pub const SubgroupSize: SpvExecutionMode = SpvExecutionMode(35);
}
impl SpvExecutionMode {
pub const SubgroupsPerWorkgroup: SpvExecutionMode = SpvExecutionMode(36);
}
impl SpvExecutionMode {
pub const SubgroupsPerWorkgroupId: SpvExecutionMode = SpvExecutionMode(37);
}
impl SpvExecutionMode {
pub const LocalSizeId: SpvExecutionMode = SpvExecutionMode(38);
}
impl SpvExecutionMode {
pub const LocalSizeHintId: SpvExecutionMode = SpvExecutionMode(39);
}
impl SpvExecutionMode {
pub const SubgroupUniformControlFlowKHR: SpvExecutionMode = SpvExecutionMode(4421);
}
impl SpvExecutionMode {
pub const PostDepthCoverage: SpvExecutionMode = SpvExecutionMode(4446);
}
impl SpvExecutionMode {
pub const DenormPreserve: SpvExecutionMode = SpvExecutionMode(4459);
}
impl SpvExecutionMode {
pub const DenormFlushToZero: SpvExecutionMode = SpvExecutionMode(4460);
}
impl SpvExecutionMode {
pub const SignedZeroInfNanPreserve: SpvExecutionMode = SpvExecutionMode(4461);
}
impl SpvExecutionMode {
pub const RoundingModeRTE: SpvExecutionMode = SpvExecutionMode(4462);
}
impl SpvExecutionMode {
pub const RoundingModeRTZ: SpvExecutionMode = SpvExecutionMode(4463);
}
impl SpvExecutionMode {
pub const EarlyAndLateFragmentTestsAMD: SpvExecutionMode = SpvExecutionMode(5017);
}
impl SpvExecutionMode {
pub const StencilRefReplacingEXT: SpvExecutionMode = SpvExecutionMode(5027);
}
impl SpvExecutionMode {
pub const StencilRefUnchangedFrontAMD: SpvExecutionMode = SpvExecutionMode(5079);
}
impl SpvExecutionMode {
pub const StencilRefGreaterFrontAMD: SpvExecutionMode = SpvExecutionMode(5080);
}
impl SpvExecutionMode {
pub const StencilRefLessFrontAMD: SpvExecutionMode = SpvExecutionMode(5081);
}
impl SpvExecutionMode {
pub const StencilRefUnchangedBackAMD: SpvExecutionMode = SpvExecutionMode(5082);
}
impl SpvExecutionMode {
pub const StencilRefGreaterBackAMD: SpvExecutionMode = SpvExecutionMode(5083);
}
impl SpvExecutionMode {
pub const StencilRefLessBackAMD: SpvExecutionMode = SpvExecutionMode(5084);
}
impl SpvExecutionMode {
pub const OutputLinesEXT: SpvExecutionMode = SpvExecutionMode(5269);
}
impl SpvExecutionMode {
pub const OutputLinesNV: SpvExecutionMode = SpvExecutionMode(5269);
}
impl SpvExecutionMode {
pub const OutputPrimitivesEXT: SpvExecutionMode = SpvExecutionMode(5270);
}
impl SpvExecutionMode {
pub const OutputPrimitivesNV: SpvExecutionMode = SpvExecutionMode(5270);
}
impl SpvExecutionMode {
pub const DerivativeGroupQuadsNV: SpvExecutionMode = SpvExecutionMode(5289);
}
impl SpvExecutionMode {
pub const DerivativeGroupLinearNV: SpvExecutionMode = SpvExecutionMode(5290);
}
impl SpvExecutionMode {
pub const OutputTrianglesEXT: SpvExecutionMode = SpvExecutionMode(5298);
}
impl SpvExecutionMode {
pub const OutputTrianglesNV: SpvExecutionMode = SpvExecutionMode(5298);
}
impl SpvExecutionMode {
pub const PixelInterlockOrderedEXT: SpvExecutionMode = SpvExecutionMode(5366);
}
impl SpvExecutionMode {
pub const PixelInterlockUnorderedEXT: SpvExecutionMode = SpvExecutionMode(5367);
}
impl SpvExecutionMode {
pub const SampleInterlockOrderedEXT: SpvExecutionMode = SpvExecutionMode(5368);
}
impl SpvExecutionMode {
pub const SampleInterlockUnorderedEXT: SpvExecutionMode = SpvExecutionMode(5369);
}
impl SpvExecutionMode {
pub const ShadingRateInterlockOrderedEXT: SpvExecutionMode = SpvExecutionMode(5370);
}
impl SpvExecutionMode {
pub const ShadingRateInterlockUnorderedEXT: SpvExecutionMode = SpvExecutionMode(5371);
}
impl SpvExecutionMode {
pub const SharedLocalMemorySizeINTEL: SpvExecutionMode = SpvExecutionMode(5618);
}
impl SpvExecutionMode {
pub const RoundingModeRTPINTEL: SpvExecutionMode = SpvExecutionMode(5620);
}
impl SpvExecutionMode {
pub const RoundingModeRTNINTEL: SpvExecutionMode = SpvExecutionMode(5621);
}
impl SpvExecutionMode {
pub const FloatingPointModeALTINTEL: SpvExecutionMode = SpvExecutionMode(5622);
}
impl SpvExecutionMode {
pub const FloatingPointModeIEEEINTEL: SpvExecutionMode = SpvExecutionMode(5623);
}
impl SpvExecutionMode {
pub const MaxWorkgroupSizeINTEL: SpvExecutionMode = SpvExecutionMode(5893);
}
impl SpvExecutionMode {
pub const MaxWorkDimINTEL: SpvExecutionMode = SpvExecutionMode(5894);
}
impl SpvExecutionMode {
pub const NoGlobalOffsetINTEL: SpvExecutionMode = SpvExecutionMode(5895);
}
impl SpvExecutionMode {
pub const NumSIMDWorkitemsINTEL: SpvExecutionMode = SpvExecutionMode(5896);
}
impl SpvExecutionMode {
pub const SchedulerTargetFmaxMhzINTEL: SpvExecutionMode = SpvExecutionMode(5903);
}
impl SpvExecutionMode {
pub const NamedBarrierCountINTEL: SpvExecutionMode = SpvExecutionMode(6417);
}
impl SpvExecutionMode {
pub const Max: SpvExecutionMode = SpvExecutionMode(2147483647);
}
#[repr(transparent)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub struct SpvExecutionMode(pub i32);
impl SpvStorageClass {
pub const UniformConstant: SpvStorageClass = SpvStorageClass(0);
}
impl SpvStorageClass {
pub const Input: SpvStorageClass = SpvStorageClass(1);
}
impl SpvStorageClass {
pub const Uniform: SpvStorageClass = SpvStorageClass(2);
}
impl SpvStorageClass {
pub const Output: SpvStorageClass = SpvStorageClass(3);
}
impl SpvStorageClass {
pub const Workgroup: SpvStorageClass = SpvStorageClass(4);
}
impl SpvStorageClass {
pub const CrossWorkgroup: SpvStorageClass = SpvStorageClass(5);
}
impl SpvStorageClass {
pub const Private: SpvStorageClass = SpvStorageClass(6);
}
impl SpvStorageClass {
pub const Function: SpvStorageClass = SpvStorageClass(7);
}
impl SpvStorageClass {
pub const Generic: SpvStorageClass = SpvStorageClass(8);
}
impl SpvStorageClass {
pub const PushConstant: SpvStorageClass = SpvStorageClass(9);
}
impl SpvStorageClass {
pub const AtomicCounter: SpvStorageClass = SpvStorageClass(10);
}
impl SpvStorageClass {
pub const Image: SpvStorageClass = SpvStorageClass(11);
}
impl SpvStorageClass {
pub const StorageBuffer: SpvStorageClass = SpvStorageClass(12);
}
impl SpvStorageClass {
pub const CallableDataKHR: SpvStorageClass = SpvStorageClass(5328);
}
impl SpvStorageClass {
pub const CallableDataNV: SpvStorageClass = SpvStorageClass(5328);
}
impl SpvStorageClass {
pub const IncomingCallableDataKHR: SpvStorageClass = SpvStorageClass(5329);
}
impl SpvStorageClass {
pub const IncomingCallableDataNV: SpvStorageClass = SpvStorageClass(5329);
}
impl SpvStorageClass {
pub const RayPayloadKHR: SpvStorageClass = SpvStorageClass(5338);
}
impl SpvStorageClass {
pub const RayPayloadNV: SpvStorageClass = SpvStorageClass(5338);
}
impl SpvStorageClass {
pub const HitAttributeKHR: SpvStorageClass = SpvStorageClass(5339);
}
impl SpvStorageClass {
pub const HitAttributeNV: SpvStorageClass = SpvStorageClass(5339);
}
impl SpvStorageClass {
pub const IncomingRayPayloadKHR: SpvStorageClass = SpvStorageClass(5342);
}
impl SpvStorageClass {
pub const IncomingRayPayloadNV: SpvStorageClass = SpvStorageClass(5342);
}
impl SpvStorageClass {
pub const ShaderRecordBufferKHR: SpvStorageClass = SpvStorageClass(5343);
}
impl SpvStorageClass {
pub const ShaderRecordBufferNV: SpvStorageClass = SpvStorageClass(5343);
}
impl SpvStorageClass {
pub const PhysicalStorageBuffer: SpvStorageClass = SpvStorageClass(5349);
}
impl SpvStorageClass {
pub const PhysicalStorageBufferEXT: SpvStorageClass = SpvStorageClass(5349);
}
impl SpvStorageClass {
pub const TaskPayloadWorkgroupEXT: SpvStorageClass = SpvStorageClass(5402);
}
impl SpvStorageClass {
pub const CodeSectionINTEL: SpvStorageClass = SpvStorageClass(5605);
}
impl SpvStorageClass {
pub const DeviceOnlyINTEL: SpvStorageClass = SpvStorageClass(5936);
}
impl SpvStorageClass {
pub const HostOnlyINTEL: SpvStorageClass = SpvStorageClass(5937);
}
impl SpvStorageClass {
pub const Max: SpvStorageClass = SpvStorageClass(2147483647);
}
#[repr(transparent)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub struct SpvStorageClass(pub i32);
impl SpvDim {
pub const Dim1D: SpvDim = SpvDim(0);
}
impl SpvDim {
pub const Dim2D: SpvDim = SpvDim(1);
}
impl SpvDim {
pub const Dim3D: SpvDim = SpvDim(2);
}
impl SpvDim {
pub const DimCube: SpvDim = SpvDim(3);
}
impl SpvDim {
pub const DimRect: SpvDim = SpvDim(4);
}
impl SpvDim {
pub const DimBuffer: SpvDim = SpvDim(5);
}
impl SpvDim {
pub const DimSubpassData: SpvDim = SpvDim(6);
}
impl SpvDim {
pub const DimMax: SpvDim = SpvDim(2147483647);
}
#[repr(transparent)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub struct SpvDim(pub i32);
impl SpvImageFormat {
pub const Unknown: SpvImageFormat = SpvImageFormat(0);
}
impl SpvImageFormat {
pub const Rgba32f: SpvImageFormat = SpvImageFormat(1);
}
impl SpvImageFormat {
pub const Rgba16f: SpvImageFormat = SpvImageFormat(2);
}
impl SpvImageFormat {
pub const R32f: SpvImageFormat = SpvImageFormat(3);
}
impl SpvImageFormat {
pub const Rgba8: SpvImageFormat = SpvImageFormat(4);
}
impl SpvImageFormat {
pub const Rgba8Snorm: SpvImageFormat = SpvImageFormat(5);
}
impl SpvImageFormat {
pub const Rg32f: SpvImageFormat = SpvImageFormat(6);
}
impl SpvImageFormat {
pub const Rg16f: SpvImageFormat = SpvImageFormat(7);
}
impl SpvImageFormat {
pub const R11fG11fB10f: SpvImageFormat = SpvImageFormat(8);
}
impl SpvImageFormat {
pub const R16f: SpvImageFormat = SpvImageFormat(9);
}
impl SpvImageFormat {
pub const Rgba16: SpvImageFormat = SpvImageFormat(10);
}
impl SpvImageFormat {
pub const Rgb10A2: SpvImageFormat = SpvImageFormat(11);
}
impl SpvImageFormat {
pub const Rg16: SpvImageFormat = SpvImageFormat(12);
}
impl SpvImageFormat {
pub const Rg8: SpvImageFormat = SpvImageFormat(13);
}
impl SpvImageFormat {
pub const R16: SpvImageFormat = SpvImageFormat(14);
}
impl SpvImageFormat {
pub const R8: SpvImageFormat = SpvImageFormat(15);
}
impl SpvImageFormat {
pub const Rgba16Snorm: SpvImageFormat = SpvImageFormat(16);
}
impl SpvImageFormat {
pub const Rg16Snorm: SpvImageFormat = SpvImageFormat(17);
}
impl SpvImageFormat {
pub const Rg8Snorm: SpvImageFormat = SpvImageFormat(18);
}
impl SpvImageFormat {
pub const R16Snorm: SpvImageFormat = SpvImageFormat(19);
}
impl SpvImageFormat {
pub const R8Snorm: SpvImageFormat = SpvImageFormat(20);
}
impl SpvImageFormat {
pub const Rgba32i: SpvImageFormat = SpvImageFormat(21);
}
impl SpvImageFormat {
pub const Rgba16i: SpvImageFormat = SpvImageFormat(22);
}
impl SpvImageFormat {
pub const Rgba8i: SpvImageFormat = SpvImageFormat(23);
}
impl SpvImageFormat {
pub const R32i: SpvImageFormat = SpvImageFormat(24);
}
impl SpvImageFormat {
pub const Rg32i: SpvImageFormat = SpvImageFormat(25);
}
impl SpvImageFormat {
pub const Rg16i: SpvImageFormat = SpvImageFormat(26);
}
impl SpvImageFormat {
pub const Rg8i: SpvImageFormat = SpvImageFormat(27);
}
impl SpvImageFormat {
pub const R16i: SpvImageFormat = SpvImageFormat(28);
}
impl SpvImageFormat {
pub const R8i: SpvImageFormat = SpvImageFormat(29);
}
impl SpvImageFormat {
pub const Rgba32ui: SpvImageFormat = SpvImageFormat(30);
}
impl SpvImageFormat {
pub const Rgba16ui: SpvImageFormat = SpvImageFormat(31);
}
impl SpvImageFormat {
pub const Rgba8ui: SpvImageFormat = SpvImageFormat(32);
}
impl SpvImageFormat {
pub const R32ui: SpvImageFormat = SpvImageFormat(33);
}
impl SpvImageFormat {
pub const Rgb10a2ui: SpvImageFormat = SpvImageFormat(34);
}
impl SpvImageFormat {
pub const Rg32ui: SpvImageFormat = SpvImageFormat(35);
}
impl SpvImageFormat {
pub const Rg16ui: SpvImageFormat = SpvImageFormat(36);
}
impl SpvImageFormat {
pub const Rg8ui: SpvImageFormat = SpvImageFormat(37);
}
impl SpvImageFormat {
pub const R16ui: SpvImageFormat = SpvImageFormat(38);
}
impl SpvImageFormat {
pub const R8ui: SpvImageFormat = SpvImageFormat(39);
}
impl SpvImageFormat {
pub const R64ui: SpvImageFormat = SpvImageFormat(40);
}
impl SpvImageFormat {
pub const R64i: SpvImageFormat = SpvImageFormat(41);
}
impl SpvImageFormat {
pub const Max: SpvImageFormat = SpvImageFormat(2147483647);
}
#[repr(transparent)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub struct SpvImageFormat(pub i32);
impl SpvFPRoundingMode {
pub const RTE: SpvFPRoundingMode = SpvFPRoundingMode(0);
}
impl SpvFPRoundingMode {
pub const RTZ: SpvFPRoundingMode = SpvFPRoundingMode(1);
}
impl SpvFPRoundingMode {
pub const RTP: SpvFPRoundingMode = SpvFPRoundingMode(2);
}
impl SpvFPRoundingMode {
pub const RTN: SpvFPRoundingMode = SpvFPRoundingMode(3);
}
impl SpvFPRoundingMode {
pub const Max: SpvFPRoundingMode = SpvFPRoundingMode(2147483647);
}
#[repr(transparent)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub struct SpvFPRoundingMode(pub i32);
pub const SpvAccessQualifier_ReadOnly: SpvAccessQualifier = 0;
pub const SpvAccessQualifier_WriteOnly: SpvAccessQualifier = 1;
pub const SpvAccessQualifier_ReadWrite: SpvAccessQualifier = 2;
pub const SpvAccessQualifier_Max: SpvAccessQualifier = 2147483647;
pub type SpvAccessQualifier = i32;
impl SpvDecoration {
pub const RelaxedPrecision: SpvDecoration = SpvDecoration(0);
}
impl SpvDecoration {
pub const SpecId: SpvDecoration = SpvDecoration(1);
}
impl SpvDecoration {
pub const Block: SpvDecoration = SpvDecoration(2);
}
impl SpvDecoration {
pub const BufferBlock: SpvDecoration = SpvDecoration(3);
}
impl SpvDecoration {
pub const RowMajor: SpvDecoration = SpvDecoration(4);
}
impl SpvDecoration {
pub const ColMajor: SpvDecoration = SpvDecoration(5);
}
impl SpvDecoration {
pub const ArrayStride: SpvDecoration = SpvDecoration(6);
}
impl SpvDecoration {
pub const MatrixStride: SpvDecoration = SpvDecoration(7);
}
impl SpvDecoration {
pub const GLSLShared: SpvDecoration = SpvDecoration(8);
}
impl SpvDecoration {
pub const GLSLPacked: SpvDecoration = SpvDecoration(9);
}
impl SpvDecoration {
pub const CPacked: SpvDecoration = SpvDecoration(10);
}
impl SpvDecoration {
pub const BuiltIn: SpvDecoration = SpvDecoration(11);
}
impl SpvDecoration {
pub const NoPerspective: SpvDecoration = SpvDecoration(13);
}
impl SpvDecoration {
pub const Flat: SpvDecoration = SpvDecoration(14);
}
impl SpvDecoration {
pub const Patch: SpvDecoration = SpvDecoration(15);
}
impl SpvDecoration {
pub const Centroid: SpvDecoration = SpvDecoration(16);
}
impl SpvDecoration {
pub const Sample: SpvDecoration = SpvDecoration(17);
}
impl SpvDecoration {
pub const Invariant: SpvDecoration = SpvDecoration(18);
}
impl SpvDecoration {
pub const Restrict: SpvDecoration = SpvDecoration(19);
}
impl SpvDecoration {
pub const Aliased: SpvDecoration = SpvDecoration(20);
}
impl SpvDecoration {
pub const Volatile: SpvDecoration = SpvDecoration(21);
}
impl SpvDecoration {
pub const Constant: SpvDecoration = SpvDecoration(22);
}
impl SpvDecoration {
pub const Coherent: SpvDecoration = SpvDecoration(23);
}
impl SpvDecoration {
pub const NonWritable: SpvDecoration = SpvDecoration(24);
}
impl SpvDecoration {
pub const NonReadable: SpvDecoration = SpvDecoration(25);
}
impl SpvDecoration {
pub const Uniform: SpvDecoration = SpvDecoration(26);
}
impl SpvDecoration {
pub const UniformId: SpvDecoration = SpvDecoration(27);
}
impl SpvDecoration {
pub const SaturatedConversion: SpvDecoration = SpvDecoration(28);
}
impl SpvDecoration {
pub const Stream: SpvDecoration = SpvDecoration(29);
}
impl SpvDecoration {
pub const Location: SpvDecoration = SpvDecoration(30);
}
impl SpvDecoration {
pub const Component: SpvDecoration = SpvDecoration(31);
}
impl SpvDecoration {
pub const Index: SpvDecoration = SpvDecoration(32);
}
impl SpvDecoration {
pub const Binding: SpvDecoration = SpvDecoration(33);
}
impl SpvDecoration {
pub const DescriptorSet: SpvDecoration = SpvDecoration(34);
}
impl SpvDecoration {
pub const Offset: SpvDecoration = SpvDecoration(35);
}
impl SpvDecoration {
pub const XfbBuffer: SpvDecoration = SpvDecoration(36);
}
impl SpvDecoration {
pub const XfbStride: SpvDecoration = SpvDecoration(37);
}
impl SpvDecoration {
pub const FuncParamAttr: SpvDecoration = SpvDecoration(38);
}
impl SpvDecoration {
pub const FPRoundingMode: SpvDecoration = SpvDecoration(39);
}
impl SpvDecoration {
pub const FPFastMathMode: SpvDecoration = SpvDecoration(40);
}
impl SpvDecoration {
pub const LinkageAttributes: SpvDecoration = SpvDecoration(41);
}
impl SpvDecoration {
pub const NoContraction: SpvDecoration = SpvDecoration(42);
}
impl SpvDecoration {
pub const InputAttachmentIndex: SpvDecoration = SpvDecoration(43);
}
impl SpvDecoration {
pub const Alignment: SpvDecoration = SpvDecoration(44);
}
impl SpvDecoration {
pub const MaxByteOffset: SpvDecoration = SpvDecoration(45);
}
impl SpvDecoration {
pub const AlignmentId: SpvDecoration = SpvDecoration(46);
}
impl SpvDecoration {
pub const MaxByteOffsetId: SpvDecoration = SpvDecoration(47);
}
impl SpvDecoration {
pub const NoSignedWrap: SpvDecoration = SpvDecoration(4469);
}
impl SpvDecoration {
pub const NoUnsignedWrap: SpvDecoration = SpvDecoration(4470);
}
impl SpvDecoration {
pub const WeightTextureQCOM: SpvDecoration = SpvDecoration(4487);
}
impl SpvDecoration {
pub const BlockMatchTextureQCOM: SpvDecoration = SpvDecoration(4488);
}
impl SpvDecoration {
pub const ExplicitInterpAMD: SpvDecoration = SpvDecoration(4999);
}
impl SpvDecoration {
pub const OverrideCoverageNV: SpvDecoration = SpvDecoration(5248);
}
impl SpvDecoration {
pub const PassthroughNV: SpvDecoration = SpvDecoration(5250);
}
impl SpvDecoration {
pub const ViewportRelativeNV: SpvDecoration = SpvDecoration(5252);
}
impl SpvDecoration {
pub const SecondaryViewportRelativeNV: SpvDecoration = SpvDecoration(5256);
}
impl SpvDecoration {
pub const PerPrimitiveEXT: SpvDecoration = SpvDecoration(5271);
}
impl SpvDecoration {
pub const PerPrimitiveNV: SpvDecoration = SpvDecoration(5271);
}
impl SpvDecoration {
pub const PerViewNV: SpvDecoration = SpvDecoration(5272);
}
impl SpvDecoration {
pub const PerTaskNV: SpvDecoration = SpvDecoration(5273);
}
impl SpvDecoration {
pub const PerVertexKHR: SpvDecoration = SpvDecoration(5285);
}
impl SpvDecoration {
pub const PerVertexNV: SpvDecoration = SpvDecoration(5285);
}
impl SpvDecoration {
pub const NonUniform: SpvDecoration = SpvDecoration(5300);
}
impl SpvDecoration {
pub const NonUniformEXT: SpvDecoration = SpvDecoration(5300);
}
impl SpvDecoration {
pub const RestrictPointer: SpvDecoration = SpvDecoration(5355);
}
impl SpvDecoration {
pub const RestrictPointerEXT: SpvDecoration = SpvDecoration(5355);
}
impl SpvDecoration {
pub const AliasedPointer: SpvDecoration = SpvDecoration(5356);
}
impl SpvDecoration {
pub const AliasedPointerEXT: SpvDecoration = SpvDecoration(5356);
}
impl SpvDecoration {
pub const BindlessSamplerNV: SpvDecoration = SpvDecoration(5398);
}
impl SpvDecoration {
pub const BindlessImageNV: SpvDecoration = SpvDecoration(5399);
}
impl SpvDecoration {
pub const BoundSamplerNV: SpvDecoration = SpvDecoration(5400);
}
impl SpvDecoration {
pub const BoundImageNV: SpvDecoration = SpvDecoration(5401);
}
impl SpvDecoration {
pub const SIMTCallINTEL: SpvDecoration = SpvDecoration(5599);
}
impl SpvDecoration {
pub const ReferencedIndirectlyINTEL: SpvDecoration = SpvDecoration(5602);
}
impl SpvDecoration {
pub const ClobberINTEL: SpvDecoration = SpvDecoration(5607);
}
impl SpvDecoration {
pub const SideEffectsINTEL: SpvDecoration = SpvDecoration(5608);
}
impl SpvDecoration {
pub const VectorComputeVariableINTEL: SpvDecoration = SpvDecoration(5624);
}
impl SpvDecoration {
pub const FuncParamIOKindINTEL: SpvDecoration = SpvDecoration(5625);
}
impl SpvDecoration {
pub const VectorComputeFunctionINTEL: SpvDecoration = SpvDecoration(5626);
}
impl SpvDecoration {
pub const StackCallINTEL: SpvDecoration = SpvDecoration(5627);
}
impl SpvDecoration {
pub const GlobalVariableOffsetINTEL: SpvDecoration = SpvDecoration(5628);
}
impl SpvDecoration {
pub const CounterBuffer: SpvDecoration = SpvDecoration(5634);
}
impl SpvDecoration {
pub const HlslCounterBufferGOOGLE: SpvDecoration = SpvDecoration(5634);
}
impl SpvDecoration {
pub const HlslSemanticGOOGLE: SpvDecoration = SpvDecoration(5635);
}
impl SpvDecoration {
pub const UserSemantic: SpvDecoration = SpvDecoration(5635);
}
impl SpvDecoration {
pub const UserTypeGOOGLE: SpvDecoration = SpvDecoration(5636);
}
impl SpvDecoration {
pub const FunctionRoundingModeINTEL: SpvDecoration = SpvDecoration(5822);
}
impl SpvDecoration {
pub const FunctionDenormModeINTEL: SpvDecoration = SpvDecoration(5823);
}
impl SpvDecoration {
pub const RegisterINTEL: SpvDecoration = SpvDecoration(5825);
}
impl SpvDecoration {
pub const MemoryINTEL: SpvDecoration = SpvDecoration(5826);
}
impl SpvDecoration {
pub const NumbanksINTEL: SpvDecoration = SpvDecoration(5827);
}
impl SpvDecoration {
pub const BankwidthINTEL: SpvDecoration = SpvDecoration(5828);
}
impl SpvDecoration {
pub const MaxPrivateCopiesINTEL: SpvDecoration = SpvDecoration(5829);
}
impl SpvDecoration {
pub const SinglepumpINTEL: SpvDecoration = SpvDecoration(5830);
}
impl SpvDecoration {
pub const DoublepumpINTEL: SpvDecoration = SpvDecoration(5831);
}
impl SpvDecoration {
pub const MaxReplicatesINTEL: SpvDecoration = SpvDecoration(5832);
}
impl SpvDecoration {
pub const SimpleDualPortINTEL: SpvDecoration = SpvDecoration(5833);
}
impl SpvDecoration {
pub const MergeINTEL: SpvDecoration = SpvDecoration(5834);
}
impl SpvDecoration {
pub const BankBitsINTEL: SpvDecoration = SpvDecoration(5835);
}
impl SpvDecoration {
pub const ForcePow2DepthINTEL: SpvDecoration = SpvDecoration(5836);
}
impl SpvDecoration {
pub const BurstCoalesceINTEL: SpvDecoration = SpvDecoration(5899);
}
impl SpvDecoration {
pub const CacheSizeINTEL: SpvDecoration = SpvDecoration(5900);
}
impl SpvDecoration {
pub const DontStaticallyCoalesceINTEL: SpvDecoration = SpvDecoration(5901);
}
impl SpvDecoration {
pub const PrefetchINTEL: SpvDecoration = SpvDecoration(5902);
}
impl SpvDecoration {
pub const StallEnableINTEL: SpvDecoration = SpvDecoration(5905);
}
impl SpvDecoration {
pub const FuseLoopsInFunctionINTEL: SpvDecoration = SpvDecoration(5907);
}
impl SpvDecoration {
pub const AliasScopeINTEL: SpvDecoration = SpvDecoration(5914);
}
impl SpvDecoration {
pub const NoAliasINTEL: SpvDecoration = SpvDecoration(5915);
}
impl SpvDecoration {
pub const BufferLocationINTEL: SpvDecoration = SpvDecoration(5921);
}
impl SpvDecoration {
pub const IOPipeStorageINTEL: SpvDecoration = SpvDecoration(5944);
}
impl SpvDecoration {
pub const FunctionFloatingPointModeINTEL: SpvDecoration = SpvDecoration(6080);
}
impl SpvDecoration {
pub const SingleElementVectorINTEL: SpvDecoration = SpvDecoration(6085);
}
impl SpvDecoration {
pub const VectorComputeCallableFunctionINTEL: SpvDecoration = SpvDecoration(6087);
}
impl SpvDecoration {
pub const MediaBlockIOINTEL: SpvDecoration = SpvDecoration(6140);
}
impl SpvDecoration {
pub const Max: SpvDecoration = SpvDecoration(2147483647);
}
#[repr(transparent)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub struct SpvDecoration(pub i32);
impl SpvBuiltIn {
pub const Position: SpvBuiltIn = SpvBuiltIn(0);
}
impl SpvBuiltIn {
pub const PointSize: SpvBuiltIn = SpvBuiltIn(1);
}
impl SpvBuiltIn {
pub const ClipDistance: SpvBuiltIn = SpvBuiltIn(3);
}
impl SpvBuiltIn {
pub const CullDistance: SpvBuiltIn = SpvBuiltIn(4);
}
impl SpvBuiltIn {
pub const VertexId: SpvBuiltIn = SpvBuiltIn(5);
}
impl SpvBuiltIn {
pub const InstanceId: SpvBuiltIn = SpvBuiltIn(6);
}
impl SpvBuiltIn {
pub const PrimitiveId: SpvBuiltIn = SpvBuiltIn(7);
}
impl SpvBuiltIn {
pub const InvocationId: SpvBuiltIn = SpvBuiltIn(8);
}
impl SpvBuiltIn {
pub const Layer: SpvBuiltIn = SpvBuiltIn(9);
}
impl SpvBuiltIn {
pub const ViewportIndex: SpvBuiltIn = SpvBuiltIn(10);
}
impl SpvBuiltIn {
pub const TessLevelOuter: SpvBuiltIn = SpvBuiltIn(11);
}
impl SpvBuiltIn {
pub const TessLevelInner: SpvBuiltIn = SpvBuiltIn(12);
}
impl SpvBuiltIn {
pub const TessCoord: SpvBuiltIn = SpvBuiltIn(13);
}
impl SpvBuiltIn {
pub const PatchVertices: SpvBuiltIn = SpvBuiltIn(14);
}
impl SpvBuiltIn {
pub const FragCoord: SpvBuiltIn = SpvBuiltIn(15);
}
impl SpvBuiltIn {
pub const PointCoord: SpvBuiltIn = SpvBuiltIn(16);
}
impl SpvBuiltIn {
pub const FrontFacing: SpvBuiltIn = SpvBuiltIn(17);
}
impl SpvBuiltIn {
pub const SampleId: SpvBuiltIn = SpvBuiltIn(18);
}
impl SpvBuiltIn {
pub const SamplePosition: SpvBuiltIn = SpvBuiltIn(19);
}
impl SpvBuiltIn {
pub const SampleMask: SpvBuiltIn = SpvBuiltIn(20);
}
impl SpvBuiltIn {
pub const FragDepth: SpvBuiltIn = SpvBuiltIn(22);
}
impl SpvBuiltIn {
pub const HelperInvocation: SpvBuiltIn = SpvBuiltIn(23);
}
impl SpvBuiltIn {
pub const NumWorkgroups: SpvBuiltIn = SpvBuiltIn(24);
}
impl SpvBuiltIn {
pub const WorkgroupSize: SpvBuiltIn = SpvBuiltIn(25);
}
impl SpvBuiltIn {
pub const WorkgroupId: SpvBuiltIn = SpvBuiltIn(26);
}
impl SpvBuiltIn {
pub const LocalInvocationId: SpvBuiltIn = SpvBuiltIn(27);
}
impl SpvBuiltIn {
pub const GlobalInvocationId: SpvBuiltIn = SpvBuiltIn(28);
}
impl SpvBuiltIn {
pub const LocalInvocationIndex: SpvBuiltIn = SpvBuiltIn(29);
}
impl SpvBuiltIn {
pub const WorkDim: SpvBuiltIn = SpvBuiltIn(30);
}
impl SpvBuiltIn {
pub const GlobalSize: SpvBuiltIn = SpvBuiltIn(31);
}
impl SpvBuiltIn {
pub const EnqueuedWorkgroupSize: SpvBuiltIn = SpvBuiltIn(32);
}
impl SpvBuiltIn {
pub const GlobalOffset: SpvBuiltIn = SpvBuiltIn(33);
}
impl SpvBuiltIn {
pub const GlobalLinearId: SpvBuiltIn = SpvBuiltIn(34);
}
impl SpvBuiltIn {
pub const SubgroupSize: SpvBuiltIn = SpvBuiltIn(36);
}
impl SpvBuiltIn {
pub const SubgroupMaxSize: SpvBuiltIn = SpvBuiltIn(37);
}
impl SpvBuiltIn {
pub const NumSubgroups: SpvBuiltIn = SpvBuiltIn(38);
}
impl SpvBuiltIn {
pub const NumEnqueuedSubgroups: SpvBuiltIn = SpvBuiltIn(39);
}
impl SpvBuiltIn {
pub const SubgroupId: SpvBuiltIn = SpvBuiltIn(40);
}
impl SpvBuiltIn {
pub const SubgroupLocalInvocationId: SpvBuiltIn = SpvBuiltIn(41);
}
impl SpvBuiltIn {
pub const VertexIndex: SpvBuiltIn = SpvBuiltIn(42);
}
impl SpvBuiltIn {
pub const InstanceIndex: SpvBuiltIn = SpvBuiltIn(43);
}
impl SpvBuiltIn {
pub const SubgroupEqMask: SpvBuiltIn = SpvBuiltIn(4416);
}
impl SpvBuiltIn {
pub const SubgroupEqMaskKHR: SpvBuiltIn = SpvBuiltIn(4416);
}
impl SpvBuiltIn {
pub const SubgroupGeMask: SpvBuiltIn = SpvBuiltIn(4417);
}
impl SpvBuiltIn {
pub const SubgroupGeMaskKHR: SpvBuiltIn = SpvBuiltIn(4417);
}
impl SpvBuiltIn {
pub const SubgroupGtMask: SpvBuiltIn = SpvBuiltIn(4418);
}
impl SpvBuiltIn {
pub const SubgroupGtMaskKHR: SpvBuiltIn = SpvBuiltIn(4418);
}
impl SpvBuiltIn {
pub const SubgroupLeMask: SpvBuiltIn = SpvBuiltIn(4419);
}
impl SpvBuiltIn {
pub const SubgroupLeMaskKHR: SpvBuiltIn = SpvBuiltIn(4419);
}
impl SpvBuiltIn {
pub const SubgroupLtMask: SpvBuiltIn = SpvBuiltIn(4420);
}
impl SpvBuiltIn {
pub const SubgroupLtMaskKHR: SpvBuiltIn = SpvBuiltIn(4420);
}
impl SpvBuiltIn {
pub const BaseVertex: SpvBuiltIn = SpvBuiltIn(4424);
}
impl SpvBuiltIn {
pub const BaseInstance: SpvBuiltIn = SpvBuiltIn(4425);
}
impl SpvBuiltIn {
pub const DrawIndex: SpvBuiltIn = SpvBuiltIn(4426);
}
impl SpvBuiltIn {
pub const PrimitiveShadingRateKHR: SpvBuiltIn = SpvBuiltIn(4432);
}
impl SpvBuiltIn {
pub const DeviceIndex: SpvBuiltIn = SpvBuiltIn(4438);
}
impl SpvBuiltIn {
pub const ViewIndex: SpvBuiltIn = SpvBuiltIn(4440);
}
impl SpvBuiltIn {
pub const ShadingRateKHR: SpvBuiltIn = SpvBuiltIn(4444);
}
impl SpvBuiltIn {
pub const BaryCoordNoPerspAMD: SpvBuiltIn = SpvBuiltIn(4992);
}
impl SpvBuiltIn {
pub const BaryCoordNoPerspCentroidAMD: SpvBuiltIn = SpvBuiltIn(4993);
}
impl SpvBuiltIn {
pub const BaryCoordNoPerspSampleAMD: SpvBuiltIn = SpvBuiltIn(4994);
}
impl SpvBuiltIn {
pub const BaryCoordSmoothAMD: SpvBuiltIn = SpvBuiltIn(4995);
}
impl SpvBuiltIn {
pub const BaryCoordSmoothCentroidAMD: SpvBuiltIn = SpvBuiltIn(4996);
}
impl SpvBuiltIn {
pub const BaryCoordSmoothSampleAMD: SpvBuiltIn = SpvBuiltIn(4997);
}
impl SpvBuiltIn {
pub const BaryCoordPullModelAMD: SpvBuiltIn = SpvBuiltIn(4998);
}
impl SpvBuiltIn {
pub const FragStencilRefEXT: SpvBuiltIn = SpvBuiltIn(5014);
}
impl SpvBuiltIn {
pub const ViewportMaskNV: SpvBuiltIn = SpvBuiltIn(5253);
}
impl SpvBuiltIn {
pub const SecondaryPositionNV: SpvBuiltIn = SpvBuiltIn(5257);
}
impl SpvBuiltIn {
pub const SecondaryViewportMaskNV: SpvBuiltIn = SpvBuiltIn(5258);
}
impl SpvBuiltIn {
pub const PositionPerViewNV: SpvBuiltIn = SpvBuiltIn(5261);
}
impl SpvBuiltIn {
pub const ViewportMaskPerViewNV: SpvBuiltIn = SpvBuiltIn(5262);
}
impl SpvBuiltIn {
pub const FullyCoveredEXT: SpvBuiltIn = SpvBuiltIn(5264);
}
impl SpvBuiltIn {
pub const TaskCountNV: SpvBuiltIn = SpvBuiltIn(5274);
}
impl SpvBuiltIn {
pub const PrimitiveCountNV: SpvBuiltIn = SpvBuiltIn(5275);
}
impl SpvBuiltIn {
pub const PrimitiveIndicesNV: SpvBuiltIn = SpvBuiltIn(5276);
}
impl SpvBuiltIn {
pub const ClipDistancePerViewNV: SpvBuiltIn = SpvBuiltIn(5277);
}
impl SpvBuiltIn {
pub const CullDistancePerViewNV: SpvBuiltIn = SpvBuiltIn(5278);
}
impl SpvBuiltIn {
pub const LayerPerViewNV: SpvBuiltIn = SpvBuiltIn(5279);
}
impl SpvBuiltIn {
pub const MeshViewCountNV: SpvBuiltIn = SpvBuiltIn(5280);
}
impl SpvBuiltIn {
pub const MeshViewIndicesNV: SpvBuiltIn = SpvBuiltIn(5281);
}
impl SpvBuiltIn {
pub const BaryCoordKHR: SpvBuiltIn = SpvBuiltIn(5286);
}
impl SpvBuiltIn {
pub const BaryCoordNV: SpvBuiltIn = SpvBuiltIn(5286);
}
impl SpvBuiltIn {
pub const BaryCoordNoPerspKHR: SpvBuiltIn = SpvBuiltIn(5287);
}
impl SpvBuiltIn {
pub const BaryCoordNoPerspNV: SpvBuiltIn = SpvBuiltIn(5287);
}
impl SpvBuiltIn {
pub const FragSizeEXT: SpvBuiltIn = SpvBuiltIn(5292);
}
impl SpvBuiltIn {
pub const FragmentSizeNV: SpvBuiltIn = SpvBuiltIn(5292);
}
impl SpvBuiltIn {
pub const FragInvocationCountEXT: SpvBuiltIn = SpvBuiltIn(5293);
}
impl SpvBuiltIn {
pub const InvocationsPerPixelNV: SpvBuiltIn = SpvBuiltIn(5293);
}
impl SpvBuiltIn {
pub const PrimitivePointIndicesEXT: SpvBuiltIn = SpvBuiltIn(5294);
}
impl SpvBuiltIn {
pub const PrimitiveLineIndicesEXT: SpvBuiltIn = SpvBuiltIn(5295);
}
impl SpvBuiltIn {
pub const PrimitiveTriangleIndicesEXT: SpvBuiltIn = SpvBuiltIn(5296);
}
impl SpvBuiltIn {
pub const CullPrimitiveEXT: SpvBuiltIn = SpvBuiltIn(5299);
}
impl SpvBuiltIn {
pub const LaunchIdKHR: SpvBuiltIn = SpvBuiltIn(5319);
}
impl SpvBuiltIn {
pub const LaunchIdNV: SpvBuiltIn = SpvBuiltIn(5319);
}
impl SpvBuiltIn {
pub const LaunchSizeKHR: SpvBuiltIn = SpvBuiltIn(5320);
}
impl SpvBuiltIn {
pub const LaunchSizeNV: SpvBuiltIn = SpvBuiltIn(5320);
}
impl SpvBuiltIn {
pub const WorldRayOriginKHR: SpvBuiltIn = SpvBuiltIn(5321);
}
impl SpvBuiltIn {
pub const WorldRayOriginNV: SpvBuiltIn = SpvBuiltIn(5321);
}
impl SpvBuiltIn {
pub const WorldRayDirectionKHR: SpvBuiltIn = SpvBuiltIn(5322);
}
impl SpvBuiltIn {
pub const WorldRayDirectionNV: SpvBuiltIn = SpvBuiltIn(5322);
}
impl SpvBuiltIn {
pub const ObjectRayOriginKHR: SpvBuiltIn = SpvBuiltIn(5323);
}
impl SpvBuiltIn {
pub const ObjectRayOriginNV: SpvBuiltIn = SpvBuiltIn(5323);
}
impl SpvBuiltIn {
pub const ObjectRayDirectionKHR: SpvBuiltIn = SpvBuiltIn(5324);
}
impl SpvBuiltIn {
pub const ObjectRayDirectionNV: SpvBuiltIn = SpvBuiltIn(5324);
}
impl SpvBuiltIn {
pub const RayTminKHR: SpvBuiltIn = SpvBuiltIn(5325);
}
impl SpvBuiltIn {
pub const RayTminNV: SpvBuiltIn = SpvBuiltIn(5325);
}
impl SpvBuiltIn {
pub const RayTmaxKHR: SpvBuiltIn = SpvBuiltIn(5326);
}
impl SpvBuiltIn {
pub const RayTmaxNV: SpvBuiltIn = SpvBuiltIn(5326);
}
impl SpvBuiltIn {
pub const InstanceCustomIndexKHR: SpvBuiltIn = SpvBuiltIn(5327);
}
impl SpvBuiltIn {
pub const InstanceCustomIndexNV: SpvBuiltIn = SpvBuiltIn(5327);
}
impl SpvBuiltIn {
pub const ObjectToWorldKHR: SpvBuiltIn = SpvBuiltIn(5330);
}
impl SpvBuiltIn {
pub const ObjectToWorldNV: SpvBuiltIn = SpvBuiltIn(5330);
}
impl SpvBuiltIn {
pub const WorldToObjectKHR: SpvBuiltIn = SpvBuiltIn(5331);
}
impl SpvBuiltIn {
pub const WorldToObjectNV: SpvBuiltIn = SpvBuiltIn(5331);
}
impl SpvBuiltIn {
pub const HitTNV: SpvBuiltIn = SpvBuiltIn(5332);
}
impl SpvBuiltIn {
pub const HitKindKHR: SpvBuiltIn = SpvBuiltIn(5333);
}
impl SpvBuiltIn {
pub const HitKindNV: SpvBuiltIn = SpvBuiltIn(5333);
}
impl SpvBuiltIn {
pub const CurrentRayTimeNV: SpvBuiltIn = SpvBuiltIn(5334);
}
impl SpvBuiltIn {
pub const IncomingRayFlagsKHR: SpvBuiltIn = SpvBuiltIn(5351);
}
impl SpvBuiltIn {
pub const IncomingRayFlagsNV: SpvBuiltIn = SpvBuiltIn(5351);
}
impl SpvBuiltIn {
pub const RayGeometryIndexKHR: SpvBuiltIn = SpvBuiltIn(5352);
}
impl SpvBuiltIn {
pub const WarpsPerSMNV: SpvBuiltIn = SpvBuiltIn(5374);
}
impl SpvBuiltIn {
pub const SMCountNV: SpvBuiltIn = SpvBuiltIn(5375);
}
impl SpvBuiltIn {
pub const WarpIDNV: SpvBuiltIn = SpvBuiltIn(5376);
}
impl SpvBuiltIn {
pub const SMIDNV: SpvBuiltIn = SpvBuiltIn(5377);
}
impl SpvBuiltIn {
pub const CullMaskKHR: SpvBuiltIn = SpvBuiltIn(6021);
}
impl SpvBuiltIn {
pub const Max: SpvBuiltIn = SpvBuiltIn(2147483647);
}
#[repr(transparent)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub struct SpvBuiltIn(pub i32);
impl SpvCapability {
pub const Matrix: SpvCapability = SpvCapability(0);
}
impl SpvCapability {
pub const Shader: SpvCapability = SpvCapability(1);
}
impl SpvCapability {
pub const Geometry: SpvCapability = SpvCapability(2);
}
impl SpvCapability {
pub const Tessellation: SpvCapability = SpvCapability(3);
}
impl SpvCapability {
pub const Addresses: SpvCapability = SpvCapability(4);
}
impl SpvCapability {
pub const Linkage: SpvCapability = SpvCapability(5);
}
impl SpvCapability {
pub const Kernel: SpvCapability = SpvCapability(6);
}
impl SpvCapability {
pub const Vector16: SpvCapability = SpvCapability(7);
}
impl SpvCapability {
pub const Float16Buffer: SpvCapability = SpvCapability(8);
}
impl SpvCapability {
pub const Float16: SpvCapability = SpvCapability(9);
}
impl SpvCapability {
pub const Float64: SpvCapability = SpvCapability(10);
}
impl SpvCapability {
pub const Int64: SpvCapability = SpvCapability(11);
}
impl SpvCapability {
pub const Int64Atomics: SpvCapability = SpvCapability(12);
}
impl SpvCapability {
pub const ImageBasic: SpvCapability = SpvCapability(13);
}
impl SpvCapability {
pub const ImageReadWrite: SpvCapability = SpvCapability(14);
}
impl SpvCapability {
pub const ImageMipmap: SpvCapability = SpvCapability(15);
}
impl SpvCapability {
pub const Pipes: SpvCapability = SpvCapability(17);
}
impl SpvCapability {
pub const Groups: SpvCapability = SpvCapability(18);
}
impl SpvCapability {
pub const DeviceEnqueue: SpvCapability = SpvCapability(19);
}
impl SpvCapability {
pub const LiteralSampler: SpvCapability = SpvCapability(20);
}
impl SpvCapability {
pub const AtomicStorage: SpvCapability = SpvCapability(21);
}
impl SpvCapability {
pub const Int16: SpvCapability = SpvCapability(22);
}
impl SpvCapability {
pub const TessellationPointSize: SpvCapability = SpvCapability(23);
}
impl SpvCapability {
pub const GeometryPointSize: SpvCapability = SpvCapability(24);
}
impl SpvCapability {
pub const ImageGatherExtended: SpvCapability = SpvCapability(25);
}
impl SpvCapability {
pub const StorageImageMultisample: SpvCapability = SpvCapability(27);
}
impl SpvCapability {
pub const UniformBufferArrayDynamicIndexing: SpvCapability = SpvCapability(28);
}
impl SpvCapability {
pub const SampledImageArrayDynamicIndexing: SpvCapability = SpvCapability(29);
}
impl SpvCapability {
pub const StorageBufferArrayDynamicIndexing: SpvCapability = SpvCapability(30);
}
impl SpvCapability {
pub const StorageImageArrayDynamicIndexing: SpvCapability = SpvCapability(31);
}
impl SpvCapability {
pub const ClipDistance: SpvCapability = SpvCapability(32);
}
impl SpvCapability {
pub const CullDistance: SpvCapability = SpvCapability(33);
}
impl SpvCapability {
pub const ImageCubeArray: SpvCapability = SpvCapability(34);
}
impl SpvCapability {
pub const SampleRateShading: SpvCapability = SpvCapability(35);
}
impl SpvCapability {
pub const ImageRect: SpvCapability = SpvCapability(36);
}
impl SpvCapability {
pub const SampledRect: SpvCapability = SpvCapability(37);
}
impl SpvCapability {
pub const GenericPointer: SpvCapability = SpvCapability(38);
}
impl SpvCapability {
pub const Int8: SpvCapability = SpvCapability(39);
}
impl SpvCapability {
pub const InputAttachment: SpvCapability = SpvCapability(40);
}
impl SpvCapability {
pub const SparseResidency: SpvCapability = SpvCapability(41);
}
impl SpvCapability {
pub const MinLod: SpvCapability = SpvCapability(42);
}
impl SpvCapability {
pub const Sampled1D: SpvCapability = SpvCapability(43);
}
impl SpvCapability {
pub const Image1D: SpvCapability = SpvCapability(44);
}
impl SpvCapability {
pub const SampledCubeArray: SpvCapability = SpvCapability(45);
}
impl SpvCapability {
pub const SampledBuffer: SpvCapability = SpvCapability(46);
}
impl SpvCapability {
pub const ImageBuffer: SpvCapability = SpvCapability(47);
}
impl SpvCapability {
pub const ImageMSArray: SpvCapability = SpvCapability(48);
}
impl SpvCapability {
pub const StorageImageExtendedFormats: SpvCapability = SpvCapability(49);
}
impl SpvCapability {
pub const ImageQuery: SpvCapability = SpvCapability(50);
}
impl SpvCapability {
pub const DerivativeControl: SpvCapability = SpvCapability(51);
}
impl SpvCapability {
pub const InterpolationFunction: SpvCapability = SpvCapability(52);
}
impl SpvCapability {
pub const TransformFeedback: SpvCapability = SpvCapability(53);
}
impl SpvCapability {
pub const GeometryStreams: SpvCapability = SpvCapability(54);
}
impl SpvCapability {
pub const StorageImageReadWithoutFormat: SpvCapability = SpvCapability(55);
}
impl SpvCapability {
pub const StorageImageWriteWithoutFormat: SpvCapability = SpvCapability(56);
}
impl SpvCapability {
pub const MultiViewport: SpvCapability = SpvCapability(57);
}
impl SpvCapability {
pub const SubgroupDispatch: SpvCapability = SpvCapability(58);
}
impl SpvCapability {
pub const NamedBarrier: SpvCapability = SpvCapability(59);
}
impl SpvCapability {
pub const PipeStorage: SpvCapability = SpvCapability(60);
}
impl SpvCapability {
pub const GroupNonUniform: SpvCapability = SpvCapability(61);
}
impl SpvCapability {
pub const GroupNonUniformVote: SpvCapability = SpvCapability(62);
}
impl SpvCapability {
pub const GroupNonUniformArithmetic: SpvCapability = SpvCapability(63);
}
impl SpvCapability {
pub const GroupNonUniformBallot: SpvCapability = SpvCapability(64);
}
impl SpvCapability {
pub const GroupNonUniformShuffle: SpvCapability = SpvCapability(65);
}
impl SpvCapability {
pub const GroupNonUniformShuffleRelative: SpvCapability = SpvCapability(66);
}
impl SpvCapability {
pub const GroupNonUniformClustered: SpvCapability = SpvCapability(67);
}
impl SpvCapability {
pub const GroupNonUniformQuad: SpvCapability = SpvCapability(68);
}
impl SpvCapability {
pub const ShaderLayer: SpvCapability = SpvCapability(69);
}
impl SpvCapability {
pub const ShaderViewportIndex: SpvCapability = SpvCapability(70);
}
impl SpvCapability {
pub const UniformDecoration: SpvCapability = SpvCapability(71);
}
impl SpvCapability {
pub const FragmentShadingRateKHR: SpvCapability = SpvCapability(4422);
}
impl SpvCapability {
pub const SubgroupBallotKHR: SpvCapability = SpvCapability(4423);
}
impl SpvCapability {
pub const DrawParameters: SpvCapability = SpvCapability(4427);
}
impl SpvCapability {
pub const WorkgroupMemoryExplicitLayoutKHR: SpvCapability = SpvCapability(4428);
}
impl SpvCapability {
pub const WorkgroupMemoryExplicitLayout8BitAccessKHR: SpvCapability = SpvCapability(4429);
}
impl SpvCapability {
pub const WorkgroupMemoryExplicitLayout16BitAccessKHR: SpvCapability = SpvCapability(4430);
}
impl SpvCapability {
pub const SubgroupVoteKHR: SpvCapability = SpvCapability(4431);
}
impl SpvCapability {
pub const StorageBuffer16BitAccess: SpvCapability = SpvCapability(4433);
}
impl SpvCapability {
pub const StorageUniformBufferBlock16: SpvCapability = SpvCapability(4433);
}
impl SpvCapability {
pub const StorageUniform16: SpvCapability = SpvCapability(4434);
}
impl SpvCapability {
pub const UniformAndStorageBuffer16BitAccess: SpvCapability = SpvCapability(4434);
}
impl SpvCapability {
pub const StoragePushConstant16: SpvCapability = SpvCapability(4435);
}
impl SpvCapability {
pub const StorageInputOutput16: SpvCapability = SpvCapability(4436);
}
impl SpvCapability {
pub const DeviceGroup: SpvCapability = SpvCapability(4437);
}
impl SpvCapability {
pub const MultiView: SpvCapability = SpvCapability(4439);
}
impl SpvCapability {
pub const VariablePointersStorageBuffer: SpvCapability = SpvCapability(4441);
}
impl SpvCapability {
pub const VariablePointers: SpvCapability = SpvCapability(4442);
}
impl SpvCapability {
pub const AtomicStorageOps: SpvCapability = SpvCapability(4445);
}
impl SpvCapability {
pub const SampleMaskPostDepthCoverage: SpvCapability = SpvCapability(4447);
}
impl SpvCapability {
pub const StorageBuffer8BitAccess: SpvCapability = SpvCapability(4448);
}
impl SpvCapability {
pub const UniformAndStorageBuffer8BitAccess: SpvCapability = SpvCapability(4449);
}
impl SpvCapability {
pub const StoragePushConstant8: SpvCapability = SpvCapability(4450);
}
impl SpvCapability {
pub const DenormPreserve: SpvCapability = SpvCapability(4464);
}
impl SpvCapability {
pub const DenormFlushToZero: SpvCapability = SpvCapability(4465);
}
impl SpvCapability {
pub const SignedZeroInfNanPreserve: SpvCapability = SpvCapability(4466);
}
impl SpvCapability {
pub const RoundingModeRTE: SpvCapability = SpvCapability(4467);
}
impl SpvCapability {
pub const RoundingModeRTZ: SpvCapability = SpvCapability(4468);
}
impl SpvCapability {
pub const RayQueryProvisionalKHR: SpvCapability = SpvCapability(4471);
}
impl SpvCapability {
pub const RayQueryKHR: SpvCapability = SpvCapability(4472);
}
impl SpvCapability {
pub const RayTraversalPrimitiveCullingKHR: SpvCapability = SpvCapability(4478);
}
impl SpvCapability {
pub const RayTracingKHR: SpvCapability = SpvCapability(4479);
}
impl SpvCapability {
pub const TextureSampleWeightedQCOM: SpvCapability = SpvCapability(4484);
}
impl SpvCapability {
pub const TextureBoxFilterQCOM: SpvCapability = SpvCapability(4485);
}
impl SpvCapability {
pub const TextureBlockMatchQCOM: SpvCapability = SpvCapability(4486);
}
impl SpvCapability {
pub const Float16ImageAMD: SpvCapability = SpvCapability(5008);
}
impl SpvCapability {
pub const ImageGatherBiasLodAMD: SpvCapability = SpvCapability(5009);
}
impl SpvCapability {
pub const FragmentMaskAMD: SpvCapability = SpvCapability(5010);
}
impl SpvCapability {
pub const StencilExportEXT: SpvCapability = SpvCapability(5013);
}
impl SpvCapability {
pub const ImageReadWriteLodAMD: SpvCapability = SpvCapability(5015);
}
impl SpvCapability {
pub const Int64ImageEXT: SpvCapability = SpvCapability(5016);
}
impl SpvCapability {
pub const ShaderClockKHR: SpvCapability = SpvCapability(5055);
}
impl SpvCapability {
pub const SampleMaskOverrideCoverageNV: SpvCapability = SpvCapability(5249);
}
impl SpvCapability {
pub const GeometryShaderPassthroughNV: SpvCapability = SpvCapability(5251);
}
impl SpvCapability {
pub const ShaderViewportIndexLayerEXT: SpvCapability = SpvCapability(5254);
}
impl SpvCapability {
pub const ShaderViewportIndexLayerNV: SpvCapability = SpvCapability(5254);
}
impl SpvCapability {
pub const ShaderViewportMaskNV: SpvCapability = SpvCapability(5255);
}
impl SpvCapability {
pub const ShaderStereoViewNV: SpvCapability = SpvCapability(5259);
}
impl SpvCapability {
pub const PerViewAttributesNV: SpvCapability = SpvCapability(5260);
}
impl SpvCapability {
pub const FragmentFullyCoveredEXT: SpvCapability = SpvCapability(5265);
}
impl SpvCapability {
pub const MeshShadingNV: SpvCapability = SpvCapability(5266);
}
impl SpvCapability {
pub const ImageFootprintNV: SpvCapability = SpvCapability(5282);
}
impl SpvCapability {
pub const MeshShadingEXT: SpvCapability = SpvCapability(5283);
}
impl SpvCapability {
pub const FragmentBarycentricKHR: SpvCapability = SpvCapability(5284);
}
impl SpvCapability {
pub const FragmentBarycentricNV: SpvCapability = SpvCapability(5284);
}
impl SpvCapability {
pub const ComputeDerivativeGroupQuadsNV: SpvCapability = SpvCapability(5288);
}
impl SpvCapability {
pub const FragmentDensityEXT: SpvCapability = SpvCapability(5291);
}
impl SpvCapability {
pub const ShadingRateNV: SpvCapability = SpvCapability(5291);
}
impl SpvCapability {
pub const GroupNonUniformPartitionedNV: SpvCapability = SpvCapability(5297);
}
impl SpvCapability {
pub const ShaderNonUniform: SpvCapability = SpvCapability(5301);
}
impl SpvCapability {
pub const ShaderNonUniformEXT: SpvCapability = SpvCapability(5301);
}
impl SpvCapability {
pub const RuntimeDescriptorArray: SpvCapability = SpvCapability(5302);
}
impl SpvCapability {
pub const RuntimeDescriptorArrayEXT: SpvCapability = SpvCapability(5302);
}
impl SpvCapability {
pub const InputAttachmentArrayDynamicIndexing: SpvCapability = SpvCapability(5303);
}
impl SpvCapability {
pub const InputAttachmentArrayDynamicIndexingEXT: SpvCapability = SpvCapability(5303);
}
impl SpvCapability {
pub const UniformTexelBufferArrayDynamicIndexing: SpvCapability = SpvCapability(5304);
}
impl SpvCapability {
pub const UniformTexelBufferArrayDynamicIndexingEXT: SpvCapability = SpvCapability(5304);
}
impl SpvCapability {
pub const StorageTexelBufferArrayDynamicIndexing: SpvCapability = SpvCapability(5305);
}
impl SpvCapability {
pub const StorageTexelBufferArrayDynamicIndexingEXT: SpvCapability = SpvCapability(5305);
}
impl SpvCapability {
pub const UniformBufferArrayNonUniformIndexing: SpvCapability = SpvCapability(5306);
}
impl SpvCapability {
pub const UniformBufferArrayNonUniformIndexingEXT: SpvCapability = SpvCapability(5306);
}
impl SpvCapability {
pub const SampledImageArrayNonUniformIndexing: SpvCapability = SpvCapability(5307);
}
impl SpvCapability {
pub const SampledImageArrayNonUniformIndexingEXT: SpvCapability = SpvCapability(5307);
}
impl SpvCapability {
pub const StorageBufferArrayNonUniformIndexing: SpvCapability = SpvCapability(5308);
}
impl SpvCapability {
pub const StorageBufferArrayNonUniformIndexingEXT: SpvCapability = SpvCapability(5308);
}
impl SpvCapability {
pub const StorageImageArrayNonUniformIndexing: SpvCapability = SpvCapability(5309);
}
impl SpvCapability {
pub const StorageImageArrayNonUniformIndexingEXT: SpvCapability = SpvCapability(5309);
}
impl SpvCapability {
pub const InputAttachmentArrayNonUniformIndexing: SpvCapability = SpvCapability(5310);
}
impl SpvCapability {
pub const InputAttachmentArrayNonUniformIndexingEXT: SpvCapability = SpvCapability(5310);
}
impl SpvCapability {
pub const UniformTexelBufferArrayNonUniformIndexing: SpvCapability = SpvCapability(5311);
}
impl SpvCapability {
pub const UniformTexelBufferArrayNonUniformIndexingEXT: SpvCapability = SpvCapability(5311);
}
impl SpvCapability {
pub const StorageTexelBufferArrayNonUniformIndexing: SpvCapability = SpvCapability(5312);
}
impl SpvCapability {
pub const StorageTexelBufferArrayNonUniformIndexingEXT: SpvCapability = SpvCapability(5312);
}
impl SpvCapability {
pub const RayTracingNV: SpvCapability = SpvCapability(5340);
}
impl SpvCapability {
pub const RayTracingMotionBlurNV: SpvCapability = SpvCapability(5341);
}
impl SpvCapability {
pub const VulkanMemoryModel: SpvCapability = SpvCapability(5345);
}
impl SpvCapability {
pub const VulkanMemoryModelKHR: SpvCapability = SpvCapability(5345);
}
impl SpvCapability {
pub const VulkanMemoryModelDeviceScope: SpvCapability = SpvCapability(5346);
}
impl SpvCapability {
pub const VulkanMemoryModelDeviceScopeKHR: SpvCapability = SpvCapability(5346);
}
impl SpvCapability {
pub const PhysicalStorageBufferAddresses: SpvCapability = SpvCapability(5347);
}
impl SpvCapability {
pub const PhysicalStorageBufferAddressesEXT: SpvCapability = SpvCapability(5347);
}
impl SpvCapability {
pub const ComputeDerivativeGroupLinearNV: SpvCapability = SpvCapability(5350);
}
impl SpvCapability {
pub const RayTracingProvisionalKHR: SpvCapability = SpvCapability(5353);
}
impl SpvCapability {
pub const CooperativeMatrixNV: SpvCapability = SpvCapability(5357);
}
impl SpvCapability {
pub const FragmentShaderSampleInterlockEXT: SpvCapability = SpvCapability(5363);
}
impl SpvCapability {
pub const FragmentShaderShadingRateInterlockEXT: SpvCapability = SpvCapability(5372);
}
impl SpvCapability {
pub const ShaderSMBuiltinsNV: SpvCapability = SpvCapability(5373);
}
impl SpvCapability {
pub const FragmentShaderPixelInterlockEXT: SpvCapability = SpvCapability(5378);
}
impl SpvCapability {
pub const DemoteToHelperInvocation: SpvCapability = SpvCapability(5379);
}
impl SpvCapability {
pub const DemoteToHelperInvocationEXT: SpvCapability = SpvCapability(5379);
}
impl SpvCapability {
pub const BindlessTextureNV: SpvCapability = SpvCapability(5390);
}
impl SpvCapability {
pub const SubgroupShuffleINTEL: SpvCapability = SpvCapability(5568);
}
impl SpvCapability {
pub const SubgroupBufferBlockIOINTEL: SpvCapability = SpvCapability(5569);
}
impl SpvCapability {
pub const SubgroupImageBlockIOINTEL: SpvCapability = SpvCapability(5570);
}
impl SpvCapability {
pub const SubgroupImageMediaBlockIOINTEL: SpvCapability = SpvCapability(5579);
}
impl SpvCapability {
pub const RoundToInfinityINTEL: SpvCapability = SpvCapability(5582);
}
impl SpvCapability {
pub const FloatingPointModeINTEL: SpvCapability = SpvCapability(5583);
}
impl SpvCapability {
pub const IntegerFunctions2INTEL: SpvCapability = SpvCapability(5584);
}
impl SpvCapability {
pub const FunctionPointersINTEL: SpvCapability = SpvCapability(5603);
}
impl SpvCapability {
pub const IndirectReferencesINTEL: SpvCapability = SpvCapability(5604);
}
impl SpvCapability {
pub const AsmINTEL: SpvCapability = SpvCapability(5606);
}
impl SpvCapability {
pub const AtomicFloat32MinMaxEXT: SpvCapability = SpvCapability(5612);
}
impl SpvCapability {
pub const AtomicFloat64MinMaxEXT: SpvCapability = SpvCapability(5613);
}
impl SpvCapability {
pub const AtomicFloat16MinMaxEXT: SpvCapability = SpvCapability(5616);
}
impl SpvCapability {
pub const VectorComputeINTEL: SpvCapability = SpvCapability(5617);
}
impl SpvCapability {
pub const VectorAnyINTEL: SpvCapability = SpvCapability(5619);
}
impl SpvCapability {
pub const ExpectAssumeKHR: SpvCapability = SpvCapability(5629);
}
impl SpvCapability {
pub const SubgroupAvcMotionEstimationINTEL: SpvCapability = SpvCapability(5696);
}
impl SpvCapability {
pub const SubgroupAvcMotionEstimationIntraINTEL: SpvCapability = SpvCapability(5697);
}
impl SpvCapability {
pub const SubgroupAvcMotionEstimationChromaINTEL: SpvCapability = SpvCapability(5698);
}
impl SpvCapability {
pub const VariableLengthArrayINTEL: SpvCapability = SpvCapability(5817);
}
impl SpvCapability {
pub const FunctionFloatControlINTEL: SpvCapability = SpvCapability(5821);
}
impl SpvCapability {
pub const FPGAMemoryAttributesINTEL: SpvCapability = SpvCapability(5824);
}
impl SpvCapability {
pub const FPFastMathModeINTEL: SpvCapability = SpvCapability(5837);
}
impl SpvCapability {
pub const ArbitraryPrecisionIntegersINTEL: SpvCapability = SpvCapability(5844);
}
impl SpvCapability {
pub const ArbitraryPrecisionFloatingPointINTEL: SpvCapability = SpvCapability(5845);
}
impl SpvCapability {
pub const UnstructuredLoopControlsINTEL: SpvCapability = SpvCapability(5886);
}
impl SpvCapability {
pub const FPGALoopControlsINTEL: SpvCapability = SpvCapability(5888);
}
impl SpvCapability {
pub const KernelAttributesINTEL: SpvCapability = SpvCapability(5892);
}
impl SpvCapability {
pub const FPGAKernelAttributesINTEL: SpvCapability = SpvCapability(5897);
}
impl SpvCapability {
pub const FPGAMemoryAccessesINTEL: SpvCapability = SpvCapability(5898);
}
impl SpvCapability {
pub const FPGAClusterAttributesINTEL: SpvCapability = SpvCapability(5904);
}
impl SpvCapability {
pub const LoopFuseINTEL: SpvCapability = SpvCapability(5906);
}
impl SpvCapability {
pub const MemoryAccessAliasingINTEL: SpvCapability = SpvCapability(5910);
}
impl SpvCapability {
pub const FPGABufferLocationINTEL: SpvCapability = SpvCapability(5920);
}
impl SpvCapability {
pub const ArbitraryPrecisionFixedPointINTEL: SpvCapability = SpvCapability(5922);
}
impl SpvCapability {
pub const USMStorageClassesINTEL: SpvCapability = SpvCapability(5935);
}
impl SpvCapability {
pub const IOPipesINTEL: SpvCapability = SpvCapability(5943);
}
impl SpvCapability {
pub const BlockingPipesINTEL: SpvCapability = SpvCapability(5945);
}
impl SpvCapability {
pub const FPGARegINTEL: SpvCapability = SpvCapability(5948);
}
impl SpvCapability {
pub const DotProductInputAll: SpvCapability = SpvCapability(6016);
}
impl SpvCapability {
pub const DotProductInputAllKHR: SpvCapability = SpvCapability(6016);
}
impl SpvCapability {
pub const DotProductInput4x8Bit: SpvCapability = SpvCapability(6017);
}
impl SpvCapability {
pub const DotProductInput4x8BitKHR: SpvCapability = SpvCapability(6017);
}
impl SpvCapability {
pub const DotProductInput4x8BitPacked: SpvCapability = SpvCapability(6018);
}
impl SpvCapability {
pub const DotProductInput4x8BitPackedKHR: SpvCapability = SpvCapability(6018);
}
impl SpvCapability {
pub const DotProduct: SpvCapability = SpvCapability(6019);
}
impl SpvCapability {
pub const DotProductKHR: SpvCapability = SpvCapability(6019);
}
impl SpvCapability {
pub const RayCullMaskKHR: SpvCapability = SpvCapability(6020);
}
impl SpvCapability {
pub const BitInstructions: SpvCapability = SpvCapability(6025);
}
impl SpvCapability {
pub const GroupNonUniformRotateKHR: SpvCapability = SpvCapability(6026);
}
impl SpvCapability {
pub const AtomicFloat32AddEXT: SpvCapability = SpvCapability(6033);
}
impl SpvCapability {
pub const AtomicFloat64AddEXT: SpvCapability = SpvCapability(6034);
}
impl SpvCapability {
pub const LongConstantCompositeINTEL: SpvCapability = SpvCapability(6089);
}
impl SpvCapability {
pub const OptNoneINTEL: SpvCapability = SpvCapability(6094);
}
impl SpvCapability {
pub const AtomicFloat16AddEXT: SpvCapability = SpvCapability(6095);
}
impl SpvCapability {
pub const DebugInfoModuleINTEL: SpvCapability = SpvCapability(6114);
}
impl SpvCapability {
pub const SplitBarrierINTEL: SpvCapability = SpvCapability(6141);
}
impl SpvCapability {
pub const GroupUniformArithmeticKHR: SpvCapability = SpvCapability(6400);
}
impl SpvCapability {
pub const Max: SpvCapability = SpvCapability(2147483647);
}
#[repr(transparent)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub struct SpvCapability(pub i32);
extern "C" {
pub fn spvc_get_version(
major: *mut crate::ctypes::c_uint,
minor: *mut crate::ctypes::c_uint,
patch: *mut crate::ctypes::c_uint,
);
}
extern "C" {
pub fn spvc_get_commit_revision_and_timestamp() -> *const crate::ctypes::c_char;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct spvc_context_s {
_unused: [u8; 0],
}
pub type spvc_context = *mut spvc_context_s;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct spvc_parsed_ir_s {
_unused: [u8; 0],
}
pub type spvc_parsed_ir = *mut spvc_parsed_ir_s;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct spvc_compiler_s {
_unused: [u8; 0],
}
pub type spvc_compiler = *mut spvc_compiler_s;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct spvc_compiler_options_s {
_unused: [u8; 0],
}
pub type spvc_compiler_options = *mut spvc_compiler_options_s;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct spvc_resources_s {
_unused: [u8; 0],
}
pub type spvc_resources = *mut spvc_resources_s;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct spvc_type_s {
_unused: [u8; 0],
}
pub type spvc_type = *const spvc_type_s;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct spvc_constant_s {
_unused: [u8; 0],
}
pub type spvc_constant = *mut spvc_constant_s;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct spvc_set_s {
_unused: [u8; 0],
}
pub type spvc_set = *const spvc_set_s;
#[repr(transparent)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct TypeId(pub SpvId);
#[repr(transparent)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct VariableId(pub SpvId);
#[repr(transparent)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct ConstantId(pub SpvId);
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct spvc_reflected_resource {
pub id: VariableId,
pub base_type_id: TypeId,
pub type_id: TypeId,
pub name: *const crate::ctypes::c_char,
}
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct spvc_reflected_builtin_resource {
pub builtin: SpvBuiltIn,
pub value_type_id: TypeId,
pub resource: spvc_reflected_resource,
}
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct spvc_entry_point {
pub execution_model: SpvExecutionModel,
pub name: *const crate::ctypes::c_char,
}
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct spvc_combined_image_sampler {
pub combined_id: VariableId,
pub image_id: VariableId,
pub sampler_id: VariableId,
}
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct spvc_specialization_constant {
pub id: ConstantId,
pub constant_id: crate::ctypes::c_uint,
}
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct BufferRange {
pub index: crate::ctypes::c_uint,
pub offset: usize,
pub range: usize,
}
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct HlslRootConstants {
pub start: crate::ctypes::c_uint,
pub end: crate::ctypes::c_uint,
pub binding: crate::ctypes::c_uint,
pub space: crate::ctypes::c_uint,
}
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct HlslVertexAttributeRemap {
pub location: crate::ctypes::c_uint,
pub semantic: *const crate::ctypes::c_char,
}
#[repr(i32)]
#[must_use]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum spvc_result {
SPVC_SUCCESS = 0,
SPVC_ERROR_INVALID_SPIRV = -1,
SPVC_ERROR_UNSUPPORTED_SPIRV = -2,
SPVC_ERROR_OUT_OF_MEMORY = -3,
SPVC_ERROR_INVALID_ARGUMENT = -4,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum spvc_capture_mode {
Copy = 0,
TakeOwnership = 1,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum CompilerBackend {
None = 0,
Glsl = 1,
Hlsl = 2,
Msl = 3,
Cpp = 4,
Json = 5,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum ResourceType {
Unknown = 0,
UniformBuffer = 1,
StorageBuffer = 2,
StageInput = 3,
StageOutput = 4,
SubpassInput = 5,
StorageImage = 6,
SampledImage = 7,
AtomicCounter = 8,
PushConstant = 9,
SeparateImage = 10,
SeparateSamplers = 11,
AccelerationStructure = 12,
RayQuery = 13,
ShaderRecordBuffer = 14,
GlPlainUniform = 15,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum BuiltinResourceType {
Unknown = 0,
StageInput = 1,
StageOutput = 2,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum BaseType {
Unknown = 0,
Void = 1,
Boolean = 2,
Int8 = 3,
Uint8 = 4,
Int16 = 5,
Uint16 = 6,
Int32 = 7,
Uint32 = 8,
Int64 = 9,
Uint64 = 10,
AtomicCounter = 11,
Fp16 = 12,
Fp32 = 13,
Fp64 = 14,
Struct = 15,
Image = 16,
SampledImage = 17,
Sampler = 18,
AccelerationStructure = 19,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum MslPlatform {
Ios = 0,
Macos = 1,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum MslIndexType {
None = 0,
Uint16 = 1,
Uint32 = 2,
}
impl MslShaderVariableFormat {
pub const SPVC_MSL_VERTEX_FORMAT_OTHER: MslShaderVariableFormat =
MslShaderVariableFormat::Other;
}
impl MslShaderVariableFormat {
pub const SPVC_MSL_VERTEX_FORMAT_UINT8: MslShaderVariableFormat =
MslShaderVariableFormat::Uint8;
}
impl MslShaderVariableFormat {
pub const SPVC_MSL_VERTEX_FORMAT_UINT16: MslShaderVariableFormat =
MslShaderVariableFormat::Uint16;
}
impl MslShaderVariableFormat {
pub const SPVC_MSL_SHADER_INPUT_FORMAT_OTHER: MslShaderVariableFormat =
MslShaderVariableFormat::Other;
}
impl MslShaderVariableFormat {
pub const SPVC_MSL_SHADER_INPUT_FORMAT_UINT8: MslShaderVariableFormat =
MslShaderVariableFormat::Uint8;
}
impl MslShaderVariableFormat {
pub const SPVC_MSL_SHADER_INPUT_FORMAT_UINT16: MslShaderVariableFormat =
MslShaderVariableFormat::Uint16;
}
impl MslShaderVariableFormat {
pub const SPVC_MSL_SHADER_INPUT_FORMAT_ANY16: MslShaderVariableFormat =
MslShaderVariableFormat::Any16;
}
impl MslShaderVariableFormat {
pub const SPVC_MSL_SHADER_INPUT_FORMAT_ANY32: MslShaderVariableFormat =
MslShaderVariableFormat::Any32;
}
#[repr(i32)]
#[non_exhaustive]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum MslShaderVariableFormat {
Other = 0,
Uint8 = 1,
Uint16 = 2,
Any16 = 3,
Any32 = 4,
}
pub use self::MslShaderVariableFormat as MslShaderInputFormat;
pub use self::MslShaderVariableFormat as MslVertexFormat;
#[repr(C)]
pub struct MslVertexAttribute {
pub location: crate::ctypes::c_uint,
pub msl_buffer: crate::ctypes::c_uint,
pub msl_offset: crate::ctypes::c_uint,
pub msl_stride: crate::ctypes::c_uint,
pub per_instance: crate::ctypes::spvc_bool,
pub format: MslVertexFormat,
pub builtin: SpvBuiltIn,
}
extern "C" {
pub fn spvc_msl_vertex_attribute_init(attr: *mut MslVertexAttribute);
}
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct MslShaderInterfaceVar {
pub location: crate::ctypes::c_uint,
pub format: MslVertexFormat,
pub builtin: SpvBuiltIn,
pub vecsize: crate::ctypes::c_uint,
}
pub type MslShaderInput = MslShaderInterfaceVar;
extern "C" {
pub fn spvc_msl_shader_interface_var_init(var: *mut MslShaderInterfaceVar);
}
extern "C" {
pub fn spvc_msl_shader_input_init(input: *mut MslShaderInput);
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum MslShaderVariableRate {
PerVertex = 0,
PerPrimitive = 1,
PerPatch = 2,
}
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct MslShaderInterfaceVar2 {
pub location: crate::ctypes::c_uint,
pub format: MslShaderVariableFormat,
pub builtin: SpvBuiltIn,
pub vecsize: crate::ctypes::c_uint,
pub rate: MslShaderVariableRate,
}
extern "C" {
pub fn spvc_msl_shader_interface_var_init_2(var: *mut MslShaderInterfaceVar2);
}
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct MslResourceBinding {
pub stage: SpvExecutionModel,
pub desc_set: crate::ctypes::c_uint,
pub binding: crate::ctypes::c_uint,
pub msl_buffer: crate::ctypes::c_uint,
pub msl_texture: crate::ctypes::c_uint,
pub msl_sampler: crate::ctypes::c_uint,
}
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct MslResourceBinding2 {
pub stage: SpvExecutionModel,
pub desc_set: crate::ctypes::c_uint,
pub binding: crate::ctypes::c_uint,
pub count: crate::ctypes::c_uint,
pub msl_buffer: crate::ctypes::c_uint,
pub msl_texture: crate::ctypes::c_uint,
pub msl_sampler: crate::ctypes::c_uint,
}
extern "C" {
pub fn spvc_msl_resource_binding_init(binding: *mut MslResourceBinding);
}
extern "C" {
pub fn spvc_msl_resource_binding_init_2(binding: *mut MslResourceBinding2);
}
extern "C" {
pub fn spvc_msl_get_aux_buffer_struct_version() -> crate::ctypes::c_uint;
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum MslSamplerCoord {
Normalized = 0,
Pixel = 1,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum MslSamplerFilter {
Nearest = 0,
Linear = 1,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum MslSamplerMipFilter {
None = 0,
Nearest = 1,
Linear = 2,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum MslSamplerAddress {
ClampToZero = 0,
ClampToEdge = 1,
ClampToBorder = 2,
Repeat = 3,
MirroredRepeat = 4,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum MslSamplerCompareFunc {
Never = 0,
Less = 1,
LessEqual = 2,
Greater = 3,
GreaterEqual = 4,
Equal = 5,
NotEqual = 6,
Always = 7,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum MslSamplerBorderColor {
TransparentBlack = 0,
OpaqueBlack = 1,
OpaqueWhite = 2,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum MslFormatResolution {
FormatResolution444 = 0,
FormatResolution422 = 1,
FormatResolution420 = 2,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum MslChromaLocation {
CositedEven = 0,
Midpoint = 1,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum MslComponentSwizzle {
Identity = 0,
Zero = 1,
One = 2,
R = 3,
G = 4,
B = 5,
A = 6,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum MslSamplerYcbcrModelConversion {
RgbIdentity = 0,
YcbcrIdentity = 1,
YcbcrBt709 = 2,
YcbcrBt601 = 3,
YcbcrBt2020 = 4,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum MslSamplerYcbcrRange {
ItuFull = 0,
ItuNarrow = 1,
}
#[repr(C)]
pub struct MslConstexprSampler {
pub coord: MslSamplerCoord,
pub min_filter: MslSamplerFilter,
pub mag_filter: MslSamplerFilter,
pub mip_filter: MslSamplerMipFilter,
pub s_address: MslSamplerAddress,
pub t_address: MslSamplerAddress,
pub r_address: MslSamplerAddress,
pub compare_func: MslSamplerCompareFunc,
pub border_color: MslSamplerBorderColor,
pub lod_clamp_min: f32,
pub lod_clamp_max: f32,
pub max_anisotropy: crate::ctypes::c_int,
pub compare_enable: crate::ctypes::spvc_bool,
pub lod_clamp_enable: crate::ctypes::spvc_bool,
pub anisotropy_enable: crate::ctypes::spvc_bool,
}
extern "C" {
pub fn spvc_msl_constexpr_sampler_init(sampler: *mut MslConstexprSampler);
}
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct MslSamplerYcbcrConversion {
pub planes: crate::ctypes::c_uint,
pub resolution: MslFormatResolution,
pub chroma_filter: MslSamplerFilter,
pub x_chroma_offset: MslChromaLocation,
pub y_chroma_offset: MslChromaLocation,
pub swizzle: [MslComponentSwizzle; 4usize],
pub ycbcr_model: MslSamplerYcbcrModelConversion,
pub ycbcr_range: MslSamplerYcbcrRange,
pub bpc: crate::ctypes::c_uint,
}
extern "C" {
pub fn spvc_msl_sampler_ycbcr_conversion_init(conv: *mut MslSamplerYcbcrConversion);
}
impl HlslBindingFlagBits {
pub const SPVC_HLSL_BINDING_AUTO_NONE_BIT: HlslBindingFlagBits = HlslBindingFlagBits(0);
}
impl HlslBindingFlagBits {
pub const SPVC_HLSL_BINDING_AUTO_PUSH_CONSTANT_BIT: HlslBindingFlagBits =
HlslBindingFlagBits(1);
}
impl HlslBindingFlagBits {
pub const SPVC_HLSL_BINDING_AUTO_CBV_BIT: HlslBindingFlagBits = HlslBindingFlagBits(2);
}
impl HlslBindingFlagBits {
pub const SPVC_HLSL_BINDING_AUTO_SRV_BIT: HlslBindingFlagBits = HlslBindingFlagBits(4);
}
impl HlslBindingFlagBits {
pub const SPVC_HLSL_BINDING_AUTO_UAV_BIT: HlslBindingFlagBits = HlslBindingFlagBits(8);
}
impl HlslBindingFlagBits {
pub const SPVC_HLSL_BINDING_AUTO_SAMPLER_BIT: HlslBindingFlagBits = HlslBindingFlagBits(16);
}
impl HlslBindingFlagBits {
pub const SPVC_HLSL_BINDING_AUTO_ALL: HlslBindingFlagBits = HlslBindingFlagBits(2147483647);
}
impl ::std::ops::BitOr<HlslBindingFlagBits> for HlslBindingFlagBits {
type Output = Self;
#[inline]
fn bitor(self, other: Self) -> Self {
HlslBindingFlagBits(self.0 | other.0)
}
}
impl ::std::ops::BitOrAssign for HlslBindingFlagBits {
#[inline]
fn bitor_assign(&mut self, rhs: HlslBindingFlagBits) {
self.0 |= rhs.0;
}
}
impl ::std::ops::BitAnd<HlslBindingFlagBits> for HlslBindingFlagBits {
type Output = Self;
#[inline]
fn bitand(self, other: Self) -> Self {
HlslBindingFlagBits(self.0 & other.0)
}
}
impl ::std::ops::BitAndAssign for HlslBindingFlagBits {
#[inline]
fn bitand_assign(&mut self, rhs: HlslBindingFlagBits) {
self.0 &= rhs.0;
}
}
#[repr(transparent)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub struct HlslBindingFlagBits(pub i32);
#[repr(transparent)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct HlslBindingFlags(pub crate::ctypes::c_uint);
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct HlslResourceBindingMapping {
pub register_space: crate::ctypes::c_uint,
pub register_binding: crate::ctypes::c_uint,
}
#[repr(C)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct HlslResourceBinding {
pub stage: SpvExecutionModel,
pub desc_set: crate::ctypes::c_uint,
pub binding: crate::ctypes::c_uint,
pub cbv: HlslResourceBindingMapping,
pub uav: HlslResourceBindingMapping,
pub srv: HlslResourceBindingMapping,
pub sampler: HlslResourceBindingMapping,
}
extern "C" {
pub fn spvc_hlsl_resource_binding_init(binding: *mut HlslResourceBinding);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_UNKNOWN: spvc_compiler_option = spvc_compiler_option(0);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_FORCE_TEMPORARY: spvc_compiler_option =
spvc_compiler_option(16777217);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_FLATTEN_MULTIDIMENSIONAL_ARRAYS: spvc_compiler_option =
spvc_compiler_option(16777218);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_FIXUP_DEPTH_CONVENTION: spvc_compiler_option =
spvc_compiler_option(16777219);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_FLIP_VERTEX_Y: spvc_compiler_option =
spvc_compiler_option(16777220);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_GLSL_SUPPORT_NONZERO_BASE_INSTANCE: spvc_compiler_option =
spvc_compiler_option(33554437);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_GLSL_SEPARATE_SHADER_OBJECTS: spvc_compiler_option =
spvc_compiler_option(33554438);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_GLSL_ENABLE_420PACK_EXTENSION: spvc_compiler_option =
spvc_compiler_option(33554439);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_GLSL_VERSION: spvc_compiler_option =
spvc_compiler_option(33554440);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_GLSL_ES: spvc_compiler_option = spvc_compiler_option(33554441);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_GLSL_VULKAN_SEMANTICS: spvc_compiler_option =
spvc_compiler_option(33554442);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_GLSL_ES_DEFAULT_FLOAT_PRECISION_HIGHP: spvc_compiler_option =
spvc_compiler_option(33554443);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_GLSL_ES_DEFAULT_INT_PRECISION_HIGHP: spvc_compiler_option =
spvc_compiler_option(33554444);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_HLSL_SHADER_MODEL: spvc_compiler_option =
spvc_compiler_option(67108877);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_HLSL_POINT_SIZE_COMPAT: spvc_compiler_option =
spvc_compiler_option(67108878);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_HLSL_POINT_COORD_COMPAT: spvc_compiler_option =
spvc_compiler_option(67108879);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_HLSL_SUPPORT_NONZERO_BASE_VERTEX_BASE_INSTANCE:
spvc_compiler_option = spvc_compiler_option(67108880);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_VERSION: spvc_compiler_option =
spvc_compiler_option(134217745);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_TEXEL_BUFFER_TEXTURE_WIDTH: spvc_compiler_option =
spvc_compiler_option(134217746);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_AUX_BUFFER_INDEX: spvc_compiler_option =
spvc_compiler_option(134217747);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_SWIZZLE_BUFFER_INDEX: spvc_compiler_option =
spvc_compiler_option(134217747);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_INDIRECT_PARAMS_BUFFER_INDEX: spvc_compiler_option =
spvc_compiler_option(134217748);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_SHADER_OUTPUT_BUFFER_INDEX: spvc_compiler_option =
spvc_compiler_option(134217749);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_SHADER_PATCH_OUTPUT_BUFFER_INDEX: spvc_compiler_option =
spvc_compiler_option(134217750);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_SHADER_TESS_FACTOR_OUTPUT_BUFFER_INDEX:
spvc_compiler_option = spvc_compiler_option(134217751);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_SHADER_INPUT_WORKGROUP_INDEX: spvc_compiler_option =
spvc_compiler_option(134217752);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_ENABLE_POINT_SIZE_BUILTIN: spvc_compiler_option =
spvc_compiler_option(134217753);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_DISABLE_RASTERIZATION: spvc_compiler_option =
spvc_compiler_option(134217754);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_CAPTURE_OUTPUT_TO_BUFFER: spvc_compiler_option =
spvc_compiler_option(134217755);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_SWIZZLE_TEXTURE_SAMPLES: spvc_compiler_option =
spvc_compiler_option(134217756);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_PAD_FRAGMENT_OUTPUT_COMPONENTS: spvc_compiler_option =
spvc_compiler_option(134217757);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_TESS_DOMAIN_ORIGIN_LOWER_LEFT: spvc_compiler_option =
spvc_compiler_option(134217758);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_PLATFORM: spvc_compiler_option =
spvc_compiler_option(134217759);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_ARGUMENT_BUFFERS: spvc_compiler_option =
spvc_compiler_option(134217760);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_GLSL_EMIT_PUSH_CONSTANT_AS_UNIFORM_BUFFER: spvc_compiler_option =
spvc_compiler_option(33554465);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_TEXTURE_BUFFER_NATIVE: spvc_compiler_option =
spvc_compiler_option(134217762);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_GLSL_EMIT_UNIFORM_BUFFER_AS_PLAIN_UNIFORMS:
spvc_compiler_option = spvc_compiler_option(33554467);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_BUFFER_SIZE_BUFFER_INDEX: spvc_compiler_option =
spvc_compiler_option(134217764);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_EMIT_LINE_DIRECTIVES: spvc_compiler_option =
spvc_compiler_option(16777253);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_MULTIVIEW: spvc_compiler_option =
spvc_compiler_option(134217766);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_VIEW_MASK_BUFFER_INDEX: spvc_compiler_option =
spvc_compiler_option(134217767);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_DEVICE_INDEX: spvc_compiler_option =
spvc_compiler_option(134217768);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_VIEW_INDEX_FROM_DEVICE_INDEX: spvc_compiler_option =
spvc_compiler_option(134217769);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_DISPATCH_BASE: spvc_compiler_option =
spvc_compiler_option(134217770);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_DYNAMIC_OFFSETS_BUFFER_INDEX: spvc_compiler_option =
spvc_compiler_option(134217771);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_TEXTURE_1D_AS_2D: spvc_compiler_option =
spvc_compiler_option(134217772);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_ENABLE_BASE_INDEX_ZERO: spvc_compiler_option =
spvc_compiler_option(134217773);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_IOS_FRAMEBUFFER_FETCH_SUBPASS: spvc_compiler_option =
spvc_compiler_option(134217774);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_FRAMEBUFFER_FETCH_SUBPASS: spvc_compiler_option =
spvc_compiler_option(134217774);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_INVARIANT_FP_MATH: spvc_compiler_option =
spvc_compiler_option(134217775);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_EMULATE_CUBEMAP_ARRAY: spvc_compiler_option =
spvc_compiler_option(134217776);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_ENABLE_DECORATION_BINDING: spvc_compiler_option =
spvc_compiler_option(134217777);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_FORCE_ACTIVE_ARGUMENT_BUFFER_RESOURCES:
spvc_compiler_option = spvc_compiler_option(134217778);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_FORCE_NATIVE_ARRAYS: spvc_compiler_option =
spvc_compiler_option(134217779);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_ENABLE_STORAGE_IMAGE_QUALIFIER_DEDUCTION: spvc_compiler_option =
spvc_compiler_option(16777268);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_HLSL_FORCE_STORAGE_BUFFER_AS_UAV: spvc_compiler_option =
spvc_compiler_option(67108917);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_FORCE_ZERO_INITIALIZED_VARIABLES: spvc_compiler_option =
spvc_compiler_option(16777270);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_HLSL_NONWRITABLE_UAV_TEXTURE_AS_SRV: spvc_compiler_option =
spvc_compiler_option(67108919);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_ENABLE_FRAG_OUTPUT_MASK: spvc_compiler_option =
spvc_compiler_option(134217784);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_ENABLE_FRAG_DEPTH_BUILTIN: spvc_compiler_option =
spvc_compiler_option(134217785);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_ENABLE_FRAG_STENCIL_REF_BUILTIN: spvc_compiler_option =
spvc_compiler_option(134217786);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_ENABLE_CLIP_DISTANCE_USER_VARYING: spvc_compiler_option =
spvc_compiler_option(134217787);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_HLSL_ENABLE_16BIT_TYPES: spvc_compiler_option =
spvc_compiler_option(67108924);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_MULTI_PATCH_WORKGROUP: spvc_compiler_option =
spvc_compiler_option(134217789);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_SHADER_INPUT_BUFFER_INDEX: spvc_compiler_option =
spvc_compiler_option(134217790);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_SHADER_INDEX_BUFFER_INDEX: spvc_compiler_option =
spvc_compiler_option(134217791);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_VERTEX_FOR_TESSELLATION: spvc_compiler_option =
spvc_compiler_option(134217792);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_VERTEX_INDEX_TYPE: spvc_compiler_option =
spvc_compiler_option(134217793);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_GLSL_FORCE_FLATTENED_IO_BLOCKS: spvc_compiler_option =
spvc_compiler_option(33554498);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_MULTIVIEW_LAYERED_RENDERING: spvc_compiler_option =
spvc_compiler_option(134217795);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_ARRAYED_SUBPASS_INPUT: spvc_compiler_option =
spvc_compiler_option(134217796);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_R32UI_LINEAR_TEXTURE_ALIGNMENT: spvc_compiler_option =
spvc_compiler_option(134217797);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_R32UI_ALIGNMENT_CONSTANT_ID: spvc_compiler_option =
spvc_compiler_option(134217798);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_HLSL_FLATTEN_MATRIX_VERTEX_INPUT_SEMANTICS:
spvc_compiler_option = spvc_compiler_option(67108935);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_IOS_USE_SIMDGROUP_FUNCTIONS: spvc_compiler_option =
spvc_compiler_option(134217800);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_EMULATE_SUBGROUPS: spvc_compiler_option =
spvc_compiler_option(134217801);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_FIXED_SUBGROUP_SIZE: spvc_compiler_option =
spvc_compiler_option(134217802);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_FORCE_SAMPLE_RATE_SHADING: spvc_compiler_option =
spvc_compiler_option(134217803);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_IOS_SUPPORT_BASE_VERTEX_INSTANCE: spvc_compiler_option =
spvc_compiler_option(134217804);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_GLSL_OVR_MULTIVIEW_VIEW_COUNT: spvc_compiler_option =
spvc_compiler_option(33554509);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_RELAX_NAN_CHECKS: spvc_compiler_option =
spvc_compiler_option(16777294);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_RAW_BUFFER_TESE_INPUT: spvc_compiler_option =
spvc_compiler_option(134217807);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_SHADER_PATCH_INPUT_BUFFER_INDEX: spvc_compiler_option =
spvc_compiler_option(134217808);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_MANUAL_HELPER_INVOCATION_UPDATES: spvc_compiler_option =
spvc_compiler_option(134217809);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_CHECK_DISCARDED_FRAG_STORES: spvc_compiler_option =
spvc_compiler_option(134217810);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_GLSL_ENABLE_ROW_MAJOR_LOAD_WORKAROUND: spvc_compiler_option =
spvc_compiler_option(33554515);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_ARGUMENT_BUFFERS_TIER: spvc_compiler_option =
spvc_compiler_option(134217812);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_SAMPLE_DREF_LOD_ARRAY_AS_GRAD: spvc_compiler_option =
spvc_compiler_option(134217813);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_READWRITE_TEXTURE_FENCES: spvc_compiler_option =
spvc_compiler_option(134217814);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_REPLACE_RECURSIVE_INPUTS: spvc_compiler_option =
spvc_compiler_option(134217815);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_AGX_MANUAL_CUBE_GRAD_FIXUP: spvc_compiler_option =
spvc_compiler_option(134217816);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_MSL_FORCE_FRAGMENT_WITH_SIDE_EFFECTS_EXECUTION:
spvc_compiler_option = spvc_compiler_option(134217817);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_HLSL_USE_ENTRY_POINT_NAME: spvc_compiler_option =
spvc_compiler_option(67108954);
}
impl spvc_compiler_option {
pub const SPVC_COMPILER_OPTION_HLSL_PRESERVE_STRUCTURED_BUFFERS: spvc_compiler_option =
spvc_compiler_option(67108955);
}
impl ::std::ops::BitOr<spvc_compiler_option> for spvc_compiler_option {
type Output = Self;
#[inline]
fn bitor(self, other: Self) -> Self {
spvc_compiler_option(self.0 | other.0)
}
}
impl ::std::ops::BitOrAssign for spvc_compiler_option {
#[inline]
fn bitor_assign(&mut self, rhs: spvc_compiler_option) {
self.0 |= rhs.0;
}
}
impl ::std::ops::BitAnd<spvc_compiler_option> for spvc_compiler_option {
type Output = Self;
#[inline]
fn bitand(self, other: Self) -> Self {
spvc_compiler_option(self.0 & other.0)
}
}
impl ::std::ops::BitAndAssign for spvc_compiler_option {
#[inline]
fn bitand_assign(&mut self, rhs: spvc_compiler_option) {
self.0 &= rhs.0;
}
}
#[repr(transparent)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub struct spvc_compiler_option(pub i32);
extern "C" {
#[must_use]
pub fn spvc_context_create(context: *mut spvc_context) -> spvc_result;
}
extern "C" {
pub fn spvc_context_destroy(context: spvc_context);
}
extern "C" {
pub fn spvc_context_release_allocations(context: spvc_context);
}
extern "C" {
pub fn spvc_context_get_last_error_string(
context: spvc_context,
) -> *const crate::ctypes::c_char;
}
pub type spvc_error_callback = ::std::option::Option<
unsafe extern "C" fn(userdata: *mut crate::ctypes::c_void, error: *const crate::ctypes::c_char),
>;
extern "C" {
pub fn spvc_context_set_error_callback(
context: spvc_context,
cb: spvc_error_callback,
userdata: *mut crate::ctypes::c_void,
);
}
extern "C" {
#[must_use]
pub fn spvc_context_parse_spirv(
context: spvc_context,
spirv: *const SpvId,
word_count: usize,
parsed_ir: *mut spvc_parsed_ir,
) -> spvc_result;
}
extern "C" {
#[must_use]
pub fn spvc_context_create_compiler(
context: spvc_context,
backend: CompilerBackend,
parsed_ir: spvc_parsed_ir,
mode: spvc_capture_mode,
compiler: *mut spvc_compiler,
) -> spvc_result;
}
extern "C" {
pub fn spvc_compiler_get_current_id_bound(compiler: spvc_compiler) -> crate::ctypes::c_uint;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_create_compiler_options(
compiler: spvc_compiler,
options: *mut spvc_compiler_options,
) -> spvc_result;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_options_set_bool(
options: spvc_compiler_options,
option: spvc_compiler_option,
value: crate::ctypes::spvc_bool,
) -> spvc_result;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_options_set_uint(
options: spvc_compiler_options,
option: spvc_compiler_option,
value: crate::ctypes::c_uint,
) -> spvc_result;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_install_compiler_options(
compiler: spvc_compiler,
options: spvc_compiler_options,
) -> spvc_result;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_compile(
compiler: spvc_compiler,
source: *mut *const crate::ctypes::c_char,
) -> spvc_result;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_add_header_line(
compiler: spvc_compiler,
line: *const crate::ctypes::c_char,
) -> spvc_result;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_require_extension(
compiler: spvc_compiler,
ext: *const crate::ctypes::c_char,
) -> spvc_result;
}
extern "C" {
pub fn spvc_compiler_get_num_required_extensions(compiler: spvc_compiler) -> usize;
}
extern "C" {
pub fn spvc_compiler_get_required_extension(
compiler: spvc_compiler,
index: usize,
) -> *const crate::ctypes::c_char;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_flatten_buffer_block(
compiler: spvc_compiler,
id: VariableId,
) -> spvc_result;
}
extern "C" {
pub fn spvc_compiler_variable_is_depth_or_compare(
compiler: spvc_compiler,
id: VariableId,
) -> crate::ctypes::spvc_bool;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_mask_stage_output_by_location(
compiler: spvc_compiler,
location: crate::ctypes::c_uint,
component: crate::ctypes::c_uint,
) -> spvc_result;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_mask_stage_output_by_builtin(
compiler: spvc_compiler,
builtin: SpvBuiltIn,
) -> spvc_result;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_hlsl_set_root_constants_layout(
compiler: spvc_compiler,
constant_info: *const HlslRootConstants,
count: usize,
) -> spvc_result;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_hlsl_add_vertex_attribute_remap(
compiler: spvc_compiler,
remap: *const HlslVertexAttributeRemap,
remaps: usize,
) -> spvc_result;
}
extern "C" {
pub fn spvc_compiler_hlsl_remap_num_workgroups_builtin(compiler: spvc_compiler) -> VariableId;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_hlsl_set_resource_binding_flags(
compiler: spvc_compiler,
flags: HlslBindingFlags,
) -> spvc_result;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_hlsl_add_resource_binding(
compiler: spvc_compiler,
binding: *const HlslResourceBinding,
) -> spvc_result;
}
extern "C" {
pub fn spvc_compiler_hlsl_is_resource_used(
compiler: spvc_compiler,
model: SpvExecutionModel,
set: crate::ctypes::c_uint,
binding: crate::ctypes::c_uint,
) -> crate::ctypes::spvc_bool;
}
extern "C" {
pub fn spvc_compiler_msl_is_rasterization_disabled(
compiler: spvc_compiler,
) -> crate::ctypes::spvc_bool;
}
extern "C" {
pub fn spvc_compiler_msl_needs_aux_buffer(compiler: spvc_compiler) -> crate::ctypes::spvc_bool;
}
extern "C" {
pub fn spvc_compiler_msl_needs_swizzle_buffer(
compiler: spvc_compiler,
) -> crate::ctypes::spvc_bool;
}
extern "C" {
pub fn spvc_compiler_msl_needs_buffer_size_buffer(
compiler: spvc_compiler,
) -> crate::ctypes::spvc_bool;
}
extern "C" {
pub fn spvc_compiler_msl_needs_output_buffer(
compiler: spvc_compiler,
) -> crate::ctypes::spvc_bool;
}
extern "C" {
pub fn spvc_compiler_msl_needs_patch_output_buffer(
compiler: spvc_compiler,
) -> crate::ctypes::spvc_bool;
}
extern "C" {
pub fn spvc_compiler_msl_needs_input_threadgroup_mem(
compiler: spvc_compiler,
) -> crate::ctypes::spvc_bool;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_msl_add_vertex_attribute(
compiler: spvc_compiler,
attrs: *const MslVertexAttribute,
) -> spvc_result;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_msl_add_resource_binding(
compiler: spvc_compiler,
binding: *const MslResourceBinding,
) -> spvc_result;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_msl_add_resource_binding_2(
compiler: spvc_compiler,
binding: *const MslResourceBinding2,
) -> spvc_result;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_msl_add_shader_input(
compiler: spvc_compiler,
input: *const MslShaderInterfaceVar,
) -> spvc_result;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_msl_add_shader_input_2(
compiler: spvc_compiler,
input: *const MslShaderInterfaceVar2,
) -> spvc_result;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_msl_add_shader_output(
compiler: spvc_compiler,
output: *const MslShaderInterfaceVar,
) -> spvc_result;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_msl_add_shader_output_2(
compiler: spvc_compiler,
output: *const MslShaderInterfaceVar2,
) -> spvc_result;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_msl_add_discrete_descriptor_set(
compiler: spvc_compiler,
desc_set: crate::ctypes::c_uint,
) -> spvc_result;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_msl_set_argument_buffer_device_address_space(
compiler: spvc_compiler,
desc_set: crate::ctypes::c_uint,
device_address: crate::ctypes::spvc_bool,
) -> spvc_result;
}
extern "C" {
pub fn spvc_compiler_msl_is_vertex_attribute_used(
compiler: spvc_compiler,
location: crate::ctypes::c_uint,
) -> crate::ctypes::spvc_bool;
}
extern "C" {
pub fn spvc_compiler_msl_is_shader_input_used(
compiler: spvc_compiler,
location: crate::ctypes::c_uint,
) -> crate::ctypes::spvc_bool;
}
extern "C" {
pub fn spvc_compiler_msl_is_shader_output_used(
compiler: spvc_compiler,
location: crate::ctypes::c_uint,
) -> crate::ctypes::spvc_bool;
}
extern "C" {
pub fn spvc_compiler_msl_is_resource_used(
compiler: spvc_compiler,
model: SpvExecutionModel,
set: crate::ctypes::c_uint,
binding: crate::ctypes::c_uint,
) -> crate::ctypes::spvc_bool;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_msl_remap_constexpr_sampler(
compiler: spvc_compiler,
id: VariableId,
sampler: *const MslConstexprSampler,
) -> spvc_result;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_msl_remap_constexpr_sampler_by_binding(
compiler: spvc_compiler,
desc_set: crate::ctypes::c_uint,
binding: crate::ctypes::c_uint,
sampler: *const MslConstexprSampler,
) -> spvc_result;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_msl_remap_constexpr_sampler_ycbcr(
compiler: spvc_compiler,
id: VariableId,
sampler: *const MslConstexprSampler,
conv: *const MslSamplerYcbcrConversion,
) -> spvc_result;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_msl_remap_constexpr_sampler_by_binding_ycbcr(
compiler: spvc_compiler,
desc_set: crate::ctypes::c_uint,
binding: crate::ctypes::c_uint,
sampler: *const MslConstexprSampler,
conv: *const MslSamplerYcbcrConversion,
) -> spvc_result;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_msl_set_fragment_output_components(
compiler: spvc_compiler,
location: crate::ctypes::c_uint,
components: crate::ctypes::c_uint,
) -> spvc_result;
}
extern "C" {
pub fn spvc_compiler_msl_get_automatic_resource_binding(
compiler: spvc_compiler,
id: VariableId,
) -> crate::ctypes::c_uint;
}
extern "C" {
pub fn spvc_compiler_msl_get_automatic_resource_binding_secondary(
compiler: spvc_compiler,
id: VariableId,
) -> crate::ctypes::c_uint;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_msl_add_dynamic_buffer(
compiler: spvc_compiler,
desc_set: crate::ctypes::c_uint,
binding: crate::ctypes::c_uint,
index: crate::ctypes::c_uint,
) -> spvc_result;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_msl_add_inline_uniform_block(
compiler: spvc_compiler,
desc_set: crate::ctypes::c_uint,
binding: crate::ctypes::c_uint,
) -> spvc_result;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_msl_set_combined_sampler_suffix(
compiler: spvc_compiler,
suffix: *const crate::ctypes::c_char,
) -> spvc_result;
}
extern "C" {
pub fn spvc_compiler_msl_get_combined_sampler_suffix(
compiler: spvc_compiler,
) -> *const crate::ctypes::c_char;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_get_active_interface_variables(
compiler: spvc_compiler,
set: *mut spvc_set,
) -> spvc_result;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_set_enabled_interface_variables(
compiler: spvc_compiler,
set: spvc_set,
) -> spvc_result;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_create_shader_resources(
compiler: spvc_compiler,
resources: *mut spvc_resources,
) -> spvc_result;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_create_shader_resources_for_active_variables(
compiler: spvc_compiler,
resources: *mut spvc_resources,
active: spvc_set,
) -> spvc_result;
}
extern "C" {
#[must_use]
pub fn spvc_resources_get_resource_list_for_type(
resources: spvc_resources,
type_: ResourceType,
resource_list: *mut *const spvc_reflected_resource,
resource_size: *mut usize,
) -> spvc_result;
}
extern "C" {
#[must_use]
pub fn spvc_resources_get_builtin_resource_list_for_type(
resources: spvc_resources,
type_: BuiltinResourceType,
resource_list: *mut *const spvc_reflected_builtin_resource,
resource_size: *mut usize,
) -> spvc_result;
}
extern "C" {
pub fn spvc_compiler_set_decoration(
compiler: spvc_compiler,
id: SpvId,
decoration: SpvDecoration,
argument: crate::ctypes::c_uint,
);
}
extern "C" {
pub fn spvc_compiler_set_decoration_string(
compiler: spvc_compiler,
id: SpvId,
decoration: SpvDecoration,
argument: *const crate::ctypes::c_char,
);
}
extern "C" {
pub fn spvc_compiler_set_name(
compiler: spvc_compiler,
id: SpvId,
argument: *const crate::ctypes::c_char,
);
}
extern "C" {
pub fn spvc_compiler_set_member_decoration(
compiler: spvc_compiler,
id: TypeId,
member_index: crate::ctypes::c_uint,
decoration: SpvDecoration,
argument: crate::ctypes::c_uint,
);
}
extern "C" {
pub fn spvc_compiler_set_member_decoration_string(
compiler: spvc_compiler,
id: TypeId,
member_index: crate::ctypes::c_uint,
decoration: SpvDecoration,
argument: *const crate::ctypes::c_char,
);
}
extern "C" {
pub fn spvc_compiler_set_member_name(
compiler: spvc_compiler,
id: TypeId,
member_index: crate::ctypes::c_uint,
argument: *const crate::ctypes::c_char,
);
}
extern "C" {
pub fn spvc_compiler_unset_decoration(
compiler: spvc_compiler,
id: SpvId,
decoration: SpvDecoration,
);
}
extern "C" {
pub fn spvc_compiler_unset_member_decoration(
compiler: spvc_compiler,
id: TypeId,
member_index: crate::ctypes::c_uint,
decoration: SpvDecoration,
);
}
extern "C" {
pub fn spvc_compiler_has_decoration(
compiler: spvc_compiler,
id: SpvId,
decoration: SpvDecoration,
) -> crate::ctypes::spvc_bool;
}
extern "C" {
pub fn spvc_compiler_has_member_decoration(
compiler: spvc_compiler,
id: TypeId,
member_index: crate::ctypes::c_uint,
decoration: SpvDecoration,
) -> crate::ctypes::spvc_bool;
}
extern "C" {
pub fn spvc_compiler_get_name(
compiler: spvc_compiler,
id: SpvId,
) -> *const crate::ctypes::c_char;
}
extern "C" {
pub fn spvc_compiler_get_decoration(
compiler: spvc_compiler,
id: SpvId,
decoration: SpvDecoration,
) -> crate::ctypes::c_uint;
}
extern "C" {
pub fn spvc_compiler_get_decoration_string(
compiler: spvc_compiler,
id: SpvId,
decoration: SpvDecoration,
) -> *const crate::ctypes::c_char;
}
extern "C" {
pub fn spvc_compiler_get_member_decoration(
compiler: spvc_compiler,
id: TypeId,
member_index: crate::ctypes::c_uint,
decoration: SpvDecoration,
) -> crate::ctypes::c_uint;
}
extern "C" {
pub fn spvc_compiler_get_member_decoration_string(
compiler: spvc_compiler,
id: TypeId,
member_index: crate::ctypes::c_uint,
decoration: SpvDecoration,
) -> *const crate::ctypes::c_char;
}
extern "C" {
pub fn spvc_compiler_get_member_name(
compiler: spvc_compiler,
id: TypeId,
member_index: crate::ctypes::c_uint,
) -> *const crate::ctypes::c_char;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_get_entry_points(
compiler: spvc_compiler,
entry_points: *mut *const spvc_entry_point,
num_entry_points: *mut usize,
) -> spvc_result;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_set_entry_point(
compiler: spvc_compiler,
name: *const crate::ctypes::c_char,
model: SpvExecutionModel,
) -> spvc_result;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_rename_entry_point(
compiler: spvc_compiler,
old_name: *const crate::ctypes::c_char,
new_name: *const crate::ctypes::c_char,
model: SpvExecutionModel,
) -> spvc_result;
}
extern "C" {
pub fn spvc_compiler_get_cleansed_entry_point_name(
compiler: spvc_compiler,
name: *const crate::ctypes::c_char,
model: SpvExecutionModel,
) -> *const crate::ctypes::c_char;
}
extern "C" {
pub fn spvc_compiler_set_execution_mode(compiler: spvc_compiler, mode: SpvExecutionMode);
}
extern "C" {
pub fn spvc_compiler_unset_execution_mode(compiler: spvc_compiler, mode: SpvExecutionMode);
}
extern "C" {
pub fn spvc_compiler_set_execution_mode_with_arguments(
compiler: spvc_compiler,
mode: SpvExecutionMode,
arg0: crate::ctypes::c_uint,
arg1: crate::ctypes::c_uint,
arg2: crate::ctypes::c_uint,
);
}
extern "C" {
#[must_use]
pub fn spvc_compiler_get_execution_modes(
compiler: spvc_compiler,
modes: *mut *const SpvExecutionMode,
num_modes: *mut usize,
) -> spvc_result;
}
extern "C" {
pub fn spvc_compiler_get_execution_mode_argument(
compiler: spvc_compiler,
mode: SpvExecutionMode,
) -> crate::ctypes::c_uint;
}
extern "C" {
pub fn spvc_compiler_get_execution_mode_argument_by_index(
compiler: spvc_compiler,
mode: SpvExecutionMode,
index: crate::ctypes::c_uint,
) -> crate::ctypes::c_uint;
}
extern "C" {
pub fn spvc_compiler_get_execution_model(compiler: spvc_compiler) -> SpvExecutionModel;
}
extern "C" {
pub fn spvc_compiler_update_active_builtins(compiler: spvc_compiler);
}
extern "C" {
pub fn spvc_compiler_has_active_builtin(
compiler: spvc_compiler,
builtin: SpvBuiltIn,
storage: SpvStorageClass,
) -> crate::ctypes::spvc_bool;
}
extern "C" {
pub fn spvc_compiler_get_type_handle(compiler: spvc_compiler, id: TypeId) -> spvc_type;
}
extern "C" {
pub fn spvc_type_get_base_type_id(type_: spvc_type) -> TypeId;
}
extern "C" {
pub fn spvc_type_get_basetype(type_: spvc_type) -> BaseType;
}
extern "C" {
pub fn spvc_type_get_bit_width(type_: spvc_type) -> crate::ctypes::c_uint;
}
extern "C" {
pub fn spvc_type_get_vector_size(type_: spvc_type) -> crate::ctypes::c_uint;
}
extern "C" {
pub fn spvc_type_get_columns(type_: spvc_type) -> crate::ctypes::c_uint;
}
extern "C" {
pub fn spvc_type_get_num_array_dimensions(type_: spvc_type) -> crate::ctypes::c_uint;
}
extern "C" {
pub fn spvc_type_array_dimension_is_literal(
type_: spvc_type,
dimension: crate::ctypes::c_uint,
) -> crate::ctypes::spvc_bool;
}
extern "C" {
pub fn spvc_type_get_array_dimension(
type_: spvc_type,
dimension: crate::ctypes::c_uint,
) -> SpvId;
}
extern "C" {
pub fn spvc_type_get_num_member_types(type_: spvc_type) -> crate::ctypes::c_uint;
}
extern "C" {
pub fn spvc_type_get_member_type(type_: spvc_type, index: crate::ctypes::c_uint) -> TypeId;
}
extern "C" {
pub fn spvc_type_get_storage_class(type_: spvc_type) -> SpvStorageClass;
}
extern "C" {
pub fn spvc_type_get_image_sampled_type(type_: spvc_type) -> TypeId;
}
extern "C" {
pub fn spvc_type_get_image_dimension(type_: spvc_type) -> SpvDim;
}
extern "C" {
pub fn spvc_type_get_image_is_depth(type_: spvc_type) -> crate::ctypes::spvc_bool;
}
extern "C" {
pub fn spvc_type_get_image_arrayed(type_: spvc_type) -> crate::ctypes::spvc_bool;
}
extern "C" {
pub fn spvc_type_get_image_multisampled(type_: spvc_type) -> crate::ctypes::spvc_bool;
}
extern "C" {
pub fn spvc_type_get_image_is_storage(type_: spvc_type) -> crate::ctypes::spvc_bool;
}
extern "C" {
pub fn spvc_type_get_image_storage_format(type_: spvc_type) -> SpvImageFormat;
}
extern "C" {
pub fn spvc_type_get_image_access_qualifier(type_: spvc_type) -> SpvAccessQualifier;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_get_declared_struct_size(
compiler: spvc_compiler,
struct_type: spvc_type,
size: *mut usize,
) -> spvc_result;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_get_declared_struct_size_runtime_array(
compiler: spvc_compiler,
struct_type: spvc_type,
array_size: usize,
size: *mut usize,
) -> spvc_result;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_get_declared_struct_member_size(
compiler: spvc_compiler,
type_: spvc_type,
index: crate::ctypes::c_uint,
size: *mut usize,
) -> spvc_result;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_type_struct_member_offset(
compiler: spvc_compiler,
type_: spvc_type,
index: crate::ctypes::c_uint,
offset: *mut crate::ctypes::c_uint,
) -> spvc_result;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_type_struct_member_array_stride(
compiler: spvc_compiler,
type_: spvc_type,
index: crate::ctypes::c_uint,
stride: *mut crate::ctypes::c_uint,
) -> spvc_result;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_type_struct_member_matrix_stride(
compiler: spvc_compiler,
type_: spvc_type,
index: crate::ctypes::c_uint,
stride: *mut crate::ctypes::c_uint,
) -> spvc_result;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_build_dummy_sampler_for_combined_images(
compiler: spvc_compiler,
id: *mut VariableId,
) -> spvc_result;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_build_combined_image_samplers(compiler: spvc_compiler) -> spvc_result;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_get_combined_image_samplers(
compiler: spvc_compiler,
samplers: *mut *const spvc_combined_image_sampler,
num_samplers: *mut usize,
) -> spvc_result;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_get_specialization_constants(
compiler: spvc_compiler,
constants: *mut *const spvc_specialization_constant,
num_constants: *mut usize,
) -> spvc_result;
}
extern "C" {
pub fn spvc_compiler_get_constant_handle(
compiler: spvc_compiler,
id: ConstantId,
) -> spvc_constant;
}
extern "C" {
pub fn spvc_compiler_get_work_group_size_specialization_constants(
compiler: spvc_compiler,
x: *mut spvc_specialization_constant,
y: *mut spvc_specialization_constant,
z: *mut spvc_specialization_constant,
) -> ConstantId;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_get_active_buffer_ranges(
compiler: spvc_compiler,
id: VariableId,
ranges: *mut *const BufferRange,
num_ranges: *mut usize,
) -> spvc_result;
}
extern "C" {
pub fn spvc_constant_get_scalar_fp16(
constant: spvc_constant,
column: crate::ctypes::c_uint,
row: crate::ctypes::c_uint,
) -> f32;
}
extern "C" {
pub fn spvc_constant_get_scalar_fp32(
constant: spvc_constant,
column: crate::ctypes::c_uint,
row: crate::ctypes::c_uint,
) -> f32;
}
extern "C" {
pub fn spvc_constant_get_scalar_fp64(
constant: spvc_constant,
column: crate::ctypes::c_uint,
row: crate::ctypes::c_uint,
) -> f64;
}
extern "C" {
pub fn spvc_constant_get_scalar_u32(
constant: spvc_constant,
column: crate::ctypes::c_uint,
row: crate::ctypes::c_uint,
) -> crate::ctypes::c_uint;
}
extern "C" {
pub fn spvc_constant_get_scalar_i32(
constant: spvc_constant,
column: crate::ctypes::c_uint,
row: crate::ctypes::c_uint,
) -> crate::ctypes::c_int;
}
extern "C" {
pub fn spvc_constant_get_scalar_u16(
constant: spvc_constant,
column: crate::ctypes::c_uint,
row: crate::ctypes::c_uint,
) -> crate::ctypes::c_uint;
}
extern "C" {
pub fn spvc_constant_get_scalar_i16(
constant: spvc_constant,
column: crate::ctypes::c_uint,
row: crate::ctypes::c_uint,
) -> crate::ctypes::c_int;
}
extern "C" {
pub fn spvc_constant_get_scalar_u8(
constant: spvc_constant,
column: crate::ctypes::c_uint,
row: crate::ctypes::c_uint,
) -> crate::ctypes::c_uint;
}
extern "C" {
pub fn spvc_constant_get_scalar_i8(
constant: spvc_constant,
column: crate::ctypes::c_uint,
row: crate::ctypes::c_uint,
) -> crate::ctypes::c_int;
}
extern "C" {
pub fn spvc_constant_get_subconstants(
constant: spvc_constant,
constituents: *mut *const ConstantId,
count: *mut usize,
);
}
extern "C" {
pub fn spvc_constant_get_scalar_u64(
constant: spvc_constant,
column: crate::ctypes::c_uint,
row: crate::ctypes::c_uint,
) -> crate::ctypes::c_ulonglong;
}
extern "C" {
pub fn spvc_constant_get_scalar_i64(
constant: spvc_constant,
column: crate::ctypes::c_uint,
row: crate::ctypes::c_uint,
) -> crate::ctypes::c_longlong;
}
extern "C" {
pub fn spvc_constant_get_type(constant: spvc_constant) -> TypeId;
}
extern "C" {
pub fn spvc_constant_set_scalar_fp16(
constant: spvc_constant,
column: crate::ctypes::c_uint,
row: crate::ctypes::c_uint,
value: crate::ctypes::c_ushort,
);
}
extern "C" {
pub fn spvc_constant_set_scalar_fp32(
constant: spvc_constant,
column: crate::ctypes::c_uint,
row: crate::ctypes::c_uint,
value: f32,
);
}
extern "C" {
pub fn spvc_constant_set_scalar_fp64(
constant: spvc_constant,
column: crate::ctypes::c_uint,
row: crate::ctypes::c_uint,
value: f64,
);
}
extern "C" {
pub fn spvc_constant_set_scalar_u32(
constant: spvc_constant,
column: crate::ctypes::c_uint,
row: crate::ctypes::c_uint,
value: crate::ctypes::c_uint,
);
}
extern "C" {
pub fn spvc_constant_set_scalar_i32(
constant: spvc_constant,
column: crate::ctypes::c_uint,
row: crate::ctypes::c_uint,
value: crate::ctypes::c_int,
);
}
extern "C" {
pub fn spvc_constant_set_scalar_u64(
constant: spvc_constant,
column: crate::ctypes::c_uint,
row: crate::ctypes::c_uint,
value: crate::ctypes::c_ulonglong,
);
}
extern "C" {
pub fn spvc_constant_set_scalar_i64(
constant: spvc_constant,
column: crate::ctypes::c_uint,
row: crate::ctypes::c_uint,
value: crate::ctypes::c_longlong,
);
}
extern "C" {
pub fn spvc_constant_set_scalar_u16(
constant: spvc_constant,
column: crate::ctypes::c_uint,
row: crate::ctypes::c_uint,
value: crate::ctypes::c_ushort,
);
}
extern "C" {
pub fn spvc_constant_set_scalar_i16(
constant: spvc_constant,
column: crate::ctypes::c_uint,
row: crate::ctypes::c_uint,
value: crate::ctypes::c_short,
);
}
extern "C" {
pub fn spvc_constant_set_scalar_u8(
constant: spvc_constant,
column: crate::ctypes::c_uint,
row: crate::ctypes::c_uint,
value: crate::ctypes::c_uchar,
);
}
extern "C" {
pub fn spvc_constant_set_scalar_i8(
constant: spvc_constant,
column: crate::ctypes::c_uint,
row: crate::ctypes::c_uint,
value: crate::ctypes::c_schar,
);
}
extern "C" {
pub fn spvc_compiler_get_binary_offset_for_decoration(
compiler: spvc_compiler,
id: VariableId,
decoration: SpvDecoration,
word_offset: *mut crate::ctypes::c_uint,
) -> crate::ctypes::spvc_bool;
}
extern "C" {
pub fn spvc_compiler_buffer_is_hlsl_counter_buffer(
compiler: spvc_compiler,
id: VariableId,
) -> crate::ctypes::spvc_bool;
}
extern "C" {
pub fn spvc_compiler_buffer_get_hlsl_counter_buffer(
compiler: spvc_compiler,
id: VariableId,
counter_id: *mut VariableId,
) -> crate::ctypes::spvc_bool;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_get_declared_capabilities(
compiler: spvc_compiler,
capabilities: *mut *const SpvCapability,
num_capabilities: *mut usize,
) -> spvc_result;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_get_declared_extensions(
compiler: spvc_compiler,
extensions: *mut *mut *const crate::ctypes::c_char,
num_extensions: *mut usize,
) -> spvc_result;
}
extern "C" {
pub fn spvc_compiler_get_remapped_declared_block_name(
compiler: spvc_compiler,
id: VariableId,
) -> *const crate::ctypes::c_char;
}
extern "C" {
#[must_use]
pub fn spvc_compiler_get_buffer_block_decorations(
compiler: spvc_compiler,
id: VariableId,
decorations: *mut *const SpvDecoration,
num_decorations: *mut usize,
) -> spvc_result;
}
extern "C" {
pub fn spvc_rs_expose_set(set: spvc_set, out: *mut u32, length: *mut usize);
}
extern "C" {
pub fn spvc_rs_constant_is_scalar(constant: spvc_constant) -> crate::ctypes::spvc_bool;
}
extern "C" {
pub fn spvc_rs_constant_get_vecsize(constant: spvc_constant) -> u32;
}
extern "C" {
pub fn spvc_rs_constant_get_matrix_colsize(constant: spvc_constant) -> u32;
}
extern "C" {
#[must_use]
pub fn spvc_rs_compiler_variable_get_type(
compiler: spvc_compiler,
variable_id: VariableId,
out: *mut TypeId,
) -> spvc_result;
}
extern "C" {
pub fn spvc_rs_type_is_pointer(type_: spvc_type) -> crate::ctypes::spvc_bool;
}
extern "C" {
pub fn spvc_rs_type_is_forward_pointer(type_: spvc_type) -> crate::ctypes::spvc_bool;
}
extern "C" {
pub fn spvc_rs_compiler_get_execution_model_indirect(
compiler: spvc_compiler,
out: *mut SpvExecutionModel,
);
}