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 pub const SourceLanguage_SourceLanguageUnknown: root::spv::SourceLanguage = 0; 12 pub const SourceLanguage_SourceLanguageESSL: root::spv::SourceLanguage = 1; 13 pub const SourceLanguage_SourceLanguageGLSL: root::spv::SourceLanguage = 2; 14 pub const SourceLanguage_SourceLanguageOpenCL_C: root::spv::SourceLanguage = 3; 15 pub const SourceLanguage_SourceLanguageOpenCL_CPP: root::spv::SourceLanguage = 4; 16 pub const SourceLanguage_SourceLanguageHLSL: root::spv::SourceLanguage = 5; 17 pub const SourceLanguage_SourceLanguageMax: root::spv::SourceLanguage = 2147483647; 18 pub type SourceLanguage = u32; 19 impl root::spv::ExecutionModel { 20 pub const ExecutionModelRayGenerationNV: root::spv::ExecutionModel = 21 ExecutionModel::ExecutionModelRayGenerationKHR; 22 } 23 impl root::spv::ExecutionModel { 24 pub const ExecutionModelIntersectionNV: root::spv::ExecutionModel = 25 ExecutionModel::ExecutionModelIntersectionKHR; 26 } 27 impl root::spv::ExecutionModel { 28 pub const ExecutionModelAnyHitNV: root::spv::ExecutionModel = 29 ExecutionModel::ExecutionModelAnyHitKHR; 30 } 31 impl root::spv::ExecutionModel { 32 pub const ExecutionModelClosestHitNV: root::spv::ExecutionModel = 33 ExecutionModel::ExecutionModelClosestHitKHR; 34 } 35 impl root::spv::ExecutionModel { 36 pub const ExecutionModelMissNV: root::spv::ExecutionModel = 37 ExecutionModel::ExecutionModelMissKHR; 38 } 39 impl root::spv::ExecutionModel { 40 pub const ExecutionModelCallableNV: root::spv::ExecutionModel = 41 ExecutionModel::ExecutionModelCallableKHR; 42 } 43 #[repr(u32)] 44 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 45 pub enum ExecutionModel { 46 ExecutionModelVertex = 0, 47 ExecutionModelTessellationControl = 1, 48 ExecutionModelTessellationEvaluation = 2, 49 ExecutionModelGeometry = 3, 50 ExecutionModelFragment = 4, 51 ExecutionModelGLCompute = 5, 52 ExecutionModelKernel = 6, 53 ExecutionModelTaskNV = 5267, 54 ExecutionModelMeshNV = 5268, 55 ExecutionModelRayGenerationKHR = 5313, 56 ExecutionModelIntersectionKHR = 5314, 57 ExecutionModelAnyHitKHR = 5315, 58 ExecutionModelClosestHitKHR = 5316, 59 ExecutionModelMissKHR = 5317, 60 ExecutionModelCallableKHR = 5318, 61 ExecutionModelMax = 2147483647, 62 } 63 pub const AddressingModel_AddressingModelLogical: root::spv::AddressingModel = 0; 64 pub const AddressingModel_AddressingModelPhysical32: root::spv::AddressingModel = 1; 65 pub const AddressingModel_AddressingModelPhysical64: root::spv::AddressingModel = 2; 66 pub const AddressingModel_AddressingModelPhysicalStorageBuffer64: 67 root::spv::AddressingModel = 5348; 68 pub const AddressingModel_AddressingModelPhysicalStorageBuffer64EXT: 69 root::spv::AddressingModel = 5348; 70 pub const AddressingModel_AddressingModelMax: root::spv::AddressingModel = 2147483647; 71 pub type AddressingModel = u32; 72 pub const MemoryModel_MemoryModelSimple: root::spv::MemoryModel = 0; 73 pub const MemoryModel_MemoryModelGLSL450: root::spv::MemoryModel = 1; 74 pub const MemoryModel_MemoryModelOpenCL: root::spv::MemoryModel = 2; 75 pub const MemoryModel_MemoryModelVulkan: root::spv::MemoryModel = 3; 76 pub const MemoryModel_MemoryModelVulkanKHR: root::spv::MemoryModel = 3; 77 pub const MemoryModel_MemoryModelMax: root::spv::MemoryModel = 2147483647; 78 pub type MemoryModel = u32; 79 pub const ExecutionMode_ExecutionModeInvocations: root::spv::ExecutionMode = 0; 80 pub const ExecutionMode_ExecutionModeSpacingEqual: root::spv::ExecutionMode = 1; 81 pub const ExecutionMode_ExecutionModeSpacingFractionalEven: root::spv::ExecutionMode = 2; 82 pub const ExecutionMode_ExecutionModeSpacingFractionalOdd: root::spv::ExecutionMode = 3; 83 pub const ExecutionMode_ExecutionModeVertexOrderCw: root::spv::ExecutionMode = 4; 84 pub const ExecutionMode_ExecutionModeVertexOrderCcw: root::spv::ExecutionMode = 5; 85 pub const ExecutionMode_ExecutionModePixelCenterInteger: root::spv::ExecutionMode = 6; 86 pub const ExecutionMode_ExecutionModeOriginUpperLeft: root::spv::ExecutionMode = 7; 87 pub const ExecutionMode_ExecutionModeOriginLowerLeft: root::spv::ExecutionMode = 8; 88 pub const ExecutionMode_ExecutionModeEarlyFragmentTests: root::spv::ExecutionMode = 9; 89 pub const ExecutionMode_ExecutionModePointMode: root::spv::ExecutionMode = 10; 90 pub const ExecutionMode_ExecutionModeXfb: root::spv::ExecutionMode = 11; 91 pub const ExecutionMode_ExecutionModeDepthReplacing: root::spv::ExecutionMode = 12; 92 pub const ExecutionMode_ExecutionModeDepthGreater: root::spv::ExecutionMode = 14; 93 pub const ExecutionMode_ExecutionModeDepthLess: root::spv::ExecutionMode = 15; 94 pub const ExecutionMode_ExecutionModeDepthUnchanged: root::spv::ExecutionMode = 16; 95 pub const ExecutionMode_ExecutionModeLocalSize: root::spv::ExecutionMode = 17; 96 pub const ExecutionMode_ExecutionModeLocalSizeHint: root::spv::ExecutionMode = 18; 97 pub const ExecutionMode_ExecutionModeInputPoints: root::spv::ExecutionMode = 19; 98 pub const ExecutionMode_ExecutionModeInputLines: root::spv::ExecutionMode = 20; 99 pub const ExecutionMode_ExecutionModeInputLinesAdjacency: root::spv::ExecutionMode = 21; 100 pub const ExecutionMode_ExecutionModeTriangles: root::spv::ExecutionMode = 22; 101 pub const ExecutionMode_ExecutionModeInputTrianglesAdjacency: root::spv::ExecutionMode = 23; 102 pub const ExecutionMode_ExecutionModeQuads: root::spv::ExecutionMode = 24; 103 pub const ExecutionMode_ExecutionModeIsolines: root::spv::ExecutionMode = 25; 104 pub const ExecutionMode_ExecutionModeOutputVertices: root::spv::ExecutionMode = 26; 105 pub const ExecutionMode_ExecutionModeOutputPoints: root::spv::ExecutionMode = 27; 106 pub const ExecutionMode_ExecutionModeOutputLineStrip: root::spv::ExecutionMode = 28; 107 pub const ExecutionMode_ExecutionModeOutputTriangleStrip: root::spv::ExecutionMode = 29; 108 pub const ExecutionMode_ExecutionModeVecTypeHint: root::spv::ExecutionMode = 30; 109 pub const ExecutionMode_ExecutionModeContractionOff: root::spv::ExecutionMode = 31; 110 pub const ExecutionMode_ExecutionModeInitializer: root::spv::ExecutionMode = 33; 111 pub const ExecutionMode_ExecutionModeFinalizer: root::spv::ExecutionMode = 34; 112 pub const ExecutionMode_ExecutionModeSubgroupSize: root::spv::ExecutionMode = 35; 113 pub const ExecutionMode_ExecutionModeSubgroupsPerWorkgroup: root::spv::ExecutionMode = 36; 114 pub const ExecutionMode_ExecutionModeSubgroupsPerWorkgroupId: root::spv::ExecutionMode = 37; 115 pub const ExecutionMode_ExecutionModeLocalSizeId: root::spv::ExecutionMode = 38; 116 pub const ExecutionMode_ExecutionModeLocalSizeHintId: root::spv::ExecutionMode = 39; 117 pub const ExecutionMode_ExecutionModePostDepthCoverage: root::spv::ExecutionMode = 4446; 118 pub const ExecutionMode_ExecutionModeDenormPreserve: root::spv::ExecutionMode = 4459; 119 pub const ExecutionMode_ExecutionModeDenormFlushToZero: root::spv::ExecutionMode = 4460; 120 pub const ExecutionMode_ExecutionModeSignedZeroInfNanPreserve: root::spv::ExecutionMode = 121 4461; 122 pub const ExecutionMode_ExecutionModeRoundingModeRTE: root::spv::ExecutionMode = 4462; 123 pub const ExecutionMode_ExecutionModeRoundingModeRTZ: root::spv::ExecutionMode = 4463; 124 pub const ExecutionMode_ExecutionModeStencilRefReplacingEXT: root::spv::ExecutionMode = 125 5027; 126 pub const ExecutionMode_ExecutionModeOutputLinesNV: root::spv::ExecutionMode = 5269; 127 pub const ExecutionMode_ExecutionModeOutputPrimitivesNV: root::spv::ExecutionMode = 5270; 128 pub const ExecutionMode_ExecutionModeDerivativeGroupQuadsNV: root::spv::ExecutionMode = 129 5289; 130 pub const ExecutionMode_ExecutionModeDerivativeGroupLinearNV: root::spv::ExecutionMode = 131 5290; 132 pub const ExecutionMode_ExecutionModeOutputTrianglesNV: root::spv::ExecutionMode = 5298; 133 pub const ExecutionMode_ExecutionModePixelInterlockOrderedEXT: root::spv::ExecutionMode = 134 5366; 135 pub const ExecutionMode_ExecutionModePixelInterlockUnorderedEXT: root::spv::ExecutionMode = 136 5367; 137 pub const ExecutionMode_ExecutionModeSampleInterlockOrderedEXT: root::spv::ExecutionMode = 138 5368; 139 pub const ExecutionMode_ExecutionModeSampleInterlockUnorderedEXT: root::spv::ExecutionMode = 140 5369; 141 pub const ExecutionMode_ExecutionModeShadingRateInterlockOrderedEXT: 142 root::spv::ExecutionMode = 5370; 143 pub const ExecutionMode_ExecutionModeShadingRateInterlockUnorderedEXT: 144 root::spv::ExecutionMode = 5371; 145 pub const ExecutionMode_ExecutionModeMax: root::spv::ExecutionMode = 2147483647; 146 pub type ExecutionMode = u32; 147 pub const StorageClass_StorageClassUniformConstant: root::spv::StorageClass = 0; 148 pub const StorageClass_StorageClassInput: root::spv::StorageClass = 1; 149 pub const StorageClass_StorageClassUniform: root::spv::StorageClass = 2; 150 pub const StorageClass_StorageClassOutput: root::spv::StorageClass = 3; 151 pub const StorageClass_StorageClassWorkgroup: root::spv::StorageClass = 4; 152 pub const StorageClass_StorageClassCrossWorkgroup: root::spv::StorageClass = 5; 153 pub const StorageClass_StorageClassPrivate: root::spv::StorageClass = 6; 154 pub const StorageClass_StorageClassFunction: root::spv::StorageClass = 7; 155 pub const StorageClass_StorageClassGeneric: root::spv::StorageClass = 8; 156 pub const StorageClass_StorageClassPushConstant: root::spv::StorageClass = 9; 157 pub const StorageClass_StorageClassAtomicCounter: root::spv::StorageClass = 10; 158 pub const StorageClass_StorageClassImage: root::spv::StorageClass = 11; 159 pub const StorageClass_StorageClassStorageBuffer: root::spv::StorageClass = 12; 160 pub const StorageClass_StorageClassCallableDataKHR: root::spv::StorageClass = 5328; 161 pub const StorageClass_StorageClassCallableDataNV: root::spv::StorageClass = 5328; 162 pub const StorageClass_StorageClassIncomingCallableDataKHR: root::spv::StorageClass = 5329; 163 pub const StorageClass_StorageClassIncomingCallableDataNV: root::spv::StorageClass = 5329; 164 pub const StorageClass_StorageClassRayPayloadKHR: root::spv::StorageClass = 5338; 165 pub const StorageClass_StorageClassRayPayloadNV: root::spv::StorageClass = 5338; 166 pub const StorageClass_StorageClassHitAttributeKHR: root::spv::StorageClass = 5339; 167 pub const StorageClass_StorageClassHitAttributeNV: root::spv::StorageClass = 5339; 168 pub const StorageClass_StorageClassIncomingRayPayloadKHR: root::spv::StorageClass = 5342; 169 pub const StorageClass_StorageClassIncomingRayPayloadNV: root::spv::StorageClass = 5342; 170 pub const StorageClass_StorageClassShaderRecordBufferKHR: root::spv::StorageClass = 5343; 171 pub const StorageClass_StorageClassShaderRecordBufferNV: root::spv::StorageClass = 5343; 172 pub const StorageClass_StorageClassPhysicalStorageBuffer: root::spv::StorageClass = 5349; 173 pub const StorageClass_StorageClassPhysicalStorageBufferEXT: root::spv::StorageClass = 5349; 174 pub const StorageClass_StorageClassMax: root::spv::StorageClass = 2147483647; 175 pub type StorageClass = u32; 176 pub const Dim_Dim1D: root::spv::Dim = 0; 177 pub const Dim_Dim2D: root::spv::Dim = 1; 178 pub const Dim_Dim3D: root::spv::Dim = 2; 179 pub const Dim_DimCube: root::spv::Dim = 3; 180 pub const Dim_DimRect: root::spv::Dim = 4; 181 pub const Dim_DimBuffer: root::spv::Dim = 5; 182 pub const Dim_DimSubpassData: root::spv::Dim = 6; 183 pub const Dim_DimMax: root::spv::Dim = 2147483647; 184 pub type Dim = u32; 185 pub const SamplerAddressingMode_SamplerAddressingModeNone: 186 root::spv::SamplerAddressingMode = 0; 187 pub const SamplerAddressingMode_SamplerAddressingModeClampToEdge: 188 root::spv::SamplerAddressingMode = 1; 189 pub const SamplerAddressingMode_SamplerAddressingModeClamp: 190 root::spv::SamplerAddressingMode = 2; 191 pub const SamplerAddressingMode_SamplerAddressingModeRepeat: 192 root::spv::SamplerAddressingMode = 3; 193 pub const SamplerAddressingMode_SamplerAddressingModeRepeatMirrored: 194 root::spv::SamplerAddressingMode = 4; 195 pub const SamplerAddressingMode_SamplerAddressingModeMax: root::spv::SamplerAddressingMode = 196 2147483647; 197 pub type SamplerAddressingMode = u32; 198 pub const SamplerFilterMode_SamplerFilterModeNearest: root::spv::SamplerFilterMode = 0; 199 pub const SamplerFilterMode_SamplerFilterModeLinear: root::spv::SamplerFilterMode = 1; 200 pub const SamplerFilterMode_SamplerFilterModeMax: root::spv::SamplerFilterMode = 2147483647; 201 pub type SamplerFilterMode = u32; 202 pub const ImageFormat_ImageFormatUnknown: root::spv::ImageFormat = 0; 203 pub const ImageFormat_ImageFormatRgba32f: root::spv::ImageFormat = 1; 204 pub const ImageFormat_ImageFormatRgba16f: root::spv::ImageFormat = 2; 205 pub const ImageFormat_ImageFormatR32f: root::spv::ImageFormat = 3; 206 pub const ImageFormat_ImageFormatRgba8: root::spv::ImageFormat = 4; 207 pub const ImageFormat_ImageFormatRgba8Snorm: root::spv::ImageFormat = 5; 208 pub const ImageFormat_ImageFormatRg32f: root::spv::ImageFormat = 6; 209 pub const ImageFormat_ImageFormatRg16f: root::spv::ImageFormat = 7; 210 pub const ImageFormat_ImageFormatR11fG11fB10f: root::spv::ImageFormat = 8; 211 pub const ImageFormat_ImageFormatR16f: root::spv::ImageFormat = 9; 212 pub const ImageFormat_ImageFormatRgba16: root::spv::ImageFormat = 10; 213 pub const ImageFormat_ImageFormatRgb10A2: root::spv::ImageFormat = 11; 214 pub const ImageFormat_ImageFormatRg16: root::spv::ImageFormat = 12; 215 pub const ImageFormat_ImageFormatRg8: root::spv::ImageFormat = 13; 216 pub const ImageFormat_ImageFormatR16: root::spv::ImageFormat = 14; 217 pub const ImageFormat_ImageFormatR8: root::spv::ImageFormat = 15; 218 pub const ImageFormat_ImageFormatRgba16Snorm: root::spv::ImageFormat = 16; 219 pub const ImageFormat_ImageFormatRg16Snorm: root::spv::ImageFormat = 17; 220 pub const ImageFormat_ImageFormatRg8Snorm: root::spv::ImageFormat = 18; 221 pub const ImageFormat_ImageFormatR16Snorm: root::spv::ImageFormat = 19; 222 pub const ImageFormat_ImageFormatR8Snorm: root::spv::ImageFormat = 20; 223 pub const ImageFormat_ImageFormatRgba32i: root::spv::ImageFormat = 21; 224 pub const ImageFormat_ImageFormatRgba16i: root::spv::ImageFormat = 22; 225 pub const ImageFormat_ImageFormatRgba8i: root::spv::ImageFormat = 23; 226 pub const ImageFormat_ImageFormatR32i: root::spv::ImageFormat = 24; 227 pub const ImageFormat_ImageFormatRg32i: root::spv::ImageFormat = 25; 228 pub const ImageFormat_ImageFormatRg16i: root::spv::ImageFormat = 26; 229 pub const ImageFormat_ImageFormatRg8i: root::spv::ImageFormat = 27; 230 pub const ImageFormat_ImageFormatR16i: root::spv::ImageFormat = 28; 231 pub const ImageFormat_ImageFormatR8i: root::spv::ImageFormat = 29; 232 pub const ImageFormat_ImageFormatRgba32ui: root::spv::ImageFormat = 30; 233 pub const ImageFormat_ImageFormatRgba16ui: root::spv::ImageFormat = 31; 234 pub const ImageFormat_ImageFormatRgba8ui: root::spv::ImageFormat = 32; 235 pub const ImageFormat_ImageFormatR32ui: root::spv::ImageFormat = 33; 236 pub const ImageFormat_ImageFormatRgb10a2ui: root::spv::ImageFormat = 34; 237 pub const ImageFormat_ImageFormatRg32ui: root::spv::ImageFormat = 35; 238 pub const ImageFormat_ImageFormatRg16ui: root::spv::ImageFormat = 36; 239 pub const ImageFormat_ImageFormatRg8ui: root::spv::ImageFormat = 37; 240 pub const ImageFormat_ImageFormatR16ui: root::spv::ImageFormat = 38; 241 pub const ImageFormat_ImageFormatR8ui: root::spv::ImageFormat = 39; 242 pub const ImageFormat_ImageFormatMax: root::spv::ImageFormat = 2147483647; 243 pub type ImageFormat = u32; 244 pub const ImageChannelOrder_ImageChannelOrderR: root::spv::ImageChannelOrder = 0; 245 pub const ImageChannelOrder_ImageChannelOrderA: root::spv::ImageChannelOrder = 1; 246 pub const ImageChannelOrder_ImageChannelOrderRG: root::spv::ImageChannelOrder = 2; 247 pub const ImageChannelOrder_ImageChannelOrderRA: root::spv::ImageChannelOrder = 3; 248 pub const ImageChannelOrder_ImageChannelOrderRGB: root::spv::ImageChannelOrder = 4; 249 pub const ImageChannelOrder_ImageChannelOrderRGBA: root::spv::ImageChannelOrder = 5; 250 pub const ImageChannelOrder_ImageChannelOrderBGRA: root::spv::ImageChannelOrder = 6; 251 pub const ImageChannelOrder_ImageChannelOrderARGB: root::spv::ImageChannelOrder = 7; 252 pub const ImageChannelOrder_ImageChannelOrderIntensity: root::spv::ImageChannelOrder = 8; 253 pub const ImageChannelOrder_ImageChannelOrderLuminance: root::spv::ImageChannelOrder = 9; 254 pub const ImageChannelOrder_ImageChannelOrderRx: root::spv::ImageChannelOrder = 10; 255 pub const ImageChannelOrder_ImageChannelOrderRGx: root::spv::ImageChannelOrder = 11; 256 pub const ImageChannelOrder_ImageChannelOrderRGBx: root::spv::ImageChannelOrder = 12; 257 pub const ImageChannelOrder_ImageChannelOrderDepth: root::spv::ImageChannelOrder = 13; 258 pub const ImageChannelOrder_ImageChannelOrderDepthStencil: root::spv::ImageChannelOrder = 259 14; 260 pub const ImageChannelOrder_ImageChannelOrdersRGB: root::spv::ImageChannelOrder = 15; 261 pub const ImageChannelOrder_ImageChannelOrdersRGBx: root::spv::ImageChannelOrder = 16; 262 pub const ImageChannelOrder_ImageChannelOrdersRGBA: root::spv::ImageChannelOrder = 17; 263 pub const ImageChannelOrder_ImageChannelOrdersBGRA: root::spv::ImageChannelOrder = 18; 264 pub const ImageChannelOrder_ImageChannelOrderABGR: root::spv::ImageChannelOrder = 19; 265 pub const ImageChannelOrder_ImageChannelOrderMax: root::spv::ImageChannelOrder = 2147483647; 266 pub type ImageChannelOrder = u32; 267 pub const ImageChannelDataType_ImageChannelDataTypeSnormInt8: 268 root::spv::ImageChannelDataType = 0; 269 pub const ImageChannelDataType_ImageChannelDataTypeSnormInt16: 270 root::spv::ImageChannelDataType = 1; 271 pub const ImageChannelDataType_ImageChannelDataTypeUnormInt8: 272 root::spv::ImageChannelDataType = 2; 273 pub const ImageChannelDataType_ImageChannelDataTypeUnormInt16: 274 root::spv::ImageChannelDataType = 3; 275 pub const ImageChannelDataType_ImageChannelDataTypeUnormShort565: 276 root::spv::ImageChannelDataType = 4; 277 pub const ImageChannelDataType_ImageChannelDataTypeUnormShort555: 278 root::spv::ImageChannelDataType = 5; 279 pub const ImageChannelDataType_ImageChannelDataTypeUnormInt101010: 280 root::spv::ImageChannelDataType = 6; 281 pub const ImageChannelDataType_ImageChannelDataTypeSignedInt8: 282 root::spv::ImageChannelDataType = 7; 283 pub const ImageChannelDataType_ImageChannelDataTypeSignedInt16: 284 root::spv::ImageChannelDataType = 8; 285 pub const ImageChannelDataType_ImageChannelDataTypeSignedInt32: 286 root::spv::ImageChannelDataType = 9; 287 pub const ImageChannelDataType_ImageChannelDataTypeUnsignedInt8: 288 root::spv::ImageChannelDataType = 10; 289 pub const ImageChannelDataType_ImageChannelDataTypeUnsignedInt16: 290 root::spv::ImageChannelDataType = 11; 291 pub const ImageChannelDataType_ImageChannelDataTypeUnsignedInt32: 292 root::spv::ImageChannelDataType = 12; 293 pub const ImageChannelDataType_ImageChannelDataTypeHalfFloat: 294 root::spv::ImageChannelDataType = 13; 295 pub const ImageChannelDataType_ImageChannelDataTypeFloat: root::spv::ImageChannelDataType = 296 14; 297 pub const ImageChannelDataType_ImageChannelDataTypeUnormInt24: 298 root::spv::ImageChannelDataType = 15; 299 pub const ImageChannelDataType_ImageChannelDataTypeUnormInt101010_2: 300 root::spv::ImageChannelDataType = 16; 301 pub const ImageChannelDataType_ImageChannelDataTypeMax: root::spv::ImageChannelDataType = 302 2147483647; 303 pub type ImageChannelDataType = u32; 304 pub const ImageOperandsShift_ImageOperandsBiasShift: root::spv::ImageOperandsShift = 0; 305 pub const ImageOperandsShift_ImageOperandsLodShift: root::spv::ImageOperandsShift = 1; 306 pub const ImageOperandsShift_ImageOperandsGradShift: root::spv::ImageOperandsShift = 2; 307 pub const ImageOperandsShift_ImageOperandsConstOffsetShift: root::spv::ImageOperandsShift = 308 3; 309 pub const ImageOperandsShift_ImageOperandsOffsetShift: root::spv::ImageOperandsShift = 4; 310 pub const ImageOperandsShift_ImageOperandsConstOffsetsShift: root::spv::ImageOperandsShift = 311 5; 312 pub const ImageOperandsShift_ImageOperandsSampleShift: root::spv::ImageOperandsShift = 6; 313 pub const ImageOperandsShift_ImageOperandsMinLodShift: root::spv::ImageOperandsShift = 7; 314 pub const ImageOperandsShift_ImageOperandsMakeTexelAvailableShift: 315 root::spv::ImageOperandsShift = 8; 316 pub const ImageOperandsShift_ImageOperandsMakeTexelAvailableKHRShift: 317 root::spv::ImageOperandsShift = 8; 318 pub const ImageOperandsShift_ImageOperandsMakeTexelVisibleShift: 319 root::spv::ImageOperandsShift = 9; 320 pub const ImageOperandsShift_ImageOperandsMakeTexelVisibleKHRShift: 321 root::spv::ImageOperandsShift = 9; 322 pub const ImageOperandsShift_ImageOperandsNonPrivateTexelShift: 323 root::spv::ImageOperandsShift = 10; 324 pub const ImageOperandsShift_ImageOperandsNonPrivateTexelKHRShift: 325 root::spv::ImageOperandsShift = 10; 326 pub const ImageOperandsShift_ImageOperandsVolatileTexelShift: 327 root::spv::ImageOperandsShift = 11; 328 pub const ImageOperandsShift_ImageOperandsVolatileTexelKHRShift: 329 root::spv::ImageOperandsShift = 11; 330 pub const ImageOperandsShift_ImageOperandsSignExtendShift: root::spv::ImageOperandsShift = 331 12; 332 pub const ImageOperandsShift_ImageOperandsZeroExtendShift: root::spv::ImageOperandsShift = 333 13; 334 pub const ImageOperandsShift_ImageOperandsMax: root::spv::ImageOperandsShift = 2147483647; 335 pub type ImageOperandsShift = u32; 336 impl ImageOperandsMask { 337 pub const ImageOperandsMaskNone: root::spv::ImageOperandsMask = 338 root::spv::ImageOperandsMask(0); 339 } 340 impl ImageOperandsMask { 341 pub const ImageOperandsBiasMask: root::spv::ImageOperandsMask = 342 root::spv::ImageOperandsMask(1); 343 } 344 impl ImageOperandsMask { 345 pub const ImageOperandsLodMask: root::spv::ImageOperandsMask = 346 root::spv::ImageOperandsMask(2); 347 } 348 impl ImageOperandsMask { 349 pub const ImageOperandsGradMask: root::spv::ImageOperandsMask = 350 root::spv::ImageOperandsMask(4); 351 } 352 impl ImageOperandsMask { 353 pub const ImageOperandsConstOffsetMask: root::spv::ImageOperandsMask = 354 root::spv::ImageOperandsMask(8); 355 } 356 impl ImageOperandsMask { 357 pub const ImageOperandsOffsetMask: root::spv::ImageOperandsMask = 358 root::spv::ImageOperandsMask(16); 359 } 360 impl ImageOperandsMask { 361 pub const ImageOperandsConstOffsetsMask: root::spv::ImageOperandsMask = 362 root::spv::ImageOperandsMask(32); 363 } 364 impl ImageOperandsMask { 365 pub const ImageOperandsSampleMask: root::spv::ImageOperandsMask = 366 root::spv::ImageOperandsMask(64); 367 } 368 impl ImageOperandsMask { 369 pub const ImageOperandsMinLodMask: root::spv::ImageOperandsMask = 370 root::spv::ImageOperandsMask(128); 371 } 372 impl ImageOperandsMask { 373 pub const ImageOperandsMakeTexelAvailableMask: root::spv::ImageOperandsMask = 374 root::spv::ImageOperandsMask(256); 375 } 376 impl ImageOperandsMask { 377 pub const ImageOperandsMakeTexelAvailableKHRMask: root::spv::ImageOperandsMask = 378 root::spv::ImageOperandsMask(256); 379 } 380 impl ImageOperandsMask { 381 pub const ImageOperandsMakeTexelVisibleMask: root::spv::ImageOperandsMask = 382 root::spv::ImageOperandsMask(512); 383 } 384 impl ImageOperandsMask { 385 pub const ImageOperandsMakeTexelVisibleKHRMask: root::spv::ImageOperandsMask = 386 root::spv::ImageOperandsMask(512); 387 } 388 impl ImageOperandsMask { 389 pub const ImageOperandsNonPrivateTexelMask: root::spv::ImageOperandsMask = 390 root::spv::ImageOperandsMask(1024); 391 } 392 impl ImageOperandsMask { 393 pub const ImageOperandsNonPrivateTexelKHRMask: root::spv::ImageOperandsMask = 394 root::spv::ImageOperandsMask(1024); 395 } 396 impl ImageOperandsMask { 397 pub const ImageOperandsVolatileTexelMask: root::spv::ImageOperandsMask = 398 root::spv::ImageOperandsMask(2048); 399 } 400 impl ImageOperandsMask { 401 pub const ImageOperandsVolatileTexelKHRMask: root::spv::ImageOperandsMask = 402 root::spv::ImageOperandsMask(2048); 403 } 404 impl ImageOperandsMask { 405 pub const ImageOperandsSignExtendMask: root::spv::ImageOperandsMask = 406 root::spv::ImageOperandsMask(4096); 407 } 408 impl ImageOperandsMask { 409 pub const ImageOperandsZeroExtendMask: root::spv::ImageOperandsMask = 410 root::spv::ImageOperandsMask(8192); 411 } 412 impl ::std::ops::BitOr<root::spv::ImageOperandsMask> for root::spv::ImageOperandsMask { 413 type Output = Self; 414 #[inline] bitor(self, other: Self) -> Self415 fn bitor(self, other: Self) -> Self { 416 ImageOperandsMask(self.0 | other.0) 417 } 418 } 419 impl ::std::ops::BitOrAssign for root::spv::ImageOperandsMask { 420 #[inline] bitor_assign(&mut self, rhs: root::spv::ImageOperandsMask)421 fn bitor_assign(&mut self, rhs: root::spv::ImageOperandsMask) { 422 self.0 |= rhs.0; 423 } 424 } 425 impl ::std::ops::BitAnd<root::spv::ImageOperandsMask> for root::spv::ImageOperandsMask { 426 type Output = Self; 427 #[inline] bitand(self, other: Self) -> Self428 fn bitand(self, other: Self) -> Self { 429 ImageOperandsMask(self.0 & other.0) 430 } 431 } 432 impl ::std::ops::BitAndAssign for root::spv::ImageOperandsMask { 433 #[inline] bitand_assign(&mut self, rhs: root::spv::ImageOperandsMask)434 fn bitand_assign(&mut self, rhs: root::spv::ImageOperandsMask) { 435 self.0 &= rhs.0; 436 } 437 } 438 #[repr(transparent)] 439 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 440 pub struct ImageOperandsMask(pub u32); 441 pub const FPFastMathModeShift_FPFastMathModeNotNaNShift: root::spv::FPFastMathModeShift = 0; 442 pub const FPFastMathModeShift_FPFastMathModeNotInfShift: root::spv::FPFastMathModeShift = 1; 443 pub const FPFastMathModeShift_FPFastMathModeNSZShift: root::spv::FPFastMathModeShift = 2; 444 pub const FPFastMathModeShift_FPFastMathModeAllowRecipShift: 445 root::spv::FPFastMathModeShift = 3; 446 pub const FPFastMathModeShift_FPFastMathModeFastShift: root::spv::FPFastMathModeShift = 4; 447 pub const FPFastMathModeShift_FPFastMathModeMax: root::spv::FPFastMathModeShift = 448 2147483647; 449 pub type FPFastMathModeShift = u32; 450 impl FPFastMathModeMask { 451 pub const FPFastMathModeMaskNone: root::spv::FPFastMathModeMask = 452 root::spv::FPFastMathModeMask(0); 453 } 454 impl FPFastMathModeMask { 455 pub const FPFastMathModeNotNaNMask: root::spv::FPFastMathModeMask = 456 root::spv::FPFastMathModeMask(1); 457 } 458 impl FPFastMathModeMask { 459 pub const FPFastMathModeNotInfMask: root::spv::FPFastMathModeMask = 460 root::spv::FPFastMathModeMask(2); 461 } 462 impl FPFastMathModeMask { 463 pub const FPFastMathModeNSZMask: root::spv::FPFastMathModeMask = 464 root::spv::FPFastMathModeMask(4); 465 } 466 impl FPFastMathModeMask { 467 pub const FPFastMathModeAllowRecipMask: root::spv::FPFastMathModeMask = 468 root::spv::FPFastMathModeMask(8); 469 } 470 impl FPFastMathModeMask { 471 pub const FPFastMathModeFastMask: root::spv::FPFastMathModeMask = 472 root::spv::FPFastMathModeMask(16); 473 } 474 impl ::std::ops::BitOr<root::spv::FPFastMathModeMask> for root::spv::FPFastMathModeMask { 475 type Output = Self; 476 #[inline] bitor(self, other: Self) -> Self477 fn bitor(self, other: Self) -> Self { 478 FPFastMathModeMask(self.0 | other.0) 479 } 480 } 481 impl ::std::ops::BitOrAssign for root::spv::FPFastMathModeMask { 482 #[inline] bitor_assign(&mut self, rhs: root::spv::FPFastMathModeMask)483 fn bitor_assign(&mut self, rhs: root::spv::FPFastMathModeMask) { 484 self.0 |= rhs.0; 485 } 486 } 487 impl ::std::ops::BitAnd<root::spv::FPFastMathModeMask> for root::spv::FPFastMathModeMask { 488 type Output = Self; 489 #[inline] bitand(self, other: Self) -> Self490 fn bitand(self, other: Self) -> Self { 491 FPFastMathModeMask(self.0 & other.0) 492 } 493 } 494 impl ::std::ops::BitAndAssign for root::spv::FPFastMathModeMask { 495 #[inline] bitand_assign(&mut self, rhs: root::spv::FPFastMathModeMask)496 fn bitand_assign(&mut self, rhs: root::spv::FPFastMathModeMask) { 497 self.0 &= rhs.0; 498 } 499 } 500 #[repr(transparent)] 501 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 502 pub struct FPFastMathModeMask(pub u32); 503 pub const FPRoundingMode_FPRoundingModeRTE: root::spv::FPRoundingMode = 0; 504 pub const FPRoundingMode_FPRoundingModeRTZ: root::spv::FPRoundingMode = 1; 505 pub const FPRoundingMode_FPRoundingModeRTP: root::spv::FPRoundingMode = 2; 506 pub const FPRoundingMode_FPRoundingModeRTN: root::spv::FPRoundingMode = 3; 507 pub const FPRoundingMode_FPRoundingModeMax: root::spv::FPRoundingMode = 2147483647; 508 pub type FPRoundingMode = u32; 509 pub const LinkageType_LinkageTypeExport: root::spv::LinkageType = 0; 510 pub const LinkageType_LinkageTypeImport: root::spv::LinkageType = 1; 511 pub const LinkageType_LinkageTypeMax: root::spv::LinkageType = 2147483647; 512 pub type LinkageType = u32; 513 pub const AccessQualifier_AccessQualifierReadOnly: root::spv::AccessQualifier = 0; 514 pub const AccessQualifier_AccessQualifierWriteOnly: root::spv::AccessQualifier = 1; 515 pub const AccessQualifier_AccessQualifierReadWrite: root::spv::AccessQualifier = 2; 516 pub const AccessQualifier_AccessQualifierMax: root::spv::AccessQualifier = 2147483647; 517 pub type AccessQualifier = u32; 518 pub const FunctionParameterAttribute_FunctionParameterAttributeZext: 519 root::spv::FunctionParameterAttribute = 0; 520 pub const FunctionParameterAttribute_FunctionParameterAttributeSext: 521 root::spv::FunctionParameterAttribute = 1; 522 pub const FunctionParameterAttribute_FunctionParameterAttributeByVal: 523 root::spv::FunctionParameterAttribute = 2; 524 pub const FunctionParameterAttribute_FunctionParameterAttributeSret: 525 root::spv::FunctionParameterAttribute = 3; 526 pub const FunctionParameterAttribute_FunctionParameterAttributeNoAlias: 527 root::spv::FunctionParameterAttribute = 4; 528 pub const FunctionParameterAttribute_FunctionParameterAttributeNoCapture: 529 root::spv::FunctionParameterAttribute = 5; 530 pub const FunctionParameterAttribute_FunctionParameterAttributeNoWrite: 531 root::spv::FunctionParameterAttribute = 6; 532 pub const FunctionParameterAttribute_FunctionParameterAttributeNoReadWrite: 533 root::spv::FunctionParameterAttribute = 7; 534 pub const FunctionParameterAttribute_FunctionParameterAttributeMax: 535 root::spv::FunctionParameterAttribute = 2147483647; 536 pub type FunctionParameterAttribute = u32; 537 impl root::spv::Decoration { 538 pub const DecorationNonUniformEXT: root::spv::Decoration = 539 Decoration::DecorationNonUniform; 540 } 541 impl root::spv::Decoration { 542 pub const DecorationRestrictPointerEXT: root::spv::Decoration = 543 Decoration::DecorationRestrictPointer; 544 } 545 impl root::spv::Decoration { 546 pub const DecorationAliasedPointerEXT: root::spv::Decoration = 547 Decoration::DecorationAliasedPointer; 548 } 549 impl root::spv::Decoration { 550 pub const DecorationHlslCounterBufferGOOGLE: root::spv::Decoration = 551 Decoration::DecorationCounterBuffer; 552 } 553 impl root::spv::Decoration { 554 pub const DecorationUserSemantic: root::spv::Decoration = 555 Decoration::DecorationHlslSemanticGOOGLE; 556 } 557 #[repr(u32)] 558 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 559 pub enum Decoration { 560 DecorationRelaxedPrecision = 0, 561 DecorationSpecId = 1, 562 DecorationBlock = 2, 563 DecorationBufferBlock = 3, 564 DecorationRowMajor = 4, 565 DecorationColMajor = 5, 566 DecorationArrayStride = 6, 567 DecorationMatrixStride = 7, 568 DecorationGLSLShared = 8, 569 DecorationGLSLPacked = 9, 570 DecorationCPacked = 10, 571 DecorationBuiltIn = 11, 572 DecorationNoPerspective = 13, 573 DecorationFlat = 14, 574 DecorationPatch = 15, 575 DecorationCentroid = 16, 576 DecorationSample = 17, 577 DecorationInvariant = 18, 578 DecorationRestrict = 19, 579 DecorationAliased = 20, 580 DecorationVolatile = 21, 581 DecorationConstant = 22, 582 DecorationCoherent = 23, 583 DecorationNonWritable = 24, 584 DecorationNonReadable = 25, 585 DecorationUniform = 26, 586 DecorationUniformId = 27, 587 DecorationSaturatedConversion = 28, 588 DecorationStream = 29, 589 DecorationLocation = 30, 590 DecorationComponent = 31, 591 DecorationIndex = 32, 592 DecorationBinding = 33, 593 DecorationDescriptorSet = 34, 594 DecorationOffset = 35, 595 DecorationXfbBuffer = 36, 596 DecorationXfbStride = 37, 597 DecorationFuncParamAttr = 38, 598 DecorationFPRoundingMode = 39, 599 DecorationFPFastMathMode = 40, 600 DecorationLinkageAttributes = 41, 601 DecorationNoContraction = 42, 602 DecorationInputAttachmentIndex = 43, 603 DecorationAlignment = 44, 604 DecorationMaxByteOffset = 45, 605 DecorationAlignmentId = 46, 606 DecorationMaxByteOffsetId = 47, 607 DecorationNoSignedWrap = 4469, 608 DecorationNoUnsignedWrap = 4470, 609 DecorationExplicitInterpAMD = 4999, 610 DecorationOverrideCoverageNV = 5248, 611 DecorationPassthroughNV = 5250, 612 DecorationViewportRelativeNV = 5252, 613 DecorationSecondaryViewportRelativeNV = 5256, 614 DecorationPerPrimitiveNV = 5271, 615 DecorationPerViewNV = 5272, 616 DecorationPerTaskNV = 5273, 617 DecorationPerVertexNV = 5285, 618 DecorationNonUniform = 5300, 619 DecorationRestrictPointer = 5355, 620 DecorationAliasedPointer = 5356, 621 DecorationCounterBuffer = 5634, 622 DecorationHlslSemanticGOOGLE = 5635, 623 DecorationUserTypeGOOGLE = 5636, 624 DecorationMax = 2147483647, 625 } 626 impl root::spv::BuiltIn { 627 pub const BuiltInSubgroupEqMaskKHR: root::spv::BuiltIn = BuiltIn::BuiltInSubgroupEqMask; 628 } 629 impl root::spv::BuiltIn { 630 pub const BuiltInSubgroupGeMaskKHR: root::spv::BuiltIn = BuiltIn::BuiltInSubgroupGeMask; 631 } 632 impl root::spv::BuiltIn { 633 pub const BuiltInSubgroupGtMaskKHR: root::spv::BuiltIn = BuiltIn::BuiltInSubgroupGtMask; 634 } 635 impl root::spv::BuiltIn { 636 pub const BuiltInSubgroupLeMaskKHR: root::spv::BuiltIn = BuiltIn::BuiltInSubgroupLeMask; 637 } 638 impl root::spv::BuiltIn { 639 pub const BuiltInSubgroupLtMaskKHR: root::spv::BuiltIn = BuiltIn::BuiltInSubgroupLtMask; 640 } 641 impl root::spv::BuiltIn { 642 pub const BuiltInFragmentSizeNV: root::spv::BuiltIn = BuiltIn::BuiltInFragSizeEXT; 643 } 644 impl root::spv::BuiltIn { 645 pub const BuiltInInvocationsPerPixelNV: root::spv::BuiltIn = 646 BuiltIn::BuiltInFragInvocationCountEXT; 647 } 648 impl root::spv::BuiltIn { 649 pub const BuiltInLaunchIdNV: root::spv::BuiltIn = BuiltIn::BuiltInLaunchIdKHR; 650 } 651 impl root::spv::BuiltIn { 652 pub const BuiltInLaunchSizeNV: root::spv::BuiltIn = BuiltIn::BuiltInLaunchSizeKHR; 653 } 654 impl root::spv::BuiltIn { 655 pub const BuiltInWorldRayOriginNV: root::spv::BuiltIn = 656 BuiltIn::BuiltInWorldRayOriginKHR; 657 } 658 impl root::spv::BuiltIn { 659 pub const BuiltInWorldRayDirectionNV: root::spv::BuiltIn = 660 BuiltIn::BuiltInWorldRayDirectionKHR; 661 } 662 impl root::spv::BuiltIn { 663 pub const BuiltInObjectRayOriginNV: root::spv::BuiltIn = 664 BuiltIn::BuiltInObjectRayOriginKHR; 665 } 666 impl root::spv::BuiltIn { 667 pub const BuiltInObjectRayDirectionNV: root::spv::BuiltIn = 668 BuiltIn::BuiltInObjectRayDirectionKHR; 669 } 670 impl root::spv::BuiltIn { 671 pub const BuiltInRayTminNV: root::spv::BuiltIn = BuiltIn::BuiltInRayTminKHR; 672 } 673 impl root::spv::BuiltIn { 674 pub const BuiltInRayTmaxNV: root::spv::BuiltIn = BuiltIn::BuiltInRayTmaxKHR; 675 } 676 impl root::spv::BuiltIn { 677 pub const BuiltInInstanceCustomIndexNV: root::spv::BuiltIn = 678 BuiltIn::BuiltInInstanceCustomIndexKHR; 679 } 680 impl root::spv::BuiltIn { 681 pub const BuiltInObjectToWorldNV: root::spv::BuiltIn = BuiltIn::BuiltInObjectToWorldKHR; 682 } 683 impl root::spv::BuiltIn { 684 pub const BuiltInWorldToObjectNV: root::spv::BuiltIn = BuiltIn::BuiltInWorldToObjectKHR; 685 } 686 impl root::spv::BuiltIn { 687 pub const BuiltInHitTNV: root::spv::BuiltIn = BuiltIn::BuiltInHitTKHR; 688 } 689 impl root::spv::BuiltIn { 690 pub const BuiltInHitKindNV: root::spv::BuiltIn = BuiltIn::BuiltInHitKindKHR; 691 } 692 impl root::spv::BuiltIn { 693 pub const BuiltInIncomingRayFlagsNV: root::spv::BuiltIn = 694 BuiltIn::BuiltInIncomingRayFlagsKHR; 695 } 696 #[repr(u32)] 697 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 698 pub enum BuiltIn { 699 BuiltInPosition = 0, 700 BuiltInPointSize = 1, 701 BuiltInClipDistance = 3, 702 BuiltInCullDistance = 4, 703 BuiltInVertexId = 5, 704 BuiltInInstanceId = 6, 705 BuiltInPrimitiveId = 7, 706 BuiltInInvocationId = 8, 707 BuiltInLayer = 9, 708 BuiltInViewportIndex = 10, 709 BuiltInTessLevelOuter = 11, 710 BuiltInTessLevelInner = 12, 711 BuiltInTessCoord = 13, 712 BuiltInPatchVertices = 14, 713 BuiltInFragCoord = 15, 714 BuiltInPointCoord = 16, 715 BuiltInFrontFacing = 17, 716 BuiltInSampleId = 18, 717 BuiltInSamplePosition = 19, 718 BuiltInSampleMask = 20, 719 BuiltInFragDepth = 22, 720 BuiltInHelperInvocation = 23, 721 BuiltInNumWorkgroups = 24, 722 BuiltInWorkgroupSize = 25, 723 BuiltInWorkgroupId = 26, 724 BuiltInLocalInvocationId = 27, 725 BuiltInGlobalInvocationId = 28, 726 BuiltInLocalInvocationIndex = 29, 727 BuiltInWorkDim = 30, 728 BuiltInGlobalSize = 31, 729 BuiltInEnqueuedWorkgroupSize = 32, 730 BuiltInGlobalOffset = 33, 731 BuiltInGlobalLinearId = 34, 732 BuiltInSubgroupSize = 36, 733 BuiltInSubgroupMaxSize = 37, 734 BuiltInNumSubgroups = 38, 735 BuiltInNumEnqueuedSubgroups = 39, 736 BuiltInSubgroupId = 40, 737 BuiltInSubgroupLocalInvocationId = 41, 738 BuiltInVertexIndex = 42, 739 BuiltInInstanceIndex = 43, 740 BuiltInSubgroupEqMask = 4416, 741 BuiltInSubgroupGeMask = 4417, 742 BuiltInSubgroupGtMask = 4418, 743 BuiltInSubgroupLeMask = 4419, 744 BuiltInSubgroupLtMask = 4420, 745 BuiltInBaseVertex = 4424, 746 BuiltInBaseInstance = 4425, 747 BuiltInDrawIndex = 4426, 748 BuiltInDeviceIndex = 4438, 749 BuiltInViewIndex = 4440, 750 BuiltInBaryCoordNoPerspAMD = 4992, 751 BuiltInBaryCoordNoPerspCentroidAMD = 4993, 752 BuiltInBaryCoordNoPerspSampleAMD = 4994, 753 BuiltInBaryCoordSmoothAMD = 4995, 754 BuiltInBaryCoordSmoothCentroidAMD = 4996, 755 BuiltInBaryCoordSmoothSampleAMD = 4997, 756 BuiltInBaryCoordPullModelAMD = 4998, 757 BuiltInFragStencilRefEXT = 5014, 758 BuiltInViewportMaskNV = 5253, 759 BuiltInSecondaryPositionNV = 5257, 760 BuiltInSecondaryViewportMaskNV = 5258, 761 BuiltInPositionPerViewNV = 5261, 762 BuiltInViewportMaskPerViewNV = 5262, 763 BuiltInFullyCoveredEXT = 5264, 764 BuiltInTaskCountNV = 5274, 765 BuiltInPrimitiveCountNV = 5275, 766 BuiltInPrimitiveIndicesNV = 5276, 767 BuiltInClipDistancePerViewNV = 5277, 768 BuiltInCullDistancePerViewNV = 5278, 769 BuiltInLayerPerViewNV = 5279, 770 BuiltInMeshViewCountNV = 5280, 771 BuiltInMeshViewIndicesNV = 5281, 772 BuiltInBaryCoordNV = 5286, 773 BuiltInBaryCoordNoPerspNV = 5287, 774 BuiltInFragSizeEXT = 5292, 775 BuiltInFragInvocationCountEXT = 5293, 776 BuiltInLaunchIdKHR = 5319, 777 BuiltInLaunchSizeKHR = 5320, 778 BuiltInWorldRayOriginKHR = 5321, 779 BuiltInWorldRayDirectionKHR = 5322, 780 BuiltInObjectRayOriginKHR = 5323, 781 BuiltInObjectRayDirectionKHR = 5324, 782 BuiltInRayTminKHR = 5325, 783 BuiltInRayTmaxKHR = 5326, 784 BuiltInInstanceCustomIndexKHR = 5327, 785 BuiltInObjectToWorldKHR = 5330, 786 BuiltInWorldToObjectKHR = 5331, 787 BuiltInHitTKHR = 5332, 788 BuiltInHitKindKHR = 5333, 789 BuiltInIncomingRayFlagsKHR = 5351, 790 BuiltInRayGeometryIndexKHR = 5352, 791 BuiltInWarpsPerSMNV = 5374, 792 BuiltInSMCountNV = 5375, 793 BuiltInWarpIDNV = 5376, 794 BuiltInSMIDNV = 5377, 795 BuiltInMax = 2147483647, 796 } 797 pub const SelectionControlShift_SelectionControlFlattenShift: 798 root::spv::SelectionControlShift = 0; 799 pub const SelectionControlShift_SelectionControlDontFlattenShift: 800 root::spv::SelectionControlShift = 1; 801 pub const SelectionControlShift_SelectionControlMax: root::spv::SelectionControlShift = 802 2147483647; 803 pub type SelectionControlShift = u32; 804 impl SelectionControlMask { 805 pub const SelectionControlMaskNone: root::spv::SelectionControlMask = 806 root::spv::SelectionControlMask(0); 807 } 808 impl SelectionControlMask { 809 pub const SelectionControlFlattenMask: root::spv::SelectionControlMask = 810 root::spv::SelectionControlMask(1); 811 } 812 impl SelectionControlMask { 813 pub const SelectionControlDontFlattenMask: root::spv::SelectionControlMask = 814 root::spv::SelectionControlMask(2); 815 } 816 impl ::std::ops::BitOr<root::spv::SelectionControlMask> for root::spv::SelectionControlMask { 817 type Output = Self; 818 #[inline] bitor(self, other: Self) -> Self819 fn bitor(self, other: Self) -> Self { 820 SelectionControlMask(self.0 | other.0) 821 } 822 } 823 impl ::std::ops::BitOrAssign for root::spv::SelectionControlMask { 824 #[inline] bitor_assign(&mut self, rhs: root::spv::SelectionControlMask)825 fn bitor_assign(&mut self, rhs: root::spv::SelectionControlMask) { 826 self.0 |= rhs.0; 827 } 828 } 829 impl ::std::ops::BitAnd<root::spv::SelectionControlMask> for root::spv::SelectionControlMask { 830 type Output = Self; 831 #[inline] bitand(self, other: Self) -> Self832 fn bitand(self, other: Self) -> Self { 833 SelectionControlMask(self.0 & other.0) 834 } 835 } 836 impl ::std::ops::BitAndAssign for root::spv::SelectionControlMask { 837 #[inline] bitand_assign(&mut self, rhs: root::spv::SelectionControlMask)838 fn bitand_assign(&mut self, rhs: root::spv::SelectionControlMask) { 839 self.0 &= rhs.0; 840 } 841 } 842 #[repr(transparent)] 843 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 844 pub struct SelectionControlMask(pub u32); 845 pub const LoopControlShift_LoopControlUnrollShift: root::spv::LoopControlShift = 0; 846 pub const LoopControlShift_LoopControlDontUnrollShift: root::spv::LoopControlShift = 1; 847 pub const LoopControlShift_LoopControlDependencyInfiniteShift: root::spv::LoopControlShift = 848 2; 849 pub const LoopControlShift_LoopControlDependencyLengthShift: root::spv::LoopControlShift = 850 3; 851 pub const LoopControlShift_LoopControlMinIterationsShift: root::spv::LoopControlShift = 4; 852 pub const LoopControlShift_LoopControlMaxIterationsShift: root::spv::LoopControlShift = 5; 853 pub const LoopControlShift_LoopControlIterationMultipleShift: root::spv::LoopControlShift = 854 6; 855 pub const LoopControlShift_LoopControlPeelCountShift: root::spv::LoopControlShift = 7; 856 pub const LoopControlShift_LoopControlPartialCountShift: root::spv::LoopControlShift = 8; 857 pub const LoopControlShift_LoopControlMax: root::spv::LoopControlShift = 2147483647; 858 pub type LoopControlShift = u32; 859 impl LoopControlMask { 860 pub const LoopControlMaskNone: root::spv::LoopControlMask = 861 root::spv::LoopControlMask(0); 862 } 863 impl LoopControlMask { 864 pub const LoopControlUnrollMask: root::spv::LoopControlMask = 865 root::spv::LoopControlMask(1); 866 } 867 impl LoopControlMask { 868 pub const LoopControlDontUnrollMask: root::spv::LoopControlMask = 869 root::spv::LoopControlMask(2); 870 } 871 impl LoopControlMask { 872 pub const LoopControlDependencyInfiniteMask: root::spv::LoopControlMask = 873 root::spv::LoopControlMask(4); 874 } 875 impl LoopControlMask { 876 pub const LoopControlDependencyLengthMask: root::spv::LoopControlMask = 877 root::spv::LoopControlMask(8); 878 } 879 impl LoopControlMask { 880 pub const LoopControlMinIterationsMask: root::spv::LoopControlMask = 881 root::spv::LoopControlMask(16); 882 } 883 impl LoopControlMask { 884 pub const LoopControlMaxIterationsMask: root::spv::LoopControlMask = 885 root::spv::LoopControlMask(32); 886 } 887 impl LoopControlMask { 888 pub const LoopControlIterationMultipleMask: root::spv::LoopControlMask = 889 root::spv::LoopControlMask(64); 890 } 891 impl LoopControlMask { 892 pub const LoopControlPeelCountMask: root::spv::LoopControlMask = 893 root::spv::LoopControlMask(128); 894 } 895 impl LoopControlMask { 896 pub const LoopControlPartialCountMask: root::spv::LoopControlMask = 897 root::spv::LoopControlMask(256); 898 } 899 impl ::std::ops::BitOr<root::spv::LoopControlMask> for root::spv::LoopControlMask { 900 type Output = Self; 901 #[inline] bitor(self, other: Self) -> Self902 fn bitor(self, other: Self) -> Self { 903 LoopControlMask(self.0 | other.0) 904 } 905 } 906 impl ::std::ops::BitOrAssign for root::spv::LoopControlMask { 907 #[inline] bitor_assign(&mut self, rhs: root::spv::LoopControlMask)908 fn bitor_assign(&mut self, rhs: root::spv::LoopControlMask) { 909 self.0 |= rhs.0; 910 } 911 } 912 impl ::std::ops::BitAnd<root::spv::LoopControlMask> for root::spv::LoopControlMask { 913 type Output = Self; 914 #[inline] bitand(self, other: Self) -> Self915 fn bitand(self, other: Self) -> Self { 916 LoopControlMask(self.0 & other.0) 917 } 918 } 919 impl ::std::ops::BitAndAssign for root::spv::LoopControlMask { 920 #[inline] bitand_assign(&mut self, rhs: root::spv::LoopControlMask)921 fn bitand_assign(&mut self, rhs: root::spv::LoopControlMask) { 922 self.0 &= rhs.0; 923 } 924 } 925 #[repr(transparent)] 926 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 927 pub struct LoopControlMask(pub u32); 928 pub const FunctionControlShift_FunctionControlInlineShift: root::spv::FunctionControlShift = 929 0; 930 pub const FunctionControlShift_FunctionControlDontInlineShift: 931 root::spv::FunctionControlShift = 1; 932 pub const FunctionControlShift_FunctionControlPureShift: root::spv::FunctionControlShift = 933 2; 934 pub const FunctionControlShift_FunctionControlConstShift: root::spv::FunctionControlShift = 935 3; 936 pub const FunctionControlShift_FunctionControlMax: root::spv::FunctionControlShift = 937 2147483647; 938 pub type FunctionControlShift = u32; 939 impl FunctionControlMask { 940 pub const FunctionControlMaskNone: root::spv::FunctionControlMask = 941 root::spv::FunctionControlMask(0); 942 } 943 impl FunctionControlMask { 944 pub const FunctionControlInlineMask: root::spv::FunctionControlMask = 945 root::spv::FunctionControlMask(1); 946 } 947 impl FunctionControlMask { 948 pub const FunctionControlDontInlineMask: root::spv::FunctionControlMask = 949 root::spv::FunctionControlMask(2); 950 } 951 impl FunctionControlMask { 952 pub const FunctionControlPureMask: root::spv::FunctionControlMask = 953 root::spv::FunctionControlMask(4); 954 } 955 impl FunctionControlMask { 956 pub const FunctionControlConstMask: root::spv::FunctionControlMask = 957 root::spv::FunctionControlMask(8); 958 } 959 impl ::std::ops::BitOr<root::spv::FunctionControlMask> for root::spv::FunctionControlMask { 960 type Output = Self; 961 #[inline] bitor(self, other: Self) -> Self962 fn bitor(self, other: Self) -> Self { 963 FunctionControlMask(self.0 | other.0) 964 } 965 } 966 impl ::std::ops::BitOrAssign for root::spv::FunctionControlMask { 967 #[inline] bitor_assign(&mut self, rhs: root::spv::FunctionControlMask)968 fn bitor_assign(&mut self, rhs: root::spv::FunctionControlMask) { 969 self.0 |= rhs.0; 970 } 971 } 972 impl ::std::ops::BitAnd<root::spv::FunctionControlMask> for root::spv::FunctionControlMask { 973 type Output = Self; 974 #[inline] bitand(self, other: Self) -> Self975 fn bitand(self, other: Self) -> Self { 976 FunctionControlMask(self.0 & other.0) 977 } 978 } 979 impl ::std::ops::BitAndAssign for root::spv::FunctionControlMask { 980 #[inline] bitand_assign(&mut self, rhs: root::spv::FunctionControlMask)981 fn bitand_assign(&mut self, rhs: root::spv::FunctionControlMask) { 982 self.0 &= rhs.0; 983 } 984 } 985 #[repr(transparent)] 986 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 987 pub struct FunctionControlMask(pub u32); 988 pub const MemorySemanticsShift_MemorySemanticsAcquireShift: 989 root::spv::MemorySemanticsShift = 1; 990 pub const MemorySemanticsShift_MemorySemanticsReleaseShift: 991 root::spv::MemorySemanticsShift = 2; 992 pub const MemorySemanticsShift_MemorySemanticsAcquireReleaseShift: 993 root::spv::MemorySemanticsShift = 3; 994 pub const MemorySemanticsShift_MemorySemanticsSequentiallyConsistentShift: 995 root::spv::MemorySemanticsShift = 4; 996 pub const MemorySemanticsShift_MemorySemanticsUniformMemoryShift: 997 root::spv::MemorySemanticsShift = 6; 998 pub const MemorySemanticsShift_MemorySemanticsSubgroupMemoryShift: 999 root::spv::MemorySemanticsShift = 7; 1000 pub const MemorySemanticsShift_MemorySemanticsWorkgroupMemoryShift: 1001 root::spv::MemorySemanticsShift = 8; 1002 pub const MemorySemanticsShift_MemorySemanticsCrossWorkgroupMemoryShift: 1003 root::spv::MemorySemanticsShift = 9; 1004 pub const MemorySemanticsShift_MemorySemanticsAtomicCounterMemoryShift: 1005 root::spv::MemorySemanticsShift = 10; 1006 pub const MemorySemanticsShift_MemorySemanticsImageMemoryShift: 1007 root::spv::MemorySemanticsShift = 11; 1008 pub const MemorySemanticsShift_MemorySemanticsOutputMemoryShift: 1009 root::spv::MemorySemanticsShift = 12; 1010 pub const MemorySemanticsShift_MemorySemanticsOutputMemoryKHRShift: 1011 root::spv::MemorySemanticsShift = 12; 1012 pub const MemorySemanticsShift_MemorySemanticsMakeAvailableShift: 1013 root::spv::MemorySemanticsShift = 13; 1014 pub const MemorySemanticsShift_MemorySemanticsMakeAvailableKHRShift: 1015 root::spv::MemorySemanticsShift = 13; 1016 pub const MemorySemanticsShift_MemorySemanticsMakeVisibleShift: 1017 root::spv::MemorySemanticsShift = 14; 1018 pub const MemorySemanticsShift_MemorySemanticsMakeVisibleKHRShift: 1019 root::spv::MemorySemanticsShift = 14; 1020 pub const MemorySemanticsShift_MemorySemanticsVolatileShift: 1021 root::spv::MemorySemanticsShift = 15; 1022 pub const MemorySemanticsShift_MemorySemanticsMax: root::spv::MemorySemanticsShift = 1023 2147483647; 1024 pub type MemorySemanticsShift = u32; 1025 impl MemorySemanticsMask { 1026 pub const MemorySemanticsMaskNone: root::spv::MemorySemanticsMask = 1027 root::spv::MemorySemanticsMask(0); 1028 } 1029 impl MemorySemanticsMask { 1030 pub const MemorySemanticsAcquireMask: root::spv::MemorySemanticsMask = 1031 root::spv::MemorySemanticsMask(2); 1032 } 1033 impl MemorySemanticsMask { 1034 pub const MemorySemanticsReleaseMask: root::spv::MemorySemanticsMask = 1035 root::spv::MemorySemanticsMask(4); 1036 } 1037 impl MemorySemanticsMask { 1038 pub const MemorySemanticsAcquireReleaseMask: root::spv::MemorySemanticsMask = 1039 root::spv::MemorySemanticsMask(8); 1040 } 1041 impl MemorySemanticsMask { 1042 pub const MemorySemanticsSequentiallyConsistentMask: root::spv::MemorySemanticsMask = 1043 root::spv::MemorySemanticsMask(16); 1044 } 1045 impl MemorySemanticsMask { 1046 pub const MemorySemanticsUniformMemoryMask: root::spv::MemorySemanticsMask = 1047 root::spv::MemorySemanticsMask(64); 1048 } 1049 impl MemorySemanticsMask { 1050 pub const MemorySemanticsSubgroupMemoryMask: root::spv::MemorySemanticsMask = 1051 root::spv::MemorySemanticsMask(128); 1052 } 1053 impl MemorySemanticsMask { 1054 pub const MemorySemanticsWorkgroupMemoryMask: root::spv::MemorySemanticsMask = 1055 root::spv::MemorySemanticsMask(256); 1056 } 1057 impl MemorySemanticsMask { 1058 pub const MemorySemanticsCrossWorkgroupMemoryMask: root::spv::MemorySemanticsMask = 1059 root::spv::MemorySemanticsMask(512); 1060 } 1061 impl MemorySemanticsMask { 1062 pub const MemorySemanticsAtomicCounterMemoryMask: root::spv::MemorySemanticsMask = 1063 root::spv::MemorySemanticsMask(1024); 1064 } 1065 impl MemorySemanticsMask { 1066 pub const MemorySemanticsImageMemoryMask: root::spv::MemorySemanticsMask = 1067 root::spv::MemorySemanticsMask(2048); 1068 } 1069 impl MemorySemanticsMask { 1070 pub const MemorySemanticsOutputMemoryMask: root::spv::MemorySemanticsMask = 1071 root::spv::MemorySemanticsMask(4096); 1072 } 1073 impl MemorySemanticsMask { 1074 pub const MemorySemanticsOutputMemoryKHRMask: root::spv::MemorySemanticsMask = 1075 root::spv::MemorySemanticsMask(4096); 1076 } 1077 impl MemorySemanticsMask { 1078 pub const MemorySemanticsMakeAvailableMask: root::spv::MemorySemanticsMask = 1079 root::spv::MemorySemanticsMask(8192); 1080 } 1081 impl MemorySemanticsMask { 1082 pub const MemorySemanticsMakeAvailableKHRMask: root::spv::MemorySemanticsMask = 1083 root::spv::MemorySemanticsMask(8192); 1084 } 1085 impl MemorySemanticsMask { 1086 pub const MemorySemanticsMakeVisibleMask: root::spv::MemorySemanticsMask = 1087 root::spv::MemorySemanticsMask(16384); 1088 } 1089 impl MemorySemanticsMask { 1090 pub const MemorySemanticsMakeVisibleKHRMask: root::spv::MemorySemanticsMask = 1091 root::spv::MemorySemanticsMask(16384); 1092 } 1093 impl MemorySemanticsMask { 1094 pub const MemorySemanticsVolatileMask: root::spv::MemorySemanticsMask = 1095 root::spv::MemorySemanticsMask(32768); 1096 } 1097 impl ::std::ops::BitOr<root::spv::MemorySemanticsMask> for root::spv::MemorySemanticsMask { 1098 type Output = Self; 1099 #[inline] bitor(self, other: Self) -> Self1100 fn bitor(self, other: Self) -> Self { 1101 MemorySemanticsMask(self.0 | other.0) 1102 } 1103 } 1104 impl ::std::ops::BitOrAssign for root::spv::MemorySemanticsMask { 1105 #[inline] bitor_assign(&mut self, rhs: root::spv::MemorySemanticsMask)1106 fn bitor_assign(&mut self, rhs: root::spv::MemorySemanticsMask) { 1107 self.0 |= rhs.0; 1108 } 1109 } 1110 impl ::std::ops::BitAnd<root::spv::MemorySemanticsMask> for root::spv::MemorySemanticsMask { 1111 type Output = Self; 1112 #[inline] bitand(self, other: Self) -> Self1113 fn bitand(self, other: Self) -> Self { 1114 MemorySemanticsMask(self.0 & other.0) 1115 } 1116 } 1117 impl ::std::ops::BitAndAssign for root::spv::MemorySemanticsMask { 1118 #[inline] bitand_assign(&mut self, rhs: root::spv::MemorySemanticsMask)1119 fn bitand_assign(&mut self, rhs: root::spv::MemorySemanticsMask) { 1120 self.0 &= rhs.0; 1121 } 1122 } 1123 #[repr(transparent)] 1124 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 1125 pub struct MemorySemanticsMask(pub u32); 1126 pub const MemoryAccessShift_MemoryAccessVolatileShift: root::spv::MemoryAccessShift = 0; 1127 pub const MemoryAccessShift_MemoryAccessAlignedShift: root::spv::MemoryAccessShift = 1; 1128 pub const MemoryAccessShift_MemoryAccessNontemporalShift: root::spv::MemoryAccessShift = 2; 1129 pub const MemoryAccessShift_MemoryAccessMakePointerAvailableShift: 1130 root::spv::MemoryAccessShift = 3; 1131 pub const MemoryAccessShift_MemoryAccessMakePointerAvailableKHRShift: 1132 root::spv::MemoryAccessShift = 3; 1133 pub const MemoryAccessShift_MemoryAccessMakePointerVisibleShift: 1134 root::spv::MemoryAccessShift = 4; 1135 pub const MemoryAccessShift_MemoryAccessMakePointerVisibleKHRShift: 1136 root::spv::MemoryAccessShift = 4; 1137 pub const MemoryAccessShift_MemoryAccessNonPrivatePointerShift: 1138 root::spv::MemoryAccessShift = 5; 1139 pub const MemoryAccessShift_MemoryAccessNonPrivatePointerKHRShift: 1140 root::spv::MemoryAccessShift = 5; 1141 pub const MemoryAccessShift_MemoryAccessMax: root::spv::MemoryAccessShift = 2147483647; 1142 pub type MemoryAccessShift = u32; 1143 impl MemoryAccessMask { 1144 pub const MemoryAccessMaskNone: root::spv::MemoryAccessMask = 1145 root::spv::MemoryAccessMask(0); 1146 } 1147 impl MemoryAccessMask { 1148 pub const MemoryAccessVolatileMask: root::spv::MemoryAccessMask = 1149 root::spv::MemoryAccessMask(1); 1150 } 1151 impl MemoryAccessMask { 1152 pub const MemoryAccessAlignedMask: root::spv::MemoryAccessMask = 1153 root::spv::MemoryAccessMask(2); 1154 } 1155 impl MemoryAccessMask { 1156 pub const MemoryAccessNontemporalMask: root::spv::MemoryAccessMask = 1157 root::spv::MemoryAccessMask(4); 1158 } 1159 impl MemoryAccessMask { 1160 pub const MemoryAccessMakePointerAvailableMask: root::spv::MemoryAccessMask = 1161 root::spv::MemoryAccessMask(8); 1162 } 1163 impl MemoryAccessMask { 1164 pub const MemoryAccessMakePointerAvailableKHRMask: root::spv::MemoryAccessMask = 1165 root::spv::MemoryAccessMask(8); 1166 } 1167 impl MemoryAccessMask { 1168 pub const MemoryAccessMakePointerVisibleMask: root::spv::MemoryAccessMask = 1169 root::spv::MemoryAccessMask(16); 1170 } 1171 impl MemoryAccessMask { 1172 pub const MemoryAccessMakePointerVisibleKHRMask: root::spv::MemoryAccessMask = 1173 root::spv::MemoryAccessMask(16); 1174 } 1175 impl MemoryAccessMask { 1176 pub const MemoryAccessNonPrivatePointerMask: root::spv::MemoryAccessMask = 1177 root::spv::MemoryAccessMask(32); 1178 } 1179 impl MemoryAccessMask { 1180 pub const MemoryAccessNonPrivatePointerKHRMask: root::spv::MemoryAccessMask = 1181 root::spv::MemoryAccessMask(32); 1182 } 1183 impl ::std::ops::BitOr<root::spv::MemoryAccessMask> for root::spv::MemoryAccessMask { 1184 type Output = Self; 1185 #[inline] bitor(self, other: Self) -> Self1186 fn bitor(self, other: Self) -> Self { 1187 MemoryAccessMask(self.0 | other.0) 1188 } 1189 } 1190 impl ::std::ops::BitOrAssign for root::spv::MemoryAccessMask { 1191 #[inline] bitor_assign(&mut self, rhs: root::spv::MemoryAccessMask)1192 fn bitor_assign(&mut self, rhs: root::spv::MemoryAccessMask) { 1193 self.0 |= rhs.0; 1194 } 1195 } 1196 impl ::std::ops::BitAnd<root::spv::MemoryAccessMask> for root::spv::MemoryAccessMask { 1197 type Output = Self; 1198 #[inline] bitand(self, other: Self) -> Self1199 fn bitand(self, other: Self) -> Self { 1200 MemoryAccessMask(self.0 & other.0) 1201 } 1202 } 1203 impl ::std::ops::BitAndAssign for root::spv::MemoryAccessMask { 1204 #[inline] bitand_assign(&mut self, rhs: root::spv::MemoryAccessMask)1205 fn bitand_assign(&mut self, rhs: root::spv::MemoryAccessMask) { 1206 self.0 &= rhs.0; 1207 } 1208 } 1209 #[repr(transparent)] 1210 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 1211 pub struct MemoryAccessMask(pub u32); 1212 pub const Scope_ScopeCrossDevice: root::spv::Scope = 0; 1213 pub const Scope_ScopeDevice: root::spv::Scope = 1; 1214 pub const Scope_ScopeWorkgroup: root::spv::Scope = 2; 1215 pub const Scope_ScopeSubgroup: root::spv::Scope = 3; 1216 pub const Scope_ScopeInvocation: root::spv::Scope = 4; 1217 pub const Scope_ScopeQueueFamily: root::spv::Scope = 5; 1218 pub const Scope_ScopeQueueFamilyKHR: root::spv::Scope = 5; 1219 pub const Scope_ScopeShaderCallKHR: root::spv::Scope = 6; 1220 pub const Scope_ScopeMax: root::spv::Scope = 2147483647; 1221 pub type Scope = u32; 1222 pub const GroupOperation_GroupOperationReduce: root::spv::GroupOperation = 0; 1223 pub const GroupOperation_GroupOperationInclusiveScan: root::spv::GroupOperation = 1; 1224 pub const GroupOperation_GroupOperationExclusiveScan: root::spv::GroupOperation = 2; 1225 pub const GroupOperation_GroupOperationClusteredReduce: root::spv::GroupOperation = 3; 1226 pub const GroupOperation_GroupOperationPartitionedReduceNV: root::spv::GroupOperation = 6; 1227 pub const GroupOperation_GroupOperationPartitionedInclusiveScanNV: 1228 root::spv::GroupOperation = 7; 1229 pub const GroupOperation_GroupOperationPartitionedExclusiveScanNV: 1230 root::spv::GroupOperation = 8; 1231 pub const GroupOperation_GroupOperationMax: root::spv::GroupOperation = 2147483647; 1232 pub type GroupOperation = u32; 1233 impl KernelEnqueueFlags { 1234 pub const KernelEnqueueFlagsNoWait: root::spv::KernelEnqueueFlags = 1235 root::spv::KernelEnqueueFlags(0); 1236 } 1237 impl KernelEnqueueFlags { 1238 pub const KernelEnqueueFlagsWaitKernel: root::spv::KernelEnqueueFlags = 1239 root::spv::KernelEnqueueFlags(1); 1240 } 1241 impl KernelEnqueueFlags { 1242 pub const KernelEnqueueFlagsWaitWorkGroup: root::spv::KernelEnqueueFlags = 1243 root::spv::KernelEnqueueFlags(2); 1244 } 1245 impl KernelEnqueueFlags { 1246 pub const KernelEnqueueFlagsMax: root::spv::KernelEnqueueFlags = 1247 root::spv::KernelEnqueueFlags(2147483647); 1248 } 1249 impl ::std::ops::BitOr<root::spv::KernelEnqueueFlags> for root::spv::KernelEnqueueFlags { 1250 type Output = Self; 1251 #[inline] bitor(self, other: Self) -> Self1252 fn bitor(self, other: Self) -> Self { 1253 KernelEnqueueFlags(self.0 | other.0) 1254 } 1255 } 1256 impl ::std::ops::BitOrAssign for root::spv::KernelEnqueueFlags { 1257 #[inline] bitor_assign(&mut self, rhs: root::spv::KernelEnqueueFlags)1258 fn bitor_assign(&mut self, rhs: root::spv::KernelEnqueueFlags) { 1259 self.0 |= rhs.0; 1260 } 1261 } 1262 impl ::std::ops::BitAnd<root::spv::KernelEnqueueFlags> for root::spv::KernelEnqueueFlags { 1263 type Output = Self; 1264 #[inline] bitand(self, other: Self) -> Self1265 fn bitand(self, other: Self) -> Self { 1266 KernelEnqueueFlags(self.0 & other.0) 1267 } 1268 } 1269 impl ::std::ops::BitAndAssign for root::spv::KernelEnqueueFlags { 1270 #[inline] bitand_assign(&mut self, rhs: root::spv::KernelEnqueueFlags)1271 fn bitand_assign(&mut self, rhs: root::spv::KernelEnqueueFlags) { 1272 self.0 &= rhs.0; 1273 } 1274 } 1275 #[repr(transparent)] 1276 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 1277 pub struct KernelEnqueueFlags(pub u32); 1278 pub const KernelProfilingInfoShift_KernelProfilingInfoCmdExecTimeShift: 1279 root::spv::KernelProfilingInfoShift = 0; 1280 pub const KernelProfilingInfoShift_KernelProfilingInfoMax: 1281 root::spv::KernelProfilingInfoShift = 2147483647; 1282 pub type KernelProfilingInfoShift = u32; 1283 impl KernelProfilingInfoMask { 1284 pub const KernelProfilingInfoMaskNone: root::spv::KernelProfilingInfoMask = 1285 root::spv::KernelProfilingInfoMask(0); 1286 } 1287 impl KernelProfilingInfoMask { 1288 pub const KernelProfilingInfoCmdExecTimeMask: root::spv::KernelProfilingInfoMask = 1289 root::spv::KernelProfilingInfoMask(1); 1290 } 1291 impl ::std::ops::BitOr<root::spv::KernelProfilingInfoMask> for root::spv::KernelProfilingInfoMask { 1292 type Output = Self; 1293 #[inline] bitor(self, other: Self) -> Self1294 fn bitor(self, other: Self) -> Self { 1295 KernelProfilingInfoMask(self.0 | other.0) 1296 } 1297 } 1298 impl ::std::ops::BitOrAssign for root::spv::KernelProfilingInfoMask { 1299 #[inline] bitor_assign(&mut self, rhs: root::spv::KernelProfilingInfoMask)1300 fn bitor_assign(&mut self, rhs: root::spv::KernelProfilingInfoMask) { 1301 self.0 |= rhs.0; 1302 } 1303 } 1304 impl ::std::ops::BitAnd<root::spv::KernelProfilingInfoMask> for root::spv::KernelProfilingInfoMask { 1305 type Output = Self; 1306 #[inline] bitand(self, other: Self) -> Self1307 fn bitand(self, other: Self) -> Self { 1308 KernelProfilingInfoMask(self.0 & other.0) 1309 } 1310 } 1311 impl ::std::ops::BitAndAssign for root::spv::KernelProfilingInfoMask { 1312 #[inline] bitand_assign(&mut self, rhs: root::spv::KernelProfilingInfoMask)1313 fn bitand_assign(&mut self, rhs: root::spv::KernelProfilingInfoMask) { 1314 self.0 &= rhs.0; 1315 } 1316 } 1317 #[repr(transparent)] 1318 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 1319 pub struct KernelProfilingInfoMask(pub u32); 1320 pub const Capability_CapabilityMatrix: root::spv::Capability = 0; 1321 pub const Capability_CapabilityShader: root::spv::Capability = 1; 1322 pub const Capability_CapabilityGeometry: root::spv::Capability = 2; 1323 pub const Capability_CapabilityTessellation: root::spv::Capability = 3; 1324 pub const Capability_CapabilityAddresses: root::spv::Capability = 4; 1325 pub const Capability_CapabilityLinkage: root::spv::Capability = 5; 1326 pub const Capability_CapabilityKernel: root::spv::Capability = 6; 1327 pub const Capability_CapabilityVector16: root::spv::Capability = 7; 1328 pub const Capability_CapabilityFloat16Buffer: root::spv::Capability = 8; 1329 pub const Capability_CapabilityFloat16: root::spv::Capability = 9; 1330 pub const Capability_CapabilityFloat64: root::spv::Capability = 10; 1331 pub const Capability_CapabilityInt64: root::spv::Capability = 11; 1332 pub const Capability_CapabilityInt64Atomics: root::spv::Capability = 12; 1333 pub const Capability_CapabilityImageBasic: root::spv::Capability = 13; 1334 pub const Capability_CapabilityImageReadWrite: root::spv::Capability = 14; 1335 pub const Capability_CapabilityImageMipmap: root::spv::Capability = 15; 1336 pub const Capability_CapabilityPipes: root::spv::Capability = 17; 1337 pub const Capability_CapabilityGroups: root::spv::Capability = 18; 1338 pub const Capability_CapabilityDeviceEnqueue: root::spv::Capability = 19; 1339 pub const Capability_CapabilityLiteralSampler: root::spv::Capability = 20; 1340 pub const Capability_CapabilityAtomicStorage: root::spv::Capability = 21; 1341 pub const Capability_CapabilityInt16: root::spv::Capability = 22; 1342 pub const Capability_CapabilityTessellationPointSize: root::spv::Capability = 23; 1343 pub const Capability_CapabilityGeometryPointSize: root::spv::Capability = 24; 1344 pub const Capability_CapabilityImageGatherExtended: root::spv::Capability = 25; 1345 pub const Capability_CapabilityStorageImageMultisample: root::spv::Capability = 27; 1346 pub const Capability_CapabilityUniformBufferArrayDynamicIndexing: root::spv::Capability = 1347 28; 1348 pub const Capability_CapabilitySampledImageArrayDynamicIndexing: root::spv::Capability = 29; 1349 pub const Capability_CapabilityStorageBufferArrayDynamicIndexing: root::spv::Capability = 1350 30; 1351 pub const Capability_CapabilityStorageImageArrayDynamicIndexing: root::spv::Capability = 31; 1352 pub const Capability_CapabilityClipDistance: root::spv::Capability = 32; 1353 pub const Capability_CapabilityCullDistance: root::spv::Capability = 33; 1354 pub const Capability_CapabilityImageCubeArray: root::spv::Capability = 34; 1355 pub const Capability_CapabilitySampleRateShading: root::spv::Capability = 35; 1356 pub const Capability_CapabilityImageRect: root::spv::Capability = 36; 1357 pub const Capability_CapabilitySampledRect: root::spv::Capability = 37; 1358 pub const Capability_CapabilityGenericPointer: root::spv::Capability = 38; 1359 pub const Capability_CapabilityInt8: root::spv::Capability = 39; 1360 pub const Capability_CapabilityInputAttachment: root::spv::Capability = 40; 1361 pub const Capability_CapabilitySparseResidency: root::spv::Capability = 41; 1362 pub const Capability_CapabilityMinLod: root::spv::Capability = 42; 1363 pub const Capability_CapabilitySampled1D: root::spv::Capability = 43; 1364 pub const Capability_CapabilityImage1D: root::spv::Capability = 44; 1365 pub const Capability_CapabilitySampledCubeArray: root::spv::Capability = 45; 1366 pub const Capability_CapabilitySampledBuffer: root::spv::Capability = 46; 1367 pub const Capability_CapabilityImageBuffer: root::spv::Capability = 47; 1368 pub const Capability_CapabilityImageMSArray: root::spv::Capability = 48; 1369 pub const Capability_CapabilityStorageImageExtendedFormats: root::spv::Capability = 49; 1370 pub const Capability_CapabilityImageQuery: root::spv::Capability = 50; 1371 pub const Capability_CapabilityDerivativeControl: root::spv::Capability = 51; 1372 pub const Capability_CapabilityInterpolationFunction: root::spv::Capability = 52; 1373 pub const Capability_CapabilityTransformFeedback: root::spv::Capability = 53; 1374 pub const Capability_CapabilityGeometryStreams: root::spv::Capability = 54; 1375 pub const Capability_CapabilityStorageImageReadWithoutFormat: root::spv::Capability = 55; 1376 pub const Capability_CapabilityStorageImageWriteWithoutFormat: root::spv::Capability = 56; 1377 pub const Capability_CapabilityMultiViewport: root::spv::Capability = 57; 1378 pub const Capability_CapabilitySubgroupDispatch: root::spv::Capability = 58; 1379 pub const Capability_CapabilityNamedBarrier: root::spv::Capability = 59; 1380 pub const Capability_CapabilityPipeStorage: root::spv::Capability = 60; 1381 pub const Capability_CapabilityGroupNonUniform: root::spv::Capability = 61; 1382 pub const Capability_CapabilityGroupNonUniformVote: root::spv::Capability = 62; 1383 pub const Capability_CapabilityGroupNonUniformArithmetic: root::spv::Capability = 63; 1384 pub const Capability_CapabilityGroupNonUniformBallot: root::spv::Capability = 64; 1385 pub const Capability_CapabilityGroupNonUniformShuffle: root::spv::Capability = 65; 1386 pub const Capability_CapabilityGroupNonUniformShuffleRelative: root::spv::Capability = 66; 1387 pub const Capability_CapabilityGroupNonUniformClustered: root::spv::Capability = 67; 1388 pub const Capability_CapabilityGroupNonUniformQuad: root::spv::Capability = 68; 1389 pub const Capability_CapabilityShaderLayer: root::spv::Capability = 69; 1390 pub const Capability_CapabilityShaderViewportIndex: root::spv::Capability = 70; 1391 pub const Capability_CapabilitySubgroupBallotKHR: root::spv::Capability = 4423; 1392 pub const Capability_CapabilityDrawParameters: root::spv::Capability = 4427; 1393 pub const Capability_CapabilitySubgroupVoteKHR: root::spv::Capability = 4431; 1394 pub const Capability_CapabilityStorageBuffer16BitAccess: root::spv::Capability = 4433; 1395 pub const Capability_CapabilityStorageUniformBufferBlock16: root::spv::Capability = 4433; 1396 pub const Capability_CapabilityStorageUniform16: root::spv::Capability = 4434; 1397 pub const Capability_CapabilityUniformAndStorageBuffer16BitAccess: root::spv::Capability = 1398 4434; 1399 pub const Capability_CapabilityStoragePushConstant16: root::spv::Capability = 4435; 1400 pub const Capability_CapabilityStorageInputOutput16: root::spv::Capability = 4436; 1401 pub const Capability_CapabilityDeviceGroup: root::spv::Capability = 4437; 1402 pub const Capability_CapabilityMultiView: root::spv::Capability = 4439; 1403 pub const Capability_CapabilityVariablePointersStorageBuffer: root::spv::Capability = 4441; 1404 pub const Capability_CapabilityVariablePointers: root::spv::Capability = 4442; 1405 pub const Capability_CapabilityAtomicStorageOps: root::spv::Capability = 4445; 1406 pub const Capability_CapabilitySampleMaskPostDepthCoverage: root::spv::Capability = 4447; 1407 pub const Capability_CapabilityStorageBuffer8BitAccess: root::spv::Capability = 4448; 1408 pub const Capability_CapabilityUniformAndStorageBuffer8BitAccess: root::spv::Capability = 1409 4449; 1410 pub const Capability_CapabilityStoragePushConstant8: root::spv::Capability = 4450; 1411 pub const Capability_CapabilityDenormPreserve: root::spv::Capability = 4464; 1412 pub const Capability_CapabilityDenormFlushToZero: root::spv::Capability = 4465; 1413 pub const Capability_CapabilitySignedZeroInfNanPreserve: root::spv::Capability = 4466; 1414 pub const Capability_CapabilityRoundingModeRTE: root::spv::Capability = 4467; 1415 pub const Capability_CapabilityRoundingModeRTZ: root::spv::Capability = 4468; 1416 pub const Capability_CapabilityRayQueryProvisionalKHR: root::spv::Capability = 4471; 1417 pub const Capability_CapabilityRayTraversalPrimitiveCullingProvisionalKHR: 1418 root::spv::Capability = 4478; 1419 pub const Capability_CapabilityFloat16ImageAMD: root::spv::Capability = 5008; 1420 pub const Capability_CapabilityImageGatherBiasLodAMD: root::spv::Capability = 5009; 1421 pub const Capability_CapabilityFragmentMaskAMD: root::spv::Capability = 5010; 1422 pub const Capability_CapabilityStencilExportEXT: root::spv::Capability = 5013; 1423 pub const Capability_CapabilityImageReadWriteLodAMD: root::spv::Capability = 5015; 1424 pub const Capability_CapabilityShaderClockKHR: root::spv::Capability = 5055; 1425 pub const Capability_CapabilitySampleMaskOverrideCoverageNV: root::spv::Capability = 5249; 1426 pub const Capability_CapabilityGeometryShaderPassthroughNV: root::spv::Capability = 5251; 1427 pub const Capability_CapabilityShaderViewportIndexLayerEXT: root::spv::Capability = 5254; 1428 pub const Capability_CapabilityShaderViewportIndexLayerNV: root::spv::Capability = 5254; 1429 pub const Capability_CapabilityShaderViewportMaskNV: root::spv::Capability = 5255; 1430 pub const Capability_CapabilityShaderStereoViewNV: root::spv::Capability = 5259; 1431 pub const Capability_CapabilityPerViewAttributesNV: root::spv::Capability = 5260; 1432 pub const Capability_CapabilityFragmentFullyCoveredEXT: root::spv::Capability = 5265; 1433 pub const Capability_CapabilityMeshShadingNV: root::spv::Capability = 5266; 1434 pub const Capability_CapabilityImageFootprintNV: root::spv::Capability = 5282; 1435 pub const Capability_CapabilityFragmentBarycentricNV: root::spv::Capability = 5284; 1436 pub const Capability_CapabilityComputeDerivativeGroupQuadsNV: root::spv::Capability = 5288; 1437 pub const Capability_CapabilityFragmentDensityEXT: root::spv::Capability = 5291; 1438 pub const Capability_CapabilityShadingRateNV: root::spv::Capability = 5291; 1439 pub const Capability_CapabilityGroupNonUniformPartitionedNV: root::spv::Capability = 5297; 1440 pub const Capability_CapabilityShaderNonUniform: root::spv::Capability = 5301; 1441 pub const Capability_CapabilityShaderNonUniformEXT: root::spv::Capability = 5301; 1442 pub const Capability_CapabilityRuntimeDescriptorArray: root::spv::Capability = 5302; 1443 pub const Capability_CapabilityRuntimeDescriptorArrayEXT: root::spv::Capability = 5302; 1444 pub const Capability_CapabilityInputAttachmentArrayDynamicIndexing: root::spv::Capability = 1445 5303; 1446 pub const Capability_CapabilityInputAttachmentArrayDynamicIndexingEXT: 1447 root::spv::Capability = 5303; 1448 pub const Capability_CapabilityUniformTexelBufferArrayDynamicIndexing: 1449 root::spv::Capability = 5304; 1450 pub const Capability_CapabilityUniformTexelBufferArrayDynamicIndexingEXT: 1451 root::spv::Capability = 5304; 1452 pub const Capability_CapabilityStorageTexelBufferArrayDynamicIndexing: 1453 root::spv::Capability = 5305; 1454 pub const Capability_CapabilityStorageTexelBufferArrayDynamicIndexingEXT: 1455 root::spv::Capability = 5305; 1456 pub const Capability_CapabilityUniformBufferArrayNonUniformIndexing: root::spv::Capability = 1457 5306; 1458 pub const Capability_CapabilityUniformBufferArrayNonUniformIndexingEXT: 1459 root::spv::Capability = 5306; 1460 pub const Capability_CapabilitySampledImageArrayNonUniformIndexing: root::spv::Capability = 1461 5307; 1462 pub const Capability_CapabilitySampledImageArrayNonUniformIndexingEXT: 1463 root::spv::Capability = 5307; 1464 pub const Capability_CapabilityStorageBufferArrayNonUniformIndexing: root::spv::Capability = 1465 5308; 1466 pub const Capability_CapabilityStorageBufferArrayNonUniformIndexingEXT: 1467 root::spv::Capability = 5308; 1468 pub const Capability_CapabilityStorageImageArrayNonUniformIndexing: root::spv::Capability = 1469 5309; 1470 pub const Capability_CapabilityStorageImageArrayNonUniformIndexingEXT: 1471 root::spv::Capability = 5309; 1472 pub const Capability_CapabilityInputAttachmentArrayNonUniformIndexing: 1473 root::spv::Capability = 5310; 1474 pub const Capability_CapabilityInputAttachmentArrayNonUniformIndexingEXT: 1475 root::spv::Capability = 5310; 1476 pub const Capability_CapabilityUniformTexelBufferArrayNonUniformIndexing: 1477 root::spv::Capability = 5311; 1478 pub const Capability_CapabilityUniformTexelBufferArrayNonUniformIndexingEXT: 1479 root::spv::Capability = 5311; 1480 pub const Capability_CapabilityStorageTexelBufferArrayNonUniformIndexing: 1481 root::spv::Capability = 5312; 1482 pub const Capability_CapabilityStorageTexelBufferArrayNonUniformIndexingEXT: 1483 root::spv::Capability = 5312; 1484 pub const Capability_CapabilityRayTracingNV: root::spv::Capability = 5340; 1485 pub const Capability_CapabilityVulkanMemoryModel: root::spv::Capability = 5345; 1486 pub const Capability_CapabilityVulkanMemoryModelKHR: root::spv::Capability = 5345; 1487 pub const Capability_CapabilityVulkanMemoryModelDeviceScope: root::spv::Capability = 5346; 1488 pub const Capability_CapabilityVulkanMemoryModelDeviceScopeKHR: root::spv::Capability = 1489 5346; 1490 pub const Capability_CapabilityPhysicalStorageBufferAddresses: root::spv::Capability = 5347; 1491 pub const Capability_CapabilityPhysicalStorageBufferAddressesEXT: root::spv::Capability = 1492 5347; 1493 pub const Capability_CapabilityComputeDerivativeGroupLinearNV: root::spv::Capability = 5350; 1494 pub const Capability_CapabilityRayTracingProvisionalKHR: root::spv::Capability = 5353; 1495 pub const Capability_CapabilityCooperativeMatrixNV: root::spv::Capability = 5357; 1496 pub const Capability_CapabilityFragmentShaderSampleInterlockEXT: root::spv::Capability = 1497 5363; 1498 pub const Capability_CapabilityFragmentShaderShadingRateInterlockEXT: 1499 root::spv::Capability = 5372; 1500 pub const Capability_CapabilityShaderSMBuiltinsNV: root::spv::Capability = 5373; 1501 pub const Capability_CapabilityFragmentShaderPixelInterlockEXT: root::spv::Capability = 1502 5378; 1503 pub const Capability_CapabilityDemoteToHelperInvocationEXT: root::spv::Capability = 5379; 1504 pub const Capability_CapabilitySubgroupShuffleINTEL: root::spv::Capability = 5568; 1505 pub const Capability_CapabilitySubgroupBufferBlockIOINTEL: root::spv::Capability = 5569; 1506 pub const Capability_CapabilitySubgroupImageBlockIOINTEL: root::spv::Capability = 5570; 1507 pub const Capability_CapabilitySubgroupImageMediaBlockIOINTEL: root::spv::Capability = 5579; 1508 pub const Capability_CapabilityIntegerFunctions2INTEL: root::spv::Capability = 5584; 1509 pub const Capability_CapabilitySubgroupAvcMotionEstimationINTEL: root::spv::Capability = 1510 5696; 1511 pub const Capability_CapabilitySubgroupAvcMotionEstimationIntraINTEL: 1512 root::spv::Capability = 5697; 1513 pub const Capability_CapabilitySubgroupAvcMotionEstimationChromaINTEL: 1514 root::spv::Capability = 5698; 1515 pub const Capability_CapabilityMax: root::spv::Capability = 2147483647; 1516 pub type Capability = u32; 1517 pub const RayFlagsShift_RayFlagsOpaqueKHRShift: root::spv::RayFlagsShift = 0; 1518 pub const RayFlagsShift_RayFlagsNoOpaqueKHRShift: root::spv::RayFlagsShift = 1; 1519 pub const RayFlagsShift_RayFlagsTerminateOnFirstHitKHRShift: root::spv::RayFlagsShift = 2; 1520 pub const RayFlagsShift_RayFlagsSkipClosestHitShaderKHRShift: root::spv::RayFlagsShift = 3; 1521 pub const RayFlagsShift_RayFlagsCullBackFacingTrianglesKHRShift: root::spv::RayFlagsShift = 1522 4; 1523 pub const RayFlagsShift_RayFlagsCullFrontFacingTrianglesKHRShift: root::spv::RayFlagsShift = 1524 5; 1525 pub const RayFlagsShift_RayFlagsCullOpaqueKHRShift: root::spv::RayFlagsShift = 6; 1526 pub const RayFlagsShift_RayFlagsCullNoOpaqueKHRShift: root::spv::RayFlagsShift = 7; 1527 pub const RayFlagsShift_RayFlagsSkipTrianglesKHRShift: root::spv::RayFlagsShift = 8; 1528 pub const RayFlagsShift_RayFlagsSkipAABBsKHRShift: root::spv::RayFlagsShift = 9; 1529 pub const RayFlagsShift_RayFlagsMax: root::spv::RayFlagsShift = 2147483647; 1530 pub type RayFlagsShift = u32; 1531 impl RayFlagsMask { 1532 pub const RayFlagsMaskNone: root::spv::RayFlagsMask = root::spv::RayFlagsMask(0); 1533 } 1534 impl RayFlagsMask { 1535 pub const RayFlagsOpaqueKHRMask: root::spv::RayFlagsMask = root::spv::RayFlagsMask(1); 1536 } 1537 impl RayFlagsMask { 1538 pub const RayFlagsNoOpaqueKHRMask: root::spv::RayFlagsMask = root::spv::RayFlagsMask(2); 1539 } 1540 impl RayFlagsMask { 1541 pub const RayFlagsTerminateOnFirstHitKHRMask: root::spv::RayFlagsMask = 1542 root::spv::RayFlagsMask(4); 1543 } 1544 impl RayFlagsMask { 1545 pub const RayFlagsSkipClosestHitShaderKHRMask: root::spv::RayFlagsMask = 1546 root::spv::RayFlagsMask(8); 1547 } 1548 impl RayFlagsMask { 1549 pub const RayFlagsCullBackFacingTrianglesKHRMask: root::spv::RayFlagsMask = 1550 root::spv::RayFlagsMask(16); 1551 } 1552 impl RayFlagsMask { 1553 pub const RayFlagsCullFrontFacingTrianglesKHRMask: root::spv::RayFlagsMask = 1554 root::spv::RayFlagsMask(32); 1555 } 1556 impl RayFlagsMask { 1557 pub const RayFlagsCullOpaqueKHRMask: root::spv::RayFlagsMask = 1558 root::spv::RayFlagsMask(64); 1559 } 1560 impl RayFlagsMask { 1561 pub const RayFlagsCullNoOpaqueKHRMask: root::spv::RayFlagsMask = 1562 root::spv::RayFlagsMask(128); 1563 } 1564 impl RayFlagsMask { 1565 pub const RayFlagsSkipTrianglesKHRMask: root::spv::RayFlagsMask = 1566 root::spv::RayFlagsMask(256); 1567 } 1568 impl RayFlagsMask { 1569 pub const RayFlagsSkipAABBsKHRMask: root::spv::RayFlagsMask = 1570 root::spv::RayFlagsMask(512); 1571 } 1572 impl ::std::ops::BitOr<root::spv::RayFlagsMask> for root::spv::RayFlagsMask { 1573 type Output = Self; 1574 #[inline] bitor(self, other: Self) -> Self1575 fn bitor(self, other: Self) -> Self { 1576 RayFlagsMask(self.0 | other.0) 1577 } 1578 } 1579 impl ::std::ops::BitOrAssign for root::spv::RayFlagsMask { 1580 #[inline] bitor_assign(&mut self, rhs: root::spv::RayFlagsMask)1581 fn bitor_assign(&mut self, rhs: root::spv::RayFlagsMask) { 1582 self.0 |= rhs.0; 1583 } 1584 } 1585 impl ::std::ops::BitAnd<root::spv::RayFlagsMask> for root::spv::RayFlagsMask { 1586 type Output = Self; 1587 #[inline] bitand(self, other: Self) -> Self1588 fn bitand(self, other: Self) -> Self { 1589 RayFlagsMask(self.0 & other.0) 1590 } 1591 } 1592 impl ::std::ops::BitAndAssign for root::spv::RayFlagsMask { 1593 #[inline] bitand_assign(&mut self, rhs: root::spv::RayFlagsMask)1594 fn bitand_assign(&mut self, rhs: root::spv::RayFlagsMask) { 1595 self.0 &= rhs.0; 1596 } 1597 } 1598 #[repr(transparent)] 1599 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 1600 pub struct RayFlagsMask(pub u32); 1601 pub const RayQueryIntersection_RayQueryIntersectionRayQueryCandidateIntersectionKHR: 1602 root::spv::RayQueryIntersection = 0; 1603 pub const RayQueryIntersection_RayQueryIntersectionRayQueryCommittedIntersectionKHR: 1604 root::spv::RayQueryIntersection = 1; 1605 pub const RayQueryIntersection_RayQueryIntersectionMax: root::spv::RayQueryIntersection = 1606 2147483647; 1607 pub type RayQueryIntersection = u32; 1608 pub const RayQueryCommittedIntersectionType_RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionNoneKHR : root :: spv :: RayQueryCommittedIntersectionType = 0 ; 1609 pub const RayQueryCommittedIntersectionType_RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionTriangleKHR : root :: spv :: RayQueryCommittedIntersectionType = 1 ; 1610 pub const RayQueryCommittedIntersectionType_RayQueryCommittedIntersectionTypeRayQueryCommittedIntersectionGeneratedKHR : root :: spv :: RayQueryCommittedIntersectionType = 2 ; 1611 pub const RayQueryCommittedIntersectionType_RayQueryCommittedIntersectionTypeMax: 1612 root::spv::RayQueryCommittedIntersectionType = 2147483647; 1613 pub type RayQueryCommittedIntersectionType = u32; 1614 pub const RayQueryCandidateIntersectionType_RayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionTriangleKHR : root :: spv :: RayQueryCandidateIntersectionType = 0 ; 1615 pub const RayQueryCandidateIntersectionType_RayQueryCandidateIntersectionTypeRayQueryCandidateIntersectionAABBKHR : root :: spv :: RayQueryCandidateIntersectionType = 1 ; 1616 pub const RayQueryCandidateIntersectionType_RayQueryCandidateIntersectionTypeMax: 1617 root::spv::RayQueryCandidateIntersectionType = 2147483647; 1618 pub type RayQueryCandidateIntersectionType = u32; 1619 pub const Op_OpNop: root::spv::Op = 0; 1620 pub const Op_OpUndef: root::spv::Op = 1; 1621 pub const Op_OpSourceContinued: root::spv::Op = 2; 1622 pub const Op_OpSource: root::spv::Op = 3; 1623 pub const Op_OpSourceExtension: root::spv::Op = 4; 1624 pub const Op_OpName: root::spv::Op = 5; 1625 pub const Op_OpMemberName: root::spv::Op = 6; 1626 pub const Op_OpString: root::spv::Op = 7; 1627 pub const Op_OpLine: root::spv::Op = 8; 1628 pub const Op_OpExtension: root::spv::Op = 10; 1629 pub const Op_OpExtInstImport: root::spv::Op = 11; 1630 pub const Op_OpExtInst: root::spv::Op = 12; 1631 pub const Op_OpMemoryModel: root::spv::Op = 14; 1632 pub const Op_OpEntryPoint: root::spv::Op = 15; 1633 pub const Op_OpExecutionMode: root::spv::Op = 16; 1634 pub const Op_OpCapability: root::spv::Op = 17; 1635 pub const Op_OpTypeVoid: root::spv::Op = 19; 1636 pub const Op_OpTypeBool: root::spv::Op = 20; 1637 pub const Op_OpTypeInt: root::spv::Op = 21; 1638 pub const Op_OpTypeFloat: root::spv::Op = 22; 1639 pub const Op_OpTypeVector: root::spv::Op = 23; 1640 pub const Op_OpTypeMatrix: root::spv::Op = 24; 1641 pub const Op_OpTypeImage: root::spv::Op = 25; 1642 pub const Op_OpTypeSampler: root::spv::Op = 26; 1643 pub const Op_OpTypeSampledImage: root::spv::Op = 27; 1644 pub const Op_OpTypeArray: root::spv::Op = 28; 1645 pub const Op_OpTypeRuntimeArray: root::spv::Op = 29; 1646 pub const Op_OpTypeStruct: root::spv::Op = 30; 1647 pub const Op_OpTypeOpaque: root::spv::Op = 31; 1648 pub const Op_OpTypePointer: root::spv::Op = 32; 1649 pub const Op_OpTypeFunction: root::spv::Op = 33; 1650 pub const Op_OpTypeEvent: root::spv::Op = 34; 1651 pub const Op_OpTypeDeviceEvent: root::spv::Op = 35; 1652 pub const Op_OpTypeReserveId: root::spv::Op = 36; 1653 pub const Op_OpTypeQueue: root::spv::Op = 37; 1654 pub const Op_OpTypePipe: root::spv::Op = 38; 1655 pub const Op_OpTypeForwardPointer: root::spv::Op = 39; 1656 pub const Op_OpConstantTrue: root::spv::Op = 41; 1657 pub const Op_OpConstantFalse: root::spv::Op = 42; 1658 pub const Op_OpConstant: root::spv::Op = 43; 1659 pub const Op_OpConstantComposite: root::spv::Op = 44; 1660 pub const Op_OpConstantSampler: root::spv::Op = 45; 1661 pub const Op_OpConstantNull: root::spv::Op = 46; 1662 pub const Op_OpSpecConstantTrue: root::spv::Op = 48; 1663 pub const Op_OpSpecConstantFalse: root::spv::Op = 49; 1664 pub const Op_OpSpecConstant: root::spv::Op = 50; 1665 pub const Op_OpSpecConstantComposite: root::spv::Op = 51; 1666 pub const Op_OpSpecConstantOp: root::spv::Op = 52; 1667 pub const Op_OpFunction: root::spv::Op = 54; 1668 pub const Op_OpFunctionParameter: root::spv::Op = 55; 1669 pub const Op_OpFunctionEnd: root::spv::Op = 56; 1670 pub const Op_OpFunctionCall: root::spv::Op = 57; 1671 pub const Op_OpVariable: root::spv::Op = 59; 1672 pub const Op_OpImageTexelPointer: root::spv::Op = 60; 1673 pub const Op_OpLoad: root::spv::Op = 61; 1674 pub const Op_OpStore: root::spv::Op = 62; 1675 pub const Op_OpCopyMemory: root::spv::Op = 63; 1676 pub const Op_OpCopyMemorySized: root::spv::Op = 64; 1677 pub const Op_OpAccessChain: root::spv::Op = 65; 1678 pub const Op_OpInBoundsAccessChain: root::spv::Op = 66; 1679 pub const Op_OpPtrAccessChain: root::spv::Op = 67; 1680 pub const Op_OpArrayLength: root::spv::Op = 68; 1681 pub const Op_OpGenericPtrMemSemantics: root::spv::Op = 69; 1682 pub const Op_OpInBoundsPtrAccessChain: root::spv::Op = 70; 1683 pub const Op_OpDecorate: root::spv::Op = 71; 1684 pub const Op_OpMemberDecorate: root::spv::Op = 72; 1685 pub const Op_OpDecorationGroup: root::spv::Op = 73; 1686 pub const Op_OpGroupDecorate: root::spv::Op = 74; 1687 pub const Op_OpGroupMemberDecorate: root::spv::Op = 75; 1688 pub const Op_OpVectorExtractDynamic: root::spv::Op = 77; 1689 pub const Op_OpVectorInsertDynamic: root::spv::Op = 78; 1690 pub const Op_OpVectorShuffle: root::spv::Op = 79; 1691 pub const Op_OpCompositeConstruct: root::spv::Op = 80; 1692 pub const Op_OpCompositeExtract: root::spv::Op = 81; 1693 pub const Op_OpCompositeInsert: root::spv::Op = 82; 1694 pub const Op_OpCopyObject: root::spv::Op = 83; 1695 pub const Op_OpTranspose: root::spv::Op = 84; 1696 pub const Op_OpSampledImage: root::spv::Op = 86; 1697 pub const Op_OpImageSampleImplicitLod: root::spv::Op = 87; 1698 pub const Op_OpImageSampleExplicitLod: root::spv::Op = 88; 1699 pub const Op_OpImageSampleDrefImplicitLod: root::spv::Op = 89; 1700 pub const Op_OpImageSampleDrefExplicitLod: root::spv::Op = 90; 1701 pub const Op_OpImageSampleProjImplicitLod: root::spv::Op = 91; 1702 pub const Op_OpImageSampleProjExplicitLod: root::spv::Op = 92; 1703 pub const Op_OpImageSampleProjDrefImplicitLod: root::spv::Op = 93; 1704 pub const Op_OpImageSampleProjDrefExplicitLod: root::spv::Op = 94; 1705 pub const Op_OpImageFetch: root::spv::Op = 95; 1706 pub const Op_OpImageGather: root::spv::Op = 96; 1707 pub const Op_OpImageDrefGather: root::spv::Op = 97; 1708 pub const Op_OpImageRead: root::spv::Op = 98; 1709 pub const Op_OpImageWrite: root::spv::Op = 99; 1710 pub const Op_OpImage: root::spv::Op = 100; 1711 pub const Op_OpImageQueryFormat: root::spv::Op = 101; 1712 pub const Op_OpImageQueryOrder: root::spv::Op = 102; 1713 pub const Op_OpImageQuerySizeLod: root::spv::Op = 103; 1714 pub const Op_OpImageQuerySize: root::spv::Op = 104; 1715 pub const Op_OpImageQueryLod: root::spv::Op = 105; 1716 pub const Op_OpImageQueryLevels: root::spv::Op = 106; 1717 pub const Op_OpImageQuerySamples: root::spv::Op = 107; 1718 pub const Op_OpConvertFToU: root::spv::Op = 109; 1719 pub const Op_OpConvertFToS: root::spv::Op = 110; 1720 pub const Op_OpConvertSToF: root::spv::Op = 111; 1721 pub const Op_OpConvertUToF: root::spv::Op = 112; 1722 pub const Op_OpUConvert: root::spv::Op = 113; 1723 pub const Op_OpSConvert: root::spv::Op = 114; 1724 pub const Op_OpFConvert: root::spv::Op = 115; 1725 pub const Op_OpQuantizeToF16: root::spv::Op = 116; 1726 pub const Op_OpConvertPtrToU: root::spv::Op = 117; 1727 pub const Op_OpSatConvertSToU: root::spv::Op = 118; 1728 pub const Op_OpSatConvertUToS: root::spv::Op = 119; 1729 pub const Op_OpConvertUToPtr: root::spv::Op = 120; 1730 pub const Op_OpPtrCastToGeneric: root::spv::Op = 121; 1731 pub const Op_OpGenericCastToPtr: root::spv::Op = 122; 1732 pub const Op_OpGenericCastToPtrExplicit: root::spv::Op = 123; 1733 pub const Op_OpBitcast: root::spv::Op = 124; 1734 pub const Op_OpSNegate: root::spv::Op = 126; 1735 pub const Op_OpFNegate: root::spv::Op = 127; 1736 pub const Op_OpIAdd: root::spv::Op = 128; 1737 pub const Op_OpFAdd: root::spv::Op = 129; 1738 pub const Op_OpISub: root::spv::Op = 130; 1739 pub const Op_OpFSub: root::spv::Op = 131; 1740 pub const Op_OpIMul: root::spv::Op = 132; 1741 pub const Op_OpFMul: root::spv::Op = 133; 1742 pub const Op_OpUDiv: root::spv::Op = 134; 1743 pub const Op_OpSDiv: root::spv::Op = 135; 1744 pub const Op_OpFDiv: root::spv::Op = 136; 1745 pub const Op_OpUMod: root::spv::Op = 137; 1746 pub const Op_OpSRem: root::spv::Op = 138; 1747 pub const Op_OpSMod: root::spv::Op = 139; 1748 pub const Op_OpFRem: root::spv::Op = 140; 1749 pub const Op_OpFMod: root::spv::Op = 141; 1750 pub const Op_OpVectorTimesScalar: root::spv::Op = 142; 1751 pub const Op_OpMatrixTimesScalar: root::spv::Op = 143; 1752 pub const Op_OpVectorTimesMatrix: root::spv::Op = 144; 1753 pub const Op_OpMatrixTimesVector: root::spv::Op = 145; 1754 pub const Op_OpMatrixTimesMatrix: root::spv::Op = 146; 1755 pub const Op_OpOuterProduct: root::spv::Op = 147; 1756 pub const Op_OpDot: root::spv::Op = 148; 1757 pub const Op_OpIAddCarry: root::spv::Op = 149; 1758 pub const Op_OpISubBorrow: root::spv::Op = 150; 1759 pub const Op_OpUMulExtended: root::spv::Op = 151; 1760 pub const Op_OpSMulExtended: root::spv::Op = 152; 1761 pub const Op_OpAny: root::spv::Op = 154; 1762 pub const Op_OpAll: root::spv::Op = 155; 1763 pub const Op_OpIsNan: root::spv::Op = 156; 1764 pub const Op_OpIsInf: root::spv::Op = 157; 1765 pub const Op_OpIsFinite: root::spv::Op = 158; 1766 pub const Op_OpIsNormal: root::spv::Op = 159; 1767 pub const Op_OpSignBitSet: root::spv::Op = 160; 1768 pub const Op_OpLessOrGreater: root::spv::Op = 161; 1769 pub const Op_OpOrdered: root::spv::Op = 162; 1770 pub const Op_OpUnordered: root::spv::Op = 163; 1771 pub const Op_OpLogicalEqual: root::spv::Op = 164; 1772 pub const Op_OpLogicalNotEqual: root::spv::Op = 165; 1773 pub const Op_OpLogicalOr: root::spv::Op = 166; 1774 pub const Op_OpLogicalAnd: root::spv::Op = 167; 1775 pub const Op_OpLogicalNot: root::spv::Op = 168; 1776 pub const Op_OpSelect: root::spv::Op = 169; 1777 pub const Op_OpIEqual: root::spv::Op = 170; 1778 pub const Op_OpINotEqual: root::spv::Op = 171; 1779 pub const Op_OpUGreaterThan: root::spv::Op = 172; 1780 pub const Op_OpSGreaterThan: root::spv::Op = 173; 1781 pub const Op_OpUGreaterThanEqual: root::spv::Op = 174; 1782 pub const Op_OpSGreaterThanEqual: root::spv::Op = 175; 1783 pub const Op_OpULessThan: root::spv::Op = 176; 1784 pub const Op_OpSLessThan: root::spv::Op = 177; 1785 pub const Op_OpULessThanEqual: root::spv::Op = 178; 1786 pub const Op_OpSLessThanEqual: root::spv::Op = 179; 1787 pub const Op_OpFOrdEqual: root::spv::Op = 180; 1788 pub const Op_OpFUnordEqual: root::spv::Op = 181; 1789 pub const Op_OpFOrdNotEqual: root::spv::Op = 182; 1790 pub const Op_OpFUnordNotEqual: root::spv::Op = 183; 1791 pub const Op_OpFOrdLessThan: root::spv::Op = 184; 1792 pub const Op_OpFUnordLessThan: root::spv::Op = 185; 1793 pub const Op_OpFOrdGreaterThan: root::spv::Op = 186; 1794 pub const Op_OpFUnordGreaterThan: root::spv::Op = 187; 1795 pub const Op_OpFOrdLessThanEqual: root::spv::Op = 188; 1796 pub const Op_OpFUnordLessThanEqual: root::spv::Op = 189; 1797 pub const Op_OpFOrdGreaterThanEqual: root::spv::Op = 190; 1798 pub const Op_OpFUnordGreaterThanEqual: root::spv::Op = 191; 1799 pub const Op_OpShiftRightLogical: root::spv::Op = 194; 1800 pub const Op_OpShiftRightArithmetic: root::spv::Op = 195; 1801 pub const Op_OpShiftLeftLogical: root::spv::Op = 196; 1802 pub const Op_OpBitwiseOr: root::spv::Op = 197; 1803 pub const Op_OpBitwiseXor: root::spv::Op = 198; 1804 pub const Op_OpBitwiseAnd: root::spv::Op = 199; 1805 pub const Op_OpNot: root::spv::Op = 200; 1806 pub const Op_OpBitFieldInsert: root::spv::Op = 201; 1807 pub const Op_OpBitFieldSExtract: root::spv::Op = 202; 1808 pub const Op_OpBitFieldUExtract: root::spv::Op = 203; 1809 pub const Op_OpBitReverse: root::spv::Op = 204; 1810 pub const Op_OpBitCount: root::spv::Op = 205; 1811 pub const Op_OpDPdx: root::spv::Op = 207; 1812 pub const Op_OpDPdy: root::spv::Op = 208; 1813 pub const Op_OpFwidth: root::spv::Op = 209; 1814 pub const Op_OpDPdxFine: root::spv::Op = 210; 1815 pub const Op_OpDPdyFine: root::spv::Op = 211; 1816 pub const Op_OpFwidthFine: root::spv::Op = 212; 1817 pub const Op_OpDPdxCoarse: root::spv::Op = 213; 1818 pub const Op_OpDPdyCoarse: root::spv::Op = 214; 1819 pub const Op_OpFwidthCoarse: root::spv::Op = 215; 1820 pub const Op_OpEmitVertex: root::spv::Op = 218; 1821 pub const Op_OpEndPrimitive: root::spv::Op = 219; 1822 pub const Op_OpEmitStreamVertex: root::spv::Op = 220; 1823 pub const Op_OpEndStreamPrimitive: root::spv::Op = 221; 1824 pub const Op_OpControlBarrier: root::spv::Op = 224; 1825 pub const Op_OpMemoryBarrier: root::spv::Op = 225; 1826 pub const Op_OpAtomicLoad: root::spv::Op = 227; 1827 pub const Op_OpAtomicStore: root::spv::Op = 228; 1828 pub const Op_OpAtomicExchange: root::spv::Op = 229; 1829 pub const Op_OpAtomicCompareExchange: root::spv::Op = 230; 1830 pub const Op_OpAtomicCompareExchangeWeak: root::spv::Op = 231; 1831 pub const Op_OpAtomicIIncrement: root::spv::Op = 232; 1832 pub const Op_OpAtomicIDecrement: root::spv::Op = 233; 1833 pub const Op_OpAtomicIAdd: root::spv::Op = 234; 1834 pub const Op_OpAtomicISub: root::spv::Op = 235; 1835 pub const Op_OpAtomicSMin: root::spv::Op = 236; 1836 pub const Op_OpAtomicUMin: root::spv::Op = 237; 1837 pub const Op_OpAtomicSMax: root::spv::Op = 238; 1838 pub const Op_OpAtomicUMax: root::spv::Op = 239; 1839 pub const Op_OpAtomicAnd: root::spv::Op = 240; 1840 pub const Op_OpAtomicOr: root::spv::Op = 241; 1841 pub const Op_OpAtomicXor: root::spv::Op = 242; 1842 pub const Op_OpPhi: root::spv::Op = 245; 1843 pub const Op_OpLoopMerge: root::spv::Op = 246; 1844 pub const Op_OpSelectionMerge: root::spv::Op = 247; 1845 pub const Op_OpLabel: root::spv::Op = 248; 1846 pub const Op_OpBranch: root::spv::Op = 249; 1847 pub const Op_OpBranchConditional: root::spv::Op = 250; 1848 pub const Op_OpSwitch: root::spv::Op = 251; 1849 pub const Op_OpKill: root::spv::Op = 252; 1850 pub const Op_OpReturn: root::spv::Op = 253; 1851 pub const Op_OpReturnValue: root::spv::Op = 254; 1852 pub const Op_OpUnreachable: root::spv::Op = 255; 1853 pub const Op_OpLifetimeStart: root::spv::Op = 256; 1854 pub const Op_OpLifetimeStop: root::spv::Op = 257; 1855 pub const Op_OpGroupAsyncCopy: root::spv::Op = 259; 1856 pub const Op_OpGroupWaitEvents: root::spv::Op = 260; 1857 pub const Op_OpGroupAll: root::spv::Op = 261; 1858 pub const Op_OpGroupAny: root::spv::Op = 262; 1859 pub const Op_OpGroupBroadcast: root::spv::Op = 263; 1860 pub const Op_OpGroupIAdd: root::spv::Op = 264; 1861 pub const Op_OpGroupFAdd: root::spv::Op = 265; 1862 pub const Op_OpGroupFMin: root::spv::Op = 266; 1863 pub const Op_OpGroupUMin: root::spv::Op = 267; 1864 pub const Op_OpGroupSMin: root::spv::Op = 268; 1865 pub const Op_OpGroupFMax: root::spv::Op = 269; 1866 pub const Op_OpGroupUMax: root::spv::Op = 270; 1867 pub const Op_OpGroupSMax: root::spv::Op = 271; 1868 pub const Op_OpReadPipe: root::spv::Op = 274; 1869 pub const Op_OpWritePipe: root::spv::Op = 275; 1870 pub const Op_OpReservedReadPipe: root::spv::Op = 276; 1871 pub const Op_OpReservedWritePipe: root::spv::Op = 277; 1872 pub const Op_OpReserveReadPipePackets: root::spv::Op = 278; 1873 pub const Op_OpReserveWritePipePackets: root::spv::Op = 279; 1874 pub const Op_OpCommitReadPipe: root::spv::Op = 280; 1875 pub const Op_OpCommitWritePipe: root::spv::Op = 281; 1876 pub const Op_OpIsValidReserveId: root::spv::Op = 282; 1877 pub const Op_OpGetNumPipePackets: root::spv::Op = 283; 1878 pub const Op_OpGetMaxPipePackets: root::spv::Op = 284; 1879 pub const Op_OpGroupReserveReadPipePackets: root::spv::Op = 285; 1880 pub const Op_OpGroupReserveWritePipePackets: root::spv::Op = 286; 1881 pub const Op_OpGroupCommitReadPipe: root::spv::Op = 287; 1882 pub const Op_OpGroupCommitWritePipe: root::spv::Op = 288; 1883 pub const Op_OpEnqueueMarker: root::spv::Op = 291; 1884 pub const Op_OpEnqueueKernel: root::spv::Op = 292; 1885 pub const Op_OpGetKernelNDrangeSubGroupCount: root::spv::Op = 293; 1886 pub const Op_OpGetKernelNDrangeMaxSubGroupSize: root::spv::Op = 294; 1887 pub const Op_OpGetKernelWorkGroupSize: root::spv::Op = 295; 1888 pub const Op_OpGetKernelPreferredWorkGroupSizeMultiple: root::spv::Op = 296; 1889 pub const Op_OpRetainEvent: root::spv::Op = 297; 1890 pub const Op_OpReleaseEvent: root::spv::Op = 298; 1891 pub const Op_OpCreateUserEvent: root::spv::Op = 299; 1892 pub const Op_OpIsValidEvent: root::spv::Op = 300; 1893 pub const Op_OpSetUserEventStatus: root::spv::Op = 301; 1894 pub const Op_OpCaptureEventProfilingInfo: root::spv::Op = 302; 1895 pub const Op_OpGetDefaultQueue: root::spv::Op = 303; 1896 pub const Op_OpBuildNDRange: root::spv::Op = 304; 1897 pub const Op_OpImageSparseSampleImplicitLod: root::spv::Op = 305; 1898 pub const Op_OpImageSparseSampleExplicitLod: root::spv::Op = 306; 1899 pub const Op_OpImageSparseSampleDrefImplicitLod: root::spv::Op = 307; 1900 pub const Op_OpImageSparseSampleDrefExplicitLod: root::spv::Op = 308; 1901 pub const Op_OpImageSparseSampleProjImplicitLod: root::spv::Op = 309; 1902 pub const Op_OpImageSparseSampleProjExplicitLod: root::spv::Op = 310; 1903 pub const Op_OpImageSparseSampleProjDrefImplicitLod: root::spv::Op = 311; 1904 pub const Op_OpImageSparseSampleProjDrefExplicitLod: root::spv::Op = 312; 1905 pub const Op_OpImageSparseFetch: root::spv::Op = 313; 1906 pub const Op_OpImageSparseGather: root::spv::Op = 314; 1907 pub const Op_OpImageSparseDrefGather: root::spv::Op = 315; 1908 pub const Op_OpImageSparseTexelsResident: root::spv::Op = 316; 1909 pub const Op_OpNoLine: root::spv::Op = 317; 1910 pub const Op_OpAtomicFlagTestAndSet: root::spv::Op = 318; 1911 pub const Op_OpAtomicFlagClear: root::spv::Op = 319; 1912 pub const Op_OpImageSparseRead: root::spv::Op = 320; 1913 pub const Op_OpSizeOf: root::spv::Op = 321; 1914 pub const Op_OpTypePipeStorage: root::spv::Op = 322; 1915 pub const Op_OpConstantPipeStorage: root::spv::Op = 323; 1916 pub const Op_OpCreatePipeFromPipeStorage: root::spv::Op = 324; 1917 pub const Op_OpGetKernelLocalSizeForSubgroupCount: root::spv::Op = 325; 1918 pub const Op_OpGetKernelMaxNumSubgroups: root::spv::Op = 326; 1919 pub const Op_OpTypeNamedBarrier: root::spv::Op = 327; 1920 pub const Op_OpNamedBarrierInitialize: root::spv::Op = 328; 1921 pub const Op_OpMemoryNamedBarrier: root::spv::Op = 329; 1922 pub const Op_OpModuleProcessed: root::spv::Op = 330; 1923 pub const Op_OpExecutionModeId: root::spv::Op = 331; 1924 pub const Op_OpDecorateId: root::spv::Op = 332; 1925 pub const Op_OpGroupNonUniformElect: root::spv::Op = 333; 1926 pub const Op_OpGroupNonUniformAll: root::spv::Op = 334; 1927 pub const Op_OpGroupNonUniformAny: root::spv::Op = 335; 1928 pub const Op_OpGroupNonUniformAllEqual: root::spv::Op = 336; 1929 pub const Op_OpGroupNonUniformBroadcast: root::spv::Op = 337; 1930 pub const Op_OpGroupNonUniformBroadcastFirst: root::spv::Op = 338; 1931 pub const Op_OpGroupNonUniformBallot: root::spv::Op = 339; 1932 pub const Op_OpGroupNonUniformInverseBallot: root::spv::Op = 340; 1933 pub const Op_OpGroupNonUniformBallotBitExtract: root::spv::Op = 341; 1934 pub const Op_OpGroupNonUniformBallotBitCount: root::spv::Op = 342; 1935 pub const Op_OpGroupNonUniformBallotFindLSB: root::spv::Op = 343; 1936 pub const Op_OpGroupNonUniformBallotFindMSB: root::spv::Op = 344; 1937 pub const Op_OpGroupNonUniformShuffle: root::spv::Op = 345; 1938 pub const Op_OpGroupNonUniformShuffleXor: root::spv::Op = 346; 1939 pub const Op_OpGroupNonUniformShuffleUp: root::spv::Op = 347; 1940 pub const Op_OpGroupNonUniformShuffleDown: root::spv::Op = 348; 1941 pub const Op_OpGroupNonUniformIAdd: root::spv::Op = 349; 1942 pub const Op_OpGroupNonUniformFAdd: root::spv::Op = 350; 1943 pub const Op_OpGroupNonUniformIMul: root::spv::Op = 351; 1944 pub const Op_OpGroupNonUniformFMul: root::spv::Op = 352; 1945 pub const Op_OpGroupNonUniformSMin: root::spv::Op = 353; 1946 pub const Op_OpGroupNonUniformUMin: root::spv::Op = 354; 1947 pub const Op_OpGroupNonUniformFMin: root::spv::Op = 355; 1948 pub const Op_OpGroupNonUniformSMax: root::spv::Op = 356; 1949 pub const Op_OpGroupNonUniformUMax: root::spv::Op = 357; 1950 pub const Op_OpGroupNonUniformFMax: root::spv::Op = 358; 1951 pub const Op_OpGroupNonUniformBitwiseAnd: root::spv::Op = 359; 1952 pub const Op_OpGroupNonUniformBitwiseOr: root::spv::Op = 360; 1953 pub const Op_OpGroupNonUniformBitwiseXor: root::spv::Op = 361; 1954 pub const Op_OpGroupNonUniformLogicalAnd: root::spv::Op = 362; 1955 pub const Op_OpGroupNonUniformLogicalOr: root::spv::Op = 363; 1956 pub const Op_OpGroupNonUniformLogicalXor: root::spv::Op = 364; 1957 pub const Op_OpGroupNonUniformQuadBroadcast: root::spv::Op = 365; 1958 pub const Op_OpGroupNonUniformQuadSwap: root::spv::Op = 366; 1959 pub const Op_OpCopyLogical: root::spv::Op = 400; 1960 pub const Op_OpPtrEqual: root::spv::Op = 401; 1961 pub const Op_OpPtrNotEqual: root::spv::Op = 402; 1962 pub const Op_OpPtrDiff: root::spv::Op = 403; 1963 pub const Op_OpSubgroupBallotKHR: root::spv::Op = 4421; 1964 pub const Op_OpSubgroupFirstInvocationKHR: root::spv::Op = 4422; 1965 pub const Op_OpSubgroupAllKHR: root::spv::Op = 4428; 1966 pub const Op_OpSubgroupAnyKHR: root::spv::Op = 4429; 1967 pub const Op_OpSubgroupAllEqualKHR: root::spv::Op = 4430; 1968 pub const Op_OpSubgroupReadInvocationKHR: root::spv::Op = 4432; 1969 pub const Op_OpTypeRayQueryProvisionalKHR: root::spv::Op = 4472; 1970 pub const Op_OpRayQueryInitializeKHR: root::spv::Op = 4473; 1971 pub const Op_OpRayQueryTerminateKHR: root::spv::Op = 4474; 1972 pub const Op_OpRayQueryGenerateIntersectionKHR: root::spv::Op = 4475; 1973 pub const Op_OpRayQueryConfirmIntersectionKHR: root::spv::Op = 4476; 1974 pub const Op_OpRayQueryProceedKHR: root::spv::Op = 4477; 1975 pub const Op_OpRayQueryGetIntersectionTypeKHR: root::spv::Op = 4479; 1976 pub const Op_OpGroupIAddNonUniformAMD: root::spv::Op = 5000; 1977 pub const Op_OpGroupFAddNonUniformAMD: root::spv::Op = 5001; 1978 pub const Op_OpGroupFMinNonUniformAMD: root::spv::Op = 5002; 1979 pub const Op_OpGroupUMinNonUniformAMD: root::spv::Op = 5003; 1980 pub const Op_OpGroupSMinNonUniformAMD: root::spv::Op = 5004; 1981 pub const Op_OpGroupFMaxNonUniformAMD: root::spv::Op = 5005; 1982 pub const Op_OpGroupUMaxNonUniformAMD: root::spv::Op = 5006; 1983 pub const Op_OpGroupSMaxNonUniformAMD: root::spv::Op = 5007; 1984 pub const Op_OpFragmentMaskFetchAMD: root::spv::Op = 5011; 1985 pub const Op_OpFragmentFetchAMD: root::spv::Op = 5012; 1986 pub const Op_OpReadClockKHR: root::spv::Op = 5056; 1987 pub const Op_OpImageSampleFootprintNV: root::spv::Op = 5283; 1988 pub const Op_OpGroupNonUniformPartitionNV: root::spv::Op = 5296; 1989 pub const Op_OpWritePackedPrimitiveIndices4x8NV: root::spv::Op = 5299; 1990 pub const Op_OpReportIntersectionKHR: root::spv::Op = 5334; 1991 pub const Op_OpReportIntersectionNV: root::spv::Op = 5334; 1992 pub const Op_OpIgnoreIntersectionKHR: root::spv::Op = 5335; 1993 pub const Op_OpIgnoreIntersectionNV: root::spv::Op = 5335; 1994 pub const Op_OpTerminateRayKHR: root::spv::Op = 5336; 1995 pub const Op_OpTerminateRayNV: root::spv::Op = 5336; 1996 pub const Op_OpTraceNV: root::spv::Op = 5337; 1997 pub const Op_OpTraceRayKHR: root::spv::Op = 5337; 1998 pub const Op_OpTypeAccelerationStructureKHR: root::spv::Op = 5341; 1999 pub const Op_OpTypeAccelerationStructureNV: root::spv::Op = 5341; 2000 pub const Op_OpExecuteCallableKHR: root::spv::Op = 5344; 2001 pub const Op_OpExecuteCallableNV: root::spv::Op = 5344; 2002 pub const Op_OpTypeCooperativeMatrixNV: root::spv::Op = 5358; 2003 pub const Op_OpCooperativeMatrixLoadNV: root::spv::Op = 5359; 2004 pub const Op_OpCooperativeMatrixStoreNV: root::spv::Op = 5360; 2005 pub const Op_OpCooperativeMatrixMulAddNV: root::spv::Op = 5361; 2006 pub const Op_OpCooperativeMatrixLengthNV: root::spv::Op = 5362; 2007 pub const Op_OpBeginInvocationInterlockEXT: root::spv::Op = 5364; 2008 pub const Op_OpEndInvocationInterlockEXT: root::spv::Op = 5365; 2009 pub const Op_OpDemoteToHelperInvocationEXT: root::spv::Op = 5380; 2010 pub const Op_OpIsHelperInvocationEXT: root::spv::Op = 5381; 2011 pub const Op_OpSubgroupShuffleINTEL: root::spv::Op = 5571; 2012 pub const Op_OpSubgroupShuffleDownINTEL: root::spv::Op = 5572; 2013 pub const Op_OpSubgroupShuffleUpINTEL: root::spv::Op = 5573; 2014 pub const Op_OpSubgroupShuffleXorINTEL: root::spv::Op = 5574; 2015 pub const Op_OpSubgroupBlockReadINTEL: root::spv::Op = 5575; 2016 pub const Op_OpSubgroupBlockWriteINTEL: root::spv::Op = 5576; 2017 pub const Op_OpSubgroupImageBlockReadINTEL: root::spv::Op = 5577; 2018 pub const Op_OpSubgroupImageBlockWriteINTEL: root::spv::Op = 5578; 2019 pub const Op_OpSubgroupImageMediaBlockReadINTEL: root::spv::Op = 5580; 2020 pub const Op_OpSubgroupImageMediaBlockWriteINTEL: root::spv::Op = 5581; 2021 pub const Op_OpUCountLeadingZerosINTEL: root::spv::Op = 5585; 2022 pub const Op_OpUCountTrailingZerosINTEL: root::spv::Op = 5586; 2023 pub const Op_OpAbsISubINTEL: root::spv::Op = 5587; 2024 pub const Op_OpAbsUSubINTEL: root::spv::Op = 5588; 2025 pub const Op_OpIAddSatINTEL: root::spv::Op = 5589; 2026 pub const Op_OpUAddSatINTEL: root::spv::Op = 5590; 2027 pub const Op_OpIAverageINTEL: root::spv::Op = 5591; 2028 pub const Op_OpUAverageINTEL: root::spv::Op = 5592; 2029 pub const Op_OpIAverageRoundedINTEL: root::spv::Op = 5593; 2030 pub const Op_OpUAverageRoundedINTEL: root::spv::Op = 5594; 2031 pub const Op_OpISubSatINTEL: root::spv::Op = 5595; 2032 pub const Op_OpUSubSatINTEL: root::spv::Op = 5596; 2033 pub const Op_OpIMul32x16INTEL: root::spv::Op = 5597; 2034 pub const Op_OpUMul32x16INTEL: root::spv::Op = 5598; 2035 pub const Op_OpDecorateString: root::spv::Op = 5632; 2036 pub const Op_OpDecorateStringGOOGLE: root::spv::Op = 5632; 2037 pub const Op_OpMemberDecorateString: root::spv::Op = 5633; 2038 pub const Op_OpMemberDecorateStringGOOGLE: root::spv::Op = 5633; 2039 pub const Op_OpVmeImageINTEL: root::spv::Op = 5699; 2040 pub const Op_OpTypeVmeImageINTEL: root::spv::Op = 5700; 2041 pub const Op_OpTypeAvcImePayloadINTEL: root::spv::Op = 5701; 2042 pub const Op_OpTypeAvcRefPayloadINTEL: root::spv::Op = 5702; 2043 pub const Op_OpTypeAvcSicPayloadINTEL: root::spv::Op = 5703; 2044 pub const Op_OpTypeAvcMcePayloadINTEL: root::spv::Op = 5704; 2045 pub const Op_OpTypeAvcMceResultINTEL: root::spv::Op = 5705; 2046 pub const Op_OpTypeAvcImeResultINTEL: root::spv::Op = 5706; 2047 pub const Op_OpTypeAvcImeResultSingleReferenceStreamoutINTEL: root::spv::Op = 5707; 2048 pub const Op_OpTypeAvcImeResultDualReferenceStreamoutINTEL: root::spv::Op = 5708; 2049 pub const Op_OpTypeAvcImeSingleReferenceStreaminINTEL: root::spv::Op = 5709; 2050 pub const Op_OpTypeAvcImeDualReferenceStreaminINTEL: root::spv::Op = 5710; 2051 pub const Op_OpTypeAvcRefResultINTEL: root::spv::Op = 5711; 2052 pub const Op_OpTypeAvcSicResultINTEL: root::spv::Op = 5712; 2053 pub const Op_OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL: root::spv::Op = 2054 5713; 2055 pub const Op_OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL: root::spv::Op = 5714; 2056 pub const Op_OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL: root::spv::Op = 5715; 2057 pub const Op_OpSubgroupAvcMceSetInterShapePenaltyINTEL: root::spv::Op = 5716; 2058 pub const Op_OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL: root::spv::Op = 5717; 2059 pub const Op_OpSubgroupAvcMceSetInterDirectionPenaltyINTEL: root::spv::Op = 5718; 2060 pub const Op_OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL: root::spv::Op = 5719; 2061 pub const Op_OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL: root::spv::Op = 2062 5720; 2063 pub const Op_OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL: root::spv::Op = 5721; 2064 pub const Op_OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL: root::spv::Op = 5722; 2065 pub const Op_OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL: root::spv::Op = 5723; 2066 pub const Op_OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL: root::spv::Op = 5724; 2067 pub const Op_OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL: root::spv::Op = 5725; 2068 pub const Op_OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL: root::spv::Op = 5726; 2069 pub const Op_OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL: root::spv::Op = 2070 5727; 2071 pub const Op_OpSubgroupAvcMceSetAcOnlyHaarINTEL: root::spv::Op = 5728; 2072 pub const Op_OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL: root::spv::Op = 5729; 2073 pub const Op_OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL: root::spv::Op = 2074 5730; 2075 pub const Op_OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL: root::spv::Op = 2076 5731; 2077 pub const Op_OpSubgroupAvcMceConvertToImePayloadINTEL: root::spv::Op = 5732; 2078 pub const Op_OpSubgroupAvcMceConvertToImeResultINTEL: root::spv::Op = 5733; 2079 pub const Op_OpSubgroupAvcMceConvertToRefPayloadINTEL: root::spv::Op = 5734; 2080 pub const Op_OpSubgroupAvcMceConvertToRefResultINTEL: root::spv::Op = 5735; 2081 pub const Op_OpSubgroupAvcMceConvertToSicPayloadINTEL: root::spv::Op = 5736; 2082 pub const Op_OpSubgroupAvcMceConvertToSicResultINTEL: root::spv::Op = 5737; 2083 pub const Op_OpSubgroupAvcMceGetMotionVectorsINTEL: root::spv::Op = 5738; 2084 pub const Op_OpSubgroupAvcMceGetInterDistortionsINTEL: root::spv::Op = 5739; 2085 pub const Op_OpSubgroupAvcMceGetBestInterDistortionsINTEL: root::spv::Op = 5740; 2086 pub const Op_OpSubgroupAvcMceGetInterMajorShapeINTEL: root::spv::Op = 5741; 2087 pub const Op_OpSubgroupAvcMceGetInterMinorShapeINTEL: root::spv::Op = 5742; 2088 pub const Op_OpSubgroupAvcMceGetInterDirectionsINTEL: root::spv::Op = 5743; 2089 pub const Op_OpSubgroupAvcMceGetInterMotionVectorCountINTEL: root::spv::Op = 5744; 2090 pub const Op_OpSubgroupAvcMceGetInterReferenceIdsINTEL: root::spv::Op = 5745; 2091 pub const Op_OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL: 2092 root::spv::Op = 5746; 2093 pub const Op_OpSubgroupAvcImeInitializeINTEL: root::spv::Op = 5747; 2094 pub const Op_OpSubgroupAvcImeSetSingleReferenceINTEL: root::spv::Op = 5748; 2095 pub const Op_OpSubgroupAvcImeSetDualReferenceINTEL: root::spv::Op = 5749; 2096 pub const Op_OpSubgroupAvcImeRefWindowSizeINTEL: root::spv::Op = 5750; 2097 pub const Op_OpSubgroupAvcImeAdjustRefOffsetINTEL: root::spv::Op = 5751; 2098 pub const Op_OpSubgroupAvcImeConvertToMcePayloadINTEL: root::spv::Op = 5752; 2099 pub const Op_OpSubgroupAvcImeSetMaxMotionVectorCountINTEL: root::spv::Op = 5753; 2100 pub const Op_OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL: root::spv::Op = 5754; 2101 pub const Op_OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL: root::spv::Op = 5755; 2102 pub const Op_OpSubgroupAvcImeSetWeightedSadINTEL: root::spv::Op = 5756; 2103 pub const Op_OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL: root::spv::Op = 5757; 2104 pub const Op_OpSubgroupAvcImeEvaluateWithDualReferenceINTEL: root::spv::Op = 5758; 2105 pub const Op_OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL: root::spv::Op = 5759; 2106 pub const Op_OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL: root::spv::Op = 5760; 2107 pub const Op_OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL: root::spv::Op = 2108 5761; 2109 pub const Op_OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL: root::spv::Op = 5762; 2110 pub const Op_OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL: root::spv::Op = 2111 5763; 2112 pub const Op_OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL: root::spv::Op = 2113 5764; 2114 pub const Op_OpSubgroupAvcImeConvertToMceResultINTEL: root::spv::Op = 5765; 2115 pub const Op_OpSubgroupAvcImeGetSingleReferenceStreaminINTEL: root::spv::Op = 5766; 2116 pub const Op_OpSubgroupAvcImeGetDualReferenceStreaminINTEL: root::spv::Op = 5767; 2117 pub const Op_OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL: root::spv::Op = 5768; 2118 pub const Op_OpSubgroupAvcImeStripDualReferenceStreamoutINTEL: root::spv::Op = 5769; 2119 pub const Op_OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL: 2120 root::spv::Op = 5770; 2121 pub const Op_OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL: 2122 root::spv::Op = 5771; 2123 pub const Op_OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL: 2124 root::spv::Op = 5772; 2125 pub const Op_OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL: 2126 root::spv::Op = 5773; 2127 pub const Op_OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL: 2128 root::spv::Op = 5774; 2129 pub const Op_OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL: 2130 root::spv::Op = 5775; 2131 pub const Op_OpSubgroupAvcImeGetBorderReachedINTEL: root::spv::Op = 5776; 2132 pub const Op_OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL: root::spv::Op = 5777; 2133 pub const Op_OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL: root::spv::Op = 2134 5778; 2135 pub const Op_OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL: root::spv::Op = 2136 5779; 2137 pub const Op_OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL: root::spv::Op = 2138 5780; 2139 pub const Op_OpSubgroupAvcFmeInitializeINTEL: root::spv::Op = 5781; 2140 pub const Op_OpSubgroupAvcBmeInitializeINTEL: root::spv::Op = 5782; 2141 pub const Op_OpSubgroupAvcRefConvertToMcePayloadINTEL: root::spv::Op = 5783; 2142 pub const Op_OpSubgroupAvcRefSetBidirectionalMixDisableINTEL: root::spv::Op = 5784; 2143 pub const Op_OpSubgroupAvcRefSetBilinearFilterEnableINTEL: root::spv::Op = 5785; 2144 pub const Op_OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL: root::spv::Op = 5786; 2145 pub const Op_OpSubgroupAvcRefEvaluateWithDualReferenceINTEL: root::spv::Op = 5787; 2146 pub const Op_OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL: root::spv::Op = 5788; 2147 pub const Op_OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL: root::spv::Op = 2148 5789; 2149 pub const Op_OpSubgroupAvcRefConvertToMceResultINTEL: root::spv::Op = 5790; 2150 pub const Op_OpSubgroupAvcSicInitializeINTEL: root::spv::Op = 5791; 2151 pub const Op_OpSubgroupAvcSicConfigureSkcINTEL: root::spv::Op = 5792; 2152 pub const Op_OpSubgroupAvcSicConfigureIpeLumaINTEL: root::spv::Op = 5793; 2153 pub const Op_OpSubgroupAvcSicConfigureIpeLumaChromaINTEL: root::spv::Op = 5794; 2154 pub const Op_OpSubgroupAvcSicGetMotionVectorMaskINTEL: root::spv::Op = 5795; 2155 pub const Op_OpSubgroupAvcSicConvertToMcePayloadINTEL: root::spv::Op = 5796; 2156 pub const Op_OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL: root::spv::Op = 5797; 2157 pub const Op_OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL: root::spv::Op = 5798; 2158 pub const Op_OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL: root::spv::Op = 5799; 2159 pub const Op_OpSubgroupAvcSicSetBilinearFilterEnableINTEL: root::spv::Op = 5800; 2160 pub const Op_OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL: root::spv::Op = 5801; 2161 pub const Op_OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL: root::spv::Op = 5802; 2162 pub const Op_OpSubgroupAvcSicEvaluateIpeINTEL: root::spv::Op = 5803; 2163 pub const Op_OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL: root::spv::Op = 5804; 2164 pub const Op_OpSubgroupAvcSicEvaluateWithDualReferenceINTEL: root::spv::Op = 5805; 2165 pub const Op_OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL: root::spv::Op = 5806; 2166 pub const Op_OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL: root::spv::Op = 2167 5807; 2168 pub const Op_OpSubgroupAvcSicConvertToMceResultINTEL: root::spv::Op = 5808; 2169 pub const Op_OpSubgroupAvcSicGetIpeLumaShapeINTEL: root::spv::Op = 5809; 2170 pub const Op_OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL: root::spv::Op = 5810; 2171 pub const Op_OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL: root::spv::Op = 5811; 2172 pub const Op_OpSubgroupAvcSicGetPackedIpeLumaModesINTEL: root::spv::Op = 5812; 2173 pub const Op_OpSubgroupAvcSicGetIpeChromaModeINTEL: root::spv::Op = 5813; 2174 pub const Op_OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL: root::spv::Op = 5814; 2175 pub const Op_OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL: root::spv::Op = 5815; 2176 pub const Op_OpSubgroupAvcSicGetInterRawSadsINTEL: root::spv::Op = 5816; 2177 pub const Op_OpRayQueryGetRayTMinKHR: root::spv::Op = 6016; 2178 pub const Op_OpRayQueryGetRayFlagsKHR: root::spv::Op = 6017; 2179 pub const Op_OpRayQueryGetIntersectionTKHR: root::spv::Op = 6018; 2180 pub const Op_OpRayQueryGetIntersectionInstanceCustomIndexKHR: root::spv::Op = 6019; 2181 pub const Op_OpRayQueryGetIntersectionInstanceIdKHR: root::spv::Op = 6020; 2182 pub const Op_OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR: 2183 root::spv::Op = 6021; 2184 pub const Op_OpRayQueryGetIntersectionGeometryIndexKHR: root::spv::Op = 6022; 2185 pub const Op_OpRayQueryGetIntersectionPrimitiveIndexKHR: root::spv::Op = 6023; 2186 pub const Op_OpRayQueryGetIntersectionBarycentricsKHR: root::spv::Op = 6024; 2187 pub const Op_OpRayQueryGetIntersectionFrontFaceKHR: root::spv::Op = 6025; 2188 pub const Op_OpRayQueryGetIntersectionCandidateAABBOpaqueKHR: root::spv::Op = 6026; 2189 pub const Op_OpRayQueryGetIntersectionObjectRayDirectionKHR: root::spv::Op = 6027; 2190 pub const Op_OpRayQueryGetIntersectionObjectRayOriginKHR: root::spv::Op = 6028; 2191 pub const Op_OpRayQueryGetWorldRayDirectionKHR: root::spv::Op = 6029; 2192 pub const Op_OpRayQueryGetWorldRayOriginKHR: root::spv::Op = 6030; 2193 pub const Op_OpRayQueryGetIntersectionObjectToWorldKHR: root::spv::Op = 6031; 2194 pub const Op_OpRayQueryGetIntersectionWorldToObjectKHR: root::spv::Op = 6032; 2195 pub const Op_OpMax: root::spv::Op = 2147483647; 2196 pub type Op = u32; 2197 } 2198 pub mod std { 2199 #[allow(unused_imports)] 2200 use self::super::super::root; 2201 } 2202 pub type __darwin_size_t = ::std::os::raw::c_ulong; 2203 pub mod spirv_cross { 2204 #[allow(unused_imports)] 2205 use self::super::super::root; 2206 #[repr(u32)] 2207 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 2208 pub enum SPIRType_BaseType { 2209 Unknown = 0, 2210 Void = 1, 2211 Boolean = 2, 2212 SByte = 3, 2213 UByte = 4, 2214 Short = 5, 2215 UShort = 6, 2216 Int = 7, 2217 UInt = 8, 2218 Int64 = 9, 2219 UInt64 = 10, 2220 AtomicCounter = 11, 2221 Half = 12, 2222 Float = 13, 2223 Double = 14, 2224 Struct = 15, 2225 Image = 16, 2226 SampledImage = 17, 2227 Sampler = 18, 2228 AccelerationStructure = 19, 2229 RayQuery = 20, 2230 ControlPointArray = 21, 2231 Char = 22, 2232 } 2233 #[repr(u32)] 2234 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 2235 pub enum MSLVertexFormat { 2236 MSL_VERTEX_FORMAT_OTHER = 0, 2237 MSL_VERTEX_FORMAT_UINT8 = 1, 2238 MSL_VERTEX_FORMAT_UINT16 = 2, 2239 MSL_VERTEX_FORMAT_INT_MAX = 2147483647, 2240 } 2241 #[repr(C)] 2242 #[derive(Debug, Copy, Clone)] 2243 pub struct MSLVertexAttr { 2244 pub location: u32, 2245 pub msl_buffer: u32, 2246 pub msl_offset: u32, 2247 pub msl_stride: u32, 2248 pub per_instance: bool, 2249 pub format: root::spirv_cross::MSLVertexFormat, 2250 pub builtin: root::spv::BuiltIn, 2251 } 2252 #[repr(C)] 2253 #[derive(Debug, Copy, Clone)] 2254 pub struct MSLResourceBinding { 2255 pub stage: root::spv::ExecutionModel, 2256 pub desc_set: u32, 2257 pub binding: u32, 2258 pub msl_buffer: u32, 2259 pub msl_texture: u32, 2260 pub msl_sampler: u32, 2261 } 2262 pub const MSLSamplerCoord_MSL_SAMPLER_COORD_NORMALIZED: root::spirv_cross::MSLSamplerCoord = 2263 0; 2264 pub const MSLSamplerCoord_MSL_SAMPLER_COORD_PIXEL: root::spirv_cross::MSLSamplerCoord = 1; 2265 pub const MSLSamplerCoord_MSL_SAMPLER_INT_MAX: root::spirv_cross::MSLSamplerCoord = 2266 2147483647; 2267 pub type MSLSamplerCoord = u32; 2268 pub const MSLSamplerFilter_MSL_SAMPLER_FILTER_NEAREST: root::spirv_cross::MSLSamplerFilter = 2269 0; 2270 pub const MSLSamplerFilter_MSL_SAMPLER_FILTER_LINEAR: root::spirv_cross::MSLSamplerFilter = 2271 1; 2272 pub const MSLSamplerFilter_MSL_SAMPLER_FILTER_INT_MAX: root::spirv_cross::MSLSamplerFilter = 2273 2147483647; 2274 pub type MSLSamplerFilter = u32; 2275 pub const MSLSamplerMipFilter_MSL_SAMPLER_MIP_FILTER_NONE: 2276 root::spirv_cross::MSLSamplerMipFilter = 0; 2277 pub const MSLSamplerMipFilter_MSL_SAMPLER_MIP_FILTER_NEAREST: 2278 root::spirv_cross::MSLSamplerMipFilter = 1; 2279 pub const MSLSamplerMipFilter_MSL_SAMPLER_MIP_FILTER_LINEAR: 2280 root::spirv_cross::MSLSamplerMipFilter = 2; 2281 pub const MSLSamplerMipFilter_MSL_SAMPLER_MIP_FILTER_INT_MAX: 2282 root::spirv_cross::MSLSamplerMipFilter = 2147483647; 2283 pub type MSLSamplerMipFilter = u32; 2284 pub const MSLSamplerAddress_MSL_SAMPLER_ADDRESS_CLAMP_TO_ZERO: 2285 root::spirv_cross::MSLSamplerAddress = 0; 2286 pub const MSLSamplerAddress_MSL_SAMPLER_ADDRESS_CLAMP_TO_EDGE: 2287 root::spirv_cross::MSLSamplerAddress = 1; 2288 pub const MSLSamplerAddress_MSL_SAMPLER_ADDRESS_CLAMP_TO_BORDER: 2289 root::spirv_cross::MSLSamplerAddress = 2; 2290 pub const MSLSamplerAddress_MSL_SAMPLER_ADDRESS_REPEAT: 2291 root::spirv_cross::MSLSamplerAddress = 3; 2292 pub const MSLSamplerAddress_MSL_SAMPLER_ADDRESS_MIRRORED_REPEAT: 2293 root::spirv_cross::MSLSamplerAddress = 4; 2294 pub const MSLSamplerAddress_MSL_SAMPLER_ADDRESS_INT_MAX: 2295 root::spirv_cross::MSLSamplerAddress = 2147483647; 2296 pub type MSLSamplerAddress = u32; 2297 pub const MSLSamplerCompareFunc_MSL_SAMPLER_COMPARE_FUNC_NEVER: 2298 root::spirv_cross::MSLSamplerCompareFunc = 0; 2299 pub const MSLSamplerCompareFunc_MSL_SAMPLER_COMPARE_FUNC_LESS: 2300 root::spirv_cross::MSLSamplerCompareFunc = 1; 2301 pub const MSLSamplerCompareFunc_MSL_SAMPLER_COMPARE_FUNC_LESS_EQUAL: 2302 root::spirv_cross::MSLSamplerCompareFunc = 2; 2303 pub const MSLSamplerCompareFunc_MSL_SAMPLER_COMPARE_FUNC_GREATER: 2304 root::spirv_cross::MSLSamplerCompareFunc = 3; 2305 pub const MSLSamplerCompareFunc_MSL_SAMPLER_COMPARE_FUNC_GREATER_EQUAL: 2306 root::spirv_cross::MSLSamplerCompareFunc = 4; 2307 pub const MSLSamplerCompareFunc_MSL_SAMPLER_COMPARE_FUNC_EQUAL: 2308 root::spirv_cross::MSLSamplerCompareFunc = 5; 2309 pub const MSLSamplerCompareFunc_MSL_SAMPLER_COMPARE_FUNC_NOT_EQUAL: 2310 root::spirv_cross::MSLSamplerCompareFunc = 6; 2311 pub const MSLSamplerCompareFunc_MSL_SAMPLER_COMPARE_FUNC_ALWAYS: 2312 root::spirv_cross::MSLSamplerCompareFunc = 7; 2313 pub const MSLSamplerCompareFunc_MSL_SAMPLER_COMPARE_FUNC_INT_MAX: 2314 root::spirv_cross::MSLSamplerCompareFunc = 2147483647; 2315 pub type MSLSamplerCompareFunc = u32; 2316 pub const MSLSamplerBorderColor_MSL_SAMPLER_BORDER_COLOR_TRANSPARENT_BLACK: 2317 root::spirv_cross::MSLSamplerBorderColor = 0; 2318 pub const MSLSamplerBorderColor_MSL_SAMPLER_BORDER_COLOR_OPAQUE_BLACK: 2319 root::spirv_cross::MSLSamplerBorderColor = 1; 2320 pub const MSLSamplerBorderColor_MSL_SAMPLER_BORDER_COLOR_OPAQUE_WHITE: 2321 root::spirv_cross::MSLSamplerBorderColor = 2; 2322 pub const MSLSamplerBorderColor_MSL_SAMPLER_BORDER_COLOR_INT_MAX: 2323 root::spirv_cross::MSLSamplerBorderColor = 2147483647; 2324 pub type MSLSamplerBorderColor = u32; 2325 pub const MSLFormatResolution_MSL_FORMAT_RESOLUTION_444: 2326 root::spirv_cross::MSLFormatResolution = 0; 2327 pub const MSLFormatResolution_MSL_FORMAT_RESOLUTION_422: 2328 root::spirv_cross::MSLFormatResolution = 1; 2329 pub const MSLFormatResolution_MSL_FORMAT_RESOLUTION_420: 2330 root::spirv_cross::MSLFormatResolution = 2; 2331 pub const MSLFormatResolution_MSL_FORMAT_RESOLUTION_INT_MAX: 2332 root::spirv_cross::MSLFormatResolution = 2147483647; 2333 pub type MSLFormatResolution = u32; 2334 pub const MSLChromaLocation_MSL_CHROMA_LOCATION_COSITED_EVEN: 2335 root::spirv_cross::MSLChromaLocation = 0; 2336 pub const MSLChromaLocation_MSL_CHROMA_LOCATION_MIDPOINT: 2337 root::spirv_cross::MSLChromaLocation = 1; 2338 pub const MSLChromaLocation_MSL_CHROMA_LOCATION_INT_MAX: 2339 root::spirv_cross::MSLChromaLocation = 2147483647; 2340 pub type MSLChromaLocation = u32; 2341 pub const MSLComponentSwizzle_MSL_COMPONENT_SWIZZLE_IDENTITY: 2342 root::spirv_cross::MSLComponentSwizzle = 0; 2343 pub const MSLComponentSwizzle_MSL_COMPONENT_SWIZZLE_ZERO: 2344 root::spirv_cross::MSLComponentSwizzle = 1; 2345 pub const MSLComponentSwizzle_MSL_COMPONENT_SWIZZLE_ONE: 2346 root::spirv_cross::MSLComponentSwizzle = 2; 2347 pub const MSLComponentSwizzle_MSL_COMPONENT_SWIZZLE_R: 2348 root::spirv_cross::MSLComponentSwizzle = 3; 2349 pub const MSLComponentSwizzle_MSL_COMPONENT_SWIZZLE_G: 2350 root::spirv_cross::MSLComponentSwizzle = 4; 2351 pub const MSLComponentSwizzle_MSL_COMPONENT_SWIZZLE_B: 2352 root::spirv_cross::MSLComponentSwizzle = 5; 2353 pub const MSLComponentSwizzle_MSL_COMPONENT_SWIZZLE_A: 2354 root::spirv_cross::MSLComponentSwizzle = 6; 2355 pub const MSLComponentSwizzle_MSL_COMPONENT_SWIZZLE_INT_MAX: 2356 root::spirv_cross::MSLComponentSwizzle = 2147483647; 2357 pub type MSLComponentSwizzle = u32; 2358 pub const MSLSamplerYCbCrModelConversion_MSL_SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY: 2359 root::spirv_cross::MSLSamplerYCbCrModelConversion = 0; 2360 pub const MSLSamplerYCbCrModelConversion_MSL_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_IDENTITY : root :: spirv_cross :: MSLSamplerYCbCrModelConversion = 1 ; 2361 pub const MSLSamplerYCbCrModelConversion_MSL_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_BT_709: 2362 root::spirv_cross::MSLSamplerYCbCrModelConversion = 2; 2363 pub const MSLSamplerYCbCrModelConversion_MSL_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_BT_601: 2364 root::spirv_cross::MSLSamplerYCbCrModelConversion = 3; 2365 pub const MSLSamplerYCbCrModelConversion_MSL_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_BT_2020 : root :: spirv_cross :: MSLSamplerYCbCrModelConversion = 4 ; 2366 pub const MSLSamplerYCbCrModelConversion_MSL_SAMPLER_YCBCR_MODEL_CONVERSION_INT_MAX: 2367 root::spirv_cross::MSLSamplerYCbCrModelConversion = 2147483647; 2368 pub type MSLSamplerYCbCrModelConversion = u32; 2369 pub const MSLSamplerYCbCrRange_MSL_SAMPLER_YCBCR_RANGE_ITU_FULL: 2370 root::spirv_cross::MSLSamplerYCbCrRange = 0; 2371 pub const MSLSamplerYCbCrRange_MSL_SAMPLER_YCBCR_RANGE_ITU_NARROW: 2372 root::spirv_cross::MSLSamplerYCbCrRange = 1; 2373 pub const MSLSamplerYCbCrRange_MSL_SAMPLER_YCBCR_RANGE_INT_MAX: 2374 root::spirv_cross::MSLSamplerYCbCrRange = 2147483647; 2375 pub type MSLSamplerYCbCrRange = u32; 2376 #[repr(C)] 2377 #[derive(Debug, Copy, Clone)] 2378 pub struct MSLConstexprSampler { 2379 pub coord: root::spirv_cross::MSLSamplerCoord, 2380 pub min_filter: root::spirv_cross::MSLSamplerFilter, 2381 pub mag_filter: root::spirv_cross::MSLSamplerFilter, 2382 pub mip_filter: root::spirv_cross::MSLSamplerMipFilter, 2383 pub s_address: root::spirv_cross::MSLSamplerAddress, 2384 pub t_address: root::spirv_cross::MSLSamplerAddress, 2385 pub r_address: root::spirv_cross::MSLSamplerAddress, 2386 pub compare_func: root::spirv_cross::MSLSamplerCompareFunc, 2387 pub border_color: root::spirv_cross::MSLSamplerBorderColor, 2388 pub lod_clamp_min: f32, 2389 pub lod_clamp_max: f32, 2390 pub max_anisotropy: ::std::os::raw::c_int, 2391 pub planes: u32, 2392 pub resolution: root::spirv_cross::MSLFormatResolution, 2393 pub chroma_filter: root::spirv_cross::MSLSamplerFilter, 2394 pub x_chroma_offset: root::spirv_cross::MSLChromaLocation, 2395 pub y_chroma_offset: root::spirv_cross::MSLChromaLocation, 2396 pub swizzle: [root::spirv_cross::MSLComponentSwizzle; 4usize], 2397 pub ycbcr_model: root::spirv_cross::MSLSamplerYCbCrModelConversion, 2398 pub ycbcr_range: root::spirv_cross::MSLSamplerYCbCrRange, 2399 pub bpc: u32, 2400 pub compare_enable: bool, 2401 pub lod_clamp_enable: bool, 2402 pub anisotropy_enable: bool, 2403 pub ycbcr_conversion_enable: bool, 2404 } 2405 } 2406 pub type ScInternalCompilerBase = ::std::os::raw::c_void; 2407 pub type ScInternalCompilerHlsl = ::std::os::raw::c_void; 2408 pub type ScInternalCompilerMsl = ::std::os::raw::c_void; 2409 pub type ScInternalCompilerGlsl = ::std::os::raw::c_void; 2410 #[repr(u32)] 2411 #[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)] 2412 pub enum ScInternalResult { 2413 Success = 0, 2414 Unhandled = 1, 2415 CompilationError = 2, 2416 } 2417 #[repr(C)] 2418 #[derive(Debug, Copy, Clone)] 2419 pub struct ScEntryPoint { 2420 pub name: *mut ::std::os::raw::c_char, 2421 pub execution_model: root::spv::ExecutionModel, 2422 pub work_group_size_x: u32, 2423 pub work_group_size_y: u32, 2424 pub work_group_size_z: u32, 2425 } 2426 #[repr(C)] 2427 #[derive(Debug, Copy, Clone)] 2428 pub struct ScBufferRange { 2429 pub index: ::std::os::raw::c_uint, 2430 pub offset: usize, 2431 pub range: usize, 2432 } 2433 #[repr(C)] 2434 #[derive(Debug, Copy, Clone)] 2435 pub struct ScCombinedImageSampler { 2436 pub combined_id: u32, 2437 pub image_id: u32, 2438 pub sampler_id: u32, 2439 } 2440 #[repr(C)] 2441 #[derive(Debug, Copy, Clone)] 2442 pub struct ScHlslRootConstant { 2443 pub start: u32, 2444 pub end: u32, 2445 pub binding: u32, 2446 pub space: u32, 2447 } 2448 #[repr(C)] 2449 #[derive(Debug, Copy, Clone)] 2450 pub struct ScHlslCompilerOptions { 2451 pub shader_model: i32, 2452 pub point_size_compat: bool, 2453 pub point_coord_compat: bool, 2454 pub vertex_transform_clip_space: bool, 2455 pub vertex_invert_y: bool, 2456 pub force_storage_buffer_as_uav: bool, 2457 pub nonwritable_uav_texture_as_srv: bool, 2458 } 2459 #[repr(C)] 2460 #[derive(Debug, Copy, Clone)] 2461 pub struct ScMslCompilerOptions { 2462 pub vertex_transform_clip_space: bool, 2463 pub vertex_invert_y: bool, 2464 pub platform: u8, 2465 pub version: u32, 2466 pub enable_point_size_builtin: bool, 2467 pub disable_rasterization: bool, 2468 pub swizzle_buffer_index: u32, 2469 pub indirect_params_buffer_index: u32, 2470 pub shader_output_buffer_index: u32, 2471 pub shader_patch_output_buffer_index: u32, 2472 pub shader_tess_factor_buffer_index: u32, 2473 pub buffer_size_buffer_index: u32, 2474 pub capture_output_to_buffer: bool, 2475 pub swizzle_texture_samples: bool, 2476 pub tess_domain_origin_lower_left: bool, 2477 pub argument_buffers: bool, 2478 pub pad_fragment_output_components: bool, 2479 } 2480 #[repr(C)] 2481 #[derive(Debug, Copy, Clone)] 2482 pub struct ScGlslCompilerOptions { 2483 pub vertex_transform_clip_space: bool, 2484 pub vertex_invert_y: bool, 2485 pub version: u32, 2486 pub es: bool, 2487 pub enable_420_pack_extension: bool, 2488 } 2489 #[repr(C)] 2490 #[derive(Debug, Copy, Clone)] 2491 pub struct ScResource { 2492 pub id: u32, 2493 pub type_id: u32, 2494 pub base_type_id: u32, 2495 pub name: *mut ::std::os::raw::c_char, 2496 } 2497 #[repr(C)] 2498 #[derive(Debug, Copy, Clone)] 2499 pub struct ScResourceArray { 2500 pub data: *mut root::ScResource, 2501 pub num: usize, 2502 } 2503 #[repr(C)] 2504 #[derive(Debug, Copy, Clone)] 2505 pub struct ScShaderResources { 2506 pub uniform_buffers: root::ScResourceArray, 2507 pub storage_buffers: root::ScResourceArray, 2508 pub stage_inputs: root::ScResourceArray, 2509 pub stage_outputs: root::ScResourceArray, 2510 pub subpass_inputs: root::ScResourceArray, 2511 pub storage_images: root::ScResourceArray, 2512 pub sampled_images: root::ScResourceArray, 2513 pub atomic_counters: root::ScResourceArray, 2514 pub push_constant_buffers: root::ScResourceArray, 2515 pub separate_images: root::ScResourceArray, 2516 pub separate_samplers: root::ScResourceArray, 2517 } 2518 #[repr(C)] 2519 #[derive(Debug, Copy, Clone)] 2520 pub struct ScSpecializationConstant { 2521 pub id: u32, 2522 pub constant_id: u32, 2523 } 2524 #[repr(C)] 2525 #[derive(Debug, Copy, Clone)] 2526 pub struct ScType { 2527 pub type_: root::spirv_cross::SPIRType_BaseType, 2528 pub vecsize: u32, 2529 pub columns: u32, 2530 pub member_types: *mut u32, 2531 pub member_types_size: usize, 2532 pub array: *mut u32, 2533 pub array_size: usize, 2534 } 2535 extern "C" { sc_internal_get_latest_exception_message( message: *mut *const ::std::os::raw::c_char, ) -> root::ScInternalResult2536 pub fn sc_internal_get_latest_exception_message( 2537 message: *mut *const ::std::os::raw::c_char, 2538 ) -> root::ScInternalResult; 2539 } 2540 extern "C" { sc_internal_compiler_hlsl_new( compiler: *mut *mut root::ScInternalCompilerHlsl, ir: *const u32, size: usize, ) -> root::ScInternalResult2541 pub fn sc_internal_compiler_hlsl_new( 2542 compiler: *mut *mut root::ScInternalCompilerHlsl, 2543 ir: *const u32, 2544 size: usize, 2545 ) -> root::ScInternalResult; 2546 } 2547 extern "C" { sc_internal_compiler_hlsl_set_options( compiler: *const root::ScInternalCompilerHlsl, options: *const root::ScHlslCompilerOptions, ) -> root::ScInternalResult2548 pub fn sc_internal_compiler_hlsl_set_options( 2549 compiler: *const root::ScInternalCompilerHlsl, 2550 options: *const root::ScHlslCompilerOptions, 2551 ) -> root::ScInternalResult; 2552 } 2553 extern "C" { sc_internal_compiler_hlsl_set_root_constant_layout( compiler: *const root::ScInternalCompilerHlsl, constants: *const root::ScHlslRootConstant, count: usize, ) -> root::ScInternalResult2554 pub fn sc_internal_compiler_hlsl_set_root_constant_layout( 2555 compiler: *const root::ScInternalCompilerHlsl, 2556 constants: *const root::ScHlslRootConstant, 2557 count: usize, 2558 ) -> root::ScInternalResult; 2559 } 2560 #[repr(C)] 2561 #[derive(Debug, Copy, Clone)] 2562 pub struct ScMslConstSamplerMapping { 2563 pub desc_set: u32, 2564 pub binding: u32, 2565 pub sampler: root::spirv_cross::MSLConstexprSampler, 2566 } 2567 extern "C" { sc_internal_compiler_msl_new( compiler: *mut *mut root::ScInternalCompilerMsl, ir: *const u32, size: usize, ) -> root::ScInternalResult2568 pub fn sc_internal_compiler_msl_new( 2569 compiler: *mut *mut root::ScInternalCompilerMsl, 2570 ir: *const u32, 2571 size: usize, 2572 ) -> root::ScInternalResult; 2573 } 2574 extern "C" { sc_internal_compiler_msl_set_options( compiler: *const root::ScInternalCompilerMsl, options: *const root::ScMslCompilerOptions, ) -> root::ScInternalResult2575 pub fn sc_internal_compiler_msl_set_options( 2576 compiler: *const root::ScInternalCompilerMsl, 2577 options: *const root::ScMslCompilerOptions, 2578 ) -> root::ScInternalResult; 2579 } 2580 extern "C" { sc_internal_compiler_msl_get_is_rasterization_disabled( compiler: *const root::ScInternalCompilerMsl, is_rasterization_disabled: *mut bool, ) -> root::ScInternalResult2581 pub fn sc_internal_compiler_msl_get_is_rasterization_disabled( 2582 compiler: *const root::ScInternalCompilerMsl, 2583 is_rasterization_disabled: *mut bool, 2584 ) -> root::ScInternalResult; 2585 } 2586 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::MSLVertexAttr, vat_override_count: usize, p_res_overrides: *const root::spirv_cross::MSLResourceBinding, res_override_count: usize, p_const_samplers: *const root::ScMslConstSamplerMapping, const_sampler_count: usize, ) -> root::ScInternalResult2587 pub fn sc_internal_compiler_msl_compile( 2588 compiler: *const root::ScInternalCompilerBase, 2589 shader: *mut *const ::std::os::raw::c_char, 2590 p_vat_overrides: *const root::spirv_cross::MSLVertexAttr, 2591 vat_override_count: usize, 2592 p_res_overrides: *const root::spirv_cross::MSLResourceBinding, 2593 res_override_count: usize, 2594 p_const_samplers: *const root::ScMslConstSamplerMapping, 2595 const_sampler_count: usize, 2596 ) -> root::ScInternalResult; 2597 } 2598 extern "C" { sc_internal_compiler_glsl_new( compiler: *mut *mut root::ScInternalCompilerGlsl, ir: *const u32, size: usize, ) -> root::ScInternalResult2599 pub fn sc_internal_compiler_glsl_new( 2600 compiler: *mut *mut root::ScInternalCompilerGlsl, 2601 ir: *const u32, 2602 size: usize, 2603 ) -> root::ScInternalResult; 2604 } 2605 extern "C" { sc_internal_compiler_glsl_set_options( compiler: *const root::ScInternalCompilerGlsl, options: *const root::ScGlslCompilerOptions, ) -> root::ScInternalResult2606 pub fn sc_internal_compiler_glsl_set_options( 2607 compiler: *const root::ScInternalCompilerGlsl, 2608 options: *const root::ScGlslCompilerOptions, 2609 ) -> root::ScInternalResult; 2610 } 2611 extern "C" { sc_internal_compiler_glsl_build_combined_image_samplers( compiler: *const root::ScInternalCompilerBase, ) -> root::ScInternalResult2612 pub fn sc_internal_compiler_glsl_build_combined_image_samplers( 2613 compiler: *const root::ScInternalCompilerBase, 2614 ) -> root::ScInternalResult; 2615 } 2616 extern "C" { sc_internal_compiler_glsl_get_combined_image_samplers( compiler: *const root::ScInternalCompilerBase, samplers: *mut *const root::ScCombinedImageSampler, size: *mut usize, ) -> root::ScInternalResult2617 pub fn sc_internal_compiler_glsl_get_combined_image_samplers( 2618 compiler: *const root::ScInternalCompilerBase, 2619 samplers: *mut *const root::ScCombinedImageSampler, 2620 size: *mut usize, 2621 ) -> root::ScInternalResult; 2622 } 2623 extern "C" { sc_internal_compiler_get_decoration( compiler: *const root::ScInternalCompilerBase, result: *mut u32, id: u32, decoration: root::spv::Decoration, ) -> root::ScInternalResult2624 pub fn sc_internal_compiler_get_decoration( 2625 compiler: *const root::ScInternalCompilerBase, 2626 result: *mut u32, 2627 id: u32, 2628 decoration: root::spv::Decoration, 2629 ) -> root::ScInternalResult; 2630 } 2631 extern "C" { sc_internal_compiler_set_decoration( compiler: *const root::ScInternalCompilerBase, id: u32, decoration: root::spv::Decoration, argument: u32, ) -> root::ScInternalResult2632 pub fn sc_internal_compiler_set_decoration( 2633 compiler: *const root::ScInternalCompilerBase, 2634 id: u32, 2635 decoration: root::spv::Decoration, 2636 argument: u32, 2637 ) -> root::ScInternalResult; 2638 } 2639 extern "C" { sc_internal_compiler_unset_decoration( compiler: *const root::ScInternalCompilerBase, id: u32, decoration: root::spv::Decoration, ) -> root::ScInternalResult2640 pub fn sc_internal_compiler_unset_decoration( 2641 compiler: *const root::ScInternalCompilerBase, 2642 id: u32, 2643 decoration: root::spv::Decoration, 2644 ) -> root::ScInternalResult; 2645 } 2646 extern "C" { sc_internal_compiler_get_name( compiler: *const root::ScInternalCompilerBase, id: u32, name: *mut *const ::std::os::raw::c_char, ) -> root::ScInternalResult2647 pub fn sc_internal_compiler_get_name( 2648 compiler: *const root::ScInternalCompilerBase, 2649 id: u32, 2650 name: *mut *const ::std::os::raw::c_char, 2651 ) -> root::ScInternalResult; 2652 } 2653 extern "C" { sc_internal_compiler_set_name( compiler: *const root::ScInternalCompilerBase, id: u32, name: *const ::std::os::raw::c_char, ) -> root::ScInternalResult2654 pub fn sc_internal_compiler_set_name( 2655 compiler: *const root::ScInternalCompilerBase, 2656 id: u32, 2657 name: *const ::std::os::raw::c_char, 2658 ) -> root::ScInternalResult; 2659 } 2660 extern "C" { sc_internal_compiler_get_entry_points( compiler: *const root::ScInternalCompilerBase, entry_points: *mut *mut root::ScEntryPoint, size: *mut usize, ) -> root::ScInternalResult2661 pub fn sc_internal_compiler_get_entry_points( 2662 compiler: *const root::ScInternalCompilerBase, 2663 entry_points: *mut *mut root::ScEntryPoint, 2664 size: *mut usize, 2665 ) -> root::ScInternalResult; 2666 } 2667 extern "C" { sc_internal_compiler_get_active_buffer_ranges( compiler: *const root::ScInternalCompilerBase, id: u32, active_buffer_ranges: *mut *mut root::ScBufferRange, size: *mut usize, ) -> root::ScInternalResult2668 pub fn sc_internal_compiler_get_active_buffer_ranges( 2669 compiler: *const root::ScInternalCompilerBase, 2670 id: u32, 2671 active_buffer_ranges: *mut *mut root::ScBufferRange, 2672 size: *mut usize, 2673 ) -> root::ScInternalResult; 2674 } 2675 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::ScInternalResult2676 pub fn sc_internal_compiler_get_cleansed_entry_point_name( 2677 compiler: *const root::ScInternalCompilerBase, 2678 original_entry_point_name: *const ::std::os::raw::c_char, 2679 execution_model: root::spv::ExecutionModel, 2680 compiled_entry_point_name: *mut *const ::std::os::raw::c_char, 2681 ) -> root::ScInternalResult; 2682 } 2683 extern "C" { sc_internal_compiler_get_shader_resources( compiler: *const root::ScInternalCompilerBase, shader_resources: *mut root::ScShaderResources, ) -> root::ScInternalResult2684 pub fn sc_internal_compiler_get_shader_resources( 2685 compiler: *const root::ScInternalCompilerBase, 2686 shader_resources: *mut root::ScShaderResources, 2687 ) -> root::ScInternalResult; 2688 } 2689 extern "C" { sc_internal_compiler_get_specialization_constants( compiler: *const root::ScInternalCompilerBase, constants: *mut *mut root::ScSpecializationConstant, size: *mut usize, ) -> root::ScInternalResult2690 pub fn sc_internal_compiler_get_specialization_constants( 2691 compiler: *const root::ScInternalCompilerBase, 2692 constants: *mut *mut root::ScSpecializationConstant, 2693 size: *mut usize, 2694 ) -> root::ScInternalResult; 2695 } 2696 extern "C" { sc_internal_compiler_set_scalar_constant( compiler: *const root::ScInternalCompilerBase, id: u32, constant_high_bits: u32, constant_low_bits: u32, ) -> root::ScInternalResult2697 pub fn sc_internal_compiler_set_scalar_constant( 2698 compiler: *const root::ScInternalCompilerBase, 2699 id: u32, 2700 constant_high_bits: u32, 2701 constant_low_bits: u32, 2702 ) -> root::ScInternalResult; 2703 } 2704 extern "C" { sc_internal_compiler_get_type( compiler: *const root::ScInternalCompilerBase, id: u32, spirv_type: *mut *const root::ScType, ) -> root::ScInternalResult2705 pub fn sc_internal_compiler_get_type( 2706 compiler: *const root::ScInternalCompilerBase, 2707 id: u32, 2708 spirv_type: *mut *const root::ScType, 2709 ) -> root::ScInternalResult; 2710 } 2711 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::ScInternalResult2712 pub fn sc_internal_compiler_get_member_name( 2713 compiler: *const root::ScInternalCompilerBase, 2714 id: u32, 2715 index: u32, 2716 name: *mut *const ::std::os::raw::c_char, 2717 ) -> root::ScInternalResult; 2718 } 2719 extern "C" { sc_internal_compiler_get_member_decoration( compiler: *const root::ScInternalCompilerBase, id: u32, index: u32, decoration: root::spv::Decoration, result: *mut u32, ) -> root::ScInternalResult2720 pub fn sc_internal_compiler_get_member_decoration( 2721 compiler: *const root::ScInternalCompilerBase, 2722 id: u32, 2723 index: u32, 2724 decoration: root::spv::Decoration, 2725 result: *mut u32, 2726 ) -> root::ScInternalResult; 2727 } 2728 extern "C" { sc_internal_compiler_set_member_decoration( compiler: *const root::ScInternalCompilerBase, id: u32, index: u32, decoration: root::spv::Decoration, argument: u32, ) -> root::ScInternalResult2729 pub fn sc_internal_compiler_set_member_decoration( 2730 compiler: *const root::ScInternalCompilerBase, 2731 id: u32, 2732 index: u32, 2733 decoration: root::spv::Decoration, 2734 argument: u32, 2735 ) -> root::ScInternalResult; 2736 } 2737 extern "C" { sc_internal_compiler_get_declared_struct_size( compiler: *const root::ScInternalCompilerBase, id: u32, result: *mut u32, ) -> root::ScInternalResult2738 pub fn sc_internal_compiler_get_declared_struct_size( 2739 compiler: *const root::ScInternalCompilerBase, 2740 id: u32, 2741 result: *mut u32, 2742 ) -> root::ScInternalResult; 2743 } 2744 extern "C" { sc_internal_compiler_get_declared_struct_member_size( compiler: *const root::ScInternalCompilerBase, id: u32, index: u32, result: *mut u32, ) -> root::ScInternalResult2745 pub fn sc_internal_compiler_get_declared_struct_member_size( 2746 compiler: *const root::ScInternalCompilerBase, 2747 id: u32, 2748 index: u32, 2749 result: *mut u32, 2750 ) -> root::ScInternalResult; 2751 } 2752 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::ScInternalResult2753 pub fn sc_internal_compiler_rename_interface_variable( 2754 compiler: *const root::ScInternalCompilerBase, 2755 resources: *const root::ScResource, 2756 resources_size: usize, 2757 location: u32, 2758 name: *const ::std::os::raw::c_char, 2759 ) -> root::ScInternalResult; 2760 } 2761 extern "C" { sc_internal_compiler_get_work_group_size_specialization_constants( compiler: *const root::ScInternalCompilerBase, constants: *mut *mut root::ScSpecializationConstant, ) -> root::ScInternalResult2762 pub fn sc_internal_compiler_get_work_group_size_specialization_constants( 2763 compiler: *const root::ScInternalCompilerBase, 2764 constants: *mut *mut root::ScSpecializationConstant, 2765 ) -> root::ScInternalResult; 2766 } 2767 extern "C" { sc_internal_compiler_compile( compiler: *const root::ScInternalCompilerBase, shader: *mut *const ::std::os::raw::c_char, ) -> root::ScInternalResult2768 pub fn sc_internal_compiler_compile( 2769 compiler: *const root::ScInternalCompilerBase, 2770 shader: *mut *const ::std::os::raw::c_char, 2771 ) -> root::ScInternalResult; 2772 } 2773 extern "C" { sc_internal_compiler_delete( compiler: *mut root::ScInternalCompilerBase, ) -> root::ScInternalResult2774 pub fn sc_internal_compiler_delete( 2775 compiler: *mut root::ScInternalCompilerBase, 2776 ) -> root::ScInternalResult; 2777 } 2778 extern "C" { sc_internal_free_pointer( pointer: *mut ::std::os::raw::c_void, ) -> root::ScInternalResult2779 pub fn sc_internal_free_pointer( 2780 pointer: *mut ::std::os::raw::c_void, 2781 ) -> root::ScInternalResult; 2782 } 2783 } 2784