1 /* automatically generated by rust-bindgen */ 2 3 #[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)] 4 pub mod root { 5 #[allow(unused_imports)] 6 use self::super::root; 7 pub mod spv { 8 #[allow(unused_imports)] 9 use self::super::super::root; 10 pub type Id = ::std::os::raw::c_uint; 11 #[repr(u32)] 12 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 13 pub enum SourceLanguage { 14 SourceLanguageUnknown = 0, 15 SourceLanguageESSL = 1, 16 SourceLanguageGLSL = 2, 17 SourceLanguageOpenCL_C = 3, 18 SourceLanguageOpenCL_CPP = 4, 19 SourceLanguageHLSL = 5, 20 SourceLanguageMax = 2147483647, 21 } 22 #[repr(u32)] 23 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 24 pub enum ExecutionModel { 25 ExecutionModelVertex = 0, 26 ExecutionModelTessellationControl = 1, 27 ExecutionModelTessellationEvaluation = 2, 28 ExecutionModelGeometry = 3, 29 ExecutionModelFragment = 4, 30 ExecutionModelGLCompute = 5, 31 ExecutionModelKernel = 6, 32 ExecutionModelTaskNV = 5267, 33 ExecutionModelMeshNV = 5268, 34 ExecutionModelRayGenerationNV = 5313, 35 ExecutionModelIntersectionNV = 5314, 36 ExecutionModelAnyHitNV = 5315, 37 ExecutionModelClosestHitNV = 5316, 38 ExecutionModelMissNV = 5317, 39 ExecutionModelCallableNV = 5318, 40 ExecutionModelMax = 2147483647, 41 } 42 #[repr(u32)] 43 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 44 pub enum AddressingModel { 45 AddressingModelLogical = 0, 46 AddressingModelPhysical32 = 1, 47 AddressingModelPhysical64 = 2, 48 AddressingModelPhysicalStorageBuffer64EXT = 5348, 49 AddressingModelMax = 2147483647, 50 } 51 #[repr(u32)] 52 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 53 pub enum MemoryModel { 54 MemoryModelSimple = 0, 55 MemoryModelGLSL450 = 1, 56 MemoryModelOpenCL = 2, 57 MemoryModelVulkanKHR = 3, 58 MemoryModelMax = 2147483647, 59 } 60 #[repr(u32)] 61 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 62 pub enum ExecutionMode { 63 ExecutionModeInvocations = 0, 64 ExecutionModeSpacingEqual = 1, 65 ExecutionModeSpacingFractionalEven = 2, 66 ExecutionModeSpacingFractionalOdd = 3, 67 ExecutionModeVertexOrderCw = 4, 68 ExecutionModeVertexOrderCcw = 5, 69 ExecutionModePixelCenterInteger = 6, 70 ExecutionModeOriginUpperLeft = 7, 71 ExecutionModeOriginLowerLeft = 8, 72 ExecutionModeEarlyFragmentTests = 9, 73 ExecutionModePointMode = 10, 74 ExecutionModeXfb = 11, 75 ExecutionModeDepthReplacing = 12, 76 ExecutionModeDepthGreater = 14, 77 ExecutionModeDepthLess = 15, 78 ExecutionModeDepthUnchanged = 16, 79 ExecutionModeLocalSize = 17, 80 ExecutionModeLocalSizeHint = 18, 81 ExecutionModeInputPoints = 19, 82 ExecutionModeInputLines = 20, 83 ExecutionModeInputLinesAdjacency = 21, 84 ExecutionModeTriangles = 22, 85 ExecutionModeInputTrianglesAdjacency = 23, 86 ExecutionModeQuads = 24, 87 ExecutionModeIsolines = 25, 88 ExecutionModeOutputVertices = 26, 89 ExecutionModeOutputPoints = 27, 90 ExecutionModeOutputLineStrip = 28, 91 ExecutionModeOutputTriangleStrip = 29, 92 ExecutionModeVecTypeHint = 30, 93 ExecutionModeContractionOff = 31, 94 ExecutionModeInitializer = 33, 95 ExecutionModeFinalizer = 34, 96 ExecutionModeSubgroupSize = 35, 97 ExecutionModeSubgroupsPerWorkgroup = 36, 98 ExecutionModeSubgroupsPerWorkgroupId = 37, 99 ExecutionModeLocalSizeId = 38, 100 ExecutionModeLocalSizeHintId = 39, 101 ExecutionModePostDepthCoverage = 4446, 102 ExecutionModeDenormPreserve = 4459, 103 ExecutionModeDenormFlushToZero = 4460, 104 ExecutionModeSignedZeroInfNanPreserve = 4461, 105 ExecutionModeRoundingModeRTE = 4462, 106 ExecutionModeRoundingModeRTZ = 4463, 107 ExecutionModeStencilRefReplacingEXT = 5027, 108 ExecutionModeOutputLinesNV = 5269, 109 ExecutionModeOutputPrimitivesNV = 5270, 110 ExecutionModeDerivativeGroupQuadsNV = 5289, 111 ExecutionModeDerivativeGroupLinearNV = 5290, 112 ExecutionModeOutputTrianglesNV = 5298, 113 ExecutionModeMax = 2147483647, 114 } 115 #[repr(u32)] 116 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 117 pub enum StorageClass { 118 StorageClassUniformConstant = 0, 119 StorageClassInput = 1, 120 StorageClassUniform = 2, 121 StorageClassOutput = 3, 122 StorageClassWorkgroup = 4, 123 StorageClassCrossWorkgroup = 5, 124 StorageClassPrivate = 6, 125 StorageClassFunction = 7, 126 StorageClassGeneric = 8, 127 StorageClassPushConstant = 9, 128 StorageClassAtomicCounter = 10, 129 StorageClassImage = 11, 130 StorageClassStorageBuffer = 12, 131 StorageClassCallableDataNV = 5328, 132 StorageClassIncomingCallableDataNV = 5329, 133 StorageClassRayPayloadNV = 5338, 134 StorageClassHitAttributeNV = 5339, 135 StorageClassIncomingRayPayloadNV = 5342, 136 StorageClassShaderRecordBufferNV = 5343, 137 StorageClassPhysicalStorageBufferEXT = 5349, 138 StorageClassMax = 2147483647, 139 } 140 #[repr(u32)] 141 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 142 pub enum Dim { 143 Dim1D = 0, 144 Dim2D = 1, 145 Dim3D = 2, 146 DimCube = 3, 147 DimRect = 4, 148 DimBuffer = 5, 149 DimSubpassData = 6, 150 DimMax = 2147483647, 151 } 152 #[repr(u32)] 153 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 154 pub enum SamplerAddressingMode { 155 SamplerAddressingModeNone = 0, 156 SamplerAddressingModeClampToEdge = 1, 157 SamplerAddressingModeClamp = 2, 158 SamplerAddressingModeRepeat = 3, 159 SamplerAddressingModeRepeatMirrored = 4, 160 SamplerAddressingModeMax = 2147483647, 161 } 162 #[repr(u32)] 163 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 164 pub enum SamplerFilterMode { 165 SamplerFilterModeNearest = 0, 166 SamplerFilterModeLinear = 1, 167 SamplerFilterModeMax = 2147483647, 168 } 169 #[repr(u32)] 170 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 171 pub enum ImageFormat { 172 ImageFormatUnknown = 0, 173 ImageFormatRgba32f = 1, 174 ImageFormatRgba16f = 2, 175 ImageFormatR32f = 3, 176 ImageFormatRgba8 = 4, 177 ImageFormatRgba8Snorm = 5, 178 ImageFormatRg32f = 6, 179 ImageFormatRg16f = 7, 180 ImageFormatR11fG11fB10f = 8, 181 ImageFormatR16f = 9, 182 ImageFormatRgba16 = 10, 183 ImageFormatRgb10A2 = 11, 184 ImageFormatRg16 = 12, 185 ImageFormatRg8 = 13, 186 ImageFormatR16 = 14, 187 ImageFormatR8 = 15, 188 ImageFormatRgba16Snorm = 16, 189 ImageFormatRg16Snorm = 17, 190 ImageFormatRg8Snorm = 18, 191 ImageFormatR16Snorm = 19, 192 ImageFormatR8Snorm = 20, 193 ImageFormatRgba32i = 21, 194 ImageFormatRgba16i = 22, 195 ImageFormatRgba8i = 23, 196 ImageFormatR32i = 24, 197 ImageFormatRg32i = 25, 198 ImageFormatRg16i = 26, 199 ImageFormatRg8i = 27, 200 ImageFormatR16i = 28, 201 ImageFormatR8i = 29, 202 ImageFormatRgba32ui = 30, 203 ImageFormatRgba16ui = 31, 204 ImageFormatRgba8ui = 32, 205 ImageFormatR32ui = 33, 206 ImageFormatRgb10a2ui = 34, 207 ImageFormatRg32ui = 35, 208 ImageFormatRg16ui = 36, 209 ImageFormatRg8ui = 37, 210 ImageFormatR16ui = 38, 211 ImageFormatR8ui = 39, 212 ImageFormatMax = 2147483647, 213 } 214 #[repr(u32)] 215 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 216 pub enum ImageChannelOrder { 217 ImageChannelOrderR = 0, 218 ImageChannelOrderA = 1, 219 ImageChannelOrderRG = 2, 220 ImageChannelOrderRA = 3, 221 ImageChannelOrderRGB = 4, 222 ImageChannelOrderRGBA = 5, 223 ImageChannelOrderBGRA = 6, 224 ImageChannelOrderARGB = 7, 225 ImageChannelOrderIntensity = 8, 226 ImageChannelOrderLuminance = 9, 227 ImageChannelOrderRx = 10, 228 ImageChannelOrderRGx = 11, 229 ImageChannelOrderRGBx = 12, 230 ImageChannelOrderDepth = 13, 231 ImageChannelOrderDepthStencil = 14, 232 ImageChannelOrdersRGB = 15, 233 ImageChannelOrdersRGBx = 16, 234 ImageChannelOrdersRGBA = 17, 235 ImageChannelOrdersBGRA = 18, 236 ImageChannelOrderABGR = 19, 237 ImageChannelOrderMax = 2147483647, 238 } 239 #[repr(u32)] 240 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 241 pub enum ImageChannelDataType { 242 ImageChannelDataTypeSnormInt8 = 0, 243 ImageChannelDataTypeSnormInt16 = 1, 244 ImageChannelDataTypeUnormInt8 = 2, 245 ImageChannelDataTypeUnormInt16 = 3, 246 ImageChannelDataTypeUnormShort565 = 4, 247 ImageChannelDataTypeUnormShort555 = 5, 248 ImageChannelDataTypeUnormInt101010 = 6, 249 ImageChannelDataTypeSignedInt8 = 7, 250 ImageChannelDataTypeSignedInt16 = 8, 251 ImageChannelDataTypeSignedInt32 = 9, 252 ImageChannelDataTypeUnsignedInt8 = 10, 253 ImageChannelDataTypeUnsignedInt16 = 11, 254 ImageChannelDataTypeUnsignedInt32 = 12, 255 ImageChannelDataTypeHalfFloat = 13, 256 ImageChannelDataTypeFloat = 14, 257 ImageChannelDataTypeUnormInt24 = 15, 258 ImageChannelDataTypeUnormInt101010_2 = 16, 259 ImageChannelDataTypeMax = 2147483647, 260 } 261 #[repr(u32)] 262 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 263 pub enum ImageOperandsShift { 264 ImageOperandsBiasShift = 0, 265 ImageOperandsLodShift = 1, 266 ImageOperandsGradShift = 2, 267 ImageOperandsConstOffsetShift = 3, 268 ImageOperandsOffsetShift = 4, 269 ImageOperandsConstOffsetsShift = 5, 270 ImageOperandsSampleShift = 6, 271 ImageOperandsMinLodShift = 7, 272 ImageOperandsMakeTexelAvailableKHRShift = 8, 273 ImageOperandsMakeTexelVisibleKHRShift = 9, 274 ImageOperandsNonPrivateTexelKHRShift = 10, 275 ImageOperandsVolatileTexelKHRShift = 11, 276 ImageOperandsMax = 2147483647, 277 } 278 pub const ImageOperandsMask_ImageOperandsMaskNone: 279 root::spv::ImageOperandsMask = 280 ImageOperandsMask(0); 281 pub const ImageOperandsMask_ImageOperandsBiasMask: 282 root::spv::ImageOperandsMask = 283 ImageOperandsMask(1); 284 pub const ImageOperandsMask_ImageOperandsLodMask: 285 root::spv::ImageOperandsMask = 286 ImageOperandsMask(2); 287 pub const ImageOperandsMask_ImageOperandsGradMask: 288 root::spv::ImageOperandsMask = 289 ImageOperandsMask(4); 290 pub const ImageOperandsMask_ImageOperandsConstOffsetMask: 291 root::spv::ImageOperandsMask = 292 ImageOperandsMask(8); 293 pub const ImageOperandsMask_ImageOperandsOffsetMask: 294 root::spv::ImageOperandsMask = 295 ImageOperandsMask(16); 296 pub const ImageOperandsMask_ImageOperandsConstOffsetsMask: 297 root::spv::ImageOperandsMask = 298 ImageOperandsMask(32); 299 pub const ImageOperandsMask_ImageOperandsSampleMask: 300 root::spv::ImageOperandsMask = 301 ImageOperandsMask(64); 302 pub const ImageOperandsMask_ImageOperandsMinLodMask: 303 root::spv::ImageOperandsMask = 304 ImageOperandsMask(128); 305 pub const ImageOperandsMask_ImageOperandsMakeTexelAvailableKHRMask: 306 root::spv::ImageOperandsMask = 307 ImageOperandsMask(256); 308 pub const ImageOperandsMask_ImageOperandsMakeTexelVisibleKHRMask: 309 root::spv::ImageOperandsMask = 310 ImageOperandsMask(512); 311 pub const ImageOperandsMask_ImageOperandsNonPrivateTexelKHRMask: 312 root::spv::ImageOperandsMask = 313 ImageOperandsMask(1024); 314 pub const ImageOperandsMask_ImageOperandsVolatileTexelKHRMask: 315 root::spv::ImageOperandsMask = 316 ImageOperandsMask(2048); 317 impl ::std::ops::BitOr<root::spv::ImageOperandsMask> for 318 root::spv::ImageOperandsMask { 319 type 320 Output 321 = 322 Self; 323 #[inline] bitor(self, other: Self) -> Self324 fn bitor(self, other: Self) -> Self { 325 ImageOperandsMask(self.0 | other.0) 326 } 327 } 328 impl ::std::ops::BitOrAssign for root::spv::ImageOperandsMask { 329 #[inline] bitor_assign(&mut self, rhs: root::spv::ImageOperandsMask)330 fn bitor_assign(&mut self, rhs: root::spv::ImageOperandsMask) { 331 self.0 |= rhs.0; 332 } 333 } 334 impl ::std::ops::BitAnd<root::spv::ImageOperandsMask> for 335 root::spv::ImageOperandsMask { 336 type 337 Output 338 = 339 Self; 340 #[inline] bitand(self, other: Self) -> Self341 fn bitand(self, other: Self) -> Self { 342 ImageOperandsMask(self.0 & other.0) 343 } 344 } 345 impl ::std::ops::BitAndAssign for root::spv::ImageOperandsMask { 346 #[inline] bitand_assign(&mut self, rhs: root::spv::ImageOperandsMask)347 fn bitand_assign(&mut self, rhs: root::spv::ImageOperandsMask) { 348 self.0 &= rhs.0; 349 } 350 } 351 #[repr(C)] 352 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 353 pub struct ImageOperandsMask(pub ::std::os::raw::c_uint); 354 #[repr(u32)] 355 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 356 pub enum FPFastMathModeShift { 357 FPFastMathModeNotNaNShift = 0, 358 FPFastMathModeNotInfShift = 1, 359 FPFastMathModeNSZShift = 2, 360 FPFastMathModeAllowRecipShift = 3, 361 FPFastMathModeFastShift = 4, 362 FPFastMathModeMax = 2147483647, 363 } 364 pub const FPFastMathModeMask_FPFastMathModeMaskNone: 365 root::spv::FPFastMathModeMask = 366 FPFastMathModeMask(0); 367 pub const FPFastMathModeMask_FPFastMathModeNotNaNMask: 368 root::spv::FPFastMathModeMask = 369 FPFastMathModeMask(1); 370 pub const FPFastMathModeMask_FPFastMathModeNotInfMask: 371 root::spv::FPFastMathModeMask = 372 FPFastMathModeMask(2); 373 pub const FPFastMathModeMask_FPFastMathModeNSZMask: 374 root::spv::FPFastMathModeMask = 375 FPFastMathModeMask(4); 376 pub const FPFastMathModeMask_FPFastMathModeAllowRecipMask: 377 root::spv::FPFastMathModeMask = 378 FPFastMathModeMask(8); 379 pub const FPFastMathModeMask_FPFastMathModeFastMask: 380 root::spv::FPFastMathModeMask = 381 FPFastMathModeMask(16); 382 impl ::std::ops::BitOr<root::spv::FPFastMathModeMask> for 383 root::spv::FPFastMathModeMask { 384 type 385 Output 386 = 387 Self; 388 #[inline] bitor(self, other: Self) -> Self389 fn bitor(self, other: Self) -> Self { 390 FPFastMathModeMask(self.0 | other.0) 391 } 392 } 393 impl ::std::ops::BitOrAssign for root::spv::FPFastMathModeMask { 394 #[inline] bitor_assign(&mut self, rhs: root::spv::FPFastMathModeMask)395 fn bitor_assign(&mut self, rhs: root::spv::FPFastMathModeMask) { 396 self.0 |= rhs.0; 397 } 398 } 399 impl ::std::ops::BitAnd<root::spv::FPFastMathModeMask> for 400 root::spv::FPFastMathModeMask { 401 type 402 Output 403 = 404 Self; 405 #[inline] bitand(self, other: Self) -> Self406 fn bitand(self, other: Self) -> Self { 407 FPFastMathModeMask(self.0 & other.0) 408 } 409 } 410 impl ::std::ops::BitAndAssign for root::spv::FPFastMathModeMask { 411 #[inline] bitand_assign(&mut self, rhs: root::spv::FPFastMathModeMask)412 fn bitand_assign(&mut self, rhs: root::spv::FPFastMathModeMask) { 413 self.0 &= rhs.0; 414 } 415 } 416 #[repr(C)] 417 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 418 pub struct FPFastMathModeMask(pub ::std::os::raw::c_uint); 419 #[repr(u32)] 420 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 421 pub enum FPRoundingMode { 422 FPRoundingModeRTE = 0, 423 FPRoundingModeRTZ = 1, 424 FPRoundingModeRTP = 2, 425 FPRoundingModeRTN = 3, 426 FPRoundingModeMax = 2147483647, 427 } 428 #[repr(u32)] 429 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 430 pub enum LinkageType { 431 LinkageTypeExport = 0, 432 LinkageTypeImport = 1, 433 LinkageTypeMax = 2147483647, 434 } 435 #[repr(u32)] 436 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 437 pub enum AccessQualifier { 438 AccessQualifierReadOnly = 0, 439 AccessQualifierWriteOnly = 1, 440 AccessQualifierReadWrite = 2, 441 AccessQualifierMax = 2147483647, 442 } 443 #[repr(u32)] 444 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 445 pub enum FunctionParameterAttribute { 446 FunctionParameterAttributeZext = 0, 447 FunctionParameterAttributeSext = 1, 448 FunctionParameterAttributeByVal = 2, 449 FunctionParameterAttributeSret = 3, 450 FunctionParameterAttributeNoAlias = 4, 451 FunctionParameterAttributeNoCapture = 5, 452 FunctionParameterAttributeNoWrite = 6, 453 FunctionParameterAttributeNoReadWrite = 7, 454 FunctionParameterAttributeMax = 2147483647, 455 } 456 #[repr(u32)] 457 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 458 pub enum Decoration { 459 DecorationRelaxedPrecision = 0, 460 DecorationSpecId = 1, 461 DecorationBlock = 2, 462 DecorationBufferBlock = 3, 463 DecorationRowMajor = 4, 464 DecorationColMajor = 5, 465 DecorationArrayStride = 6, 466 DecorationMatrixStride = 7, 467 DecorationGLSLShared = 8, 468 DecorationGLSLPacked = 9, 469 DecorationCPacked = 10, 470 DecorationBuiltIn = 11, 471 DecorationNoPerspective = 13, 472 DecorationFlat = 14, 473 DecorationPatch = 15, 474 DecorationCentroid = 16, 475 DecorationSample = 17, 476 DecorationInvariant = 18, 477 DecorationRestrict = 19, 478 DecorationAliased = 20, 479 DecorationVolatile = 21, 480 DecorationConstant = 22, 481 DecorationCoherent = 23, 482 DecorationNonWritable = 24, 483 DecorationNonReadable = 25, 484 DecorationUniform = 26, 485 DecorationSaturatedConversion = 28, 486 DecorationStream = 29, 487 DecorationLocation = 30, 488 DecorationComponent = 31, 489 DecorationIndex = 32, 490 DecorationBinding = 33, 491 DecorationDescriptorSet = 34, 492 DecorationOffset = 35, 493 DecorationXfbBuffer = 36, 494 DecorationXfbStride = 37, 495 DecorationFuncParamAttr = 38, 496 DecorationFPRoundingMode = 39, 497 DecorationFPFastMathMode = 40, 498 DecorationLinkageAttributes = 41, 499 DecorationNoContraction = 42, 500 DecorationInputAttachmentIndex = 43, 501 DecorationAlignment = 44, 502 DecorationMaxByteOffset = 45, 503 DecorationAlignmentId = 46, 504 DecorationMaxByteOffsetId = 47, 505 DecorationNoSignedWrap = 4469, 506 DecorationNoUnsignedWrap = 4470, 507 DecorationExplicitInterpAMD = 4999, 508 DecorationOverrideCoverageNV = 5248, 509 DecorationPassthroughNV = 5250, 510 DecorationViewportRelativeNV = 5252, 511 DecorationSecondaryViewportRelativeNV = 5256, 512 DecorationPerPrimitiveNV = 5271, 513 DecorationPerViewNV = 5272, 514 DecorationPerTaskNV = 5273, 515 DecorationPerVertexNV = 5285, 516 DecorationNonUniformEXT = 5300, 517 DecorationRestrictPointerEXT = 5355, 518 DecorationAliasedPointerEXT = 5356, 519 DecorationHlslCounterBufferGOOGLE = 5634, 520 DecorationHlslSemanticGOOGLE = 5635, 521 DecorationMax = 2147483647, 522 } 523 pub const BuiltIn_BuiltInSubgroupEqMaskKHR: root::spv::BuiltIn = 524 BuiltIn::BuiltInSubgroupEqMask; 525 pub const BuiltIn_BuiltInSubgroupGeMaskKHR: root::spv::BuiltIn = 526 BuiltIn::BuiltInSubgroupGeMask; 527 pub const BuiltIn_BuiltInSubgroupGtMaskKHR: root::spv::BuiltIn = 528 BuiltIn::BuiltInSubgroupGtMask; 529 pub const BuiltIn_BuiltInSubgroupLeMaskKHR: root::spv::BuiltIn = 530 BuiltIn::BuiltInSubgroupLeMask; 531 pub const BuiltIn_BuiltInSubgroupLtMaskKHR: root::spv::BuiltIn = 532 BuiltIn::BuiltInSubgroupLtMask; 533 pub const BuiltIn_BuiltInFragmentSizeNV: root::spv::BuiltIn = 534 BuiltIn::BuiltInFragSizeEXT; 535 pub const BuiltIn_BuiltInInvocationsPerPixelNV: root::spv::BuiltIn = 536 BuiltIn::BuiltInFragInvocationCountEXT; 537 #[repr(u32)] 538 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 539 pub enum BuiltIn { 540 BuiltInPosition = 0, 541 BuiltInPointSize = 1, 542 BuiltInClipDistance = 3, 543 BuiltInCullDistance = 4, 544 BuiltInVertexId = 5, 545 BuiltInInstanceId = 6, 546 BuiltInPrimitiveId = 7, 547 BuiltInInvocationId = 8, 548 BuiltInLayer = 9, 549 BuiltInViewportIndex = 10, 550 BuiltInTessLevelOuter = 11, 551 BuiltInTessLevelInner = 12, 552 BuiltInTessCoord = 13, 553 BuiltInPatchVertices = 14, 554 BuiltInFragCoord = 15, 555 BuiltInPointCoord = 16, 556 BuiltInFrontFacing = 17, 557 BuiltInSampleId = 18, 558 BuiltInSamplePosition = 19, 559 BuiltInSampleMask = 20, 560 BuiltInFragDepth = 22, 561 BuiltInHelperInvocation = 23, 562 BuiltInNumWorkgroups = 24, 563 BuiltInWorkgroupSize = 25, 564 BuiltInWorkgroupId = 26, 565 BuiltInLocalInvocationId = 27, 566 BuiltInGlobalInvocationId = 28, 567 BuiltInLocalInvocationIndex = 29, 568 BuiltInWorkDim = 30, 569 BuiltInGlobalSize = 31, 570 BuiltInEnqueuedWorkgroupSize = 32, 571 BuiltInGlobalOffset = 33, 572 BuiltInGlobalLinearId = 34, 573 BuiltInSubgroupSize = 36, 574 BuiltInSubgroupMaxSize = 37, 575 BuiltInNumSubgroups = 38, 576 BuiltInNumEnqueuedSubgroups = 39, 577 BuiltInSubgroupId = 40, 578 BuiltInSubgroupLocalInvocationId = 41, 579 BuiltInVertexIndex = 42, 580 BuiltInInstanceIndex = 43, 581 BuiltInSubgroupEqMask = 4416, 582 BuiltInSubgroupGeMask = 4417, 583 BuiltInSubgroupGtMask = 4418, 584 BuiltInSubgroupLeMask = 4419, 585 BuiltInSubgroupLtMask = 4420, 586 BuiltInBaseVertex = 4424, 587 BuiltInBaseInstance = 4425, 588 BuiltInDrawIndex = 4426, 589 BuiltInDeviceIndex = 4438, 590 BuiltInViewIndex = 4440, 591 BuiltInBaryCoordNoPerspAMD = 4992, 592 BuiltInBaryCoordNoPerspCentroidAMD = 4993, 593 BuiltInBaryCoordNoPerspSampleAMD = 4994, 594 BuiltInBaryCoordSmoothAMD = 4995, 595 BuiltInBaryCoordSmoothCentroidAMD = 4996, 596 BuiltInBaryCoordSmoothSampleAMD = 4997, 597 BuiltInBaryCoordPullModelAMD = 4998, 598 BuiltInFragStencilRefEXT = 5014, 599 BuiltInViewportMaskNV = 5253, 600 BuiltInSecondaryPositionNV = 5257, 601 BuiltInSecondaryViewportMaskNV = 5258, 602 BuiltInPositionPerViewNV = 5261, 603 BuiltInViewportMaskPerViewNV = 5262, 604 BuiltInFullyCoveredEXT = 5264, 605 BuiltInTaskCountNV = 5274, 606 BuiltInPrimitiveCountNV = 5275, 607 BuiltInPrimitiveIndicesNV = 5276, 608 BuiltInClipDistancePerViewNV = 5277, 609 BuiltInCullDistancePerViewNV = 5278, 610 BuiltInLayerPerViewNV = 5279, 611 BuiltInMeshViewCountNV = 5280, 612 BuiltInMeshViewIndicesNV = 5281, 613 BuiltInBaryCoordNV = 5286, 614 BuiltInBaryCoordNoPerspNV = 5287, 615 BuiltInFragSizeEXT = 5292, 616 BuiltInFragInvocationCountEXT = 5293, 617 BuiltInLaunchIdNV = 5319, 618 BuiltInLaunchSizeNV = 5320, 619 BuiltInWorldRayOriginNV = 5321, 620 BuiltInWorldRayDirectionNV = 5322, 621 BuiltInObjectRayOriginNV = 5323, 622 BuiltInObjectRayDirectionNV = 5324, 623 BuiltInRayTminNV = 5325, 624 BuiltInRayTmaxNV = 5326, 625 BuiltInInstanceCustomIndexNV = 5327, 626 BuiltInObjectToWorldNV = 5330, 627 BuiltInWorldToObjectNV = 5331, 628 BuiltInHitTNV = 5332, 629 BuiltInHitKindNV = 5333, 630 BuiltInIncomingRayFlagsNV = 5351, 631 BuiltInMax = 2147483647, 632 } 633 #[repr(u32)] 634 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 635 pub enum SelectionControlShift { 636 SelectionControlFlattenShift = 0, 637 SelectionControlDontFlattenShift = 1, 638 SelectionControlMax = 2147483647, 639 } 640 pub const SelectionControlMask_SelectionControlMaskNone: 641 root::spv::SelectionControlMask = 642 SelectionControlMask(0); 643 pub const SelectionControlMask_SelectionControlFlattenMask: 644 root::spv::SelectionControlMask = 645 SelectionControlMask(1); 646 pub const SelectionControlMask_SelectionControlDontFlattenMask: 647 root::spv::SelectionControlMask = 648 SelectionControlMask(2); 649 impl ::std::ops::BitOr<root::spv::SelectionControlMask> for 650 root::spv::SelectionControlMask { 651 type 652 Output 653 = 654 Self; 655 #[inline] bitor(self, other: Self) -> Self656 fn bitor(self, other: Self) -> Self { 657 SelectionControlMask(self.0 | other.0) 658 } 659 } 660 impl ::std::ops::BitOrAssign for root::spv::SelectionControlMask { 661 #[inline] bitor_assign(&mut self, rhs: root::spv::SelectionControlMask)662 fn bitor_assign(&mut self, rhs: root::spv::SelectionControlMask) { 663 self.0 |= rhs.0; 664 } 665 } 666 impl ::std::ops::BitAnd<root::spv::SelectionControlMask> for 667 root::spv::SelectionControlMask { 668 type 669 Output 670 = 671 Self; 672 #[inline] bitand(self, other: Self) -> Self673 fn bitand(self, other: Self) -> Self { 674 SelectionControlMask(self.0 & other.0) 675 } 676 } 677 impl ::std::ops::BitAndAssign for root::spv::SelectionControlMask { 678 #[inline] bitand_assign(&mut self, rhs: root::spv::SelectionControlMask)679 fn bitand_assign(&mut self, 680 rhs: root::spv::SelectionControlMask) { 681 self.0 &= rhs.0; 682 } 683 } 684 #[repr(C)] 685 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 686 pub struct SelectionControlMask(pub ::std::os::raw::c_uint); 687 #[repr(u32)] 688 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 689 pub enum LoopControlShift { 690 LoopControlUnrollShift = 0, 691 LoopControlDontUnrollShift = 1, 692 LoopControlDependencyInfiniteShift = 2, 693 LoopControlDependencyLengthShift = 3, 694 LoopControlMax = 2147483647, 695 } 696 pub const LoopControlMask_LoopControlMaskNone: 697 root::spv::LoopControlMask = 698 LoopControlMask(0); 699 pub const LoopControlMask_LoopControlUnrollMask: 700 root::spv::LoopControlMask = 701 LoopControlMask(1); 702 pub const LoopControlMask_LoopControlDontUnrollMask: 703 root::spv::LoopControlMask = 704 LoopControlMask(2); 705 pub const LoopControlMask_LoopControlDependencyInfiniteMask: 706 root::spv::LoopControlMask = 707 LoopControlMask(4); 708 pub const LoopControlMask_LoopControlDependencyLengthMask: 709 root::spv::LoopControlMask = 710 LoopControlMask(8); 711 impl ::std::ops::BitOr<root::spv::LoopControlMask> for 712 root::spv::LoopControlMask { 713 type 714 Output 715 = 716 Self; 717 #[inline] bitor(self, other: Self) -> Self718 fn bitor(self, other: Self) -> Self { 719 LoopControlMask(self.0 | other.0) 720 } 721 } 722 impl ::std::ops::BitOrAssign for root::spv::LoopControlMask { 723 #[inline] bitor_assign(&mut self, rhs: root::spv::LoopControlMask)724 fn bitor_assign(&mut self, rhs: root::spv::LoopControlMask) { 725 self.0 |= rhs.0; 726 } 727 } 728 impl ::std::ops::BitAnd<root::spv::LoopControlMask> for 729 root::spv::LoopControlMask { 730 type 731 Output 732 = 733 Self; 734 #[inline] bitand(self, other: Self) -> Self735 fn bitand(self, other: Self) -> Self { 736 LoopControlMask(self.0 & other.0) 737 } 738 } 739 impl ::std::ops::BitAndAssign for root::spv::LoopControlMask { 740 #[inline] bitand_assign(&mut self, rhs: root::spv::LoopControlMask)741 fn bitand_assign(&mut self, rhs: root::spv::LoopControlMask) { 742 self.0 &= rhs.0; 743 } 744 } 745 #[repr(C)] 746 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 747 pub struct LoopControlMask(pub ::std::os::raw::c_uint); 748 #[repr(u32)] 749 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 750 pub enum FunctionControlShift { 751 FunctionControlInlineShift = 0, 752 FunctionControlDontInlineShift = 1, 753 FunctionControlPureShift = 2, 754 FunctionControlConstShift = 3, 755 FunctionControlMax = 2147483647, 756 } 757 pub const FunctionControlMask_FunctionControlMaskNone: 758 root::spv::FunctionControlMask = 759 FunctionControlMask(0); 760 pub const FunctionControlMask_FunctionControlInlineMask: 761 root::spv::FunctionControlMask = 762 FunctionControlMask(1); 763 pub const FunctionControlMask_FunctionControlDontInlineMask: 764 root::spv::FunctionControlMask = 765 FunctionControlMask(2); 766 pub const FunctionControlMask_FunctionControlPureMask: 767 root::spv::FunctionControlMask = 768 FunctionControlMask(4); 769 pub const FunctionControlMask_FunctionControlConstMask: 770 root::spv::FunctionControlMask = 771 FunctionControlMask(8); 772 impl ::std::ops::BitOr<root::spv::FunctionControlMask> for 773 root::spv::FunctionControlMask { 774 type 775 Output 776 = 777 Self; 778 #[inline] bitor(self, other: Self) -> Self779 fn bitor(self, other: Self) -> Self { 780 FunctionControlMask(self.0 | other.0) 781 } 782 } 783 impl ::std::ops::BitOrAssign for root::spv::FunctionControlMask { 784 #[inline] bitor_assign(&mut self, rhs: root::spv::FunctionControlMask)785 fn bitor_assign(&mut self, rhs: root::spv::FunctionControlMask) { 786 self.0 |= rhs.0; 787 } 788 } 789 impl ::std::ops::BitAnd<root::spv::FunctionControlMask> for 790 root::spv::FunctionControlMask { 791 type 792 Output 793 = 794 Self; 795 #[inline] bitand(self, other: Self) -> Self796 fn bitand(self, other: Self) -> Self { 797 FunctionControlMask(self.0 & other.0) 798 } 799 } 800 impl ::std::ops::BitAndAssign for root::spv::FunctionControlMask { 801 #[inline] bitand_assign(&mut self, rhs: root::spv::FunctionControlMask)802 fn bitand_assign(&mut self, rhs: root::spv::FunctionControlMask) { 803 self.0 &= rhs.0; 804 } 805 } 806 #[repr(C)] 807 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 808 pub struct FunctionControlMask(pub ::std::os::raw::c_uint); 809 #[repr(u32)] 810 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 811 pub enum MemorySemanticsShift { 812 MemorySemanticsAcquireShift = 1, 813 MemorySemanticsReleaseShift = 2, 814 MemorySemanticsAcquireReleaseShift = 3, 815 MemorySemanticsSequentiallyConsistentShift = 4, 816 MemorySemanticsUniformMemoryShift = 6, 817 MemorySemanticsSubgroupMemoryShift = 7, 818 MemorySemanticsWorkgroupMemoryShift = 8, 819 MemorySemanticsCrossWorkgroupMemoryShift = 9, 820 MemorySemanticsAtomicCounterMemoryShift = 10, 821 MemorySemanticsImageMemoryShift = 11, 822 MemorySemanticsOutputMemoryKHRShift = 12, 823 MemorySemanticsMakeAvailableKHRShift = 13, 824 MemorySemanticsMakeVisibleKHRShift = 14, 825 MemorySemanticsMax = 2147483647, 826 } 827 pub const MemorySemanticsMask_MemorySemanticsMaskNone: 828 root::spv::MemorySemanticsMask = 829 MemorySemanticsMask(0); 830 pub const MemorySemanticsMask_MemorySemanticsAcquireMask: 831 root::spv::MemorySemanticsMask = 832 MemorySemanticsMask(2); 833 pub const MemorySemanticsMask_MemorySemanticsReleaseMask: 834 root::spv::MemorySemanticsMask = 835 MemorySemanticsMask(4); 836 pub const MemorySemanticsMask_MemorySemanticsAcquireReleaseMask: 837 root::spv::MemorySemanticsMask = 838 MemorySemanticsMask(8); 839 pub const MemorySemanticsMask_MemorySemanticsSequentiallyConsistentMask: 840 root::spv::MemorySemanticsMask = 841 MemorySemanticsMask(16); 842 pub const MemorySemanticsMask_MemorySemanticsUniformMemoryMask: 843 root::spv::MemorySemanticsMask = 844 MemorySemanticsMask(64); 845 pub const MemorySemanticsMask_MemorySemanticsSubgroupMemoryMask: 846 root::spv::MemorySemanticsMask = 847 MemorySemanticsMask(128); 848 pub const MemorySemanticsMask_MemorySemanticsWorkgroupMemoryMask: 849 root::spv::MemorySemanticsMask = 850 MemorySemanticsMask(256); 851 pub const MemorySemanticsMask_MemorySemanticsCrossWorkgroupMemoryMask: 852 root::spv::MemorySemanticsMask = 853 MemorySemanticsMask(512); 854 pub const MemorySemanticsMask_MemorySemanticsAtomicCounterMemoryMask: 855 root::spv::MemorySemanticsMask = 856 MemorySemanticsMask(1024); 857 pub const MemorySemanticsMask_MemorySemanticsImageMemoryMask: 858 root::spv::MemorySemanticsMask = 859 MemorySemanticsMask(2048); 860 pub const MemorySemanticsMask_MemorySemanticsOutputMemoryKHRMask: 861 root::spv::MemorySemanticsMask = 862 MemorySemanticsMask(4096); 863 pub const MemorySemanticsMask_MemorySemanticsMakeAvailableKHRMask: 864 root::spv::MemorySemanticsMask = 865 MemorySemanticsMask(8192); 866 pub const MemorySemanticsMask_MemorySemanticsMakeVisibleKHRMask: 867 root::spv::MemorySemanticsMask = 868 MemorySemanticsMask(16384); 869 impl ::std::ops::BitOr<root::spv::MemorySemanticsMask> for 870 root::spv::MemorySemanticsMask { 871 type 872 Output 873 = 874 Self; 875 #[inline] bitor(self, other: Self) -> Self876 fn bitor(self, other: Self) -> Self { 877 MemorySemanticsMask(self.0 | other.0) 878 } 879 } 880 impl ::std::ops::BitOrAssign for root::spv::MemorySemanticsMask { 881 #[inline] bitor_assign(&mut self, rhs: root::spv::MemorySemanticsMask)882 fn bitor_assign(&mut self, rhs: root::spv::MemorySemanticsMask) { 883 self.0 |= rhs.0; 884 } 885 } 886 impl ::std::ops::BitAnd<root::spv::MemorySemanticsMask> for 887 root::spv::MemorySemanticsMask { 888 type 889 Output 890 = 891 Self; 892 #[inline] bitand(self, other: Self) -> Self893 fn bitand(self, other: Self) -> Self { 894 MemorySemanticsMask(self.0 & other.0) 895 } 896 } 897 impl ::std::ops::BitAndAssign for root::spv::MemorySemanticsMask { 898 #[inline] bitand_assign(&mut self, rhs: root::spv::MemorySemanticsMask)899 fn bitand_assign(&mut self, rhs: root::spv::MemorySemanticsMask) { 900 self.0 &= rhs.0; 901 } 902 } 903 #[repr(C)] 904 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 905 pub struct MemorySemanticsMask(pub ::std::os::raw::c_uint); 906 #[repr(u32)] 907 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 908 pub enum MemoryAccessShift { 909 MemoryAccessVolatileShift = 0, 910 MemoryAccessAlignedShift = 1, 911 MemoryAccessNontemporalShift = 2, 912 MemoryAccessMakePointerAvailableKHRShift = 3, 913 MemoryAccessMakePointerVisibleKHRShift = 4, 914 MemoryAccessNonPrivatePointerKHRShift = 5, 915 MemoryAccessMax = 2147483647, 916 } 917 pub const MemoryAccessMask_MemoryAccessMaskNone: 918 root::spv::MemoryAccessMask = 919 MemoryAccessMask(0); 920 pub const MemoryAccessMask_MemoryAccessVolatileMask: 921 root::spv::MemoryAccessMask = 922 MemoryAccessMask(1); 923 pub const MemoryAccessMask_MemoryAccessAlignedMask: 924 root::spv::MemoryAccessMask = 925 MemoryAccessMask(2); 926 pub const MemoryAccessMask_MemoryAccessNontemporalMask: 927 root::spv::MemoryAccessMask = 928 MemoryAccessMask(4); 929 pub const MemoryAccessMask_MemoryAccessMakePointerAvailableKHRMask: 930 root::spv::MemoryAccessMask = 931 MemoryAccessMask(8); 932 pub const MemoryAccessMask_MemoryAccessMakePointerVisibleKHRMask: 933 root::spv::MemoryAccessMask = 934 MemoryAccessMask(16); 935 pub const MemoryAccessMask_MemoryAccessNonPrivatePointerKHRMask: 936 root::spv::MemoryAccessMask = 937 MemoryAccessMask(32); 938 impl ::std::ops::BitOr<root::spv::MemoryAccessMask> for 939 root::spv::MemoryAccessMask { 940 type 941 Output 942 = 943 Self; 944 #[inline] bitor(self, other: Self) -> Self945 fn bitor(self, other: Self) -> Self { 946 MemoryAccessMask(self.0 | other.0) 947 } 948 } 949 impl ::std::ops::BitOrAssign for root::spv::MemoryAccessMask { 950 #[inline] bitor_assign(&mut self, rhs: root::spv::MemoryAccessMask)951 fn bitor_assign(&mut self, rhs: root::spv::MemoryAccessMask) { 952 self.0 |= rhs.0; 953 } 954 } 955 impl ::std::ops::BitAnd<root::spv::MemoryAccessMask> for 956 root::spv::MemoryAccessMask { 957 type 958 Output 959 = 960 Self; 961 #[inline] bitand(self, other: Self) -> Self962 fn bitand(self, other: Self) -> Self { 963 MemoryAccessMask(self.0 & other.0) 964 } 965 } 966 impl ::std::ops::BitAndAssign for root::spv::MemoryAccessMask { 967 #[inline] bitand_assign(&mut self, rhs: root::spv::MemoryAccessMask)968 fn bitand_assign(&mut self, rhs: root::spv::MemoryAccessMask) { 969 self.0 &= rhs.0; 970 } 971 } 972 #[repr(C)] 973 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 974 pub struct MemoryAccessMask(pub ::std::os::raw::c_uint); 975 #[repr(u32)] 976 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 977 pub enum Scope { 978 ScopeCrossDevice = 0, 979 ScopeDevice = 1, 980 ScopeWorkgroup = 2, 981 ScopeSubgroup = 3, 982 ScopeInvocation = 4, 983 ScopeQueueFamilyKHR = 5, 984 ScopeMax = 2147483647, 985 } 986 #[repr(u32)] 987 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 988 pub enum GroupOperation { 989 GroupOperationReduce = 0, 990 GroupOperationInclusiveScan = 1, 991 GroupOperationExclusiveScan = 2, 992 GroupOperationClusteredReduce = 3, 993 GroupOperationPartitionedReduceNV = 6, 994 GroupOperationPartitionedInclusiveScanNV = 7, 995 GroupOperationPartitionedExclusiveScanNV = 8, 996 GroupOperationMax = 2147483647, 997 } 998 pub const KernelEnqueueFlags_KernelEnqueueFlagsNoWait: 999 root::spv::KernelEnqueueFlags = 1000 KernelEnqueueFlags(0); 1001 pub const KernelEnqueueFlags_KernelEnqueueFlagsWaitKernel: 1002 root::spv::KernelEnqueueFlags = 1003 KernelEnqueueFlags(1); 1004 pub const KernelEnqueueFlags_KernelEnqueueFlagsWaitWorkGroup: 1005 root::spv::KernelEnqueueFlags = 1006 KernelEnqueueFlags(2); 1007 pub const KernelEnqueueFlags_KernelEnqueueFlagsMax: 1008 root::spv::KernelEnqueueFlags = 1009 KernelEnqueueFlags(2147483647); 1010 impl ::std::ops::BitOr<root::spv::KernelEnqueueFlags> for 1011 root::spv::KernelEnqueueFlags { 1012 type 1013 Output 1014 = 1015 Self; 1016 #[inline] bitor(self, other: Self) -> Self1017 fn bitor(self, other: Self) -> Self { 1018 KernelEnqueueFlags(self.0 | other.0) 1019 } 1020 } 1021 impl ::std::ops::BitOrAssign for root::spv::KernelEnqueueFlags { 1022 #[inline] bitor_assign(&mut self, rhs: root::spv::KernelEnqueueFlags)1023 fn bitor_assign(&mut self, rhs: root::spv::KernelEnqueueFlags) { 1024 self.0 |= rhs.0; 1025 } 1026 } 1027 impl ::std::ops::BitAnd<root::spv::KernelEnqueueFlags> for 1028 root::spv::KernelEnqueueFlags { 1029 type 1030 Output 1031 = 1032 Self; 1033 #[inline] bitand(self, other: Self) -> Self1034 fn bitand(self, other: Self) -> Self { 1035 KernelEnqueueFlags(self.0 & other.0) 1036 } 1037 } 1038 impl ::std::ops::BitAndAssign for root::spv::KernelEnqueueFlags { 1039 #[inline] bitand_assign(&mut self, rhs: root::spv::KernelEnqueueFlags)1040 fn bitand_assign(&mut self, rhs: root::spv::KernelEnqueueFlags) { 1041 self.0 &= rhs.0; 1042 } 1043 } 1044 #[repr(C)] 1045 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 1046 pub struct KernelEnqueueFlags(pub ::std::os::raw::c_uint); 1047 #[repr(u32)] 1048 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 1049 pub enum KernelProfilingInfoShift { 1050 KernelProfilingInfoCmdExecTimeShift = 0, 1051 KernelProfilingInfoMax = 2147483647, 1052 } 1053 pub const KernelProfilingInfoMask_KernelProfilingInfoMaskNone: 1054 root::spv::KernelProfilingInfoMask = 1055 KernelProfilingInfoMask(0); 1056 pub const KernelProfilingInfoMask_KernelProfilingInfoCmdExecTimeMask: 1057 root::spv::KernelProfilingInfoMask = 1058 KernelProfilingInfoMask(1); 1059 impl ::std::ops::BitOr<root::spv::KernelProfilingInfoMask> for 1060 root::spv::KernelProfilingInfoMask { 1061 type 1062 Output 1063 = 1064 Self; 1065 #[inline] bitor(self, other: Self) -> Self1066 fn bitor(self, other: Self) -> Self { 1067 KernelProfilingInfoMask(self.0 | other.0) 1068 } 1069 } 1070 impl ::std::ops::BitOrAssign for root::spv::KernelProfilingInfoMask { 1071 #[inline] bitor_assign(&mut self, rhs: root::spv::KernelProfilingInfoMask)1072 fn bitor_assign(&mut self, 1073 rhs: root::spv::KernelProfilingInfoMask) { 1074 self.0 |= rhs.0; 1075 } 1076 } 1077 impl ::std::ops::BitAnd<root::spv::KernelProfilingInfoMask> for 1078 root::spv::KernelProfilingInfoMask { 1079 type 1080 Output 1081 = 1082 Self; 1083 #[inline] bitand(self, other: Self) -> Self1084 fn bitand(self, other: Self) -> Self { 1085 KernelProfilingInfoMask(self.0 & other.0) 1086 } 1087 } 1088 impl ::std::ops::BitAndAssign for root::spv::KernelProfilingInfoMask { 1089 #[inline] bitand_assign(&mut self, rhs: root::spv::KernelProfilingInfoMask)1090 fn bitand_assign(&mut self, 1091 rhs: root::spv::KernelProfilingInfoMask) { 1092 self.0 &= rhs.0; 1093 } 1094 } 1095 #[repr(C)] 1096 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 1097 pub struct KernelProfilingInfoMask(pub ::std::os::raw::c_uint); 1098 pub const Capability_CapabilityStorageUniformBufferBlock16: 1099 root::spv::Capability = 1100 Capability::CapabilityStorageBuffer16BitAccess; 1101 pub const Capability_CapabilityUniformAndStorageBuffer16BitAccess: 1102 root::spv::Capability = 1103 Capability::CapabilityStorageUniform16; 1104 pub const Capability_CapabilityShaderViewportIndexLayerNV: 1105 root::spv::Capability = 1106 Capability::CapabilityShaderViewportIndexLayerEXT; 1107 pub const Capability_CapabilityShadingRateNV: root::spv::Capability = 1108 Capability::CapabilityFragmentDensityEXT; 1109 #[repr(u32)] 1110 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 1111 pub enum Capability { 1112 CapabilityMatrix = 0, 1113 CapabilityShader = 1, 1114 CapabilityGeometry = 2, 1115 CapabilityTessellation = 3, 1116 CapabilityAddresses = 4, 1117 CapabilityLinkage = 5, 1118 CapabilityKernel = 6, 1119 CapabilityVector16 = 7, 1120 CapabilityFloat16Buffer = 8, 1121 CapabilityFloat16 = 9, 1122 CapabilityFloat64 = 10, 1123 CapabilityInt64 = 11, 1124 CapabilityInt64Atomics = 12, 1125 CapabilityImageBasic = 13, 1126 CapabilityImageReadWrite = 14, 1127 CapabilityImageMipmap = 15, 1128 CapabilityPipes = 17, 1129 CapabilityGroups = 18, 1130 CapabilityDeviceEnqueue = 19, 1131 CapabilityLiteralSampler = 20, 1132 CapabilityAtomicStorage = 21, 1133 CapabilityInt16 = 22, 1134 CapabilityTessellationPointSize = 23, 1135 CapabilityGeometryPointSize = 24, 1136 CapabilityImageGatherExtended = 25, 1137 CapabilityStorageImageMultisample = 27, 1138 CapabilityUniformBufferArrayDynamicIndexing = 28, 1139 CapabilitySampledImageArrayDynamicIndexing = 29, 1140 CapabilityStorageBufferArrayDynamicIndexing = 30, 1141 CapabilityStorageImageArrayDynamicIndexing = 31, 1142 CapabilityClipDistance = 32, 1143 CapabilityCullDistance = 33, 1144 CapabilityImageCubeArray = 34, 1145 CapabilitySampleRateShading = 35, 1146 CapabilityImageRect = 36, 1147 CapabilitySampledRect = 37, 1148 CapabilityGenericPointer = 38, 1149 CapabilityInt8 = 39, 1150 CapabilityInputAttachment = 40, 1151 CapabilitySparseResidency = 41, 1152 CapabilityMinLod = 42, 1153 CapabilitySampled1D = 43, 1154 CapabilityImage1D = 44, 1155 CapabilitySampledCubeArray = 45, 1156 CapabilitySampledBuffer = 46, 1157 CapabilityImageBuffer = 47, 1158 CapabilityImageMSArray = 48, 1159 CapabilityStorageImageExtendedFormats = 49, 1160 CapabilityImageQuery = 50, 1161 CapabilityDerivativeControl = 51, 1162 CapabilityInterpolationFunction = 52, 1163 CapabilityTransformFeedback = 53, 1164 CapabilityGeometryStreams = 54, 1165 CapabilityStorageImageReadWithoutFormat = 55, 1166 CapabilityStorageImageWriteWithoutFormat = 56, 1167 CapabilityMultiViewport = 57, 1168 CapabilitySubgroupDispatch = 58, 1169 CapabilityNamedBarrier = 59, 1170 CapabilityPipeStorage = 60, 1171 CapabilityGroupNonUniform = 61, 1172 CapabilityGroupNonUniformVote = 62, 1173 CapabilityGroupNonUniformArithmetic = 63, 1174 CapabilityGroupNonUniformBallot = 64, 1175 CapabilityGroupNonUniformShuffle = 65, 1176 CapabilityGroupNonUniformShuffleRelative = 66, 1177 CapabilityGroupNonUniformClustered = 67, 1178 CapabilityGroupNonUniformQuad = 68, 1179 CapabilitySubgroupBallotKHR = 4423, 1180 CapabilityDrawParameters = 4427, 1181 CapabilitySubgroupVoteKHR = 4431, 1182 CapabilityStorageBuffer16BitAccess = 4433, 1183 CapabilityStorageUniform16 = 4434, 1184 CapabilityStoragePushConstant16 = 4435, 1185 CapabilityStorageInputOutput16 = 4436, 1186 CapabilityDeviceGroup = 4437, 1187 CapabilityMultiView = 4439, 1188 CapabilityVariablePointersStorageBuffer = 4441, 1189 CapabilityVariablePointers = 4442, 1190 CapabilityAtomicStorageOps = 4445, 1191 CapabilitySampleMaskPostDepthCoverage = 4447, 1192 CapabilityStorageBuffer8BitAccess = 4448, 1193 CapabilityUniformAndStorageBuffer8BitAccess = 4449, 1194 CapabilityStoragePushConstant8 = 4450, 1195 CapabilityDenormPreserve = 4464, 1196 CapabilityDenormFlushToZero = 4465, 1197 CapabilitySignedZeroInfNanPreserve = 4466, 1198 CapabilityRoundingModeRTE = 4467, 1199 CapabilityRoundingModeRTZ = 4468, 1200 CapabilityFloat16ImageAMD = 5008, 1201 CapabilityImageGatherBiasLodAMD = 5009, 1202 CapabilityFragmentMaskAMD = 5010, 1203 CapabilityStencilExportEXT = 5013, 1204 CapabilityImageReadWriteLodAMD = 5015, 1205 CapabilitySampleMaskOverrideCoverageNV = 5249, 1206 CapabilityGeometryShaderPassthroughNV = 5251, 1207 CapabilityShaderViewportIndexLayerEXT = 5254, 1208 CapabilityShaderViewportMaskNV = 5255, 1209 CapabilityShaderStereoViewNV = 5259, 1210 CapabilityPerViewAttributesNV = 5260, 1211 CapabilityFragmentFullyCoveredEXT = 5265, 1212 CapabilityMeshShadingNV = 5266, 1213 CapabilityImageFootprintNV = 5282, 1214 CapabilityFragmentBarycentricNV = 5284, 1215 CapabilityComputeDerivativeGroupQuadsNV = 5288, 1216 CapabilityFragmentDensityEXT = 5291, 1217 CapabilityGroupNonUniformPartitionedNV = 5297, 1218 CapabilityShaderNonUniformEXT = 5301, 1219 CapabilityRuntimeDescriptorArrayEXT = 5302, 1220 CapabilityInputAttachmentArrayDynamicIndexingEXT = 5303, 1221 CapabilityUniformTexelBufferArrayDynamicIndexingEXT = 5304, 1222 CapabilityStorageTexelBufferArrayDynamicIndexingEXT = 5305, 1223 CapabilityUniformBufferArrayNonUniformIndexingEXT = 5306, 1224 CapabilitySampledImageArrayNonUniformIndexingEXT = 5307, 1225 CapabilityStorageBufferArrayNonUniformIndexingEXT = 5308, 1226 CapabilityStorageImageArrayNonUniformIndexingEXT = 5309, 1227 CapabilityInputAttachmentArrayNonUniformIndexingEXT = 5310, 1228 CapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311, 1229 CapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312, 1230 CapabilityRayTracingNV = 5340, 1231 CapabilityVulkanMemoryModelKHR = 5345, 1232 CapabilityVulkanMemoryModelDeviceScopeKHR = 5346, 1233 CapabilityPhysicalStorageBufferAddressesEXT = 5347, 1234 CapabilityComputeDerivativeGroupLinearNV = 5350, 1235 CapabilitySubgroupShuffleINTEL = 5568, 1236 CapabilitySubgroupBufferBlockIOINTEL = 5569, 1237 CapabilitySubgroupImageBlockIOINTEL = 5570, 1238 CapabilitySubgroupImageMediaBlockIOINTEL = 5579, 1239 CapabilityMax = 2147483647, 1240 } 1241 #[repr(u32)] 1242 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 1243 pub enum Op { 1244 OpNop = 0, 1245 OpUndef = 1, 1246 OpSourceContinued = 2, 1247 OpSource = 3, 1248 OpSourceExtension = 4, 1249 OpName = 5, 1250 OpMemberName = 6, 1251 OpString = 7, 1252 OpLine = 8, 1253 OpExtension = 10, 1254 OpExtInstImport = 11, 1255 OpExtInst = 12, 1256 OpMemoryModel = 14, 1257 OpEntryPoint = 15, 1258 OpExecutionMode = 16, 1259 OpCapability = 17, 1260 OpTypeVoid = 19, 1261 OpTypeBool = 20, 1262 OpTypeInt = 21, 1263 OpTypeFloat = 22, 1264 OpTypeVector = 23, 1265 OpTypeMatrix = 24, 1266 OpTypeImage = 25, 1267 OpTypeSampler = 26, 1268 OpTypeSampledImage = 27, 1269 OpTypeArray = 28, 1270 OpTypeRuntimeArray = 29, 1271 OpTypeStruct = 30, 1272 OpTypeOpaque = 31, 1273 OpTypePointer = 32, 1274 OpTypeFunction = 33, 1275 OpTypeEvent = 34, 1276 OpTypeDeviceEvent = 35, 1277 OpTypeReserveId = 36, 1278 OpTypeQueue = 37, 1279 OpTypePipe = 38, 1280 OpTypeForwardPointer = 39, 1281 OpConstantTrue = 41, 1282 OpConstantFalse = 42, 1283 OpConstant = 43, 1284 OpConstantComposite = 44, 1285 OpConstantSampler = 45, 1286 OpConstantNull = 46, 1287 OpSpecConstantTrue = 48, 1288 OpSpecConstantFalse = 49, 1289 OpSpecConstant = 50, 1290 OpSpecConstantComposite = 51, 1291 OpSpecConstantOp = 52, 1292 OpFunction = 54, 1293 OpFunctionParameter = 55, 1294 OpFunctionEnd = 56, 1295 OpFunctionCall = 57, 1296 OpVariable = 59, 1297 OpImageTexelPointer = 60, 1298 OpLoad = 61, 1299 OpStore = 62, 1300 OpCopyMemory = 63, 1301 OpCopyMemorySized = 64, 1302 OpAccessChain = 65, 1303 OpInBoundsAccessChain = 66, 1304 OpPtrAccessChain = 67, 1305 OpArrayLength = 68, 1306 OpGenericPtrMemSemantics = 69, 1307 OpInBoundsPtrAccessChain = 70, 1308 OpDecorate = 71, 1309 OpMemberDecorate = 72, 1310 OpDecorationGroup = 73, 1311 OpGroupDecorate = 74, 1312 OpGroupMemberDecorate = 75, 1313 OpVectorExtractDynamic = 77, 1314 OpVectorInsertDynamic = 78, 1315 OpVectorShuffle = 79, 1316 OpCompositeConstruct = 80, 1317 OpCompositeExtract = 81, 1318 OpCompositeInsert = 82, 1319 OpCopyObject = 83, 1320 OpTranspose = 84, 1321 OpSampledImage = 86, 1322 OpImageSampleImplicitLod = 87, 1323 OpImageSampleExplicitLod = 88, 1324 OpImageSampleDrefImplicitLod = 89, 1325 OpImageSampleDrefExplicitLod = 90, 1326 OpImageSampleProjImplicitLod = 91, 1327 OpImageSampleProjExplicitLod = 92, 1328 OpImageSampleProjDrefImplicitLod = 93, 1329 OpImageSampleProjDrefExplicitLod = 94, 1330 OpImageFetch = 95, 1331 OpImageGather = 96, 1332 OpImageDrefGather = 97, 1333 OpImageRead = 98, 1334 OpImageWrite = 99, 1335 OpImage = 100, 1336 OpImageQueryFormat = 101, 1337 OpImageQueryOrder = 102, 1338 OpImageQuerySizeLod = 103, 1339 OpImageQuerySize = 104, 1340 OpImageQueryLod = 105, 1341 OpImageQueryLevels = 106, 1342 OpImageQuerySamples = 107, 1343 OpConvertFToU = 109, 1344 OpConvertFToS = 110, 1345 OpConvertSToF = 111, 1346 OpConvertUToF = 112, 1347 OpUConvert = 113, 1348 OpSConvert = 114, 1349 OpFConvert = 115, 1350 OpQuantizeToF16 = 116, 1351 OpConvertPtrToU = 117, 1352 OpSatConvertSToU = 118, 1353 OpSatConvertUToS = 119, 1354 OpConvertUToPtr = 120, 1355 OpPtrCastToGeneric = 121, 1356 OpGenericCastToPtr = 122, 1357 OpGenericCastToPtrExplicit = 123, 1358 OpBitcast = 124, 1359 OpSNegate = 126, 1360 OpFNegate = 127, 1361 OpIAdd = 128, 1362 OpFAdd = 129, 1363 OpISub = 130, 1364 OpFSub = 131, 1365 OpIMul = 132, 1366 OpFMul = 133, 1367 OpUDiv = 134, 1368 OpSDiv = 135, 1369 OpFDiv = 136, 1370 OpUMod = 137, 1371 OpSRem = 138, 1372 OpSMod = 139, 1373 OpFRem = 140, 1374 OpFMod = 141, 1375 OpVectorTimesScalar = 142, 1376 OpMatrixTimesScalar = 143, 1377 OpVectorTimesMatrix = 144, 1378 OpMatrixTimesVector = 145, 1379 OpMatrixTimesMatrix = 146, 1380 OpOuterProduct = 147, 1381 OpDot = 148, 1382 OpIAddCarry = 149, 1383 OpISubBorrow = 150, 1384 OpUMulExtended = 151, 1385 OpSMulExtended = 152, 1386 OpAny = 154, 1387 OpAll = 155, 1388 OpIsNan = 156, 1389 OpIsInf = 157, 1390 OpIsFinite = 158, 1391 OpIsNormal = 159, 1392 OpSignBitSet = 160, 1393 OpLessOrGreater = 161, 1394 OpOrdered = 162, 1395 OpUnordered = 163, 1396 OpLogicalEqual = 164, 1397 OpLogicalNotEqual = 165, 1398 OpLogicalOr = 166, 1399 OpLogicalAnd = 167, 1400 OpLogicalNot = 168, 1401 OpSelect = 169, 1402 OpIEqual = 170, 1403 OpINotEqual = 171, 1404 OpUGreaterThan = 172, 1405 OpSGreaterThan = 173, 1406 OpUGreaterThanEqual = 174, 1407 OpSGreaterThanEqual = 175, 1408 OpULessThan = 176, 1409 OpSLessThan = 177, 1410 OpULessThanEqual = 178, 1411 OpSLessThanEqual = 179, 1412 OpFOrdEqual = 180, 1413 OpFUnordEqual = 181, 1414 OpFOrdNotEqual = 182, 1415 OpFUnordNotEqual = 183, 1416 OpFOrdLessThan = 184, 1417 OpFUnordLessThan = 185, 1418 OpFOrdGreaterThan = 186, 1419 OpFUnordGreaterThan = 187, 1420 OpFOrdLessThanEqual = 188, 1421 OpFUnordLessThanEqual = 189, 1422 OpFOrdGreaterThanEqual = 190, 1423 OpFUnordGreaterThanEqual = 191, 1424 OpShiftRightLogical = 194, 1425 OpShiftRightArithmetic = 195, 1426 OpShiftLeftLogical = 196, 1427 OpBitwiseOr = 197, 1428 OpBitwiseXor = 198, 1429 OpBitwiseAnd = 199, 1430 OpNot = 200, 1431 OpBitFieldInsert = 201, 1432 OpBitFieldSExtract = 202, 1433 OpBitFieldUExtract = 203, 1434 OpBitReverse = 204, 1435 OpBitCount = 205, 1436 OpDPdx = 207, 1437 OpDPdy = 208, 1438 OpFwidth = 209, 1439 OpDPdxFine = 210, 1440 OpDPdyFine = 211, 1441 OpFwidthFine = 212, 1442 OpDPdxCoarse = 213, 1443 OpDPdyCoarse = 214, 1444 OpFwidthCoarse = 215, 1445 OpEmitVertex = 218, 1446 OpEndPrimitive = 219, 1447 OpEmitStreamVertex = 220, 1448 OpEndStreamPrimitive = 221, 1449 OpControlBarrier = 224, 1450 OpMemoryBarrier = 225, 1451 OpAtomicLoad = 227, 1452 OpAtomicStore = 228, 1453 OpAtomicExchange = 229, 1454 OpAtomicCompareExchange = 230, 1455 OpAtomicCompareExchangeWeak = 231, 1456 OpAtomicIIncrement = 232, 1457 OpAtomicIDecrement = 233, 1458 OpAtomicIAdd = 234, 1459 OpAtomicISub = 235, 1460 OpAtomicSMin = 236, 1461 OpAtomicUMin = 237, 1462 OpAtomicSMax = 238, 1463 OpAtomicUMax = 239, 1464 OpAtomicAnd = 240, 1465 OpAtomicOr = 241, 1466 OpAtomicXor = 242, 1467 OpPhi = 245, 1468 OpLoopMerge = 246, 1469 OpSelectionMerge = 247, 1470 OpLabel = 248, 1471 OpBranch = 249, 1472 OpBranchConditional = 250, 1473 OpSwitch = 251, 1474 OpKill = 252, 1475 OpReturn = 253, 1476 OpReturnValue = 254, 1477 OpUnreachable = 255, 1478 OpLifetimeStart = 256, 1479 OpLifetimeStop = 257, 1480 OpGroupAsyncCopy = 259, 1481 OpGroupWaitEvents = 260, 1482 OpGroupAll = 261, 1483 OpGroupAny = 262, 1484 OpGroupBroadcast = 263, 1485 OpGroupIAdd = 264, 1486 OpGroupFAdd = 265, 1487 OpGroupFMin = 266, 1488 OpGroupUMin = 267, 1489 OpGroupSMin = 268, 1490 OpGroupFMax = 269, 1491 OpGroupUMax = 270, 1492 OpGroupSMax = 271, 1493 OpReadPipe = 274, 1494 OpWritePipe = 275, 1495 OpReservedReadPipe = 276, 1496 OpReservedWritePipe = 277, 1497 OpReserveReadPipePackets = 278, 1498 OpReserveWritePipePackets = 279, 1499 OpCommitReadPipe = 280, 1500 OpCommitWritePipe = 281, 1501 OpIsValidReserveId = 282, 1502 OpGetNumPipePackets = 283, 1503 OpGetMaxPipePackets = 284, 1504 OpGroupReserveReadPipePackets = 285, 1505 OpGroupReserveWritePipePackets = 286, 1506 OpGroupCommitReadPipe = 287, 1507 OpGroupCommitWritePipe = 288, 1508 OpEnqueueMarker = 291, 1509 OpEnqueueKernel = 292, 1510 OpGetKernelNDrangeSubGroupCount = 293, 1511 OpGetKernelNDrangeMaxSubGroupSize = 294, 1512 OpGetKernelWorkGroupSize = 295, 1513 OpGetKernelPreferredWorkGroupSizeMultiple = 296, 1514 OpRetainEvent = 297, 1515 OpReleaseEvent = 298, 1516 OpCreateUserEvent = 299, 1517 OpIsValidEvent = 300, 1518 OpSetUserEventStatus = 301, 1519 OpCaptureEventProfilingInfo = 302, 1520 OpGetDefaultQueue = 303, 1521 OpBuildNDRange = 304, 1522 OpImageSparseSampleImplicitLod = 305, 1523 OpImageSparseSampleExplicitLod = 306, 1524 OpImageSparseSampleDrefImplicitLod = 307, 1525 OpImageSparseSampleDrefExplicitLod = 308, 1526 OpImageSparseSampleProjImplicitLod = 309, 1527 OpImageSparseSampleProjExplicitLod = 310, 1528 OpImageSparseSampleProjDrefImplicitLod = 311, 1529 OpImageSparseSampleProjDrefExplicitLod = 312, 1530 OpImageSparseFetch = 313, 1531 OpImageSparseGather = 314, 1532 OpImageSparseDrefGather = 315, 1533 OpImageSparseTexelsResident = 316, 1534 OpNoLine = 317, 1535 OpAtomicFlagTestAndSet = 318, 1536 OpAtomicFlagClear = 319, 1537 OpImageSparseRead = 320, 1538 OpSizeOf = 321, 1539 OpTypePipeStorage = 322, 1540 OpConstantPipeStorage = 323, 1541 OpCreatePipeFromPipeStorage = 324, 1542 OpGetKernelLocalSizeForSubgroupCount = 325, 1543 OpGetKernelMaxNumSubgroups = 326, 1544 OpTypeNamedBarrier = 327, 1545 OpNamedBarrierInitialize = 328, 1546 OpMemoryNamedBarrier = 329, 1547 OpModuleProcessed = 330, 1548 OpExecutionModeId = 331, 1549 OpDecorateId = 332, 1550 OpGroupNonUniformElect = 333, 1551 OpGroupNonUniformAll = 334, 1552 OpGroupNonUniformAny = 335, 1553 OpGroupNonUniformAllEqual = 336, 1554 OpGroupNonUniformBroadcast = 337, 1555 OpGroupNonUniformBroadcastFirst = 338, 1556 OpGroupNonUniformBallot = 339, 1557 OpGroupNonUniformInverseBallot = 340, 1558 OpGroupNonUniformBallotBitExtract = 341, 1559 OpGroupNonUniformBallotBitCount = 342, 1560 OpGroupNonUniformBallotFindLSB = 343, 1561 OpGroupNonUniformBallotFindMSB = 344, 1562 OpGroupNonUniformShuffle = 345, 1563 OpGroupNonUniformShuffleXor = 346, 1564 OpGroupNonUniformShuffleUp = 347, 1565 OpGroupNonUniformShuffleDown = 348, 1566 OpGroupNonUniformIAdd = 349, 1567 OpGroupNonUniformFAdd = 350, 1568 OpGroupNonUniformIMul = 351, 1569 OpGroupNonUniformFMul = 352, 1570 OpGroupNonUniformSMin = 353, 1571 OpGroupNonUniformUMin = 354, 1572 OpGroupNonUniformFMin = 355, 1573 OpGroupNonUniformSMax = 356, 1574 OpGroupNonUniformUMax = 357, 1575 OpGroupNonUniformFMax = 358, 1576 OpGroupNonUniformBitwiseAnd = 359, 1577 OpGroupNonUniformBitwiseOr = 360, 1578 OpGroupNonUniformBitwiseXor = 361, 1579 OpGroupNonUniformLogicalAnd = 362, 1580 OpGroupNonUniformLogicalOr = 363, 1581 OpGroupNonUniformLogicalXor = 364, 1582 OpGroupNonUniformQuadBroadcast = 365, 1583 OpGroupNonUniformQuadSwap = 366, 1584 OpSubgroupBallotKHR = 4421, 1585 OpSubgroupFirstInvocationKHR = 4422, 1586 OpSubgroupAllKHR = 4428, 1587 OpSubgroupAnyKHR = 4429, 1588 OpSubgroupAllEqualKHR = 4430, 1589 OpSubgroupReadInvocationKHR = 4432, 1590 OpGroupIAddNonUniformAMD = 5000, 1591 OpGroupFAddNonUniformAMD = 5001, 1592 OpGroupFMinNonUniformAMD = 5002, 1593 OpGroupUMinNonUniformAMD = 5003, 1594 OpGroupSMinNonUniformAMD = 5004, 1595 OpGroupFMaxNonUniformAMD = 5005, 1596 OpGroupUMaxNonUniformAMD = 5006, 1597 OpGroupSMaxNonUniformAMD = 5007, 1598 OpFragmentMaskFetchAMD = 5011, 1599 OpFragmentFetchAMD = 5012, 1600 OpImageSampleFootprintNV = 5283, 1601 OpGroupNonUniformPartitionNV = 5296, 1602 OpWritePackedPrimitiveIndices4x8NV = 5299, 1603 OpReportIntersectionNV = 5334, 1604 OpIgnoreIntersectionNV = 5335, 1605 OpTerminateRayNV = 5336, 1606 OpTraceNV = 5337, 1607 OpTypeAccelerationStructureNV = 5341, 1608 OpExecuteCallableNV = 5344, 1609 OpSubgroupShuffleINTEL = 5571, 1610 OpSubgroupShuffleDownINTEL = 5572, 1611 OpSubgroupShuffleUpINTEL = 5573, 1612 OpSubgroupShuffleXorINTEL = 5574, 1613 OpSubgroupBlockReadINTEL = 5575, 1614 OpSubgroupBlockWriteINTEL = 5576, 1615 OpSubgroupImageBlockReadINTEL = 5577, 1616 OpSubgroupImageBlockWriteINTEL = 5578, 1617 OpSubgroupImageMediaBlockReadINTEL = 5580, 1618 OpSubgroupImageMediaBlockWriteINTEL = 5581, 1619 OpDecorateStringGOOGLE = 5632, 1620 OpMemberDecorateStringGOOGLE = 5633, 1621 OpMax = 2147483647, 1622 } 1623 } 1624 pub mod std { 1625 #[allow(unused_imports)] 1626 use self::super::super::root; 1627 pub type string = [u64; 3usize]; 1628 } 1629 pub mod SPIRV_CROSS_NAMESPACE { 1630 #[allow(unused_imports)] 1631 use self::super::super::root; 1632 #[repr(u32)] 1633 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 1634 pub enum SPIRType_BaseType { 1635 Unknown = 0, 1636 Void = 1, 1637 Boolean = 2, 1638 SByte = 3, 1639 UByte = 4, 1640 Short = 5, 1641 UShort = 6, 1642 Int = 7, 1643 UInt = 8, 1644 Int64 = 9, 1645 UInt64 = 10, 1646 AtomicCounter = 11, 1647 Half = 12, 1648 Float = 13, 1649 Double = 14, 1650 Struct = 15, 1651 Image = 16, 1652 SampledImage = 17, 1653 Sampler = 18, 1654 AccelerationStructureNV = 19, 1655 ControlPointArray = 20, 1656 Char = 21, 1657 } 1658 #[repr(C)] 1659 #[derive(Debug, Copy)] 1660 pub struct Resource { 1661 pub id: u32, 1662 pub type_id: u32, 1663 pub base_type_id: u32, 1664 pub name: root::std::string, 1665 } 1666 impl Clone for Resource { clone(&self) -> Self1667 fn clone(&self) -> Self { *self } 1668 } 1669 #[repr(u32)] 1670 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 1671 pub enum MSLVertexFormat { 1672 MSL_VERTEX_FORMAT_OTHER = 0, 1673 MSL_VERTEX_FORMAT_UINT8 = 1, 1674 MSL_VERTEX_FORMAT_UINT16 = 2, 1675 MSL_VERTEX_FORMAT_INT_MAX = 2147483647, 1676 } 1677 #[repr(C)] 1678 #[derive(Debug, Copy)] 1679 pub struct MSLVertexAttr { 1680 pub location: u32, 1681 pub msl_buffer: u32, 1682 pub msl_offset: u32, 1683 pub msl_stride: u32, 1684 pub per_instance: bool, 1685 pub format: root::SPIRV_CROSS_NAMESPACE::MSLVertexFormat, 1686 pub builtin: root::spv::BuiltIn, 1687 } 1688 impl Clone for MSLVertexAttr { clone(&self) -> Self1689 fn clone(&self) -> Self { *self } 1690 } 1691 #[repr(C)] 1692 #[derive(Debug, Copy)] 1693 pub struct MSLResourceBinding { 1694 pub stage: root::spv::ExecutionModel, 1695 pub desc_set: u32, 1696 pub binding: u32, 1697 pub msl_buffer: u32, 1698 pub msl_texture: u32, 1699 pub msl_sampler: u32, 1700 } 1701 impl Clone for MSLResourceBinding { clone(&self) -> Self1702 fn clone(&self) -> Self { *self } 1703 } 1704 #[repr(u32)] 1705 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 1706 pub enum MSLSamplerCoord { 1707 MSL_SAMPLER_COORD_NORMALIZED = 0, 1708 MSL_SAMPLER_COORD_PIXEL = 1, 1709 MSL_SAMPLER_INT_MAX = 2147483647, 1710 } 1711 #[repr(u32)] 1712 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 1713 pub enum MSLSamplerFilter { 1714 MSL_SAMPLER_FILTER_NEAREST = 0, 1715 MSL_SAMPLER_FILTER_LINEAR = 1, 1716 MSL_SAMPLER_FILTER_INT_MAX = 2147483647, 1717 } 1718 #[repr(u32)] 1719 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 1720 pub enum MSLSamplerMipFilter { 1721 MSL_SAMPLER_MIP_FILTER_NONE = 0, 1722 MSL_SAMPLER_MIP_FILTER_NEAREST = 1, 1723 MSL_SAMPLER_MIP_FILTER_LINEAR = 2, 1724 MSL_SAMPLER_MIP_FILTER_INT_MAX = 2147483647, 1725 } 1726 #[repr(u32)] 1727 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 1728 pub enum MSLSamplerAddress { 1729 MSL_SAMPLER_ADDRESS_CLAMP_TO_ZERO = 0, 1730 MSL_SAMPLER_ADDRESS_CLAMP_TO_EDGE = 1, 1731 MSL_SAMPLER_ADDRESS_CLAMP_TO_BORDER = 2, 1732 MSL_SAMPLER_ADDRESS_REPEAT = 3, 1733 MSL_SAMPLER_ADDRESS_MIRRORED_REPEAT = 4, 1734 MSL_SAMPLER_ADDRESS_INT_MAX = 2147483647, 1735 } 1736 #[repr(u32)] 1737 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 1738 pub enum MSLSamplerCompareFunc { 1739 MSL_SAMPLER_COMPARE_FUNC_NEVER = 0, 1740 MSL_SAMPLER_COMPARE_FUNC_LESS = 1, 1741 MSL_SAMPLER_COMPARE_FUNC_LESS_EQUAL = 2, 1742 MSL_SAMPLER_COMPARE_FUNC_GREATER = 3, 1743 MSL_SAMPLER_COMPARE_FUNC_GREATER_EQUAL = 4, 1744 MSL_SAMPLER_COMPARE_FUNC_EQUAL = 5, 1745 MSL_SAMPLER_COMPARE_FUNC_NOT_EQUAL = 6, 1746 MSL_SAMPLER_COMPARE_FUNC_ALWAYS = 7, 1747 MSL_SAMPLER_COMPARE_FUNC_INT_MAX = 2147483647, 1748 } 1749 #[repr(u32)] 1750 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 1751 pub enum MSLSamplerBorderColor { 1752 MSL_SAMPLER_BORDER_COLOR_TRANSPARENT_BLACK = 0, 1753 MSL_SAMPLER_BORDER_COLOR_OPAQUE_BLACK = 1, 1754 MSL_SAMPLER_BORDER_COLOR_OPAQUE_WHITE = 2, 1755 MSL_SAMPLER_BORDER_COLOR_INT_MAX = 2147483647, 1756 } 1757 #[repr(C)] 1758 #[derive(Debug, Copy)] 1759 pub struct MSLConstexprSampler { 1760 pub coord: root::SPIRV_CROSS_NAMESPACE::MSLSamplerCoord, 1761 pub min_filter: root::SPIRV_CROSS_NAMESPACE::MSLSamplerFilter, 1762 pub mag_filter: root::SPIRV_CROSS_NAMESPACE::MSLSamplerFilter, 1763 pub mip_filter: root::SPIRV_CROSS_NAMESPACE::MSLSamplerMipFilter, 1764 pub s_address: root::SPIRV_CROSS_NAMESPACE::MSLSamplerAddress, 1765 pub t_address: root::SPIRV_CROSS_NAMESPACE::MSLSamplerAddress, 1766 pub r_address: root::SPIRV_CROSS_NAMESPACE::MSLSamplerAddress, 1767 pub compare_func: root::SPIRV_CROSS_NAMESPACE::MSLSamplerCompareFunc, 1768 pub border_color: root::SPIRV_CROSS_NAMESPACE::MSLSamplerBorderColor, 1769 pub lod_clamp_min: f32, 1770 pub lod_clamp_max: f32, 1771 pub max_anisotropy: ::std::os::raw::c_int, 1772 pub compare_enable: bool, 1773 pub lod_clamp_enable: bool, 1774 pub anisotropy_enable: bool, 1775 } 1776 impl Clone for MSLConstexprSampler { clone(&self) -> Self1777 fn clone(&self) -> Self { *self } 1778 } 1779 } 1780 pub type ScInternalCompilerBase = ::std::os::raw::c_void; 1781 pub type ScInternalCompilerHlsl = ::std::os::raw::c_void; 1782 pub type ScInternalCompilerMsl = ::std::os::raw::c_void; 1783 pub type ScInternalCompilerGlsl = ::std::os::raw::c_void; 1784 #[repr(u32)] 1785 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 1786 pub enum ScInternalResult { 1787 Success = 0, 1788 Unhandled = 1, 1789 CompilationError = 2, 1790 } 1791 #[repr(C)] 1792 #[derive(Debug, Copy)] 1793 pub struct ScEntryPoint { 1794 pub name: *mut ::std::os::raw::c_char, 1795 pub execution_model: root::spv::ExecutionModel, 1796 pub work_group_size_x: u32, 1797 pub work_group_size_y: u32, 1798 pub work_group_size_z: u32, 1799 } 1800 impl Clone for ScEntryPoint { clone(&self) -> Self1801 fn clone(&self) -> Self { *self } 1802 } 1803 #[repr(C)] 1804 #[derive(Debug, Copy)] 1805 pub struct ScCombinedImageSampler { 1806 pub combined_id: u32, 1807 pub image_id: u32, 1808 pub sampler_id: u32, 1809 } 1810 impl Clone for ScCombinedImageSampler { clone(&self) -> Self1811 fn clone(&self) -> Self { *self } 1812 } 1813 #[repr(C)] 1814 #[derive(Debug, Copy)] 1815 pub struct ScHlslRootConstant { 1816 pub start: u32, 1817 pub end: u32, 1818 pub binding: u32, 1819 pub space: u32, 1820 } 1821 impl Clone for ScHlslRootConstant { clone(&self) -> Self1822 fn clone(&self) -> Self { *self } 1823 } 1824 #[repr(C)] 1825 #[derive(Debug, Copy)] 1826 pub struct ScHlslCompilerOptions { 1827 pub shader_model: i32, 1828 pub point_size_compat: bool, 1829 pub point_coord_compat: bool, 1830 pub vertex_transform_clip_space: bool, 1831 pub vertex_invert_y: bool, 1832 } 1833 impl Clone for ScHlslCompilerOptions { clone(&self) -> Self1834 fn clone(&self) -> Self { *self } 1835 } 1836 #[repr(C)] 1837 #[derive(Debug, Copy)] 1838 pub struct ScMslCompilerOptions { 1839 pub vertex_transform_clip_space: bool, 1840 pub vertex_invert_y: bool, 1841 pub platform: u8, 1842 pub version: u32, 1843 pub enable_point_size_builtin: bool, 1844 pub disable_rasterization: bool, 1845 pub swizzle_buffer_index: u32, 1846 pub indirect_params_buffer_index: u32, 1847 pub shader_output_buffer_index: u32, 1848 pub shader_patch_output_buffer_index: u32, 1849 pub shader_tess_factor_buffer_index: u32, 1850 pub buffer_size_buffer_index: u32, 1851 pub capture_output_to_buffer: bool, 1852 pub swizzle_texture_samples: bool, 1853 pub tess_domain_origin_lower_left: bool, 1854 pub argument_buffers: bool, 1855 pub pad_fragment_output_components: bool, 1856 } 1857 impl Clone for ScMslCompilerOptions { clone(&self) -> Self1858 fn clone(&self) -> Self { *self } 1859 } 1860 #[repr(C)] 1861 #[derive(Debug, Copy)] 1862 pub struct ScGlslCompilerOptions { 1863 pub vertex_transform_clip_space: bool, 1864 pub vertex_invert_y: bool, 1865 pub version: u32, 1866 pub es: bool, 1867 } 1868 impl Clone for ScGlslCompilerOptions { clone(&self) -> Self1869 fn clone(&self) -> Self { *self } 1870 } 1871 #[repr(C)] 1872 #[derive(Debug, Copy)] 1873 pub struct ScResource { 1874 pub id: u32, 1875 pub type_id: u32, 1876 pub base_type_id: u32, 1877 pub name: *mut ::std::os::raw::c_char, 1878 } 1879 impl Clone for ScResource { clone(&self) -> Self1880 fn clone(&self) -> Self { *self } 1881 } 1882 #[repr(C)] 1883 #[derive(Debug, Copy)] 1884 pub struct ScResourceArray { 1885 pub data: *mut root::ScResource, 1886 pub num: usize, 1887 } 1888 impl Clone for ScResourceArray { clone(&self) -> Self1889 fn clone(&self) -> Self { *self } 1890 } 1891 #[repr(C)] 1892 #[derive(Debug, Copy)] 1893 pub struct ScShaderResources { 1894 pub uniform_buffers: root::ScResourceArray, 1895 pub storage_buffers: root::ScResourceArray, 1896 pub stage_inputs: root::ScResourceArray, 1897 pub stage_outputs: root::ScResourceArray, 1898 pub subpass_inputs: root::ScResourceArray, 1899 pub storage_images: root::ScResourceArray, 1900 pub sampled_images: root::ScResourceArray, 1901 pub atomic_counters: root::ScResourceArray, 1902 pub push_constant_buffers: root::ScResourceArray, 1903 pub separate_images: root::ScResourceArray, 1904 pub separate_samplers: root::ScResourceArray, 1905 } 1906 impl Clone for ScShaderResources { clone(&self) -> Self1907 fn clone(&self) -> Self { *self } 1908 } 1909 #[repr(C)] 1910 #[derive(Debug, Copy)] 1911 pub struct ScSpecializationConstant { 1912 pub id: u32, 1913 pub constant_id: u32, 1914 } 1915 impl Clone for ScSpecializationConstant { clone(&self) -> Self1916 fn clone(&self) -> Self { *self } 1917 } 1918 #[repr(C)] 1919 #[derive(Debug, Copy)] 1920 pub struct ScType { 1921 pub type_: root::SPIRV_CROSS_NAMESPACE::SPIRType_BaseType, 1922 pub member_types: *mut u32, 1923 pub member_types_size: usize, 1924 pub array: *mut u32, 1925 pub array_size: usize, 1926 } 1927 impl Clone for ScType { clone(&self) -> Self1928 fn clone(&self) -> Self { *self } 1929 } 1930 extern "C" { sc_internal_get_latest_exception_message(message: *mut *const ::std::os::raw::c_char) -> root::ScInternalResult1931 pub fn sc_internal_get_latest_exception_message(message: 1932 *mut *const ::std::os::raw::c_char) 1933 -> root::ScInternalResult; 1934 } 1935 extern "C" { sc_internal_compiler_hlsl_new(compiler: *mut *mut root::ScInternalCompilerHlsl, ir: *const u32, size: usize) -> root::ScInternalResult1936 pub fn sc_internal_compiler_hlsl_new(compiler: 1937 *mut *mut root::ScInternalCompilerHlsl, 1938 ir: *const u32, size: usize) 1939 -> root::ScInternalResult; 1940 } 1941 extern "C" { sc_internal_compiler_hlsl_set_options(compiler: *const root::ScInternalCompilerHlsl, options: *const root::ScHlslCompilerOptions) -> root::ScInternalResult1942 pub fn sc_internal_compiler_hlsl_set_options(compiler: 1943 *const root::ScInternalCompilerHlsl, 1944 options: 1945 *const root::ScHlslCompilerOptions) 1946 -> root::ScInternalResult; 1947 } 1948 extern "C" { sc_internal_compiler_hlsl_set_root_constant_layout(compiler: *const root::ScInternalCompilerHlsl, constants: *const root::ScHlslRootConstant, count: usize) -> root::ScInternalResult1949 pub fn sc_internal_compiler_hlsl_set_root_constant_layout(compiler: 1950 *const root::ScInternalCompilerHlsl, 1951 constants: 1952 *const root::ScHlslRootConstant, 1953 count: 1954 usize) 1955 -> root::ScInternalResult; 1956 } 1957 #[repr(C)] 1958 #[derive(Debug, Copy)] 1959 pub struct MslConstSamplerMapping { 1960 pub desc_set: u32, 1961 pub binding: u32, 1962 pub sampler: root::SPIRV_CROSS_NAMESPACE::MSLConstexprSampler, 1963 } 1964 impl Clone for MslConstSamplerMapping { clone(&self) -> Self1965 fn clone(&self) -> Self { *self } 1966 } 1967 extern "C" { sc_internal_compiler_msl_new(compiler: *mut *mut root::ScInternalCompilerMsl, ir: *const u32, size: usize) -> root::ScInternalResult1968 pub fn sc_internal_compiler_msl_new(compiler: 1969 *mut *mut root::ScInternalCompilerMsl, 1970 ir: *const u32, size: usize) 1971 -> root::ScInternalResult; 1972 } 1973 extern "C" { sc_internal_compiler_msl_set_options(compiler: *const root::ScInternalCompilerMsl, options: *const root::ScMslCompilerOptions) -> root::ScInternalResult1974 pub fn sc_internal_compiler_msl_set_options(compiler: 1975 *const root::ScInternalCompilerMsl, 1976 options: 1977 *const root::ScMslCompilerOptions) 1978 -> root::ScInternalResult; 1979 } 1980 extern "C" { sc_internal_compiler_msl_get_is_rasterization_disabled(compiler: *const root::ScInternalCompilerMsl, is_rasterization_disabled: *mut bool) -> root::ScInternalResult1981 pub fn sc_internal_compiler_msl_get_is_rasterization_disabled(compiler: 1982 *const root::ScInternalCompilerMsl, 1983 is_rasterization_disabled: 1984 *mut bool) 1985 -> root::ScInternalResult; 1986 } 1987 extern "C" { sc_internal_compiler_msl_compile(compiler: *const root::ScInternalCompilerBase, shader: *mut *const ::std::os::raw::c_char, p_vat_overrides: *const root::SPIRV_CROSS_NAMESPACE::MSLVertexAttr, vat_override_count: usize, p_res_overrides: *const root::SPIRV_CROSS_NAMESPACE::MSLResourceBinding, res_override_count: usize, p_const_samplers: *const root::MslConstSamplerMapping, const_sampler_count: usize) -> root::ScInternalResult1988 pub fn sc_internal_compiler_msl_compile(compiler: 1989 *const root::ScInternalCompilerBase, 1990 shader: 1991 *mut *const ::std::os::raw::c_char, 1992 p_vat_overrides: 1993 *const root::SPIRV_CROSS_NAMESPACE::MSLVertexAttr, 1994 vat_override_count: usize, 1995 p_res_overrides: 1996 *const root::SPIRV_CROSS_NAMESPACE::MSLResourceBinding, 1997 res_override_count: usize, 1998 p_const_samplers: 1999 *const root::MslConstSamplerMapping, 2000 const_sampler_count: usize) 2001 -> root::ScInternalResult; 2002 } 2003 extern "C" { sc_internal_compiler_glsl_new(compiler: *mut *mut root::ScInternalCompilerGlsl, ir: *const u32, size: usize) -> root::ScInternalResult2004 pub fn sc_internal_compiler_glsl_new(compiler: 2005 *mut *mut root::ScInternalCompilerGlsl, 2006 ir: *const u32, size: usize) 2007 -> root::ScInternalResult; 2008 } 2009 extern "C" { sc_internal_compiler_glsl_set_options(compiler: *const root::ScInternalCompilerGlsl, options: *const root::ScGlslCompilerOptions) -> root::ScInternalResult2010 pub fn sc_internal_compiler_glsl_set_options(compiler: 2011 *const root::ScInternalCompilerGlsl, 2012 options: 2013 *const root::ScGlslCompilerOptions) 2014 -> root::ScInternalResult; 2015 } 2016 extern "C" { sc_internal_compiler_glsl_build_combined_image_samplers(compiler: *const root::ScInternalCompilerBase) -> root::ScInternalResult2017 pub fn sc_internal_compiler_glsl_build_combined_image_samplers(compiler: 2018 *const root::ScInternalCompilerBase) 2019 -> root::ScInternalResult; 2020 } 2021 extern "C" { sc_internal_compiler_glsl_get_combined_image_samplers(compiler: *const root::ScInternalCompilerBase, samplers: *mut *const root::ScCombinedImageSampler, size: *mut usize) -> root::ScInternalResult2022 pub fn sc_internal_compiler_glsl_get_combined_image_samplers(compiler: 2023 *const root::ScInternalCompilerBase, 2024 samplers: 2025 *mut *const root::ScCombinedImageSampler, 2026 size: 2027 *mut usize) 2028 -> root::ScInternalResult; 2029 } 2030 extern "C" { sc_internal_compiler_get_decoration(compiler: *const root::ScInternalCompilerBase, result: *mut u32, id: u32, decoration: root::spv::Decoration) -> root::ScInternalResult2031 pub fn sc_internal_compiler_get_decoration(compiler: 2032 *const root::ScInternalCompilerBase, 2033 result: *mut u32, id: u32, 2034 decoration: 2035 root::spv::Decoration) 2036 -> root::ScInternalResult; 2037 } 2038 extern "C" { sc_internal_compiler_set_decoration(compiler: *const root::ScInternalCompilerBase, id: u32, decoration: root::spv::Decoration, argument: u32) -> root::ScInternalResult2039 pub fn sc_internal_compiler_set_decoration(compiler: 2040 *const root::ScInternalCompilerBase, 2041 id: u32, 2042 decoration: 2043 root::spv::Decoration, 2044 argument: u32) 2045 -> root::ScInternalResult; 2046 } 2047 extern "C" { sc_internal_compiler_unset_decoration(compiler: *const root::ScInternalCompilerBase, id: u32, decoration: root::spv::Decoration) -> root::ScInternalResult2048 pub fn sc_internal_compiler_unset_decoration(compiler: 2049 *const root::ScInternalCompilerBase, 2050 id: u32, 2051 decoration: 2052 root::spv::Decoration) 2053 -> root::ScInternalResult; 2054 } 2055 extern "C" { sc_internal_compiler_get_name(compiler: *const root::ScInternalCompilerBase, id: u32, name: *mut *const ::std::os::raw::c_char) -> root::ScInternalResult2056 pub fn sc_internal_compiler_get_name(compiler: 2057 *const root::ScInternalCompilerBase, 2058 id: u32, 2059 name: 2060 *mut *const ::std::os::raw::c_char) 2061 -> root::ScInternalResult; 2062 } 2063 extern "C" { sc_internal_compiler_set_name(compiler: *const root::ScInternalCompilerBase, id: u32, name: *const ::std::os::raw::c_char) -> root::ScInternalResult2064 pub fn sc_internal_compiler_set_name(compiler: 2065 *const root::ScInternalCompilerBase, 2066 id: u32, 2067 name: 2068 *const ::std::os::raw::c_char) 2069 -> root::ScInternalResult; 2070 } 2071 extern "C" { sc_internal_compiler_get_entry_points(compiler: *const root::ScInternalCompilerBase, entry_points: *mut *mut root::ScEntryPoint, size: *mut usize) -> root::ScInternalResult2072 pub fn sc_internal_compiler_get_entry_points(compiler: 2073 *const root::ScInternalCompilerBase, 2074 entry_points: 2075 *mut *mut root::ScEntryPoint, 2076 size: *mut usize) 2077 -> root::ScInternalResult; 2078 } 2079 extern "C" { sc_internal_compiler_get_cleansed_entry_point_name(compiler: *const root::ScInternalCompilerBase, original_entry_point_name: *const ::std::os::raw::c_char, execution_model: root::spv::ExecutionModel, compiled_entry_point_name: *mut *const ::std::os::raw::c_char) -> root::ScInternalResult2080 pub fn sc_internal_compiler_get_cleansed_entry_point_name(compiler: 2081 *const root::ScInternalCompilerBase, 2082 original_entry_point_name: 2083 *const ::std::os::raw::c_char, 2084 execution_model: 2085 root::spv::ExecutionModel, 2086 compiled_entry_point_name: 2087 *mut *const ::std::os::raw::c_char) 2088 -> root::ScInternalResult; 2089 } 2090 extern "C" { sc_internal_compiler_get_shader_resources(compiler: *const root::ScInternalCompilerBase, shader_resources: *mut root::ScShaderResources) -> root::ScInternalResult2091 pub fn sc_internal_compiler_get_shader_resources(compiler: 2092 *const root::ScInternalCompilerBase, 2093 shader_resources: 2094 *mut root::ScShaderResources) 2095 -> root::ScInternalResult; 2096 } 2097 extern "C" { sc_internal_compiler_get_specialization_constants(compiler: *const root::ScInternalCompilerBase, constants: *mut *mut root::ScSpecializationConstant, size: *mut usize) -> root::ScInternalResult2098 pub fn sc_internal_compiler_get_specialization_constants(compiler: 2099 *const root::ScInternalCompilerBase, 2100 constants: 2101 *mut *mut root::ScSpecializationConstant, 2102 size: 2103 *mut usize) 2104 -> root::ScInternalResult; 2105 } 2106 extern "C" { sc_internal_compiler_set_scalar_constant(compiler: *const root::ScInternalCompilerBase, id: u32, constant_high_bits: u32, constant_low_bits: u32) -> root::ScInternalResult2107 pub fn sc_internal_compiler_set_scalar_constant(compiler: 2108 *const root::ScInternalCompilerBase, 2109 id: u32, 2110 constant_high_bits: 2111 u32, 2112 constant_low_bits: 2113 u32) 2114 -> root::ScInternalResult; 2115 } 2116 extern "C" { sc_internal_compiler_get_type(compiler: *const root::ScInternalCompilerBase, id: u32, spirv_type: *mut *const root::ScType) -> root::ScInternalResult2117 pub fn sc_internal_compiler_get_type(compiler: 2118 *const root::ScInternalCompilerBase, 2119 id: u32, 2120 spirv_type: 2121 *mut *const root::ScType) 2122 -> root::ScInternalResult; 2123 } 2124 extern "C" { sc_internal_compiler_get_member_name(compiler: *const root::ScInternalCompilerBase, id: u32, index: u32, name: *mut *const ::std::os::raw::c_char) -> root::ScInternalResult2125 pub fn sc_internal_compiler_get_member_name(compiler: 2126 *const root::ScInternalCompilerBase, 2127 id: u32, index: u32, 2128 name: 2129 *mut *const ::std::os::raw::c_char) 2130 -> root::ScInternalResult; 2131 } 2132 extern "C" { sc_internal_compiler_get_member_decoration(compiler: *const root::ScInternalCompilerBase, id: u32, index: u32, decoration: root::spv::Decoration, result: *mut u32) -> root::ScInternalResult2133 pub fn sc_internal_compiler_get_member_decoration(compiler: 2134 *const root::ScInternalCompilerBase, 2135 id: u32, index: u32, 2136 decoration: 2137 root::spv::Decoration, 2138 result: *mut u32) 2139 -> root::ScInternalResult; 2140 } 2141 extern "C" { sc_internal_compiler_set_member_decoration(compiler: *const root::ScInternalCompilerBase, id: u32, index: u32, decoration: root::spv::Decoration, argument: u32) -> root::ScInternalResult2142 pub fn sc_internal_compiler_set_member_decoration(compiler: 2143 *const root::ScInternalCompilerBase, 2144 id: u32, index: u32, 2145 decoration: 2146 root::spv::Decoration, 2147 argument: u32) 2148 -> root::ScInternalResult; 2149 } 2150 extern "C" { sc_internal_compiler_get_declared_struct_size(compiler: *const root::ScInternalCompilerBase, id: u32, result: *mut u32) -> root::ScInternalResult2151 pub fn sc_internal_compiler_get_declared_struct_size(compiler: 2152 *const root::ScInternalCompilerBase, 2153 id: u32, 2154 result: *mut u32) 2155 -> root::ScInternalResult; 2156 } 2157 extern "C" { sc_internal_compiler_get_declared_struct_member_size(compiler: *const root::ScInternalCompilerBase, id: u32, index: u32, result: *mut u32) -> root::ScInternalResult2158 pub fn sc_internal_compiler_get_declared_struct_member_size(compiler: 2159 *const root::ScInternalCompilerBase, 2160 id: u32, 2161 index: 2162 u32, 2163 result: 2164 *mut u32) 2165 -> root::ScInternalResult; 2166 } 2167 extern "C" { sc_internal_compiler_rename_interface_variable(compiler: *const root::ScInternalCompilerBase, resources: *const root::ScResource, resources_size: usize, location: u32, name: *const ::std::os::raw::c_char) -> root::ScInternalResult2168 pub fn sc_internal_compiler_rename_interface_variable(compiler: 2169 *const root::ScInternalCompilerBase, 2170 resources: 2171 *const root::ScResource, 2172 resources_size: 2173 usize, 2174 location: u32, 2175 name: 2176 *const ::std::os::raw::c_char) 2177 -> root::ScInternalResult; 2178 } 2179 extern "C" { sc_internal_compiler_get_work_group_size_specialization_constants(compiler: *const root::ScInternalCompilerBase, constants: *mut *mut root::ScSpecializationConstant) -> root::ScInternalResult2180 pub fn sc_internal_compiler_get_work_group_size_specialization_constants(compiler: 2181 *const root::ScInternalCompilerBase, 2182 constants: 2183 *mut *mut root::ScSpecializationConstant) 2184 -> root::ScInternalResult; 2185 } 2186 extern "C" { sc_internal_compiler_compile(compiler: *const root::ScInternalCompilerBase, shader: *mut *const ::std::os::raw::c_char) -> root::ScInternalResult2187 pub fn sc_internal_compiler_compile(compiler: 2188 *const root::ScInternalCompilerBase, 2189 shader: 2190 *mut *const ::std::os::raw::c_char) 2191 -> root::ScInternalResult; 2192 } 2193 extern "C" { sc_internal_compiler_delete(compiler: *mut root::ScInternalCompilerBase) -> root::ScInternalResult2194 pub fn sc_internal_compiler_delete(compiler: 2195 *mut root::ScInternalCompilerBase) 2196 -> root::ScInternalResult; 2197 } 2198 extern "C" { sc_internal_free_pointer(pointer: *mut ::std::os::raw::c_void) -> root::ScInternalResult2199 pub fn sc_internal_free_pointer(pointer: *mut ::std::os::raw::c_void) 2200 -> root::ScInternalResult; 2201 } 2202 } 2203