#[repr(transparent)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct SpvId(pub crate::ctypes::c_uint);
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvSourceLanguage {
Unknown = 0,
ESSL = 1,
GLSL = 2,
OpenCL_C = 3,
OpenCL_CPP = 4,
HLSL = 5,
CPP_for_OpenCL = 6,
SYCL = 7,
}
impl SpvExecutionModel {
pub const RayGenerationNV: SpvExecutionModel = SpvExecutionModel::RayGenerationKHR;
}
impl SpvExecutionModel {
pub const IntersectionNV: SpvExecutionModel = SpvExecutionModel::IntersectionKHR;
}
impl SpvExecutionModel {
pub const AnyHitNV: SpvExecutionModel = SpvExecutionModel::AnyHitKHR;
}
impl SpvExecutionModel {
pub const ClosestHitNV: SpvExecutionModel = SpvExecutionModel::ClosestHitKHR;
}
impl SpvExecutionModel {
pub const MissNV: SpvExecutionModel = SpvExecutionModel::MissKHR;
}
impl SpvExecutionModel {
pub const CallableNV: SpvExecutionModel = SpvExecutionModel::CallableKHR;
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvExecutionModel {
Vertex = 0,
TessellationControl = 1,
TessellationEvaluation = 2,
Geometry = 3,
Fragment = 4,
GLCompute = 5,
Kernel = 6,
TaskNV = 5267,
MeshNV = 5268,
RayGenerationKHR = 5313,
IntersectionKHR = 5314,
AnyHitKHR = 5315,
ClosestHitKHR = 5316,
MissKHR = 5317,
CallableKHR = 5318,
TaskEXT = 5364,
MeshEXT = 5365,
}
impl SpvAddressingModel {
pub const PhysicalStorageBuffer64EXT: SpvAddressingModel =
SpvAddressingModel::PhysicalStorageBuffer64;
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvAddressingModel {
Logical = 0,
Physical32 = 1,
Physical64 = 2,
PhysicalStorageBuffer64 = 5348,
}
impl SpvMemoryModel {
pub const VulkanKHR: SpvMemoryModel = SpvMemoryModel::Vulkan;
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvMemoryModel {
Simple = 0,
GLSL450 = 1,
OpenCL = 2,
Vulkan = 3,
}
impl SpvExecutionMode {
pub const OutputLinesNV: SpvExecutionMode = SpvExecutionMode::OutputLinesEXT;
}
impl SpvExecutionMode {
pub const OutputPrimitivesNV: SpvExecutionMode = SpvExecutionMode::OutputPrimitivesEXT;
}
impl SpvExecutionMode {
pub const OutputTrianglesNV: SpvExecutionMode = SpvExecutionMode::OutputTrianglesEXT;
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvExecutionMode {
Invocations = 0,
SpacingEqual = 1,
SpacingFractionalEven = 2,
SpacingFractionalOdd = 3,
VertexOrderCw = 4,
VertexOrderCcw = 5,
PixelCenterInteger = 6,
OriginUpperLeft = 7,
OriginLowerLeft = 8,
EarlyFragmentTests = 9,
PointMode = 10,
Xfb = 11,
DepthReplacing = 12,
DepthGreater = 14,
DepthLess = 15,
DepthUnchanged = 16,
LocalSize = 17,
LocalSizeHint = 18,
InputPoints = 19,
InputLines = 20,
InputLinesAdjacency = 21,
Triangles = 22,
InputTrianglesAdjacency = 23,
Quads = 24,
Isolines = 25,
OutputVertices = 26,
OutputPoints = 27,
OutputLineStrip = 28,
OutputTriangleStrip = 29,
VecTypeHint = 30,
ContractionOff = 31,
Initializer = 33,
Finalizer = 34,
SubgroupSize = 35,
SubgroupsPerWorkgroup = 36,
SubgroupsPerWorkgroupId = 37,
LocalSizeId = 38,
LocalSizeHintId = 39,
SubgroupUniformControlFlowKHR = 4421,
PostDepthCoverage = 4446,
DenormPreserve = 4459,
DenormFlushToZero = 4460,
SignedZeroInfNanPreserve = 4461,
RoundingModeRTE = 4462,
RoundingModeRTZ = 4463,
EarlyAndLateFragmentTestsAMD = 5017,
StencilRefReplacingEXT = 5027,
StencilRefUnchangedFrontAMD = 5079,
StencilRefGreaterFrontAMD = 5080,
StencilRefLessFrontAMD = 5081,
StencilRefUnchangedBackAMD = 5082,
StencilRefGreaterBackAMD = 5083,
StencilRefLessBackAMD = 5084,
OutputLinesEXT = 5269,
OutputPrimitivesEXT = 5270,
DerivativeGroupQuadsNV = 5289,
DerivativeGroupLinearNV = 5290,
OutputTrianglesEXT = 5298,
PixelInterlockOrderedEXT = 5366,
PixelInterlockUnorderedEXT = 5367,
SampleInterlockOrderedEXT = 5368,
SampleInterlockUnorderedEXT = 5369,
ShadingRateInterlockOrderedEXT = 5370,
ShadingRateInterlockUnorderedEXT = 5371,
SharedLocalMemorySizeINTEL = 5618,
RoundingModeRTPINTEL = 5620,
RoundingModeRTNINTEL = 5621,
FloatingPointModeALTINTEL = 5622,
FloatingPointModeIEEEINTEL = 5623,
MaxWorkgroupSizeINTEL = 5893,
MaxWorkDimINTEL = 5894,
NoGlobalOffsetINTEL = 5895,
NumSIMDWorkitemsINTEL = 5896,
SchedulerTargetFmaxMhzINTEL = 5903,
NamedBarrierCountINTEL = 6417,
}
impl SpvStorageClass {
pub const CallableDataNV: SpvStorageClass = SpvStorageClass::CallableDataKHR;
}
impl SpvStorageClass {
pub const IncomingCallableDataNV: SpvStorageClass = SpvStorageClass::IncomingCallableDataKHR;
}
impl SpvStorageClass {
pub const RayPayloadNV: SpvStorageClass = SpvStorageClass::RayPayloadKHR;
}
impl SpvStorageClass {
pub const HitAttributeNV: SpvStorageClass = SpvStorageClass::HitAttributeKHR;
}
impl SpvStorageClass {
pub const IncomingRayPayloadNV: SpvStorageClass = SpvStorageClass::IncomingRayPayloadKHR;
}
impl SpvStorageClass {
pub const ShaderRecordBufferNV: SpvStorageClass = SpvStorageClass::ShaderRecordBufferKHR;
}
impl SpvStorageClass {
pub const PhysicalStorageBufferEXT: SpvStorageClass = SpvStorageClass::PhysicalStorageBuffer;
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvStorageClass {
UniformConstant = 0,
Input = 1,
Uniform = 2,
Output = 3,
Workgroup = 4,
CrossWorkgroup = 5,
Private = 6,
Function = 7,
Generic = 8,
PushConstant = 9,
AtomicCounter = 10,
Image = 11,
StorageBuffer = 12,
CallableDataKHR = 5328,
IncomingCallableDataKHR = 5329,
RayPayloadKHR = 5338,
HitAttributeKHR = 5339,
IncomingRayPayloadKHR = 5342,
ShaderRecordBufferKHR = 5343,
PhysicalStorageBuffer = 5349,
TaskPayloadWorkgroupEXT = 5402,
CodeSectionINTEL = 5605,
DeviceOnlyINTEL = 5936,
HostOnlyINTEL = 5937,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvDim {
Dim1D = 0,
Dim2D = 1,
Dim3D = 2,
DimCube = 3,
DimRect = 4,
DimBuffer = 5,
DimSubpassData = 6,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvSamplerAddressingMode {
None = 0,
ClampToEdge = 1,
Clamp = 2,
Repeat = 3,
RepeatMirrored = 4,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvSamplerFilterMode {
Nearest = 0,
Linear = 1,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvImageFormat {
Unknown = 0,
Rgba32f = 1,
Rgba16f = 2,
R32f = 3,
Rgba8 = 4,
Rgba8Snorm = 5,
Rg32f = 6,
Rg16f = 7,
R11fG11fB10f = 8,
R16f = 9,
Rgba16 = 10,
Rgb10A2 = 11,
Rg16 = 12,
Rg8 = 13,
R16 = 14,
R8 = 15,
Rgba16Snorm = 16,
Rg16Snorm = 17,
Rg8Snorm = 18,
R16Snorm = 19,
R8Snorm = 20,
Rgba32i = 21,
Rgba16i = 22,
Rgba8i = 23,
R32i = 24,
Rg32i = 25,
Rg16i = 26,
Rg8i = 27,
R16i = 28,
R8i = 29,
Rgba32ui = 30,
Rgba16ui = 31,
Rgba8ui = 32,
R32ui = 33,
Rgb10a2ui = 34,
Rg32ui = 35,
Rg16ui = 36,
Rg8ui = 37,
R16ui = 38,
R8ui = 39,
R64ui = 40,
R64i = 41,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvImageChannelOrder {
R = 0,
A = 1,
RG = 2,
RA = 3,
RGB = 4,
RGBA = 5,
BGRA = 6,
ARGB = 7,
Intensity = 8,
Luminance = 9,
Rx = 10,
RGx = 11,
RGBx = 12,
Depth = 13,
DepthStencil = 14,
sRGB = 15,
sRGBx = 16,
sRGBA = 17,
sBGRA = 18,
ABGR = 19,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvImageChannelDataType {
SnormInt8 = 0,
SnormInt16 = 1,
UnormInt8 = 2,
UnormInt16 = 3,
UnormShort565 = 4,
UnormShort555 = 5,
UnormInt101010 = 6,
SignedInt8 = 7,
SignedInt16 = 8,
SignedInt32 = 9,
UnsignedInt8 = 10,
UnsignedInt16 = 11,
UnsignedInt32 = 12,
HalfFloat = 13,
Float = 14,
UnormInt24 = 15,
UnormInt101010_2 = 16,
}
impl SpvImageOperandsShift {
pub const SpvImageOperandsMakeTexelAvailableKHRShift: SpvImageOperandsShift =
SpvImageOperandsShift::SpvImageOperandsMakeTexelAvailableShift;
}
impl SpvImageOperandsShift {
pub const SpvImageOperandsMakeTexelVisibleKHRShift: SpvImageOperandsShift =
SpvImageOperandsShift::SpvImageOperandsMakeTexelVisibleShift;
}
impl SpvImageOperandsShift {
pub const SpvImageOperandsNonPrivateTexelKHRShift: SpvImageOperandsShift =
SpvImageOperandsShift::SpvImageOperandsNonPrivateTexelShift;
}
impl SpvImageOperandsShift {
pub const SpvImageOperandsVolatileTexelKHRShift: SpvImageOperandsShift =
SpvImageOperandsShift::SpvImageOperandsVolatileTexelShift;
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvImageOperandsShift {
SpvImageOperandsBiasShift = 0,
SpvImageOperandsLodShift = 1,
SpvImageOperandsGradShift = 2,
SpvImageOperandsConstOffsetShift = 3,
SpvImageOperandsOffsetShift = 4,
SpvImageOperandsConstOffsetsShift = 5,
SpvImageOperandsSampleShift = 6,
SpvImageOperandsMinLodShift = 7,
SpvImageOperandsMakeTexelAvailableShift = 8,
SpvImageOperandsMakeTexelVisibleShift = 9,
SpvImageOperandsNonPrivateTexelShift = 10,
SpvImageOperandsVolatileTexelShift = 11,
SpvImageOperandsSignExtendShift = 12,
SpvImageOperandsZeroExtendShift = 13,
SpvImageOperandsNontemporalShift = 14,
SpvImageOperandsOffsetsShift = 16,
}
impl SpvImageOperandsMask {
pub const SpvImageOperandsMakeTexelAvailableKHRMask: SpvImageOperandsMask =
SpvImageOperandsMask::SpvImageOperandsMakeTexelAvailableMask;
}
impl SpvImageOperandsMask {
pub const SpvImageOperandsMakeTexelVisibleKHRMask: SpvImageOperandsMask =
SpvImageOperandsMask::SpvImageOperandsMakeTexelVisibleMask;
}
impl SpvImageOperandsMask {
pub const SpvImageOperandsNonPrivateTexelKHRMask: SpvImageOperandsMask =
SpvImageOperandsMask::SpvImageOperandsNonPrivateTexelMask;
}
impl SpvImageOperandsMask {
pub const SpvImageOperandsVolatileTexelKHRMask: SpvImageOperandsMask =
SpvImageOperandsMask::SpvImageOperandsVolatileTexelMask;
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvImageOperandsMask {
None = 0,
SpvImageOperandsBiasMask = 1,
SpvImageOperandsLodMask = 2,
SpvImageOperandsGradMask = 4,
SpvImageOperandsConstOffsetMask = 8,
SpvImageOperandsOffsetMask = 16,
SpvImageOperandsConstOffsetsMask = 32,
SpvImageOperandsSampleMask = 64,
SpvImageOperandsMinLodMask = 128,
SpvImageOperandsMakeTexelAvailableMask = 256,
SpvImageOperandsMakeTexelVisibleMask = 512,
SpvImageOperandsNonPrivateTexelMask = 1024,
SpvImageOperandsVolatileTexelMask = 2048,
SpvImageOperandsSignExtendMask = 4096,
SpvImageOperandsZeroExtendMask = 8192,
SpvImageOperandsNontemporalMask = 16384,
SpvImageOperandsOffsetsMask = 65536,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvFPFastMathModeShift {
SpvFPFastMathModeNotNaNShift = 0,
SpvFPFastMathModeNotInfShift = 1,
SpvFPFastMathModeNSZShift = 2,
SpvFPFastMathModeAllowRecipShift = 3,
SpvFPFastMathModeFastShift = 4,
SpvFPFastMathModeAllowContractFastINTELShift = 16,
SpvFPFastMathModeAllowReassocINTELShift = 17,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvFPFastMathModeMask {
None = 0,
SpvFPFastMathModeNotNaNMask = 1,
SpvFPFastMathModeNotInfMask = 2,
SpvFPFastMathModeNSZMask = 4,
SpvFPFastMathModeAllowRecipMask = 8,
SpvFPFastMathModeFastMask = 16,
SpvFPFastMathModeAllowContractFastINTELMask = 65536,
SpvFPFastMathModeAllowReassocINTELMask = 131072,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvFPRoundingMode {
RTE = 0,
RTZ = 1,
RTP = 2,
RTN = 3,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvLinkageType {
Export = 0,
Import = 1,
LinkOnceODR = 2,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvAccessQualifier {
ReadOnly = 0,
WriteOnly = 1,
ReadWrite = 2,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvFunctionParameterAttribute {
Zext = 0,
Sext = 1,
ByVal = 2,
Sret = 3,
NoAlias = 4,
NoCapture = 5,
NoWrite = 6,
NoReadWrite = 7,
}
impl SpvDecoration {
pub const PerPrimitiveNV: SpvDecoration = SpvDecoration::PerPrimitiveEXT;
}
impl SpvDecoration {
pub const PerVertexNV: SpvDecoration = SpvDecoration::PerVertexKHR;
}
impl SpvDecoration {
pub const NonUniformEXT: SpvDecoration = SpvDecoration::NonUniform;
}
impl SpvDecoration {
pub const RestrictPointerEXT: SpvDecoration = SpvDecoration::RestrictPointer;
}
impl SpvDecoration {
pub const AliasedPointerEXT: SpvDecoration = SpvDecoration::AliasedPointer;
}
impl SpvDecoration {
pub const HlslCounterBufferGOOGLE: SpvDecoration = SpvDecoration::CounterBuffer;
}
impl SpvDecoration {
pub const UserSemantic: SpvDecoration = SpvDecoration::HlslSemanticGOOGLE;
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvDecoration {
RelaxedPrecision = 0,
SpecId = 1,
Block = 2,
BufferBlock = 3,
RowMajor = 4,
ColMajor = 5,
ArrayStride = 6,
MatrixStride = 7,
GLSLShared = 8,
GLSLPacked = 9,
CPacked = 10,
BuiltIn = 11,
NoPerspective = 13,
Flat = 14,
Patch = 15,
Centroid = 16,
Sample = 17,
Invariant = 18,
Restrict = 19,
Aliased = 20,
Volatile = 21,
Constant = 22,
Coherent = 23,
NonWritable = 24,
NonReadable = 25,
Uniform = 26,
UniformId = 27,
SaturatedConversion = 28,
Stream = 29,
Location = 30,
Component = 31,
Index = 32,
Binding = 33,
DescriptorSet = 34,
Offset = 35,
XfbBuffer = 36,
XfbStride = 37,
FuncParamAttr = 38,
FPRoundingMode = 39,
FPFastMathMode = 40,
LinkageAttributes = 41,
NoContraction = 42,
InputAttachmentIndex = 43,
Alignment = 44,
MaxByteOffset = 45,
AlignmentId = 46,
MaxByteOffsetId = 47,
NoSignedWrap = 4469,
NoUnsignedWrap = 4470,
WeightTextureQCOM = 4487,
BlockMatchTextureQCOM = 4488,
ExplicitInterpAMD = 4999,
OverrideCoverageNV = 5248,
PassthroughNV = 5250,
ViewportRelativeNV = 5252,
SecondaryViewportRelativeNV = 5256,
PerPrimitiveEXT = 5271,
PerViewNV = 5272,
PerTaskNV = 5273,
PerVertexKHR = 5285,
NonUniform = 5300,
RestrictPointer = 5355,
AliasedPointer = 5356,
BindlessSamplerNV = 5398,
BindlessImageNV = 5399,
BoundSamplerNV = 5400,
BoundImageNV = 5401,
SIMTCallINTEL = 5599,
ReferencedIndirectlyINTEL = 5602,
ClobberINTEL = 5607,
SideEffectsINTEL = 5608,
VectorComputeVariableINTEL = 5624,
FuncParamIOKindINTEL = 5625,
VectorComputeFunctionINTEL = 5626,
StackCallINTEL = 5627,
GlobalVariableOffsetINTEL = 5628,
CounterBuffer = 5634,
HlslSemanticGOOGLE = 5635,
UserTypeGOOGLE = 5636,
FunctionRoundingModeINTEL = 5822,
FunctionDenormModeINTEL = 5823,
RegisterINTEL = 5825,
MemoryINTEL = 5826,
NumbanksINTEL = 5827,
BankwidthINTEL = 5828,
MaxPrivateCopiesINTEL = 5829,
SinglepumpINTEL = 5830,
DoublepumpINTEL = 5831,
MaxReplicatesINTEL = 5832,
SimpleDualPortINTEL = 5833,
MergeINTEL = 5834,
BankBitsINTEL = 5835,
ForcePow2DepthINTEL = 5836,
BurstCoalesceINTEL = 5899,
CacheSizeINTEL = 5900,
DontStaticallyCoalesceINTEL = 5901,
PrefetchINTEL = 5902,
StallEnableINTEL = 5905,
FuseLoopsInFunctionINTEL = 5907,
AliasScopeINTEL = 5914,
NoAliasINTEL = 5915,
BufferLocationINTEL = 5921,
IOPipeStorageINTEL = 5944,
FunctionFloatingPointModeINTEL = 6080,
SingleElementVectorINTEL = 6085,
VectorComputeCallableFunctionINTEL = 6087,
MediaBlockIOINTEL = 6140,
}
impl SpvBuiltIn {
pub const SubgroupEqMaskKHR: SpvBuiltIn = SpvBuiltIn::SubgroupEqMask;
}
impl SpvBuiltIn {
pub const SubgroupGeMaskKHR: SpvBuiltIn = SpvBuiltIn::SubgroupGeMask;
}
impl SpvBuiltIn {
pub const SubgroupGtMaskKHR: SpvBuiltIn = SpvBuiltIn::SubgroupGtMask;
}
impl SpvBuiltIn {
pub const SubgroupLeMaskKHR: SpvBuiltIn = SpvBuiltIn::SubgroupLeMask;
}
impl SpvBuiltIn {
pub const SubgroupLtMaskKHR: SpvBuiltIn = SpvBuiltIn::SubgroupLtMask;
}
impl SpvBuiltIn {
pub const BaryCoordNV: SpvBuiltIn = SpvBuiltIn::BaryCoordKHR;
}
impl SpvBuiltIn {
pub const BaryCoordNoPerspNV: SpvBuiltIn = SpvBuiltIn::BaryCoordNoPerspKHR;
}
impl SpvBuiltIn {
pub const FragmentSizeNV: SpvBuiltIn = SpvBuiltIn::FragSizeEXT;
}
impl SpvBuiltIn {
pub const InvocationsPerPixelNV: SpvBuiltIn = SpvBuiltIn::FragInvocationCountEXT;
}
impl SpvBuiltIn {
pub const LaunchIdNV: SpvBuiltIn = SpvBuiltIn::LaunchIdKHR;
}
impl SpvBuiltIn {
pub const LaunchSizeNV: SpvBuiltIn = SpvBuiltIn::LaunchSizeKHR;
}
impl SpvBuiltIn {
pub const WorldRayOriginNV: SpvBuiltIn = SpvBuiltIn::WorldRayOriginKHR;
}
impl SpvBuiltIn {
pub const WorldRayDirectionNV: SpvBuiltIn = SpvBuiltIn::WorldRayDirectionKHR;
}
impl SpvBuiltIn {
pub const ObjectRayOriginNV: SpvBuiltIn = SpvBuiltIn::ObjectRayOriginKHR;
}
impl SpvBuiltIn {
pub const ObjectRayDirectionNV: SpvBuiltIn = SpvBuiltIn::ObjectRayDirectionKHR;
}
impl SpvBuiltIn {
pub const RayTminNV: SpvBuiltIn = SpvBuiltIn::RayTminKHR;
}
impl SpvBuiltIn {
pub const RayTmaxNV: SpvBuiltIn = SpvBuiltIn::RayTmaxKHR;
}
impl SpvBuiltIn {
pub const InstanceCustomIndexNV: SpvBuiltIn = SpvBuiltIn::InstanceCustomIndexKHR;
}
impl SpvBuiltIn {
pub const ObjectToWorldNV: SpvBuiltIn = SpvBuiltIn::ObjectToWorldKHR;
}
impl SpvBuiltIn {
pub const WorldToObjectNV: SpvBuiltIn = SpvBuiltIn::WorldToObjectKHR;
}
impl SpvBuiltIn {
pub const HitKindNV: SpvBuiltIn = SpvBuiltIn::HitKindKHR;
}
impl SpvBuiltIn {
pub const IncomingRayFlagsNV: SpvBuiltIn = SpvBuiltIn::IncomingRayFlagsKHR;
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvBuiltIn {
Position = 0,
PointSize = 1,
ClipDistance = 3,
CullDistance = 4,
VertexId = 5,
InstanceId = 6,
PrimitiveId = 7,
InvocationId = 8,
Layer = 9,
ViewportIndex = 10,
TessLevelOuter = 11,
TessLevelInner = 12,
TessCoord = 13,
PatchVertices = 14,
FragCoord = 15,
PointCoord = 16,
FrontFacing = 17,
SampleId = 18,
SamplePosition = 19,
SampleMask = 20,
FragDepth = 22,
HelperInvocation = 23,
NumWorkgroups = 24,
WorkgroupSize = 25,
WorkgroupId = 26,
LocalInvocationId = 27,
GlobalInvocationId = 28,
LocalInvocationIndex = 29,
WorkDim = 30,
GlobalSize = 31,
EnqueuedWorkgroupSize = 32,
GlobalOffset = 33,
GlobalLinearId = 34,
SubgroupSize = 36,
SubgroupMaxSize = 37,
NumSubgroups = 38,
NumEnqueuedSubgroups = 39,
SubgroupId = 40,
SubgroupLocalInvocationId = 41,
VertexIndex = 42,
InstanceIndex = 43,
SubgroupEqMask = 4416,
SubgroupGeMask = 4417,
SubgroupGtMask = 4418,
SubgroupLeMask = 4419,
SubgroupLtMask = 4420,
BaseVertex = 4424,
BaseInstance = 4425,
DrawIndex = 4426,
PrimitiveShadingRateKHR = 4432,
DeviceIndex = 4438,
ViewIndex = 4440,
ShadingRateKHR = 4444,
BaryCoordNoPerspAMD = 4992,
BaryCoordNoPerspCentroidAMD = 4993,
BaryCoordNoPerspSampleAMD = 4994,
BaryCoordSmoothAMD = 4995,
BaryCoordSmoothCentroidAMD = 4996,
BaryCoordSmoothSampleAMD = 4997,
BaryCoordPullModelAMD = 4998,
FragStencilRefEXT = 5014,
ViewportMaskNV = 5253,
SecondaryPositionNV = 5257,
SecondaryViewportMaskNV = 5258,
PositionPerViewNV = 5261,
ViewportMaskPerViewNV = 5262,
FullyCoveredEXT = 5264,
TaskCountNV = 5274,
PrimitiveCountNV = 5275,
PrimitiveIndicesNV = 5276,
ClipDistancePerViewNV = 5277,
CullDistancePerViewNV = 5278,
LayerPerViewNV = 5279,
MeshViewCountNV = 5280,
MeshViewIndicesNV = 5281,
BaryCoordKHR = 5286,
BaryCoordNoPerspKHR = 5287,
FragSizeEXT = 5292,
FragInvocationCountEXT = 5293,
PrimitivePointIndicesEXT = 5294,
PrimitiveLineIndicesEXT = 5295,
PrimitiveTriangleIndicesEXT = 5296,
CullPrimitiveEXT = 5299,
LaunchIdKHR = 5319,
LaunchSizeKHR = 5320,
WorldRayOriginKHR = 5321,
WorldRayDirectionKHR = 5322,
ObjectRayOriginKHR = 5323,
ObjectRayDirectionKHR = 5324,
RayTminKHR = 5325,
RayTmaxKHR = 5326,
InstanceCustomIndexKHR = 5327,
ObjectToWorldKHR = 5330,
WorldToObjectKHR = 5331,
HitTNV = 5332,
HitKindKHR = 5333,
CurrentRayTimeNV = 5334,
IncomingRayFlagsKHR = 5351,
RayGeometryIndexKHR = 5352,
WarpsPerSMNV = 5374,
SMCountNV = 5375,
WarpIDNV = 5376,
SMIDNV = 5377,
CullMaskKHR = 6021,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvSelectionControlShift {
SpvSelectionControlFlattenShift = 0,
SpvSelectionControlDontFlattenShift = 1,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvSelectionControlMask {
None = 0,
SpvSelectionControlFlattenMask = 1,
SpvSelectionControlDontFlattenMask = 2,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvLoopControlShift {
SpvLoopControlUnrollShift = 0,
SpvLoopControlDontUnrollShift = 1,
SpvLoopControlDependencyInfiniteShift = 2,
SpvLoopControlDependencyLengthShift = 3,
SpvLoopControlMinIterationsShift = 4,
SpvLoopControlMaxIterationsShift = 5,
SpvLoopControlIterationMultipleShift = 6,
SpvLoopControlPeelCountShift = 7,
SpvLoopControlPartialCountShift = 8,
SpvLoopControlInitiationIntervalINTELShift = 16,
SpvLoopControlMaxConcurrencyINTELShift = 17,
SpvLoopControlDependencyArrayINTELShift = 18,
SpvLoopControlPipelineEnableINTELShift = 19,
SpvLoopControlLoopCoalesceINTELShift = 20,
SpvLoopControlMaxInterleavingINTELShift = 21,
SpvLoopControlSpeculatedIterationsINTELShift = 22,
SpvLoopControlNoFusionINTELShift = 23,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvLoopControlMask {
None = 0,
SpvLoopControlUnrollMask = 1,
SpvLoopControlDontUnrollMask = 2,
SpvLoopControlDependencyInfiniteMask = 4,
SpvLoopControlDependencyLengthMask = 8,
SpvLoopControlMinIterationsMask = 16,
SpvLoopControlMaxIterationsMask = 32,
SpvLoopControlIterationMultipleMask = 64,
SpvLoopControlPeelCountMask = 128,
SpvLoopControlPartialCountMask = 256,
SpvLoopControlInitiationIntervalINTELMask = 65536,
SpvLoopControlMaxConcurrencyINTELMask = 131072,
SpvLoopControlDependencyArrayINTELMask = 262144,
SpvLoopControlPipelineEnableINTELMask = 524288,
SpvLoopControlLoopCoalesceINTELMask = 1048576,
SpvLoopControlMaxInterleavingINTELMask = 2097152,
SpvLoopControlSpeculatedIterationsINTELMask = 4194304,
SpvLoopControlNoFusionINTELMask = 8388608,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvFunctionControlShift {
SpvFunctionControlInlineShift = 0,
SpvFunctionControlDontInlineShift = 1,
SpvFunctionControlPureShift = 2,
SpvFunctionControlConstShift = 3,
SpvFunctionControlOptNoneINTELShift = 16,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvFunctionControlMask {
None = 0,
SpvFunctionControlInlineMask = 1,
SpvFunctionControlDontInlineMask = 2,
SpvFunctionControlPureMask = 4,
SpvFunctionControlConstMask = 8,
SpvFunctionControlOptNoneINTELMask = 65536,
}
impl SpvMemorySemanticsShift {
pub const SpvMemorySemanticsOutputMemoryKHRShift: SpvMemorySemanticsShift =
SpvMemorySemanticsShift::SpvMemorySemanticsOutputMemoryShift;
}
impl SpvMemorySemanticsShift {
pub const SpvMemorySemanticsMakeAvailableKHRShift: SpvMemorySemanticsShift =
SpvMemorySemanticsShift::SpvMemorySemanticsMakeAvailableShift;
}
impl SpvMemorySemanticsShift {
pub const SpvMemorySemanticsMakeVisibleKHRShift: SpvMemorySemanticsShift =
SpvMemorySemanticsShift::SpvMemorySemanticsMakeVisibleShift;
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvMemorySemanticsShift {
SpvMemorySemanticsAcquireShift = 1,
SpvMemorySemanticsReleaseShift = 2,
SpvMemorySemanticsAcquireReleaseShift = 3,
SpvMemorySemanticsSequentiallyConsistentShift = 4,
SpvMemorySemanticsUniformMemoryShift = 6,
SpvMemorySemanticsSubgroupMemoryShift = 7,
SpvMemorySemanticsWorkgroupMemoryShift = 8,
SpvMemorySemanticsCrossWorkgroupMemoryShift = 9,
SpvMemorySemanticsAtomicCounterMemoryShift = 10,
SpvMemorySemanticsImageMemoryShift = 11,
SpvMemorySemanticsOutputMemoryShift = 12,
SpvMemorySemanticsMakeAvailableShift = 13,
SpvMemorySemanticsMakeVisibleShift = 14,
SpvMemorySemanticsVolatileShift = 15,
}
impl SpvMemorySemanticsMask {
pub const SpvMemorySemanticsOutputMemoryKHRMask: SpvMemorySemanticsMask =
SpvMemorySemanticsMask::SpvMemorySemanticsOutputMemoryMask;
}
impl SpvMemorySemanticsMask {
pub const SpvMemorySemanticsMakeAvailableKHRMask: SpvMemorySemanticsMask =
SpvMemorySemanticsMask::SpvMemorySemanticsMakeAvailableMask;
}
impl SpvMemorySemanticsMask {
pub const SpvMemorySemanticsMakeVisibleKHRMask: SpvMemorySemanticsMask =
SpvMemorySemanticsMask::SpvMemorySemanticsMakeVisibleMask;
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvMemorySemanticsMask {
None = 0,
SpvMemorySemanticsAcquireMask = 2,
SpvMemorySemanticsReleaseMask = 4,
SpvMemorySemanticsAcquireReleaseMask = 8,
SpvMemorySemanticsSequentiallyConsistentMask = 16,
SpvMemorySemanticsUniformMemoryMask = 64,
SpvMemorySemanticsSubgroupMemoryMask = 128,
SpvMemorySemanticsWorkgroupMemoryMask = 256,
SpvMemorySemanticsCrossWorkgroupMemoryMask = 512,
SpvMemorySemanticsAtomicCounterMemoryMask = 1024,
SpvMemorySemanticsImageMemoryMask = 2048,
SpvMemorySemanticsOutputMemoryMask = 4096,
SpvMemorySemanticsMakeAvailableMask = 8192,
SpvMemorySemanticsMakeVisibleMask = 16384,
SpvMemorySemanticsVolatileMask = 32768,
}
impl SpvMemoryAccessShift {
pub const SpvMemoryAccessMakePointerAvailableKHRShift: SpvMemoryAccessShift =
SpvMemoryAccessShift::SpvMemoryAccessMakePointerAvailableShift;
}
impl SpvMemoryAccessShift {
pub const SpvMemoryAccessMakePointerVisibleKHRShift: SpvMemoryAccessShift =
SpvMemoryAccessShift::SpvMemoryAccessMakePointerVisibleShift;
}
impl SpvMemoryAccessShift {
pub const SpvMemoryAccessNonPrivatePointerKHRShift: SpvMemoryAccessShift =
SpvMemoryAccessShift::SpvMemoryAccessNonPrivatePointerShift;
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvMemoryAccessShift {
SpvMemoryAccessVolatileShift = 0,
SpvMemoryAccessAlignedShift = 1,
SpvMemoryAccessNontemporalShift = 2,
SpvMemoryAccessMakePointerAvailableShift = 3,
SpvMemoryAccessMakePointerVisibleShift = 4,
SpvMemoryAccessNonPrivatePointerShift = 5,
SpvMemoryAccessAliasScopeINTELMaskShift = 16,
SpvMemoryAccessNoAliasINTELMaskShift = 17,
}
impl SpvMemoryAccessMask {
pub const SpvMemoryAccessMakePointerAvailableKHRMask: SpvMemoryAccessMask =
SpvMemoryAccessMask::SpvMemoryAccessMakePointerAvailableMask;
}
impl SpvMemoryAccessMask {
pub const SpvMemoryAccessMakePointerVisibleKHRMask: SpvMemoryAccessMask =
SpvMemoryAccessMask::SpvMemoryAccessMakePointerVisibleMask;
}
impl SpvMemoryAccessMask {
pub const SpvMemoryAccessNonPrivatePointerKHRMask: SpvMemoryAccessMask =
SpvMemoryAccessMask::SpvMemoryAccessNonPrivatePointerMask;
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvMemoryAccessMask {
None = 0,
SpvMemoryAccessVolatileMask = 1,
SpvMemoryAccessAlignedMask = 2,
SpvMemoryAccessNontemporalMask = 4,
SpvMemoryAccessMakePointerAvailableMask = 8,
SpvMemoryAccessMakePointerVisibleMask = 16,
SpvMemoryAccessNonPrivatePointerMask = 32,
SpvMemoryAccessAliasScopeINTELMaskMask = 65536,
SpvMemoryAccessNoAliasINTELMaskMask = 131072,
}
impl SpvScope {
pub const QueueFamilyKHR: SpvScope = SpvScope::QueueFamily;
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvScope {
CrossDevice = 0,
Device = 1,
Workgroup = 2,
Subgroup = 3,
Invocation = 4,
QueueFamily = 5,
ShaderCallKHR = 6,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvGroupOperation {
Reduce = 0,
InclusiveScan = 1,
ExclusiveScan = 2,
ClusteredReduce = 3,
PartitionedReduceNV = 6,
PartitionedInclusiveScanNV = 7,
PartitionedExclusiveScanNV = 8,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvKernelEnqueueFlags {
NoWait = 0,
WaitKernel = 1,
WaitWorkGroup = 2,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvKernelProfilingInfoShift {
SpvKernelProfilingInfoCmdExecTimeShift = 0,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvKernelProfilingInfoMask {
None = 0,
SpvKernelProfilingInfoCmdExecTimeMask = 1,
}
impl SpvCapability {
pub const StorageUniformBufferBlock16: SpvCapability = SpvCapability::StorageBuffer16BitAccess;
}
impl SpvCapability {
pub const UniformAndStorageBuffer16BitAccess: SpvCapability = SpvCapability::StorageUniform16;
}
impl SpvCapability {
pub const ShaderViewportIndexLayerNV: SpvCapability =
SpvCapability::ShaderViewportIndexLayerEXT;
}
impl SpvCapability {
pub const FragmentBarycentricNV: SpvCapability = SpvCapability::FragmentBarycentricKHR;
}
impl SpvCapability {
pub const ShadingRateNV: SpvCapability = SpvCapability::FragmentDensityEXT;
}
impl SpvCapability {
pub const ShaderNonUniformEXT: SpvCapability = SpvCapability::ShaderNonUniform;
}
impl SpvCapability {
pub const RuntimeDescriptorArrayEXT: SpvCapability = SpvCapability::RuntimeDescriptorArray;
}
impl SpvCapability {
pub const InputAttachmentArrayDynamicIndexingEXT: SpvCapability =
SpvCapability::InputAttachmentArrayDynamicIndexing;
}
impl SpvCapability {
pub const UniformTexelBufferArrayDynamicIndexingEXT: SpvCapability =
SpvCapability::UniformTexelBufferArrayDynamicIndexing;
}
impl SpvCapability {
pub const StorageTexelBufferArrayDynamicIndexingEXT: SpvCapability =
SpvCapability::StorageTexelBufferArrayDynamicIndexing;
}
impl SpvCapability {
pub const UniformBufferArrayNonUniformIndexingEXT: SpvCapability =
SpvCapability::UniformBufferArrayNonUniformIndexing;
}
impl SpvCapability {
pub const SampledImageArrayNonUniformIndexingEXT: SpvCapability =
SpvCapability::SampledImageArrayNonUniformIndexing;
}
impl SpvCapability {
pub const StorageBufferArrayNonUniformIndexingEXT: SpvCapability =
SpvCapability::StorageBufferArrayNonUniformIndexing;
}
impl SpvCapability {
pub const StorageImageArrayNonUniformIndexingEXT: SpvCapability =
SpvCapability::StorageImageArrayNonUniformIndexing;
}
impl SpvCapability {
pub const InputAttachmentArrayNonUniformIndexingEXT: SpvCapability =
SpvCapability::InputAttachmentArrayNonUniformIndexing;
}
impl SpvCapability {
pub const UniformTexelBufferArrayNonUniformIndexingEXT: SpvCapability =
SpvCapability::UniformTexelBufferArrayNonUniformIndexing;
}
impl SpvCapability {
pub const StorageTexelBufferArrayNonUniformIndexingEXT: SpvCapability =
SpvCapability::StorageTexelBufferArrayNonUniformIndexing;
}
impl SpvCapability {
pub const VulkanMemoryModelKHR: SpvCapability = SpvCapability::VulkanMemoryModel;
}
impl SpvCapability {
pub const VulkanMemoryModelDeviceScopeKHR: SpvCapability =
SpvCapability::VulkanMemoryModelDeviceScope;
}
impl SpvCapability {
pub const PhysicalStorageBufferAddressesEXT: SpvCapability =
SpvCapability::PhysicalStorageBufferAddresses;
}
impl SpvCapability {
pub const DemoteToHelperInvocationEXT: SpvCapability = SpvCapability::DemoteToHelperInvocation;
}
impl SpvCapability {
pub const DotProductInputAllKHR: SpvCapability = SpvCapability::DotProductInputAll;
}
impl SpvCapability {
pub const DotProductInput4x8BitKHR: SpvCapability = SpvCapability::DotProductInput4x8Bit;
}
impl SpvCapability {
pub const DotProductInput4x8BitPackedKHR: SpvCapability =
SpvCapability::DotProductInput4x8BitPacked;
}
impl SpvCapability {
pub const DotProductKHR: SpvCapability = SpvCapability::DotProduct;
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvCapability {
Matrix = 0,
Shader = 1,
Geometry = 2,
Tessellation = 3,
Addresses = 4,
Linkage = 5,
Kernel = 6,
Vector16 = 7,
Float16Buffer = 8,
Float16 = 9,
Float64 = 10,
Int64 = 11,
Int64Atomics = 12,
ImageBasic = 13,
ImageReadWrite = 14,
ImageMipmap = 15,
Pipes = 17,
Groups = 18,
DeviceEnqueue = 19,
LiteralSampler = 20,
AtomicStorage = 21,
Int16 = 22,
TessellationPointSize = 23,
GeometryPointSize = 24,
ImageGatherExtended = 25,
StorageImageMultisample = 27,
UniformBufferArrayDynamicIndexing = 28,
SampledImageArrayDynamicIndexing = 29,
StorageBufferArrayDynamicIndexing = 30,
StorageImageArrayDynamicIndexing = 31,
ClipDistance = 32,
CullDistance = 33,
ImageCubeArray = 34,
SampleRateShading = 35,
ImageRect = 36,
SampledRect = 37,
GenericPointer = 38,
Int8 = 39,
InputAttachment = 40,
SparseResidency = 41,
MinLod = 42,
Sampled1D = 43,
Image1D = 44,
SampledCubeArray = 45,
SampledBuffer = 46,
ImageBuffer = 47,
ImageMSArray = 48,
StorageImageExtendedFormats = 49,
ImageQuery = 50,
DerivativeControl = 51,
InterpolationFunction = 52,
TransformFeedback = 53,
GeometryStreams = 54,
StorageImageReadWithoutFormat = 55,
StorageImageWriteWithoutFormat = 56,
MultiViewport = 57,
SubgroupDispatch = 58,
NamedBarrier = 59,
PipeStorage = 60,
GroupNonUniform = 61,
GroupNonUniformVote = 62,
GroupNonUniformArithmetic = 63,
GroupNonUniformBallot = 64,
GroupNonUniformShuffle = 65,
GroupNonUniformShuffleRelative = 66,
GroupNonUniformClustered = 67,
GroupNonUniformQuad = 68,
ShaderLayer = 69,
ShaderViewportIndex = 70,
UniformDecoration = 71,
FragmentShadingRateKHR = 4422,
SubgroupBallotKHR = 4423,
DrawParameters = 4427,
WorkgroupMemoryExplicitLayoutKHR = 4428,
WorkgroupMemoryExplicitLayout8BitAccessKHR = 4429,
WorkgroupMemoryExplicitLayout16BitAccessKHR = 4430,
SubgroupVoteKHR = 4431,
StorageBuffer16BitAccess = 4433,
StorageUniform16 = 4434,
StoragePushConstant16 = 4435,
StorageInputOutput16 = 4436,
DeviceGroup = 4437,
MultiView = 4439,
VariablePointersStorageBuffer = 4441,
VariablePointers = 4442,
AtomicStorageOps = 4445,
SampleMaskPostDepthCoverage = 4447,
StorageBuffer8BitAccess = 4448,
UniformAndStorageBuffer8BitAccess = 4449,
StoragePushConstant8 = 4450,
DenormPreserve = 4464,
DenormFlushToZero = 4465,
SignedZeroInfNanPreserve = 4466,
RoundingModeRTE = 4467,
RoundingModeRTZ = 4468,
RayQueryProvisionalKHR = 4471,
RayQueryKHR = 4472,
RayTraversalPrimitiveCullingKHR = 4478,
RayTracingKHR = 4479,
TextureSampleWeightedQCOM = 4484,
TextureBoxFilterQCOM = 4485,
TextureBlockMatchQCOM = 4486,
Float16ImageAMD = 5008,
ImageGatherBiasLodAMD = 5009,
FragmentMaskAMD = 5010,
StencilExportEXT = 5013,
ImageReadWriteLodAMD = 5015,
Int64ImageEXT = 5016,
ShaderClockKHR = 5055,
SampleMaskOverrideCoverageNV = 5249,
GeometryShaderPassthroughNV = 5251,
ShaderViewportIndexLayerEXT = 5254,
ShaderViewportMaskNV = 5255,
ShaderStereoViewNV = 5259,
PerViewAttributesNV = 5260,
FragmentFullyCoveredEXT = 5265,
MeshShadingNV = 5266,
ImageFootprintNV = 5282,
MeshShadingEXT = 5283,
FragmentBarycentricKHR = 5284,
ComputeDerivativeGroupQuadsNV = 5288,
FragmentDensityEXT = 5291,
GroupNonUniformPartitionedNV = 5297,
ShaderNonUniform = 5301,
RuntimeDescriptorArray = 5302,
InputAttachmentArrayDynamicIndexing = 5303,
UniformTexelBufferArrayDynamicIndexing = 5304,
StorageTexelBufferArrayDynamicIndexing = 5305,
UniformBufferArrayNonUniformIndexing = 5306,
SampledImageArrayNonUniformIndexing = 5307,
StorageBufferArrayNonUniformIndexing = 5308,
StorageImageArrayNonUniformIndexing = 5309,
InputAttachmentArrayNonUniformIndexing = 5310,
UniformTexelBufferArrayNonUniformIndexing = 5311,
StorageTexelBufferArrayNonUniformIndexing = 5312,
RayTracingNV = 5340,
RayTracingMotionBlurNV = 5341,
VulkanMemoryModel = 5345,
VulkanMemoryModelDeviceScope = 5346,
PhysicalStorageBufferAddresses = 5347,
ComputeDerivativeGroupLinearNV = 5350,
RayTracingProvisionalKHR = 5353,
CooperativeMatrixNV = 5357,
FragmentShaderSampleInterlockEXT = 5363,
FragmentShaderShadingRateInterlockEXT = 5372,
ShaderSMBuiltinsNV = 5373,
FragmentShaderPixelInterlockEXT = 5378,
DemoteToHelperInvocation = 5379,
BindlessTextureNV = 5390,
SubgroupShuffleINTEL = 5568,
SubgroupBufferBlockIOINTEL = 5569,
SubgroupImageBlockIOINTEL = 5570,
SubgroupImageMediaBlockIOINTEL = 5579,
RoundToInfinityINTEL = 5582,
FloatingPointModeINTEL = 5583,
IntegerFunctions2INTEL = 5584,
FunctionPointersINTEL = 5603,
IndirectReferencesINTEL = 5604,
AsmINTEL = 5606,
AtomicFloat32MinMaxEXT = 5612,
AtomicFloat64MinMaxEXT = 5613,
AtomicFloat16MinMaxEXT = 5616,
VectorComputeINTEL = 5617,
VectorAnyINTEL = 5619,
ExpectAssumeKHR = 5629,
SubgroupAvcMotionEstimationINTEL = 5696,
SubgroupAvcMotionEstimationIntraINTEL = 5697,
SubgroupAvcMotionEstimationChromaINTEL = 5698,
VariableLengthArrayINTEL = 5817,
FunctionFloatControlINTEL = 5821,
FPGAMemoryAttributesINTEL = 5824,
FPFastMathModeINTEL = 5837,
ArbitraryPrecisionIntegersINTEL = 5844,
ArbitraryPrecisionFloatingPointINTEL = 5845,
UnstructuredLoopControlsINTEL = 5886,
FPGALoopControlsINTEL = 5888,
KernelAttributesINTEL = 5892,
FPGAKernelAttributesINTEL = 5897,
FPGAMemoryAccessesINTEL = 5898,
FPGAClusterAttributesINTEL = 5904,
LoopFuseINTEL = 5906,
MemoryAccessAliasingINTEL = 5910,
FPGABufferLocationINTEL = 5920,
ArbitraryPrecisionFixedPointINTEL = 5922,
USMStorageClassesINTEL = 5935,
IOPipesINTEL = 5943,
BlockingPipesINTEL = 5945,
FPGARegINTEL = 5948,
DotProductInputAll = 6016,
DotProductInput4x8Bit = 6017,
DotProductInput4x8BitPacked = 6018,
DotProduct = 6019,
RayCullMaskKHR = 6020,
BitInstructions = 6025,
GroupNonUniformRotateKHR = 6026,
AtomicFloat32AddEXT = 6033,
AtomicFloat64AddEXT = 6034,
LongConstantCompositeINTEL = 6089,
OptNoneINTEL = 6094,
AtomicFloat16AddEXT = 6095,
DebugInfoModuleINTEL = 6114,
SplitBarrierINTEL = 6141,
GroupUniformArithmeticKHR = 6400,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvRayFlagsShift {
SpvRayFlagsOpaqueKHRShift = 0,
SpvRayFlagsNoOpaqueKHRShift = 1,
SpvRayFlagsTerminateOnFirstHitKHRShift = 2,
SpvRayFlagsSkipClosestHitShaderKHRShift = 3,
SpvRayFlagsCullBackFacingTrianglesKHRShift = 4,
SpvRayFlagsCullFrontFacingTrianglesKHRShift = 5,
SpvRayFlagsCullOpaqueKHRShift = 6,
SpvRayFlagsCullNoOpaqueKHRShift = 7,
SpvRayFlagsSkipTrianglesKHRShift = 8,
SpvRayFlagsSkipAABBsKHRShift = 9,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvRayFlagsMask {
None = 0,
SpvRayFlagsOpaqueKHRMask = 1,
SpvRayFlagsNoOpaqueKHRMask = 2,
SpvRayFlagsTerminateOnFirstHitKHRMask = 4,
SpvRayFlagsSkipClosestHitShaderKHRMask = 8,
SpvRayFlagsCullBackFacingTrianglesKHRMask = 16,
SpvRayFlagsCullFrontFacingTrianglesKHRMask = 32,
SpvRayFlagsCullOpaqueKHRMask = 64,
SpvRayFlagsCullNoOpaqueKHRMask = 128,
SpvRayFlagsSkipTrianglesKHRMask = 256,
SpvRayFlagsSkipAABBsKHRMask = 512,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvRayQueryIntersection {
RayQueryCandidateIntersectionKHR = 0,
RayQueryCommittedIntersectionKHR = 1,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvRayQueryCommittedIntersectionType {
RayQueryCommittedIntersectionNoneKHR = 0,
RayQueryCommittedIntersectionTriangleKHR = 1,
RayQueryCommittedIntersectionGeneratedKHR = 2,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvRayQueryCandidateIntersectionType {
RayQueryCandidateIntersectionTriangleKHR = 0,
RayQueryCandidateIntersectionAABBKHR = 1,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvFragmentShadingRateShift {
SpvFragmentShadingRateVertical2PixelsShift = 0,
SpvFragmentShadingRateVertical4PixelsShift = 1,
SpvFragmentShadingRateHorizontal2PixelsShift = 2,
SpvFragmentShadingRateHorizontal4PixelsShift = 3,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvFragmentShadingRateMask {
None = 0,
SpvFragmentShadingRateVertical2PixelsMask = 1,
SpvFragmentShadingRateVertical4PixelsMask = 2,
SpvFragmentShadingRateHorizontal2PixelsMask = 4,
SpvFragmentShadingRateHorizontal4PixelsMask = 8,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvFPDenormMode {
Preserve = 0,
FlushToZero = 1,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvFPOperationMode {
IEEE = 0,
ALT = 1,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvQuantizationModes {
TRN = 0,
TRN_ZERO = 1,
RND = 2,
RND_ZERO = 3,
RND_INF = 4,
RND_MIN_INF = 5,
RND_CONV = 6,
RND_CONV_ODD = 7,
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvOverflowModes {
WRAP = 0,
SAT = 1,
SAT_ZERO = 2,
SAT_SYM = 3,
}
impl SpvPackedVectorFormat {
pub const PackedVectorFormat4x8BitKHR: SpvPackedVectorFormat =
SpvPackedVectorFormat::PackedVectorFormat4x8Bit;
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvPackedVectorFormat {
PackedVectorFormat4x8Bit = 0,
}
impl SpvOp {
pub const SDotKHR: SpvOp = SpvOp::SDot;
}
impl SpvOp {
pub const UDotKHR: SpvOp = SpvOp::UDot;
}
impl SpvOp {
pub const SUDotKHR: SpvOp = SpvOp::SUDot;
}
impl SpvOp {
pub const SDotAccSatKHR: SpvOp = SpvOp::SDotAccSat;
}
impl SpvOp {
pub const UDotAccSatKHR: SpvOp = SpvOp::UDotAccSat;
}
impl SpvOp {
pub const SUDotAccSatKHR: SpvOp = SpvOp::SUDotAccSat;
}
impl SpvOp {
pub const ReportIntersectionNV: SpvOp = SpvOp::ReportIntersectionKHR;
}
impl SpvOp {
pub const TypeAccelerationStructureNV: SpvOp = SpvOp::TypeAccelerationStructureKHR;
}
impl SpvOp {
pub const DemoteToHelperInvocationEXT: SpvOp = SpvOp::DemoteToHelperInvocation;
}
impl SpvOp {
pub const DecorateStringGOOGLE: SpvOp = SpvOp::DecorateString;
}
impl SpvOp {
pub const MemberDecorateStringGOOGLE: SpvOp = SpvOp::MemberDecorateString;
}
#[repr(i32)]
#[derive(
Debug, Copy, Clone, Hash, PartialEq, Eq, num_derive :: FromPrimitive, num_derive :: ToPrimitive,
)]
pub enum SpvOp {
Nop = 0,
Undef = 1,
SourceContinued = 2,
Source = 3,
SourceExtension = 4,
Name = 5,
MemberName = 6,
String = 7,
Line = 8,
Extension = 10,
ExtInstImport = 11,
ExtInst = 12,
MemoryModel = 14,
EntryPoint = 15,
ExecutionMode = 16,
Capability = 17,
TypeVoid = 19,
TypeBool = 20,
TypeInt = 21,
TypeFloat = 22,
TypeVector = 23,
TypeMatrix = 24,
TypeImage = 25,
TypeSampler = 26,
TypeSampledImage = 27,
TypeArray = 28,
TypeRuntimeArray = 29,
TypeStruct = 30,
TypeOpaque = 31,
TypePointer = 32,
TypeFunction = 33,
TypeEvent = 34,
TypeDeviceEvent = 35,
TypeReserveId = 36,
TypeQueue = 37,
TypePipe = 38,
TypeForwardPointer = 39,
ConstantTrue = 41,
ConstantFalse = 42,
Constant = 43,
ConstantComposite = 44,
ConstantSampler = 45,
ConstantNull = 46,
SpecConstantTrue = 48,
SpecConstantFalse = 49,
SpecConstant = 50,
SpecConstantComposite = 51,
SpecConstantOp = 52,
Function = 54,
FunctionParameter = 55,
FunctionEnd = 56,
FunctionCall = 57,
Variable = 59,
ImageTexelPointer = 60,
Load = 61,
Store = 62,
CopyMemory = 63,
CopyMemorySized = 64,
AccessChain = 65,
InBoundsAccessChain = 66,
PtrAccessChain = 67,
ArrayLength = 68,
GenericPtrMemSemantics = 69,
InBoundsPtrAccessChain = 70,
Decorate = 71,
MemberDecorate = 72,
DecorationGroup = 73,
GroupDecorate = 74,
GroupMemberDecorate = 75,
VectorExtractDynamic = 77,
VectorInsertDynamic = 78,
VectorShuffle = 79,
CompositeConstruct = 80,
CompositeExtract = 81,
CompositeInsert = 82,
CopyObject = 83,
Transpose = 84,
SampledImage = 86,
ImageSampleImplicitLod = 87,
ImageSampleExplicitLod = 88,
ImageSampleDrefImplicitLod = 89,
ImageSampleDrefExplicitLod = 90,
ImageSampleProjImplicitLod = 91,
ImageSampleProjExplicitLod = 92,
ImageSampleProjDrefImplicitLod = 93,
ImageSampleProjDrefExplicitLod = 94,
ImageFetch = 95,
ImageGather = 96,
ImageDrefGather = 97,
ImageRead = 98,
ImageWrite = 99,
Image = 100,
ImageQueryFormat = 101,
ImageQueryOrder = 102,
ImageQuerySizeLod = 103,
ImageQuerySize = 104,
ImageQueryLod = 105,
ImageQueryLevels = 106,
ImageQuerySamples = 107,
ConvertFToU = 109,
ConvertFToS = 110,
ConvertSToF = 111,
ConvertUToF = 112,
UConvert = 113,
SConvert = 114,
FConvert = 115,
QuantizeToF16 = 116,
ConvertPtrToU = 117,
SatConvertSToU = 118,
SatConvertUToS = 119,
ConvertUToPtr = 120,
PtrCastToGeneric = 121,
GenericCastToPtr = 122,
GenericCastToPtrExplicit = 123,
Bitcast = 124,
SNegate = 126,
FNegate = 127,
IAdd = 128,
FAdd = 129,
ISub = 130,
FSub = 131,
IMul = 132,
FMul = 133,
UDiv = 134,
SDiv = 135,
FDiv = 136,
UMod = 137,
SRem = 138,
SMod = 139,
FRem = 140,
FMod = 141,
VectorTimesScalar = 142,
MatrixTimesScalar = 143,
VectorTimesMatrix = 144,
MatrixTimesVector = 145,
MatrixTimesMatrix = 146,
OuterProduct = 147,
Dot = 148,
IAddCarry = 149,
ISubBorrow = 150,
UMulExtended = 151,
SMulExtended = 152,
Any = 154,
All = 155,
IsNan = 156,
IsInf = 157,
IsFinite = 158,
IsNormal = 159,
SignBitSet = 160,
LessOrGreater = 161,
Ordered = 162,
Unordered = 163,
LogicalEqual = 164,
LogicalNotEqual = 165,
LogicalOr = 166,
LogicalAnd = 167,
LogicalNot = 168,
Select = 169,
IEqual = 170,
INotEqual = 171,
UGreaterThan = 172,
SGreaterThan = 173,
UGreaterThanEqual = 174,
SGreaterThanEqual = 175,
ULessThan = 176,
SLessThan = 177,
ULessThanEqual = 178,
SLessThanEqual = 179,
FOrdEqual = 180,
FUnordEqual = 181,
FOrdNotEqual = 182,
FUnordNotEqual = 183,
FOrdLessThan = 184,
FUnordLessThan = 185,
FOrdGreaterThan = 186,
FUnordGreaterThan = 187,
FOrdLessThanEqual = 188,
FUnordLessThanEqual = 189,
FOrdGreaterThanEqual = 190,
FUnordGreaterThanEqual = 191,
ShiftRightLogical = 194,
ShiftRightArithmetic = 195,
ShiftLeftLogical = 196,
BitwiseOr = 197,
BitwiseXor = 198,
BitwiseAnd = 199,
Not = 200,
BitFieldInsert = 201,
BitFieldSExtract = 202,
BitFieldUExtract = 203,
BitReverse = 204,
BitCount = 205,
DPdx = 207,
DPdy = 208,
Fwidth = 209,
DPdxFine = 210,
DPdyFine = 211,
FwidthFine = 212,
DPdxCoarse = 213,
DPdyCoarse = 214,
FwidthCoarse = 215,
EmitVertex = 218,
EndPrimitive = 219,
EmitStreamVertex = 220,
EndStreamPrimitive = 221,
ControlBarrier = 224,
MemoryBarrier = 225,
AtomicLoad = 227,
AtomicStore = 228,
AtomicExchange = 229,
AtomicCompareExchange = 230,
AtomicCompareExchangeWeak = 231,
AtomicIIncrement = 232,
AtomicIDecrement = 233,
AtomicIAdd = 234,
AtomicISub = 235,
AtomicSMin = 236,
AtomicUMin = 237,
AtomicAnd = 240,
AtomicOr = 241,
AtomicXor = 242,
Phi = 245,
LoopMerge = 246,
SelectionMerge = 247,
Label = 248,
Branch = 249,
BranchConditional = 250,
Switch = 251,
Kill = 252,
Return = 253,
ReturnValue = 254,
Unreachable = 255,
LifetimeStart = 256,
LifetimeStop = 257,
GroupAsyncCopy = 259,
GroupWaitEvents = 260,
GroupAll = 261,
GroupAny = 262,
GroupBroadcast = 263,
GroupIAdd = 264,
GroupFAdd = 265,
GroupFMin = 266,
GroupUMin = 267,
GroupSMin = 268,
ReadPipe = 274,
WritePipe = 275,
ReservedReadPipe = 276,
ReservedWritePipe = 277,
ReserveReadPipePackets = 278,
ReserveWritePipePackets = 279,
CommitReadPipe = 280,
CommitWritePipe = 281,
IsValidReserveId = 282,
GetNumPipePackets = 283,
GetMaxPipePackets = 284,
GroupReserveReadPipePackets = 285,
GroupReserveWritePipePackets = 286,
GroupCommitReadPipe = 287,
GroupCommitWritePipe = 288,
EnqueueMarker = 291,
EnqueueKernel = 292,
GetKernelNDrangeSubGroupCount = 293,
GetKernelNDrangeMaxSubGroupSize = 294,
GetKernelWorkGroupSize = 295,
GetKernelPreferredWorkGroupSizeMultiple = 296,
RetainEvent = 297,
ReleaseEvent = 298,
CreateUserEvent = 299,
IsValidEvent = 300,
SetUserEventStatus = 301,
CaptureEventProfilingInfo = 302,
GetDefaultQueue = 303,
BuildNDRange = 304,
ImageSparseSampleImplicitLod = 305,
ImageSparseSampleExplicitLod = 306,
ImageSparseSampleDrefImplicitLod = 307,
ImageSparseSampleDrefExplicitLod = 308,
ImageSparseSampleProjImplicitLod = 309,
ImageSparseSampleProjExplicitLod = 310,
ImageSparseSampleProjDrefImplicitLod = 311,
ImageSparseSampleProjDrefExplicitLod = 312,
ImageSparseFetch = 313,
ImageSparseGather = 314,
ImageSparseDrefGather = 315,
ImageSparseTexelsResident = 316,
NoLine = 317,
AtomicFlagTestAndSet = 318,
AtomicFlagClear = 319,
ImageSparseRead = 320,
SizeOf = 321,
TypePipeStorage = 322,
ConstantPipeStorage = 323,
CreatePipeFromPipeStorage = 324,
GetKernelLocalSizeForSubgroupCount = 325,
GetKernelMaxNumSubgroups = 326,
TypeNamedBarrier = 327,
NamedBarrierInitialize = 328,
MemoryNamedBarrier = 329,
ModuleProcessed = 330,
ExecutionModeId = 331,
DecorateId = 332,
GroupNonUniformElect = 333,
GroupNonUniformAll = 334,
GroupNonUniformAny = 335,
GroupNonUniformAllEqual = 336,
GroupNonUniformBroadcast = 337,
GroupNonUniformBroadcastFirst = 338,
GroupNonUniformBallot = 339,
GroupNonUniformInverseBallot = 340,
GroupNonUniformBallotBitExtract = 341,
GroupNonUniformBallotBitCount = 342,
GroupNonUniformBallotFindLSB = 343,
GroupNonUniformBallotFindMSB = 344,
GroupNonUniformShuffle = 345,
GroupNonUniformShuffleXor = 346,
GroupNonUniformShuffleUp = 347,
GroupNonUniformShuffleDown = 348,
GroupNonUniformIAdd = 349,
GroupNonUniformFAdd = 350,
GroupNonUniformIMul = 351,
GroupNonUniformFMul = 352,
GroupNonUniformSMin = 353,
GroupNonUniformUMin = 354,
GroupNonUniformFMin = 355,
GroupNonUniformBitwiseAnd = 359,
GroupNonUniformBitwiseOr = 360,
GroupNonUniformBitwiseXor = 361,
GroupNonUniformLogicalAnd = 362,
GroupNonUniformLogicalOr = 363,
GroupNonUniformLogicalXor = 364,
GroupNonUniformQuadBroadcast = 365,
GroupNonUniformQuadSwap = 366,
CopyLogical = 400,
PtrEqual = 401,
PtrNotEqual = 402,
PtrDiff = 403,
TerminateInvocation = 4416,
SubgroupBallotKHR = 4421,
SubgroupFirstInvocationKHR = 4422,
SubgroupAllKHR = 4428,
SubgroupAnyKHR = 4429,
SubgroupAllEqualKHR = 4430,
GroupNonUniformRotateKHR = 4431,
SubgroupReadInvocationKHR = 4432,
TraceRayKHR = 4445,
ExecuteCallableKHR = 4446,
ConvertUToAccelerationStructureKHR = 4447,
IgnoreIntersectionKHR = 4448,
TerminateRayKHR = 4449,
SDot = 4450,
UDot = 4451,
SUDot = 4452,
SDotAccSat = 4453,
UDotAccSat = 4454,
SUDotAccSat = 4455,
TypeRayQueryKHR = 4472,
RayQueryInitializeKHR = 4473,
RayQueryTerminateKHR = 4474,
RayQueryGenerateIntersectionKHR = 4475,
RayQueryConfirmIntersectionKHR = 4476,
RayQueryProceedKHR = 4477,
RayQueryGetIntersectionTypeKHR = 4479,
ImageSampleWeightedQCOM = 4480,
ImageBoxFilterQCOM = 4481,
ImageBlockMatchSSDQCOM = 4482,
ImageBlockMatchSADQCOM = 4483,
GroupIAddNonUniformAMD = 5000,
GroupFAddNonUniformAMD = 5001,
GroupFMinNonUniformAMD = 5002,
GroupUMinNonUniformAMD = 5003,
GroupSMinNonUniformAMD = 5004,
GroupFMaxNonUniformAMD = 5005,
GroupUMaxNonUniformAMD = 5006,
GroupSMaxNonUniformAMD = 5007,
FragmentMaskFetchAMD = 5011,
FragmentFetchAMD = 5012,
ReadClockKHR = 5056,
ImageSampleFootprintNV = 5283,
EmitMeshTasksEXT = 5294,
SetMeshOutputsEXT = 5295,
GroupNonUniformPartitionNV = 5296,
WritePackedPrimitiveIndices4x8NV = 5299,
ReportIntersectionKHR = 5334,
IgnoreIntersectionNV = 5335,
TerminateRayNV = 5336,
TraceNV = 5337,
TraceMotionNV = 5338,
TraceRayMotionNV = 5339,
TypeAccelerationStructureKHR = 5341,
ExecuteCallableNV = 5344,
TypeCooperativeMatrixNV = 5358,
CooperativeMatrixLoadNV = 5359,
CooperativeMatrixStoreNV = 5360,
CooperativeMatrixMulAddNV = 5361,
CooperativeMatrixLengthNV = 5362,
BeginInvocationInterlockEXT = 5364,
EndInvocationInterlockEXT = 5365,
DemoteToHelperInvocation = 5380,
IsHelperInvocationEXT = 5381,
ConvertUToImageNV = 5391,
ConvertUToSamplerNV = 5392,
ConvertImageToUNV = 5393,
ConvertSamplerToUNV = 5394,
ConvertUToSampledImageNV = 5395,
ConvertSampledImageToUNV = 5396,
SamplerImageAddressingModeNV = 5397,
SubgroupShuffleINTEL = 5571,
SubgroupShuffleDownINTEL = 5572,
SubgroupShuffleUpINTEL = 5573,
SubgroupShuffleXorINTEL = 5574,
SubgroupBlockReadINTEL = 5575,
SubgroupBlockWriteINTEL = 5576,
SubgroupImageBlockReadINTEL = 5577,
SubgroupImageBlockWriteINTEL = 5578,
SubgroupImageMediaBlockReadINTEL = 5580,
SubgroupImageMediaBlockWriteINTEL = 5581,
UCountLeadingZerosINTEL = 5585,
UCountTrailingZerosINTEL = 5586,
AbsISubINTEL = 5587,
AbsUSubINTEL = 5588,
IAddSatINTEL = 5589,
UAddSatINTEL = 5590,
IAverageINTEL = 5591,
UAverageINTEL = 5592,
IAverageRoundedINTEL = 5593,
UAverageRoundedINTEL = 5594,
ISubSatINTEL = 5595,
USubSatINTEL = 5596,
IMul32x16INTEL = 5597,
UMul32x16INTEL = 5598,
ConstantFunctionPointerINTEL = 5600,
FunctionPointerCallINTEL = 5601,
AsmTargetINTEL = 5609,
AsmINTEL = 5610,
AsmCallINTEL = 5611,
AtomicFMinEXT = 5614,
AtomicFMaxEXT = 5615,
AssumeTrueKHR = 5630,
ExpectKHR = 5631,
DecorateString = 5632,
MemberDecorateString = 5633,
VmeImageINTEL = 5699,
TypeVmeImageINTEL = 5700,
TypeAvcImePayloadINTEL = 5701,
TypeAvcRefPayloadINTEL = 5702,
TypeAvcSicPayloadINTEL = 5703,
TypeAvcMcePayloadINTEL = 5704,
TypeAvcMceResultINTEL = 5705,
TypeAvcImeResultINTEL = 5706,
TypeAvcImeResultSingleReferenceStreamoutINTEL = 5707,
TypeAvcImeResultDualReferenceStreamoutINTEL = 5708,
TypeAvcImeSingleReferenceStreaminINTEL = 5709,
TypeAvcImeDualReferenceStreaminINTEL = 5710,
TypeAvcRefResultINTEL = 5711,
TypeAvcSicResultINTEL = 5712,
SubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = 5713,
SubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = 5714,
SubgroupAvcMceGetDefaultInterShapePenaltyINTEL = 5715,
SubgroupAvcMceSetInterShapePenaltyINTEL = 5716,
SubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = 5717,
SubgroupAvcMceSetInterDirectionPenaltyINTEL = 5718,
SubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = 5719,
SubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = 5720,
SubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = 5721,
SubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = 5722,
SubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = 5723,
SubgroupAvcMceSetMotionVectorCostFunctionINTEL = 5724,
SubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = 5725,
SubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = 5726,
SubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = 5727,
SubgroupAvcMceSetAcOnlyHaarINTEL = 5728,
SubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = 5729,
SubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = 5730,
SubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = 5731,
SubgroupAvcMceConvertToImePayloadINTEL = 5732,
SubgroupAvcMceConvertToImeResultINTEL = 5733,
SubgroupAvcMceConvertToRefPayloadINTEL = 5734,
SubgroupAvcMceConvertToRefResultINTEL = 5735,
SubgroupAvcMceConvertToSicPayloadINTEL = 5736,
SubgroupAvcMceConvertToSicResultINTEL = 5737,
SubgroupAvcMceGetMotionVectorsINTEL = 5738,
SubgroupAvcMceGetInterDistortionsINTEL = 5739,
SubgroupAvcMceGetBestInterDistortionsINTEL = 5740,
SubgroupAvcMceGetInterMajorShapeINTEL = 5741,
SubgroupAvcMceGetInterMinorShapeINTEL = 5742,
SubgroupAvcMceGetInterDirectionsINTEL = 5743,
SubgroupAvcMceGetInterMotionVectorCountINTEL = 5744,
SubgroupAvcMceGetInterReferenceIdsINTEL = 5745,
SubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = 5746,
SubgroupAvcImeInitializeINTEL = 5747,
SubgroupAvcImeSetSingleReferenceINTEL = 5748,
SubgroupAvcImeSetDualReferenceINTEL = 5749,
SubgroupAvcImeRefWindowSizeINTEL = 5750,
SubgroupAvcImeAdjustRefOffsetINTEL = 5751,
SubgroupAvcImeConvertToMcePayloadINTEL = 5752,
SubgroupAvcImeSetMaxMotionVectorCountINTEL = 5753,
SubgroupAvcImeSetUnidirectionalMixDisableINTEL = 5754,
SubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = 5755,
SubgroupAvcImeSetWeightedSadINTEL = 5756,
SubgroupAvcImeEvaluateWithSingleReferenceINTEL = 5757,
SubgroupAvcImeEvaluateWithDualReferenceINTEL = 5758,
SubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = 5759,
SubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = 5760,
SubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = 5761,
SubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = 5762,
SubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = 5763,
SubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = 5764,
SubgroupAvcImeConvertToMceResultINTEL = 5765,
SubgroupAvcImeGetSingleReferenceStreaminINTEL = 5766,
SubgroupAvcImeGetDualReferenceStreaminINTEL = 5767,
SubgroupAvcImeStripSingleReferenceStreamoutINTEL = 5768,
SubgroupAvcImeStripDualReferenceStreamoutINTEL = 5769,
SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = 5770,
SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = 5771,
SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = 5772,
SubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = 5773,
SubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = 5774,
SubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = 5775,
SubgroupAvcImeGetBorderReachedINTEL = 5776,
SubgroupAvcImeGetTruncatedSearchIndicationINTEL = 5777,
SubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = 5778,
SubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = 5779,
SubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = 5780,
SubgroupAvcFmeInitializeINTEL = 5781,
SubgroupAvcBmeInitializeINTEL = 5782,
SubgroupAvcRefConvertToMcePayloadINTEL = 5783,
SubgroupAvcRefSetBidirectionalMixDisableINTEL = 5784,
SubgroupAvcRefSetBilinearFilterEnableINTEL = 5785,
SubgroupAvcRefEvaluateWithSingleReferenceINTEL = 5786,
SubgroupAvcRefEvaluateWithDualReferenceINTEL = 5787,
SubgroupAvcRefEvaluateWithMultiReferenceINTEL = 5788,
SubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = 5789,
SubgroupAvcRefConvertToMceResultINTEL = 5790,
SubgroupAvcSicInitializeINTEL = 5791,
SubgroupAvcSicConfigureSkcINTEL = 5792,
SubgroupAvcSicConfigureIpeLumaINTEL = 5793,
SubgroupAvcSicConfigureIpeLumaChromaINTEL = 5794,
SubgroupAvcSicGetMotionVectorMaskINTEL = 5795,
SubgroupAvcSicConvertToMcePayloadINTEL = 5796,
SubgroupAvcSicSetIntraLumaShapePenaltyINTEL = 5797,
SubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = 5798,
SubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = 5799,
SubgroupAvcSicSetBilinearFilterEnableINTEL = 5800,
SubgroupAvcSicSetSkcForwardTransformEnableINTEL = 5801,
SubgroupAvcSicSetBlockBasedRawSkipSadINTEL = 5802,
SubgroupAvcSicEvaluateIpeINTEL = 5803,
SubgroupAvcSicEvaluateWithSingleReferenceINTEL = 5804,
SubgroupAvcSicEvaluateWithDualReferenceINTEL = 5805,
SubgroupAvcSicEvaluateWithMultiReferenceINTEL = 5806,
SubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = 5807,
SubgroupAvcSicConvertToMceResultINTEL = 5808,
SubgroupAvcSicGetIpeLumaShapeINTEL = 5809,
SubgroupAvcSicGetBestIpeLumaDistortionINTEL = 5810,
SubgroupAvcSicGetBestIpeChromaDistortionINTEL = 5811,
SubgroupAvcSicGetPackedIpeLumaModesINTEL = 5812,
SubgroupAvcSicGetIpeChromaModeINTEL = 5813,
SubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = 5814,
SubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = 5815,
SubgroupAvcSicGetInterRawSadsINTEL = 5816,
VariableLengthArrayINTEL = 5818,
SaveMemoryINTEL = 5819,
RestoreMemoryINTEL = 5820,
ArbitraryFloatSinCosPiINTEL = 5840,
ArbitraryFloatCastINTEL = 5841,
ArbitraryFloatCastFromIntINTEL = 5842,
ArbitraryFloatCastToIntINTEL = 5843,
ArbitraryFloatAddINTEL = 5846,
ArbitraryFloatSubINTEL = 5847,
ArbitraryFloatMulINTEL = 5848,
ArbitraryFloatDivINTEL = 5849,
ArbitraryFloatGTINTEL = 5850,
ArbitraryFloatGEINTEL = 5851,
ArbitraryFloatLTINTEL = 5852,
ArbitraryFloatLEINTEL = 5853,
ArbitraryFloatEQINTEL = 5854,
ArbitraryFloatRecipINTEL = 5855,
ArbitraryFloatRSqrtINTEL = 5856,
ArbitraryFloatCbrtINTEL = 5857,
ArbitraryFloatHypotINTEL = 5858,
ArbitraryFloatSqrtINTEL = 5859,
ArbitraryFloatLogINTEL = 5860,
ArbitraryFloatLog2INTEL = 5861,
ArbitraryFloatLog10INTEL = 5862,
ArbitraryFloatLog1pINTEL = 5863,
ArbitraryFloatExpINTEL = 5864,
ArbitraryFloatExp2INTEL = 5865,
ArbitraryFloatExp10INTEL = 5866,
ArbitraryFloatExpm1INTEL = 5867,
ArbitraryFloatSinINTEL = 5868,
ArbitraryFloatCosINTEL = 5869,
ArbitraryFloatSinCosINTEL = 5870,
ArbitraryFloatSinPiINTEL = 5871,
ArbitraryFloatCosPiINTEL = 5872,
ArbitraryFloatASinINTEL = 5873,
ArbitraryFloatASinPiINTEL = 5874,
ArbitraryFloatACosINTEL = 5875,
ArbitraryFloatACosPiINTEL = 5876,
ArbitraryFloatATanINTEL = 5877,
ArbitraryFloatATanPiINTEL = 5878,
ArbitraryFloatATan2INTEL = 5879,
ArbitraryFloatPowINTEL = 5880,
ArbitraryFloatPowRINTEL = 5881,
ArbitraryFloatPowNINTEL = 5882,
LoopControlINTEL = 5887,
AliasDomainDeclINTEL = 5911,
AliasScopeDeclINTEL = 5912,
AliasScopeListDeclINTEL = 5913,
FixedSqrtINTEL = 5923,
FixedRecipINTEL = 5924,
FixedRsqrtINTEL = 5925,
FixedSinINTEL = 5926,
FixedCosINTEL = 5927,
FixedSinCosINTEL = 5928,
FixedSinPiINTEL = 5929,
FixedCosPiINTEL = 5930,
FixedSinCosPiINTEL = 5931,
FixedLogINTEL = 5932,
FixedExpINTEL = 5933,
PtrCastToCrossWorkgroupINTEL = 5934,
CrossWorkgroupCastToPtrINTEL = 5938,
ReadPipeBlockingINTEL = 5946,
WritePipeBlockingINTEL = 5947,
FPGARegINTEL = 5949,
RayQueryGetRayTMinKHR = 6016,
RayQueryGetRayFlagsKHR = 6017,
RayQueryGetIntersectionTKHR = 6018,
RayQueryGetIntersectionInstanceCustomIndexKHR = 6019,
RayQueryGetIntersectionInstanceIdKHR = 6020,
RayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = 6021,
RayQueryGetIntersectionGeometryIndexKHR = 6022,
RayQueryGetIntersectionPrimitiveIndexKHR = 6023,
RayQueryGetIntersectionBarycentricsKHR = 6024,
RayQueryGetIntersectionFrontFaceKHR = 6025,
RayQueryGetIntersectionCandidateAABBOpaqueKHR = 6026,
RayQueryGetIntersectionObjectRayDirectionKHR = 6027,
RayQueryGetIntersectionObjectRayOriginKHR = 6028,
RayQueryGetWorldRayDirectionKHR = 6029,
RayQueryGetWorldRayOriginKHR = 6030,
RayQueryGetIntersectionObjectToWorldKHR = 6031,
RayQueryGetIntersectionWorldToObjectKHR = 6032,
AtomicFAddEXT = 6035,
TypeBufferSurfaceINTEL = 6086,
TypeStructContinuedINTEL = 6090,
ConstantCompositeContinuedINTEL = 6091,
SpecConstantCompositeContinuedINTEL = 6092,
ControlBarrierArriveINTEL = 6142,
ControlBarrierWaitINTEL = 6143,
GroupIMulKHR = 6401,
GroupFMulKHR = 6402,
GroupBitwiseAndKHR = 6403,
GroupBitwiseOrKHR = 6404,
GroupBitwiseXorKHR = 6405,
GroupLogicalAndKHR = 6406,
GroupLogicalOrKHR = 6407,
GroupLogicalXorKHR = 6408,
}
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,
);
}