| // This file is auto-generated by vulkano autogen from SPIR-V grammar version 1.6.1. |
| // It should not be edited manually. Changes should be made by editing autogen. |
| |
| #[derive(Clone, Debug, PartialEq, Eq)] |
| #[doc = "A parsed SPIR-V instruction."] |
| pub enum Instruction { |
| Nop, |
| Undef { |
| result_type_id: Id, |
| result_id: Id, |
| }, |
| SourceContinued { |
| continued_source: String, |
| }, |
| Source { |
| source_language: SourceLanguage, |
| version: u32, |
| file: Option<Id>, |
| source: Option<String>, |
| }, |
| SourceExtension { |
| extension: String, |
| }, |
| Name { |
| target: Id, |
| name: String, |
| }, |
| MemberName { |
| ty: Id, |
| member: u32, |
| name: String, |
| }, |
| String { |
| result_id: Id, |
| string: String, |
| }, |
| Line { |
| file: Id, |
| line: u32, |
| column: u32, |
| }, |
| Extension { |
| name: String, |
| }, |
| ExtInstImport { |
| result_id: Id, |
| name: String, |
| }, |
| ExtInst { |
| result_type_id: Id, |
| result_id: Id, |
| set: Id, |
| instruction: u32, |
| operands: Vec<Id>, |
| }, |
| MemoryModel { |
| addressing_model: AddressingModel, |
| memory_model: MemoryModel, |
| }, |
| EntryPoint { |
| execution_model: ExecutionModel, |
| entry_point: Id, |
| name: String, |
| interface: Vec<Id>, |
| }, |
| ExecutionMode { |
| entry_point: Id, |
| mode: ExecutionMode, |
| }, |
| Capability { |
| capability: Capability, |
| }, |
| TypeVoid { |
| result_id: Id, |
| }, |
| TypeBool { |
| result_id: Id, |
| }, |
| TypeInt { |
| result_id: Id, |
| width: u32, |
| signedness: u32, |
| }, |
| TypeFloat { |
| result_id: Id, |
| width: u32, |
| }, |
| TypeVector { |
| result_id: Id, |
| component_type: Id, |
| component_count: u32, |
| }, |
| TypeMatrix { |
| result_id: Id, |
| column_type: Id, |
| column_count: u32, |
| }, |
| TypeImage { |
| result_id: Id, |
| sampled_type: Id, |
| dim: Dim, |
| depth: u32, |
| arrayed: u32, |
| ms: u32, |
| sampled: u32, |
| image_format: ImageFormat, |
| access_qualifier: Option<AccessQualifier>, |
| }, |
| TypeSampler { |
| result_id: Id, |
| }, |
| TypeSampledImage { |
| result_id: Id, |
| image_type: Id, |
| }, |
| TypeArray { |
| result_id: Id, |
| element_type: Id, |
| length: Id, |
| }, |
| TypeRuntimeArray { |
| result_id: Id, |
| element_type: Id, |
| }, |
| TypeStruct { |
| result_id: Id, |
| member_types: Vec<Id>, |
| }, |
| TypeOpaque { |
| result_id: Id, |
| name: String, |
| }, |
| TypePointer { |
| result_id: Id, |
| storage_class: StorageClass, |
| ty: Id, |
| }, |
| TypeFunction { |
| result_id: Id, |
| return_type: Id, |
| parameter_types: Vec<Id>, |
| }, |
| TypeEvent { |
| result_id: Id, |
| }, |
| TypeDeviceEvent { |
| result_id: Id, |
| }, |
| TypeReserveId { |
| result_id: Id, |
| }, |
| TypeQueue { |
| result_id: Id, |
| }, |
| TypePipe { |
| result_id: Id, |
| qualifier: AccessQualifier, |
| }, |
| TypeForwardPointer { |
| pointer_type: Id, |
| storage_class: StorageClass, |
| }, |
| ConstantTrue { |
| result_type_id: Id, |
| result_id: Id, |
| }, |
| ConstantFalse { |
| result_type_id: Id, |
| result_id: Id, |
| }, |
| Constant { |
| result_type_id: Id, |
| result_id: Id, |
| value: Vec<u32>, |
| }, |
| ConstantComposite { |
| result_type_id: Id, |
| result_id: Id, |
| constituents: Vec<Id>, |
| }, |
| ConstantSampler { |
| result_type_id: Id, |
| result_id: Id, |
| sampler_addressing_mode: SamplerAddressingMode, |
| param: u32, |
| sampler_filter_mode: SamplerFilterMode, |
| }, |
| ConstantNull { |
| result_type_id: Id, |
| result_id: Id, |
| }, |
| SpecConstantTrue { |
| result_type_id: Id, |
| result_id: Id, |
| }, |
| SpecConstantFalse { |
| result_type_id: Id, |
| result_id: Id, |
| }, |
| SpecConstant { |
| result_type_id: Id, |
| result_id: Id, |
| value: Vec<u32>, |
| }, |
| SpecConstantComposite { |
| result_type_id: Id, |
| result_id: Id, |
| constituents: Vec<Id>, |
| }, |
| SpecConstantOp { |
| result_type_id: Id, |
| result_id: Id, |
| opcode: SpecConstantInstruction, |
| }, |
| Function { |
| result_type_id: Id, |
| result_id: Id, |
| function_control: FunctionControl, |
| function_type: Id, |
| }, |
| FunctionParameter { |
| result_type_id: Id, |
| result_id: Id, |
| }, |
| FunctionEnd, |
| FunctionCall { |
| result_type_id: Id, |
| result_id: Id, |
| function: Id, |
| arguments: Vec<Id>, |
| }, |
| Variable { |
| result_type_id: Id, |
| result_id: Id, |
| storage_class: StorageClass, |
| initializer: Option<Id>, |
| }, |
| ImageTexelPointer { |
| result_type_id: Id, |
| result_id: Id, |
| image: Id, |
| coordinate: Id, |
| sample: Id, |
| }, |
| Load { |
| result_type_id: Id, |
| result_id: Id, |
| pointer: Id, |
| memory_access: Option<MemoryAccess>, |
| }, |
| Store { |
| pointer: Id, |
| object: Id, |
| memory_access: Option<MemoryAccess>, |
| }, |
| CopyMemory { |
| target: Id, |
| source: Id, |
| memory_access1: Option<MemoryAccess>, |
| memory_access2: Option<MemoryAccess>, |
| }, |
| CopyMemorySized { |
| target: Id, |
| source: Id, |
| size: Id, |
| memory_access1: Option<MemoryAccess>, |
| memory_access2: Option<MemoryAccess>, |
| }, |
| AccessChain { |
| result_type_id: Id, |
| result_id: Id, |
| base: Id, |
| indexes: Vec<Id>, |
| }, |
| InBoundsAccessChain { |
| result_type_id: Id, |
| result_id: Id, |
| base: Id, |
| indexes: Vec<Id>, |
| }, |
| PtrAccessChain { |
| result_type_id: Id, |
| result_id: Id, |
| base: Id, |
| element: Id, |
| indexes: Vec<Id>, |
| }, |
| ArrayLength { |
| result_type_id: Id, |
| result_id: Id, |
| structure: Id, |
| array_member: u32, |
| }, |
| GenericPtrMemSemantics { |
| result_type_id: Id, |
| result_id: Id, |
| pointer: Id, |
| }, |
| InBoundsPtrAccessChain { |
| result_type_id: Id, |
| result_id: Id, |
| base: Id, |
| element: Id, |
| indexes: Vec<Id>, |
| }, |
| Decorate { |
| target: Id, |
| decoration: Decoration, |
| }, |
| MemberDecorate { |
| structure_type: Id, |
| member: u32, |
| decoration: Decoration, |
| }, |
| DecorationGroup { |
| result_id: Id, |
| }, |
| GroupDecorate { |
| decoration_group: Id, |
| targets: Vec<Id>, |
| }, |
| GroupMemberDecorate { |
| decoration_group: Id, |
| targets: Vec<(Id, u32)>, |
| }, |
| VectorExtractDynamic { |
| result_type_id: Id, |
| result_id: Id, |
| vector: Id, |
| index: Id, |
| }, |
| VectorInsertDynamic { |
| result_type_id: Id, |
| result_id: Id, |
| vector: Id, |
| component: Id, |
| index: Id, |
| }, |
| VectorShuffle { |
| result_type_id: Id, |
| result_id: Id, |
| vector_1: Id, |
| vector_2: Id, |
| components: Vec<u32>, |
| }, |
| CompositeConstruct { |
| result_type_id: Id, |
| result_id: Id, |
| constituents: Vec<Id>, |
| }, |
| CompositeExtract { |
| result_type_id: Id, |
| result_id: Id, |
| composite: Id, |
| indexes: Vec<u32>, |
| }, |
| CompositeInsert { |
| result_type_id: Id, |
| result_id: Id, |
| object: Id, |
| composite: Id, |
| indexes: Vec<u32>, |
| }, |
| CopyObject { |
| result_type_id: Id, |
| result_id: Id, |
| operand: Id, |
| }, |
| Transpose { |
| result_type_id: Id, |
| result_id: Id, |
| matrix: Id, |
| }, |
| SampledImage { |
| result_type_id: Id, |
| result_id: Id, |
| image: Id, |
| sampler: Id, |
| }, |
| ImageSampleImplicitLod { |
| result_type_id: Id, |
| result_id: Id, |
| sampled_image: Id, |
| coordinate: Id, |
| image_operands: Option<ImageOperands>, |
| }, |
| ImageSampleExplicitLod { |
| result_type_id: Id, |
| result_id: Id, |
| sampled_image: Id, |
| coordinate: Id, |
| image_operands: ImageOperands, |
| }, |
| ImageSampleDrefImplicitLod { |
| result_type_id: Id, |
| result_id: Id, |
| sampled_image: Id, |
| coordinate: Id, |
| dref: Id, |
| image_operands: Option<ImageOperands>, |
| }, |
| ImageSampleDrefExplicitLod { |
| result_type_id: Id, |
| result_id: Id, |
| sampled_image: Id, |
| coordinate: Id, |
| dref: Id, |
| image_operands: ImageOperands, |
| }, |
| ImageSampleProjImplicitLod { |
| result_type_id: Id, |
| result_id: Id, |
| sampled_image: Id, |
| coordinate: Id, |
| image_operands: Option<ImageOperands>, |
| }, |
| ImageSampleProjExplicitLod { |
| result_type_id: Id, |
| result_id: Id, |
| sampled_image: Id, |
| coordinate: Id, |
| image_operands: ImageOperands, |
| }, |
| ImageSampleProjDrefImplicitLod { |
| result_type_id: Id, |
| result_id: Id, |
| sampled_image: Id, |
| coordinate: Id, |
| dref: Id, |
| image_operands: Option<ImageOperands>, |
| }, |
| ImageSampleProjDrefExplicitLod { |
| result_type_id: Id, |
| result_id: Id, |
| sampled_image: Id, |
| coordinate: Id, |
| dref: Id, |
| image_operands: ImageOperands, |
| }, |
| ImageFetch { |
| result_type_id: Id, |
| result_id: Id, |
| image: Id, |
| coordinate: Id, |
| image_operands: Option<ImageOperands>, |
| }, |
| ImageGather { |
| result_type_id: Id, |
| result_id: Id, |
| sampled_image: Id, |
| coordinate: Id, |
| component: Id, |
| image_operands: Option<ImageOperands>, |
| }, |
| ImageDrefGather { |
| result_type_id: Id, |
| result_id: Id, |
| sampled_image: Id, |
| coordinate: Id, |
| dref: Id, |
| image_operands: Option<ImageOperands>, |
| }, |
| ImageRead { |
| result_type_id: Id, |
| result_id: Id, |
| image: Id, |
| coordinate: Id, |
| image_operands: Option<ImageOperands>, |
| }, |
| ImageWrite { |
| image: Id, |
| coordinate: Id, |
| texel: Id, |
| image_operands: Option<ImageOperands>, |
| }, |
| Image { |
| result_type_id: Id, |
| result_id: Id, |
| sampled_image: Id, |
| }, |
| ImageQueryFormat { |
| result_type_id: Id, |
| result_id: Id, |
| image: Id, |
| }, |
| ImageQueryOrder { |
| result_type_id: Id, |
| result_id: Id, |
| image: Id, |
| }, |
| ImageQuerySizeLod { |
| result_type_id: Id, |
| result_id: Id, |
| image: Id, |
| level_of_detail: Id, |
| }, |
| ImageQuerySize { |
| result_type_id: Id, |
| result_id: Id, |
| image: Id, |
| }, |
| ImageQueryLod { |
| result_type_id: Id, |
| result_id: Id, |
| sampled_image: Id, |
| coordinate: Id, |
| }, |
| ImageQueryLevels { |
| result_type_id: Id, |
| result_id: Id, |
| image: Id, |
| }, |
| ImageQuerySamples { |
| result_type_id: Id, |
| result_id: Id, |
| image: Id, |
| }, |
| ConvertFToU { |
| result_type_id: Id, |
| result_id: Id, |
| float_value: Id, |
| }, |
| ConvertFToS { |
| result_type_id: Id, |
| result_id: Id, |
| float_value: Id, |
| }, |
| ConvertSToF { |
| result_type_id: Id, |
| result_id: Id, |
| signed_value: Id, |
| }, |
| ConvertUToF { |
| result_type_id: Id, |
| result_id: Id, |
| unsigned_value: Id, |
| }, |
| UConvert { |
| result_type_id: Id, |
| result_id: Id, |
| unsigned_value: Id, |
| }, |
| SConvert { |
| result_type_id: Id, |
| result_id: Id, |
| signed_value: Id, |
| }, |
| FConvert { |
| result_type_id: Id, |
| result_id: Id, |
| float_value: Id, |
| }, |
| QuantizeToF16 { |
| result_type_id: Id, |
| result_id: Id, |
| value: Id, |
| }, |
| ConvertPtrToU { |
| result_type_id: Id, |
| result_id: Id, |
| pointer: Id, |
| }, |
| SatConvertSToU { |
| result_type_id: Id, |
| result_id: Id, |
| signed_value: Id, |
| }, |
| SatConvertUToS { |
| result_type_id: Id, |
| result_id: Id, |
| unsigned_value: Id, |
| }, |
| ConvertUToPtr { |
| result_type_id: Id, |
| result_id: Id, |
| integer_value: Id, |
| }, |
| PtrCastToGeneric { |
| result_type_id: Id, |
| result_id: Id, |
| pointer: Id, |
| }, |
| GenericCastToPtr { |
| result_type_id: Id, |
| result_id: Id, |
| pointer: Id, |
| }, |
| GenericCastToPtrExplicit { |
| result_type_id: Id, |
| result_id: Id, |
| pointer: Id, |
| storage: StorageClass, |
| }, |
| Bitcast { |
| result_type_id: Id, |
| result_id: Id, |
| operand: Id, |
| }, |
| SNegate { |
| result_type_id: Id, |
| result_id: Id, |
| operand: Id, |
| }, |
| FNegate { |
| result_type_id: Id, |
| result_id: Id, |
| operand: Id, |
| }, |
| IAdd { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| FAdd { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| ISub { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| FSub { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| IMul { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| FMul { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| UDiv { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| SDiv { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| FDiv { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| UMod { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| SRem { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| SMod { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| FRem { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| FMod { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| VectorTimesScalar { |
| result_type_id: Id, |
| result_id: Id, |
| vector: Id, |
| scalar: Id, |
| }, |
| MatrixTimesScalar { |
| result_type_id: Id, |
| result_id: Id, |
| matrix: Id, |
| scalar: Id, |
| }, |
| VectorTimesMatrix { |
| result_type_id: Id, |
| result_id: Id, |
| vector: Id, |
| matrix: Id, |
| }, |
| MatrixTimesVector { |
| result_type_id: Id, |
| result_id: Id, |
| matrix: Id, |
| vector: Id, |
| }, |
| MatrixTimesMatrix { |
| result_type_id: Id, |
| result_id: Id, |
| left_matrix: Id, |
| right_matrix: Id, |
| }, |
| OuterProduct { |
| result_type_id: Id, |
| result_id: Id, |
| vector_1: Id, |
| vector_2: Id, |
| }, |
| Dot { |
| result_type_id: Id, |
| result_id: Id, |
| vector_1: Id, |
| vector_2: Id, |
| }, |
| IAddCarry { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| ISubBorrow { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| UMulExtended { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| SMulExtended { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| Any { |
| result_type_id: Id, |
| result_id: Id, |
| vector: Id, |
| }, |
| All { |
| result_type_id: Id, |
| result_id: Id, |
| vector: Id, |
| }, |
| IsNan { |
| result_type_id: Id, |
| result_id: Id, |
| x: Id, |
| }, |
| IsInf { |
| result_type_id: Id, |
| result_id: Id, |
| x: Id, |
| }, |
| IsFinite { |
| result_type_id: Id, |
| result_id: Id, |
| x: Id, |
| }, |
| IsNormal { |
| result_type_id: Id, |
| result_id: Id, |
| x: Id, |
| }, |
| SignBitSet { |
| result_type_id: Id, |
| result_id: Id, |
| x: Id, |
| }, |
| LessOrGreater { |
| result_type_id: Id, |
| result_id: Id, |
| x: Id, |
| y: Id, |
| }, |
| Ordered { |
| result_type_id: Id, |
| result_id: Id, |
| x: Id, |
| y: Id, |
| }, |
| Unordered { |
| result_type_id: Id, |
| result_id: Id, |
| x: Id, |
| y: Id, |
| }, |
| LogicalEqual { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| LogicalNotEqual { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| LogicalOr { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| LogicalAnd { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| LogicalNot { |
| result_type_id: Id, |
| result_id: Id, |
| operand: Id, |
| }, |
| Select { |
| result_type_id: Id, |
| result_id: Id, |
| condition: Id, |
| object_1: Id, |
| object_2: Id, |
| }, |
| IEqual { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| INotEqual { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| UGreaterThan { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| SGreaterThan { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| UGreaterThanEqual { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| SGreaterThanEqual { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| ULessThan { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| SLessThan { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| ULessThanEqual { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| SLessThanEqual { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| FOrdEqual { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| FUnordEqual { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| FOrdNotEqual { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| FUnordNotEqual { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| FOrdLessThan { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| FUnordLessThan { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| FOrdGreaterThan { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| FUnordGreaterThan { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| FOrdLessThanEqual { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| FUnordLessThanEqual { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| FOrdGreaterThanEqual { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| FUnordGreaterThanEqual { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| ShiftRightLogical { |
| result_type_id: Id, |
| result_id: Id, |
| base: Id, |
| shift: Id, |
| }, |
| ShiftRightArithmetic { |
| result_type_id: Id, |
| result_id: Id, |
| base: Id, |
| shift: Id, |
| }, |
| ShiftLeftLogical { |
| result_type_id: Id, |
| result_id: Id, |
| base: Id, |
| shift: Id, |
| }, |
| BitwiseOr { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| BitwiseXor { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| BitwiseAnd { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| Not { |
| result_type_id: Id, |
| result_id: Id, |
| operand: Id, |
| }, |
| BitFieldInsert { |
| result_type_id: Id, |
| result_id: Id, |
| base: Id, |
| insert: Id, |
| offset: Id, |
| count: Id, |
| }, |
| BitFieldSExtract { |
| result_type_id: Id, |
| result_id: Id, |
| base: Id, |
| offset: Id, |
| count: Id, |
| }, |
| BitFieldUExtract { |
| result_type_id: Id, |
| result_id: Id, |
| base: Id, |
| offset: Id, |
| count: Id, |
| }, |
| BitReverse { |
| result_type_id: Id, |
| result_id: Id, |
| base: Id, |
| }, |
| BitCount { |
| result_type_id: Id, |
| result_id: Id, |
| base: Id, |
| }, |
| DPdx { |
| result_type_id: Id, |
| result_id: Id, |
| p: Id, |
| }, |
| DPdy { |
| result_type_id: Id, |
| result_id: Id, |
| p: Id, |
| }, |
| Fwidth { |
| result_type_id: Id, |
| result_id: Id, |
| p: Id, |
| }, |
| DPdxFine { |
| result_type_id: Id, |
| result_id: Id, |
| p: Id, |
| }, |
| DPdyFine { |
| result_type_id: Id, |
| result_id: Id, |
| p: Id, |
| }, |
| FwidthFine { |
| result_type_id: Id, |
| result_id: Id, |
| p: Id, |
| }, |
| DPdxCoarse { |
| result_type_id: Id, |
| result_id: Id, |
| p: Id, |
| }, |
| DPdyCoarse { |
| result_type_id: Id, |
| result_id: Id, |
| p: Id, |
| }, |
| FwidthCoarse { |
| result_type_id: Id, |
| result_id: Id, |
| p: Id, |
| }, |
| EmitVertex, |
| EndPrimitive, |
| EmitStreamVertex { |
| stream: Id, |
| }, |
| EndStreamPrimitive { |
| stream: Id, |
| }, |
| ControlBarrier { |
| execution: Id, |
| memory: Id, |
| semantics: Id, |
| }, |
| MemoryBarrier { |
| memory: Id, |
| semantics: Id, |
| }, |
| AtomicLoad { |
| result_type_id: Id, |
| result_id: Id, |
| pointer: Id, |
| memory: Id, |
| semantics: Id, |
| }, |
| AtomicStore { |
| pointer: Id, |
| memory: Id, |
| semantics: Id, |
| value: Id, |
| }, |
| AtomicExchange { |
| result_type_id: Id, |
| result_id: Id, |
| pointer: Id, |
| memory: Id, |
| semantics: Id, |
| value: Id, |
| }, |
| AtomicCompareExchange { |
| result_type_id: Id, |
| result_id: Id, |
| pointer: Id, |
| memory: Id, |
| equal: Id, |
| unequal: Id, |
| value: Id, |
| comparator: Id, |
| }, |
| AtomicCompareExchangeWeak { |
| result_type_id: Id, |
| result_id: Id, |
| pointer: Id, |
| memory: Id, |
| equal: Id, |
| unequal: Id, |
| value: Id, |
| comparator: Id, |
| }, |
| AtomicIIncrement { |
| result_type_id: Id, |
| result_id: Id, |
| pointer: Id, |
| memory: Id, |
| semantics: Id, |
| }, |
| AtomicIDecrement { |
| result_type_id: Id, |
| result_id: Id, |
| pointer: Id, |
| memory: Id, |
| semantics: Id, |
| }, |
| AtomicIAdd { |
| result_type_id: Id, |
| result_id: Id, |
| pointer: Id, |
| memory: Id, |
| semantics: Id, |
| value: Id, |
| }, |
| AtomicISub { |
| result_type_id: Id, |
| result_id: Id, |
| pointer: Id, |
| memory: Id, |
| semantics: Id, |
| value: Id, |
| }, |
| AtomicSMin { |
| result_type_id: Id, |
| result_id: Id, |
| pointer: Id, |
| memory: Id, |
| semantics: Id, |
| value: Id, |
| }, |
| AtomicUMin { |
| result_type_id: Id, |
| result_id: Id, |
| pointer: Id, |
| memory: Id, |
| semantics: Id, |
| value: Id, |
| }, |
| AtomicSMax { |
| result_type_id: Id, |
| result_id: Id, |
| pointer: Id, |
| memory: Id, |
| semantics: Id, |
| value: Id, |
| }, |
| AtomicUMax { |
| result_type_id: Id, |
| result_id: Id, |
| pointer: Id, |
| memory: Id, |
| semantics: Id, |
| value: Id, |
| }, |
| AtomicAnd { |
| result_type_id: Id, |
| result_id: Id, |
| pointer: Id, |
| memory: Id, |
| semantics: Id, |
| value: Id, |
| }, |
| AtomicOr { |
| result_type_id: Id, |
| result_id: Id, |
| pointer: Id, |
| memory: Id, |
| semantics: Id, |
| value: Id, |
| }, |
| AtomicXor { |
| result_type_id: Id, |
| result_id: Id, |
| pointer: Id, |
| memory: Id, |
| semantics: Id, |
| value: Id, |
| }, |
| Phi { |
| result_type_id: Id, |
| result_id: Id, |
| variable_parent: Vec<(Id, Id)>, |
| }, |
| LoopMerge { |
| merge_block: Id, |
| continue_target: Id, |
| loop_control: LoopControl, |
| }, |
| SelectionMerge { |
| merge_block: Id, |
| selection_control: SelectionControl, |
| }, |
| Label { |
| result_id: Id, |
| }, |
| Branch { |
| target_label: Id, |
| }, |
| BranchConditional { |
| condition: Id, |
| true_label: Id, |
| false_label: Id, |
| branch_weights: Vec<u32>, |
| }, |
| Switch { |
| selector: Id, |
| default: Id, |
| target: Vec<(u32, Id)>, |
| }, |
| Kill, |
| Return, |
| ReturnValue { |
| value: Id, |
| }, |
| Unreachable, |
| LifetimeStart { |
| pointer: Id, |
| size: u32, |
| }, |
| LifetimeStop { |
| pointer: Id, |
| size: u32, |
| }, |
| GroupAsyncCopy { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| destination: Id, |
| source: Id, |
| num_elements: Id, |
| stride: Id, |
| event: Id, |
| }, |
| GroupWaitEvents { |
| execution: Id, |
| num_events: Id, |
| events_list: Id, |
| }, |
| GroupAll { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| predicate: Id, |
| }, |
| GroupAny { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| predicate: Id, |
| }, |
| GroupBroadcast { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| value: Id, |
| local_id: Id, |
| }, |
| GroupIAdd { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| operation: GroupOperation, |
| x: Id, |
| }, |
| GroupFAdd { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| operation: GroupOperation, |
| x: Id, |
| }, |
| GroupFMin { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| operation: GroupOperation, |
| x: Id, |
| }, |
| GroupUMin { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| operation: GroupOperation, |
| x: Id, |
| }, |
| GroupSMin { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| operation: GroupOperation, |
| x: Id, |
| }, |
| GroupFMax { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| operation: GroupOperation, |
| x: Id, |
| }, |
| GroupUMax { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| operation: GroupOperation, |
| x: Id, |
| }, |
| GroupSMax { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| operation: GroupOperation, |
| x: Id, |
| }, |
| ReadPipe { |
| result_type_id: Id, |
| result_id: Id, |
| pipe: Id, |
| pointer: Id, |
| packet_size: Id, |
| packet_alignment: Id, |
| }, |
| WritePipe { |
| result_type_id: Id, |
| result_id: Id, |
| pipe: Id, |
| pointer: Id, |
| packet_size: Id, |
| packet_alignment: Id, |
| }, |
| ReservedReadPipe { |
| result_type_id: Id, |
| result_id: Id, |
| pipe: Id, |
| reserve_id: Id, |
| index: Id, |
| pointer: Id, |
| packet_size: Id, |
| packet_alignment: Id, |
| }, |
| ReservedWritePipe { |
| result_type_id: Id, |
| result_id: Id, |
| pipe: Id, |
| reserve_id: Id, |
| index: Id, |
| pointer: Id, |
| packet_size: Id, |
| packet_alignment: Id, |
| }, |
| ReserveReadPipePackets { |
| result_type_id: Id, |
| result_id: Id, |
| pipe: Id, |
| num_packets: Id, |
| packet_size: Id, |
| packet_alignment: Id, |
| }, |
| ReserveWritePipePackets { |
| result_type_id: Id, |
| result_id: Id, |
| pipe: Id, |
| num_packets: Id, |
| packet_size: Id, |
| packet_alignment: Id, |
| }, |
| CommitReadPipe { |
| pipe: Id, |
| reserve_id: Id, |
| packet_size: Id, |
| packet_alignment: Id, |
| }, |
| CommitWritePipe { |
| pipe: Id, |
| reserve_id: Id, |
| packet_size: Id, |
| packet_alignment: Id, |
| }, |
| IsValidReserveId { |
| result_type_id: Id, |
| result_id: Id, |
| reserve_id: Id, |
| }, |
| GetNumPipePackets { |
| result_type_id: Id, |
| result_id: Id, |
| pipe: Id, |
| packet_size: Id, |
| packet_alignment: Id, |
| }, |
| GetMaxPipePackets { |
| result_type_id: Id, |
| result_id: Id, |
| pipe: Id, |
| packet_size: Id, |
| packet_alignment: Id, |
| }, |
| GroupReserveReadPipePackets { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| pipe: Id, |
| num_packets: Id, |
| packet_size: Id, |
| packet_alignment: Id, |
| }, |
| GroupReserveWritePipePackets { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| pipe: Id, |
| num_packets: Id, |
| packet_size: Id, |
| packet_alignment: Id, |
| }, |
| GroupCommitReadPipe { |
| execution: Id, |
| pipe: Id, |
| reserve_id: Id, |
| packet_size: Id, |
| packet_alignment: Id, |
| }, |
| GroupCommitWritePipe { |
| execution: Id, |
| pipe: Id, |
| reserve_id: Id, |
| packet_size: Id, |
| packet_alignment: Id, |
| }, |
| EnqueueMarker { |
| result_type_id: Id, |
| result_id: Id, |
| queue: Id, |
| num_events: Id, |
| wait_events: Id, |
| ret_event: Id, |
| }, |
| EnqueueKernel { |
| result_type_id: Id, |
| result_id: Id, |
| queue: Id, |
| flags: Id, |
| nd_range: Id, |
| num_events: Id, |
| wait_events: Id, |
| ret_event: Id, |
| invoke: Id, |
| param: Id, |
| param_size: Id, |
| param_align: Id, |
| local_size: Vec<Id>, |
| }, |
| GetKernelNDrangeSubGroupCount { |
| result_type_id: Id, |
| result_id: Id, |
| nd_range: Id, |
| invoke: Id, |
| param: Id, |
| param_size: Id, |
| param_align: Id, |
| }, |
| GetKernelNDrangeMaxSubGroupSize { |
| result_type_id: Id, |
| result_id: Id, |
| nd_range: Id, |
| invoke: Id, |
| param: Id, |
| param_size: Id, |
| param_align: Id, |
| }, |
| GetKernelWorkGroupSize { |
| result_type_id: Id, |
| result_id: Id, |
| invoke: Id, |
| param: Id, |
| param_size: Id, |
| param_align: Id, |
| }, |
| GetKernelPreferredWorkGroupSizeMultiple { |
| result_type_id: Id, |
| result_id: Id, |
| invoke: Id, |
| param: Id, |
| param_size: Id, |
| param_align: Id, |
| }, |
| RetainEvent { |
| event: Id, |
| }, |
| ReleaseEvent { |
| event: Id, |
| }, |
| CreateUserEvent { |
| result_type_id: Id, |
| result_id: Id, |
| }, |
| IsValidEvent { |
| result_type_id: Id, |
| result_id: Id, |
| event: Id, |
| }, |
| SetUserEventStatus { |
| event: Id, |
| status: Id, |
| }, |
| CaptureEventProfilingInfo { |
| event: Id, |
| profiling_info: Id, |
| value: Id, |
| }, |
| GetDefaultQueue { |
| result_type_id: Id, |
| result_id: Id, |
| }, |
| BuildNDRange { |
| result_type_id: Id, |
| result_id: Id, |
| global_work_size: Id, |
| local_work_size: Id, |
| global_work_offset: Id, |
| }, |
| ImageSparseSampleImplicitLod { |
| result_type_id: Id, |
| result_id: Id, |
| sampled_image: Id, |
| coordinate: Id, |
| image_operands: Option<ImageOperands>, |
| }, |
| ImageSparseSampleExplicitLod { |
| result_type_id: Id, |
| result_id: Id, |
| sampled_image: Id, |
| coordinate: Id, |
| image_operands: ImageOperands, |
| }, |
| ImageSparseSampleDrefImplicitLod { |
| result_type_id: Id, |
| result_id: Id, |
| sampled_image: Id, |
| coordinate: Id, |
| dref: Id, |
| image_operands: Option<ImageOperands>, |
| }, |
| ImageSparseSampleDrefExplicitLod { |
| result_type_id: Id, |
| result_id: Id, |
| sampled_image: Id, |
| coordinate: Id, |
| dref: Id, |
| image_operands: ImageOperands, |
| }, |
| ImageSparseSampleProjImplicitLod { |
| result_type_id: Id, |
| result_id: Id, |
| sampled_image: Id, |
| coordinate: Id, |
| image_operands: Option<ImageOperands>, |
| }, |
| ImageSparseSampleProjExplicitLod { |
| result_type_id: Id, |
| result_id: Id, |
| sampled_image: Id, |
| coordinate: Id, |
| image_operands: ImageOperands, |
| }, |
| ImageSparseSampleProjDrefImplicitLod { |
| result_type_id: Id, |
| result_id: Id, |
| sampled_image: Id, |
| coordinate: Id, |
| dref: Id, |
| image_operands: Option<ImageOperands>, |
| }, |
| ImageSparseSampleProjDrefExplicitLod { |
| result_type_id: Id, |
| result_id: Id, |
| sampled_image: Id, |
| coordinate: Id, |
| dref: Id, |
| image_operands: ImageOperands, |
| }, |
| ImageSparseFetch { |
| result_type_id: Id, |
| result_id: Id, |
| image: Id, |
| coordinate: Id, |
| image_operands: Option<ImageOperands>, |
| }, |
| ImageSparseGather { |
| result_type_id: Id, |
| result_id: Id, |
| sampled_image: Id, |
| coordinate: Id, |
| component: Id, |
| image_operands: Option<ImageOperands>, |
| }, |
| ImageSparseDrefGather { |
| result_type_id: Id, |
| result_id: Id, |
| sampled_image: Id, |
| coordinate: Id, |
| dref: Id, |
| image_operands: Option<ImageOperands>, |
| }, |
| ImageSparseTexelsResident { |
| result_type_id: Id, |
| result_id: Id, |
| resident_code: Id, |
| }, |
| NoLine, |
| AtomicFlagTestAndSet { |
| result_type_id: Id, |
| result_id: Id, |
| pointer: Id, |
| memory: Id, |
| semantics: Id, |
| }, |
| AtomicFlagClear { |
| pointer: Id, |
| memory: Id, |
| semantics: Id, |
| }, |
| ImageSparseRead { |
| result_type_id: Id, |
| result_id: Id, |
| image: Id, |
| coordinate: Id, |
| image_operands: Option<ImageOperands>, |
| }, |
| SizeOf { |
| result_type_id: Id, |
| result_id: Id, |
| pointer: Id, |
| }, |
| TypePipeStorage { |
| result_id: Id, |
| }, |
| ConstantPipeStorage { |
| result_type_id: Id, |
| result_id: Id, |
| packet_size: u32, |
| packet_alignment: u32, |
| capacity: u32, |
| }, |
| CreatePipeFromPipeStorage { |
| result_type_id: Id, |
| result_id: Id, |
| pipe_storage: Id, |
| }, |
| GetKernelLocalSizeForSubgroupCount { |
| result_type_id: Id, |
| result_id: Id, |
| subgroup_count: Id, |
| invoke: Id, |
| param: Id, |
| param_size: Id, |
| param_align: Id, |
| }, |
| GetKernelMaxNumSubgroups { |
| result_type_id: Id, |
| result_id: Id, |
| invoke: Id, |
| param: Id, |
| param_size: Id, |
| param_align: Id, |
| }, |
| TypeNamedBarrier { |
| result_id: Id, |
| }, |
| NamedBarrierInitialize { |
| result_type_id: Id, |
| result_id: Id, |
| subgroup_count: Id, |
| }, |
| MemoryNamedBarrier { |
| named_barrier: Id, |
| memory: Id, |
| semantics: Id, |
| }, |
| ModuleProcessed { |
| process: String, |
| }, |
| ExecutionModeId { |
| entry_point: Id, |
| mode: ExecutionMode, |
| }, |
| DecorateId { |
| target: Id, |
| decoration: Decoration, |
| }, |
| GroupNonUniformElect { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| }, |
| GroupNonUniformAll { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| predicate: Id, |
| }, |
| GroupNonUniformAny { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| predicate: Id, |
| }, |
| GroupNonUniformAllEqual { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| value: Id, |
| }, |
| GroupNonUniformBroadcast { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| value: Id, |
| id: Id, |
| }, |
| GroupNonUniformBroadcastFirst { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| value: Id, |
| }, |
| GroupNonUniformBallot { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| predicate: Id, |
| }, |
| GroupNonUniformInverseBallot { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| value: Id, |
| }, |
| GroupNonUniformBallotBitExtract { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| value: Id, |
| index: Id, |
| }, |
| GroupNonUniformBallotBitCount { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| operation: GroupOperation, |
| value: Id, |
| }, |
| GroupNonUniformBallotFindLSB { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| value: Id, |
| }, |
| GroupNonUniformBallotFindMSB { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| value: Id, |
| }, |
| GroupNonUniformShuffle { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| value: Id, |
| id: Id, |
| }, |
| GroupNonUniformShuffleXor { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| value: Id, |
| mask: Id, |
| }, |
| GroupNonUniformShuffleUp { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| value: Id, |
| delta: Id, |
| }, |
| GroupNonUniformShuffleDown { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| value: Id, |
| delta: Id, |
| }, |
| GroupNonUniformIAdd { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| operation: GroupOperation, |
| value: Id, |
| cluster_size: Option<Id>, |
| }, |
| GroupNonUniformFAdd { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| operation: GroupOperation, |
| value: Id, |
| cluster_size: Option<Id>, |
| }, |
| GroupNonUniformIMul { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| operation: GroupOperation, |
| value: Id, |
| cluster_size: Option<Id>, |
| }, |
| GroupNonUniformFMul { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| operation: GroupOperation, |
| value: Id, |
| cluster_size: Option<Id>, |
| }, |
| GroupNonUniformSMin { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| operation: GroupOperation, |
| value: Id, |
| cluster_size: Option<Id>, |
| }, |
| GroupNonUniformUMin { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| operation: GroupOperation, |
| value: Id, |
| cluster_size: Option<Id>, |
| }, |
| GroupNonUniformFMin { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| operation: GroupOperation, |
| value: Id, |
| cluster_size: Option<Id>, |
| }, |
| GroupNonUniformSMax { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| operation: GroupOperation, |
| value: Id, |
| cluster_size: Option<Id>, |
| }, |
| GroupNonUniformUMax { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| operation: GroupOperation, |
| value: Id, |
| cluster_size: Option<Id>, |
| }, |
| GroupNonUniformFMax { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| operation: GroupOperation, |
| value: Id, |
| cluster_size: Option<Id>, |
| }, |
| GroupNonUniformBitwiseAnd { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| operation: GroupOperation, |
| value: Id, |
| cluster_size: Option<Id>, |
| }, |
| GroupNonUniformBitwiseOr { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| operation: GroupOperation, |
| value: Id, |
| cluster_size: Option<Id>, |
| }, |
| GroupNonUniformBitwiseXor { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| operation: GroupOperation, |
| value: Id, |
| cluster_size: Option<Id>, |
| }, |
| GroupNonUniformLogicalAnd { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| operation: GroupOperation, |
| value: Id, |
| cluster_size: Option<Id>, |
| }, |
| GroupNonUniformLogicalOr { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| operation: GroupOperation, |
| value: Id, |
| cluster_size: Option<Id>, |
| }, |
| GroupNonUniformLogicalXor { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| operation: GroupOperation, |
| value: Id, |
| cluster_size: Option<Id>, |
| }, |
| GroupNonUniformQuadBroadcast { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| value: Id, |
| index: Id, |
| }, |
| GroupNonUniformQuadSwap { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| value: Id, |
| direction: Id, |
| }, |
| CopyLogical { |
| result_type_id: Id, |
| result_id: Id, |
| operand: Id, |
| }, |
| PtrEqual { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| PtrNotEqual { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| PtrDiff { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| TerminateInvocation, |
| SubgroupBallotKHR { |
| result_type_id: Id, |
| result_id: Id, |
| predicate: Id, |
| }, |
| SubgroupFirstInvocationKHR { |
| result_type_id: Id, |
| result_id: Id, |
| value: Id, |
| }, |
| SubgroupAllKHR { |
| result_type_id: Id, |
| result_id: Id, |
| predicate: Id, |
| }, |
| SubgroupAnyKHR { |
| result_type_id: Id, |
| result_id: Id, |
| predicate: Id, |
| }, |
| SubgroupAllEqualKHR { |
| result_type_id: Id, |
| result_id: Id, |
| predicate: Id, |
| }, |
| SubgroupReadInvocationKHR { |
| result_type_id: Id, |
| result_id: Id, |
| value: Id, |
| index: Id, |
| }, |
| TraceRayKHR { |
| accel: Id, |
| ray_flags: Id, |
| cull_mask: Id, |
| sbt_offset: Id, |
| sbt_stride: Id, |
| miss_index: Id, |
| ray_origin: Id, |
| ray_tmin: Id, |
| ray_direction: Id, |
| ray_tmax: Id, |
| payload: Id, |
| }, |
| ExecuteCallableKHR { |
| sbt_index: Id, |
| callable_data: Id, |
| }, |
| ConvertUToAccelerationStructureKHR { |
| result_type_id: Id, |
| result_id: Id, |
| accel: Id, |
| }, |
| IgnoreIntersectionKHR, |
| TerminateRayKHR, |
| SDot { |
| result_type_id: Id, |
| result_id: Id, |
| vector_1: Id, |
| vector_2: Id, |
| packed_vector_format: Option<PackedVectorFormat>, |
| }, |
| UDot { |
| result_type_id: Id, |
| result_id: Id, |
| vector_1: Id, |
| vector_2: Id, |
| packed_vector_format: Option<PackedVectorFormat>, |
| }, |
| SUDot { |
| result_type_id: Id, |
| result_id: Id, |
| vector_1: Id, |
| vector_2: Id, |
| packed_vector_format: Option<PackedVectorFormat>, |
| }, |
| SDotAccSat { |
| result_type_id: Id, |
| result_id: Id, |
| vector_1: Id, |
| vector_2: Id, |
| accumulator: Id, |
| packed_vector_format: Option<PackedVectorFormat>, |
| }, |
| UDotAccSat { |
| result_type_id: Id, |
| result_id: Id, |
| vector_1: Id, |
| vector_2: Id, |
| accumulator: Id, |
| packed_vector_format: Option<PackedVectorFormat>, |
| }, |
| SUDotAccSat { |
| result_type_id: Id, |
| result_id: Id, |
| vector_1: Id, |
| vector_2: Id, |
| accumulator: Id, |
| packed_vector_format: Option<PackedVectorFormat>, |
| }, |
| TypeRayQueryKHR { |
| result_id: Id, |
| }, |
| RayQueryInitializeKHR { |
| ray_query: Id, |
| accel: Id, |
| ray_flags: Id, |
| cull_mask: Id, |
| ray_origin: Id, |
| ray_t_min: Id, |
| ray_direction: Id, |
| ray_t_max: Id, |
| }, |
| RayQueryTerminateKHR { |
| ray_query: Id, |
| }, |
| RayQueryGenerateIntersectionKHR { |
| ray_query: Id, |
| hit_t: Id, |
| }, |
| RayQueryConfirmIntersectionKHR { |
| ray_query: Id, |
| }, |
| RayQueryProceedKHR { |
| result_type_id: Id, |
| result_id: Id, |
| ray_query: Id, |
| }, |
| RayQueryGetIntersectionTypeKHR { |
| result_type_id: Id, |
| result_id: Id, |
| ray_query: Id, |
| intersection: Id, |
| }, |
| GroupIAddNonUniformAMD { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| operation: GroupOperation, |
| x: Id, |
| }, |
| GroupFAddNonUniformAMD { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| operation: GroupOperation, |
| x: Id, |
| }, |
| GroupFMinNonUniformAMD { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| operation: GroupOperation, |
| x: Id, |
| }, |
| GroupUMinNonUniformAMD { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| operation: GroupOperation, |
| x: Id, |
| }, |
| GroupSMinNonUniformAMD { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| operation: GroupOperation, |
| x: Id, |
| }, |
| GroupFMaxNonUniformAMD { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| operation: GroupOperation, |
| x: Id, |
| }, |
| GroupUMaxNonUniformAMD { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| operation: GroupOperation, |
| x: Id, |
| }, |
| GroupSMaxNonUniformAMD { |
| result_type_id: Id, |
| result_id: Id, |
| execution: Id, |
| operation: GroupOperation, |
| x: Id, |
| }, |
| FragmentMaskFetchAMD { |
| result_type_id: Id, |
| result_id: Id, |
| image: Id, |
| coordinate: Id, |
| }, |
| FragmentFetchAMD { |
| result_type_id: Id, |
| result_id: Id, |
| image: Id, |
| coordinate: Id, |
| fragment_index: Id, |
| }, |
| ReadClockKHR { |
| result_type_id: Id, |
| result_id: Id, |
| scope: Id, |
| }, |
| ImageSampleFootprintNV { |
| result_type_id: Id, |
| result_id: Id, |
| sampled_image: Id, |
| coordinate: Id, |
| granularity: Id, |
| coarse: Id, |
| image_operands: Option<ImageOperands>, |
| }, |
| GroupNonUniformPartitionNV { |
| result_type_id: Id, |
| result_id: Id, |
| value: Id, |
| }, |
| WritePackedPrimitiveIndices4x8NV { |
| index_offset: Id, |
| packed_indices: Id, |
| }, |
| ReportIntersectionKHR { |
| result_type_id: Id, |
| result_id: Id, |
| hit: Id, |
| hit_kind: Id, |
| }, |
| IgnoreIntersectionNV, |
| TerminateRayNV, |
| TraceNV { |
| accel: Id, |
| ray_flags: Id, |
| cull_mask: Id, |
| sbt_offset: Id, |
| sbt_stride: Id, |
| miss_index: Id, |
| ray_origin: Id, |
| ray_tmin: Id, |
| ray_direction: Id, |
| ray_tmax: Id, |
| payload_id: Id, |
| }, |
| TraceMotionNV { |
| accel: Id, |
| ray_flags: Id, |
| cull_mask: Id, |
| sbt_offset: Id, |
| sbt_stride: Id, |
| miss_index: Id, |
| ray_origin: Id, |
| ray_tmin: Id, |
| ray_direction: Id, |
| ray_tmax: Id, |
| time: Id, |
| payload_id: Id, |
| }, |
| TraceRayMotionNV { |
| accel: Id, |
| ray_flags: Id, |
| cull_mask: Id, |
| sbt_offset: Id, |
| sbt_stride: Id, |
| miss_index: Id, |
| ray_origin: Id, |
| ray_tmin: Id, |
| ray_direction: Id, |
| ray_tmax: Id, |
| time: Id, |
| payload: Id, |
| }, |
| TypeAccelerationStructureKHR { |
| result_id: Id, |
| }, |
| ExecuteCallableNV { |
| sbt_index: Id, |
| callable_data_id: Id, |
| }, |
| TypeCooperativeMatrixNV { |
| result_id: Id, |
| component_type: Id, |
| execution: Id, |
| rows: Id, |
| columns: Id, |
| }, |
| CooperativeMatrixLoadNV { |
| result_type_id: Id, |
| result_id: Id, |
| pointer: Id, |
| stride: Id, |
| column_major: Id, |
| memory_access: Option<MemoryAccess>, |
| }, |
| CooperativeMatrixStoreNV { |
| pointer: Id, |
| object: Id, |
| stride: Id, |
| column_major: Id, |
| memory_access: Option<MemoryAccess>, |
| }, |
| CooperativeMatrixMulAddNV { |
| result_type_id: Id, |
| result_id: Id, |
| a: Id, |
| b: Id, |
| c: Id, |
| }, |
| CooperativeMatrixLengthNV { |
| result_type_id: Id, |
| result_id: Id, |
| ty: Id, |
| }, |
| BeginInvocationInterlockEXT, |
| EndInvocationInterlockEXT, |
| DemoteToHelperInvocation, |
| IsHelperInvocationEXT { |
| result_type_id: Id, |
| result_id: Id, |
| }, |
| ConvertUToImageNV { |
| result_type_id: Id, |
| result_id: Id, |
| operand: Id, |
| }, |
| ConvertUToSamplerNV { |
| result_type_id: Id, |
| result_id: Id, |
| operand: Id, |
| }, |
| ConvertImageToUNV { |
| result_type_id: Id, |
| result_id: Id, |
| operand: Id, |
| }, |
| ConvertSamplerToUNV { |
| result_type_id: Id, |
| result_id: Id, |
| operand: Id, |
| }, |
| ConvertUToSampledImageNV { |
| result_type_id: Id, |
| result_id: Id, |
| operand: Id, |
| }, |
| ConvertSampledImageToUNV { |
| result_type_id: Id, |
| result_id: Id, |
| operand: Id, |
| }, |
| SamplerImageAddressingModeNV { |
| bit_width: u32, |
| }, |
| SubgroupShuffleINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| data: Id, |
| invocation_id: Id, |
| }, |
| SubgroupShuffleDownINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| current: Id, |
| next: Id, |
| delta: Id, |
| }, |
| SubgroupShuffleUpINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| previous: Id, |
| current: Id, |
| delta: Id, |
| }, |
| SubgroupShuffleXorINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| data: Id, |
| value: Id, |
| }, |
| SubgroupBlockReadINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| ptr: Id, |
| }, |
| SubgroupBlockWriteINTEL { |
| ptr: Id, |
| data: Id, |
| }, |
| SubgroupImageBlockReadINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| image: Id, |
| coordinate: Id, |
| }, |
| SubgroupImageBlockWriteINTEL { |
| image: Id, |
| coordinate: Id, |
| data: Id, |
| }, |
| SubgroupImageMediaBlockReadINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| image: Id, |
| coordinate: Id, |
| width: Id, |
| height: Id, |
| }, |
| SubgroupImageMediaBlockWriteINTEL { |
| image: Id, |
| coordinate: Id, |
| width: Id, |
| height: Id, |
| data: Id, |
| }, |
| UCountLeadingZerosINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| operand: Id, |
| }, |
| UCountTrailingZerosINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| operand: Id, |
| }, |
| AbsISubINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| AbsUSubINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| IAddSatINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| UAddSatINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| IAverageINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| UAverageINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| IAverageRoundedINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| UAverageRoundedINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| ISubSatINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| USubSatINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| IMul32x16INTEL { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| UMul32x16INTEL { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Id, |
| operand2: Id, |
| }, |
| ConstantFunctionPointerINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| function: Id, |
| }, |
| FunctionPointerCallINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| operand1: Vec<Id>, |
| }, |
| AsmTargetINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| asm_target: String, |
| }, |
| AsmINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| asm_type: Id, |
| target: Id, |
| asm_instructions: String, |
| constraints: String, |
| }, |
| AsmCallINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| asm: Id, |
| argument_0: Vec<Id>, |
| }, |
| AtomicFMinEXT { |
| result_type_id: Id, |
| result_id: Id, |
| pointer: Id, |
| memory: Id, |
| semantics: Id, |
| value: Id, |
| }, |
| AtomicFMaxEXT { |
| result_type_id: Id, |
| result_id: Id, |
| pointer: Id, |
| memory: Id, |
| semantics: Id, |
| value: Id, |
| }, |
| AssumeTrueKHR { |
| condition: Id, |
| }, |
| ExpectKHR { |
| result_type_id: Id, |
| result_id: Id, |
| value: Id, |
| expected_value: Id, |
| }, |
| DecorateString { |
| target: Id, |
| decoration: Decoration, |
| }, |
| MemberDecorateString { |
| struct_type: Id, |
| member: u32, |
| decoration: Decoration, |
| }, |
| VmeImageINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| image_type: Id, |
| sampler: Id, |
| }, |
| TypeVmeImageINTEL { |
| result_id: Id, |
| image_type: Id, |
| }, |
| TypeAvcImePayloadINTEL { |
| result_id: Id, |
| }, |
| TypeAvcRefPayloadINTEL { |
| result_id: Id, |
| }, |
| TypeAvcSicPayloadINTEL { |
| result_id: Id, |
| }, |
| TypeAvcMcePayloadINTEL { |
| result_id: Id, |
| }, |
| TypeAvcMceResultINTEL { |
| result_id: Id, |
| }, |
| TypeAvcImeResultINTEL { |
| result_id: Id, |
| }, |
| TypeAvcImeResultSingleReferenceStreamoutINTEL { |
| result_id: Id, |
| }, |
| TypeAvcImeResultDualReferenceStreamoutINTEL { |
| result_id: Id, |
| }, |
| TypeAvcImeSingleReferenceStreaminINTEL { |
| result_id: Id, |
| }, |
| TypeAvcImeDualReferenceStreaminINTEL { |
| result_id: Id, |
| }, |
| TypeAvcRefResultINTEL { |
| result_id: Id, |
| }, |
| TypeAvcSicResultINTEL { |
| result_id: Id, |
| }, |
| SubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| slice_type: Id, |
| qp: Id, |
| }, |
| SubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| reference_base_penalty: Id, |
| payload: Id, |
| }, |
| SubgroupAvcMceGetDefaultInterShapePenaltyINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| slice_type: Id, |
| qp: Id, |
| }, |
| SubgroupAvcMceSetInterShapePenaltyINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| packed_shape_penalty: Id, |
| payload: Id, |
| }, |
| SubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| slice_type: Id, |
| qp: Id, |
| }, |
| SubgroupAvcMceSetInterDirectionPenaltyINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| direction_cost: Id, |
| payload: Id, |
| }, |
| SubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| slice_type: Id, |
| qp: Id, |
| }, |
| SubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| slice_type: Id, |
| qp: Id, |
| }, |
| SubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| }, |
| SubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| }, |
| SubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| }, |
| SubgroupAvcMceSetMotionVectorCostFunctionINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| packed_cost_center_delta: Id, |
| packed_cost_table: Id, |
| cost_precision: Id, |
| payload: Id, |
| }, |
| SubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| slice_type: Id, |
| qp: Id, |
| }, |
| SubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| }, |
| SubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| }, |
| SubgroupAvcMceSetAcOnlyHaarINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| payload: Id, |
| }, |
| SubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| source_field_polarity: Id, |
| payload: Id, |
| }, |
| SubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| reference_field_polarity: Id, |
| payload: Id, |
| }, |
| SubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| forward_reference_field_polarity: Id, |
| backward_reference_field_polarity: Id, |
| payload: Id, |
| }, |
| SubgroupAvcMceConvertToImePayloadINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| payload: Id, |
| }, |
| SubgroupAvcMceConvertToImeResultINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| payload: Id, |
| }, |
| SubgroupAvcMceConvertToRefPayloadINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| payload: Id, |
| }, |
| SubgroupAvcMceConvertToRefResultINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| payload: Id, |
| }, |
| SubgroupAvcMceConvertToSicPayloadINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| payload: Id, |
| }, |
| SubgroupAvcMceConvertToSicResultINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| payload: Id, |
| }, |
| SubgroupAvcMceGetMotionVectorsINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| payload: Id, |
| }, |
| SubgroupAvcMceGetInterDistortionsINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| payload: Id, |
| }, |
| SubgroupAvcMceGetBestInterDistortionsINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| payload: Id, |
| }, |
| SubgroupAvcMceGetInterMajorShapeINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| payload: Id, |
| }, |
| SubgroupAvcMceGetInterMinorShapeINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| payload: Id, |
| }, |
| SubgroupAvcMceGetInterDirectionsINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| payload: Id, |
| }, |
| SubgroupAvcMceGetInterMotionVectorCountINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| payload: Id, |
| }, |
| SubgroupAvcMceGetInterReferenceIdsINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| payload: Id, |
| }, |
| SubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| packed_reference_ids: Id, |
| packed_reference_parameter_field_polarities: Id, |
| payload: Id, |
| }, |
| SubgroupAvcImeInitializeINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| src_coord: Id, |
| partition_mask: Id, |
| sad_adjustment: Id, |
| }, |
| SubgroupAvcImeSetSingleReferenceINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| ref_offset: Id, |
| search_window_config: Id, |
| payload: Id, |
| }, |
| SubgroupAvcImeSetDualReferenceINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| fwd_ref_offset: Id, |
| bwd_ref_offset: Id, |
| id_search_window_config: Id, |
| payload: Id, |
| }, |
| SubgroupAvcImeRefWindowSizeINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| search_window_config: Id, |
| dual_ref: Id, |
| }, |
| SubgroupAvcImeAdjustRefOffsetINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| ref_offset: Id, |
| src_coord: Id, |
| ref_window_size: Id, |
| image_size: Id, |
| }, |
| SubgroupAvcImeConvertToMcePayloadINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| payload: Id, |
| }, |
| SubgroupAvcImeSetMaxMotionVectorCountINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| max_motion_vector_count: Id, |
| payload: Id, |
| }, |
| SubgroupAvcImeSetUnidirectionalMixDisableINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| payload: Id, |
| }, |
| SubgroupAvcImeSetEarlySearchTerminationThresholdINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| threshold: Id, |
| payload: Id, |
| }, |
| SubgroupAvcImeSetWeightedSadINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| packed_sad_weights: Id, |
| payload: Id, |
| }, |
| SubgroupAvcImeEvaluateWithSingleReferenceINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| src_image: Id, |
| ref_image: Id, |
| payload: Id, |
| }, |
| SubgroupAvcImeEvaluateWithDualReferenceINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| src_image: Id, |
| fwd_ref_image: Id, |
| bwd_ref_image: Id, |
| payload: Id, |
| }, |
| SubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| src_image: Id, |
| ref_image: Id, |
| payload: Id, |
| streamin_components: Id, |
| }, |
| SubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| src_image: Id, |
| fwd_ref_image: Id, |
| bwd_ref_image: Id, |
| payload: Id, |
| streamin_components: Id, |
| }, |
| SubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| src_image: Id, |
| ref_image: Id, |
| payload: Id, |
| }, |
| SubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| src_image: Id, |
| fwd_ref_image: Id, |
| bwd_ref_image: Id, |
| payload: Id, |
| }, |
| SubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| src_image: Id, |
| ref_image: Id, |
| payload: Id, |
| streamin_components: Id, |
| }, |
| SubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| src_image: Id, |
| fwd_ref_image: Id, |
| bwd_ref_image: Id, |
| payload: Id, |
| streamin_components: Id, |
| }, |
| SubgroupAvcImeConvertToMceResultINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| payload: Id, |
| }, |
| SubgroupAvcImeGetSingleReferenceStreaminINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| payload: Id, |
| }, |
| SubgroupAvcImeGetDualReferenceStreaminINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| payload: Id, |
| }, |
| SubgroupAvcImeStripSingleReferenceStreamoutINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| payload: Id, |
| }, |
| SubgroupAvcImeStripDualReferenceStreamoutINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| payload: Id, |
| }, |
| SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| payload: Id, |
| major_shape: Id, |
| }, |
| SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| payload: Id, |
| major_shape: Id, |
| }, |
| SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| payload: Id, |
| major_shape: Id, |
| }, |
| SubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| payload: Id, |
| major_shape: Id, |
| direction: Id, |
| }, |
| SubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| payload: Id, |
| major_shape: Id, |
| direction: Id, |
| }, |
| SubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| payload: Id, |
| major_shape: Id, |
| direction: Id, |
| }, |
| SubgroupAvcImeGetBorderReachedINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| image_select: Id, |
| payload: Id, |
| }, |
| SubgroupAvcImeGetTruncatedSearchIndicationINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| payload: Id, |
| }, |
| SubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| payload: Id, |
| }, |
| SubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| payload: Id, |
| }, |
| SubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| payload: Id, |
| }, |
| SubgroupAvcFmeInitializeINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| src_coord: Id, |
| motion_vectors: Id, |
| major_shapes: Id, |
| minor_shapes: Id, |
| direction: Id, |
| pixel_resolution: Id, |
| sad_adjustment: Id, |
| }, |
| SubgroupAvcBmeInitializeINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| src_coord: Id, |
| motion_vectors: Id, |
| major_shapes: Id, |
| minor_shapes: Id, |
| direction: Id, |
| pixel_resolution: Id, |
| bidirectional_weight: Id, |
| sad_adjustment: Id, |
| }, |
| SubgroupAvcRefConvertToMcePayloadINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| payload: Id, |
| }, |
| SubgroupAvcRefSetBidirectionalMixDisableINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| payload: Id, |
| }, |
| SubgroupAvcRefSetBilinearFilterEnableINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| payload: Id, |
| }, |
| SubgroupAvcRefEvaluateWithSingleReferenceINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| src_image: Id, |
| ref_image: Id, |
| payload: Id, |
| }, |
| SubgroupAvcRefEvaluateWithDualReferenceINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| src_image: Id, |
| fwd_ref_image: Id, |
| bwd_ref_image: Id, |
| payload: Id, |
| }, |
| SubgroupAvcRefEvaluateWithMultiReferenceINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| src_image: Id, |
| packed_reference_ids: Id, |
| payload: Id, |
| }, |
| SubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| src_image: Id, |
| packed_reference_ids: Id, |
| packed_reference_field_polarities: Id, |
| payload: Id, |
| }, |
| SubgroupAvcRefConvertToMceResultINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| payload: Id, |
| }, |
| SubgroupAvcSicInitializeINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| src_coord: Id, |
| }, |
| SubgroupAvcSicConfigureSkcINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| skip_block_partition_type: Id, |
| skip_motion_vector_mask: Id, |
| motion_vectors: Id, |
| bidirectional_weight: Id, |
| sad_adjustment: Id, |
| payload: Id, |
| }, |
| SubgroupAvcSicConfigureIpeLumaINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| luma_intra_partition_mask: Id, |
| intra_neighbour_availabilty: Id, |
| left_edge_luma_pixels: Id, |
| upper_left_corner_luma_pixel: Id, |
| upper_edge_luma_pixels: Id, |
| upper_right_edge_luma_pixels: Id, |
| sad_adjustment: Id, |
| payload: Id, |
| }, |
| SubgroupAvcSicConfigureIpeLumaChromaINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| luma_intra_partition_mask: Id, |
| intra_neighbour_availabilty: Id, |
| left_edge_luma_pixels: Id, |
| upper_left_corner_luma_pixel: Id, |
| upper_edge_luma_pixels: Id, |
| upper_right_edge_luma_pixels: Id, |
| left_edge_chroma_pixels: Id, |
| upper_left_corner_chroma_pixel: Id, |
| upper_edge_chroma_pixels: Id, |
| sad_adjustment: Id, |
| payload: Id, |
| }, |
| SubgroupAvcSicGetMotionVectorMaskINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| skip_block_partition_type: Id, |
| direction: Id, |
| }, |
| SubgroupAvcSicConvertToMcePayloadINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| payload: Id, |
| }, |
| SubgroupAvcSicSetIntraLumaShapePenaltyINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| packed_shape_penalty: Id, |
| payload: Id, |
| }, |
| SubgroupAvcSicSetIntraLumaModeCostFunctionINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| luma_mode_penalty: Id, |
| luma_packed_neighbor_modes: Id, |
| luma_packed_non_dc_penalty: Id, |
| payload: Id, |
| }, |
| SubgroupAvcSicSetIntraChromaModeCostFunctionINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| chroma_mode_base_penalty: Id, |
| payload: Id, |
| }, |
| SubgroupAvcSicSetBilinearFilterEnableINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| payload: Id, |
| }, |
| SubgroupAvcSicSetSkcForwardTransformEnableINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| packed_sad_coefficients: Id, |
| payload: Id, |
| }, |
| SubgroupAvcSicSetBlockBasedRawSkipSadINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| block_based_skip_type: Id, |
| payload: Id, |
| }, |
| SubgroupAvcSicEvaluateIpeINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| src_image: Id, |
| payload: Id, |
| }, |
| SubgroupAvcSicEvaluateWithSingleReferenceINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| src_image: Id, |
| ref_image: Id, |
| payload: Id, |
| }, |
| SubgroupAvcSicEvaluateWithDualReferenceINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| src_image: Id, |
| fwd_ref_image: Id, |
| bwd_ref_image: Id, |
| payload: Id, |
| }, |
| SubgroupAvcSicEvaluateWithMultiReferenceINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| src_image: Id, |
| packed_reference_ids: Id, |
| payload: Id, |
| }, |
| SubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| src_image: Id, |
| packed_reference_ids: Id, |
| packed_reference_field_polarities: Id, |
| payload: Id, |
| }, |
| SubgroupAvcSicConvertToMceResultINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| payload: Id, |
| }, |
| SubgroupAvcSicGetIpeLumaShapeINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| payload: Id, |
| }, |
| SubgroupAvcSicGetBestIpeLumaDistortionINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| payload: Id, |
| }, |
| SubgroupAvcSicGetBestIpeChromaDistortionINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| payload: Id, |
| }, |
| SubgroupAvcSicGetPackedIpeLumaModesINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| payload: Id, |
| }, |
| SubgroupAvcSicGetIpeChromaModeINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| payload: Id, |
| }, |
| SubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| payload: Id, |
| }, |
| SubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| payload: Id, |
| }, |
| SubgroupAvcSicGetInterRawSadsINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| payload: Id, |
| }, |
| VariableLengthArrayINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| lenght: Id, |
| }, |
| SaveMemoryINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| }, |
| RestoreMemoryINTEL { |
| ptr: Id, |
| }, |
| ArbitraryFloatSinCosPiINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| a: Id, |
| m1: u32, |
| mout: u32, |
| from_sign: u32, |
| enable_subnormals: u32, |
| rounding_mode: u32, |
| rounding_accuracy: u32, |
| }, |
| ArbitraryFloatCastINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| a: Id, |
| m1: u32, |
| mout: u32, |
| enable_subnormals: u32, |
| rounding_mode: u32, |
| rounding_accuracy: u32, |
| }, |
| ArbitraryFloatCastFromIntINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| a: Id, |
| mout: u32, |
| from_sign: u32, |
| enable_subnormals: u32, |
| rounding_mode: u32, |
| rounding_accuracy: u32, |
| }, |
| ArbitraryFloatCastToIntINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| a: Id, |
| m1: u32, |
| enable_subnormals: u32, |
| rounding_mode: u32, |
| rounding_accuracy: u32, |
| }, |
| ArbitraryFloatAddINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| a: Id, |
| m1: u32, |
| b: Id, |
| m2: u32, |
| mout: u32, |
| enable_subnormals: u32, |
| rounding_mode: u32, |
| rounding_accuracy: u32, |
| }, |
| ArbitraryFloatSubINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| a: Id, |
| m1: u32, |
| b: Id, |
| m2: u32, |
| mout: u32, |
| enable_subnormals: u32, |
| rounding_mode: u32, |
| rounding_accuracy: u32, |
| }, |
| ArbitraryFloatMulINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| a: Id, |
| m1: u32, |
| b: Id, |
| m2: u32, |
| mout: u32, |
| enable_subnormals: u32, |
| rounding_mode: u32, |
| rounding_accuracy: u32, |
| }, |
| ArbitraryFloatDivINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| a: Id, |
| m1: u32, |
| b: Id, |
| m2: u32, |
| mout: u32, |
| enable_subnormals: u32, |
| rounding_mode: u32, |
| rounding_accuracy: u32, |
| }, |
| ArbitraryFloatGTINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| a: Id, |
| m1: u32, |
| b: Id, |
| m2: u32, |
| }, |
| ArbitraryFloatGEINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| a: Id, |
| m1: u32, |
| b: Id, |
| m2: u32, |
| }, |
| ArbitraryFloatLTINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| a: Id, |
| m1: u32, |
| b: Id, |
| m2: u32, |
| }, |
| ArbitraryFloatLEINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| a: Id, |
| m1: u32, |
| b: Id, |
| m2: u32, |
| }, |
| ArbitraryFloatEQINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| a: Id, |
| m1: u32, |
| b: Id, |
| m2: u32, |
| }, |
| ArbitraryFloatRecipINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| a: Id, |
| m1: u32, |
| mout: u32, |
| enable_subnormals: u32, |
| rounding_mode: u32, |
| rounding_accuracy: u32, |
| }, |
| ArbitraryFloatRSqrtINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| a: Id, |
| m1: u32, |
| mout: u32, |
| enable_subnormals: u32, |
| rounding_mode: u32, |
| rounding_accuracy: u32, |
| }, |
| ArbitraryFloatCbrtINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| a: Id, |
| m1: u32, |
| mout: u32, |
| enable_subnormals: u32, |
| rounding_mode: u32, |
| rounding_accuracy: u32, |
| }, |
| ArbitraryFloatHypotINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| a: Id, |
| m1: u32, |
| b: Id, |
| m2: u32, |
| mout: u32, |
| enable_subnormals: u32, |
| rounding_mode: u32, |
| rounding_accuracy: u32, |
| }, |
| ArbitraryFloatSqrtINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| a: Id, |
| m1: u32, |
| mout: u32, |
| enable_subnormals: u32, |
| rounding_mode: u32, |
| rounding_accuracy: u32, |
| }, |
| ArbitraryFloatLogINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| a: Id, |
| m1: u32, |
| mout: u32, |
| enable_subnormals: u32, |
| rounding_mode: u32, |
| rounding_accuracy: u32, |
| }, |
| ArbitraryFloatLog2INTEL { |
| result_type_id: Id, |
| result_id: Id, |
| a: Id, |
| m1: u32, |
| mout: u32, |
| enable_subnormals: u32, |
| rounding_mode: u32, |
| rounding_accuracy: u32, |
| }, |
| ArbitraryFloatLog10INTEL { |
| result_type_id: Id, |
| result_id: Id, |
| a: Id, |
| m1: u32, |
| mout: u32, |
| enable_subnormals: u32, |
| rounding_mode: u32, |
| rounding_accuracy: u32, |
| }, |
| ArbitraryFloatLog1pINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| a: Id, |
| m1: u32, |
| mout: u32, |
| enable_subnormals: u32, |
| rounding_mode: u32, |
| rounding_accuracy: u32, |
| }, |
| ArbitraryFloatExpINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| a: Id, |
| m1: u32, |
| mout: u32, |
| enable_subnormals: u32, |
| rounding_mode: u32, |
| rounding_accuracy: u32, |
| }, |
| ArbitraryFloatExp2INTEL { |
| result_type_id: Id, |
| result_id: Id, |
| a: Id, |
| m1: u32, |
| mout: u32, |
| enable_subnormals: u32, |
| rounding_mode: u32, |
| rounding_accuracy: u32, |
| }, |
| ArbitraryFloatExp10INTEL { |
| result_type_id: Id, |
| result_id: Id, |
| a: Id, |
| m1: u32, |
| mout: u32, |
| enable_subnormals: u32, |
| rounding_mode: u32, |
| rounding_accuracy: u32, |
| }, |
| ArbitraryFloatExpm1INTEL { |
| result_type_id: Id, |
| result_id: Id, |
| a: Id, |
| m1: u32, |
| mout: u32, |
| enable_subnormals: u32, |
| rounding_mode: u32, |
| rounding_accuracy: u32, |
| }, |
| ArbitraryFloatSinINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| a: Id, |
| m1: u32, |
| mout: u32, |
| enable_subnormals: u32, |
| rounding_mode: u32, |
| rounding_accuracy: u32, |
| }, |
| ArbitraryFloatCosINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| a: Id, |
| m1: u32, |
| mout: u32, |
| enable_subnormals: u32, |
| rounding_mode: u32, |
| rounding_accuracy: u32, |
| }, |
| ArbitraryFloatSinCosINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| a: Id, |
| m1: u32, |
| mout: u32, |
| enable_subnormals: u32, |
| rounding_mode: u32, |
| rounding_accuracy: u32, |
| }, |
| ArbitraryFloatSinPiINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| a: Id, |
| m1: u32, |
| mout: u32, |
| enable_subnormals: u32, |
| rounding_mode: u32, |
| rounding_accuracy: u32, |
| }, |
| ArbitraryFloatCosPiINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| a: Id, |
| m1: u32, |
| mout: u32, |
| enable_subnormals: u32, |
| rounding_mode: u32, |
| rounding_accuracy: u32, |
| }, |
| ArbitraryFloatASinINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| a: Id, |
| m1: u32, |
| mout: u32, |
| enable_subnormals: u32, |
| rounding_mode: u32, |
| rounding_accuracy: u32, |
| }, |
| ArbitraryFloatASinPiINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| a: Id, |
| m1: u32, |
| mout: u32, |
| enable_subnormals: u32, |
| rounding_mode: u32, |
| rounding_accuracy: u32, |
| }, |
| ArbitraryFloatACosINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| a: Id, |
| m1: u32, |
| mout: u32, |
| enable_subnormals: u32, |
| rounding_mode: u32, |
| rounding_accuracy: u32, |
| }, |
| ArbitraryFloatACosPiINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| a: Id, |
| m1: u32, |
| mout: u32, |
| enable_subnormals: u32, |
| rounding_mode: u32, |
| rounding_accuracy: u32, |
| }, |
| ArbitraryFloatATanINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| a: Id, |
| m1: u32, |
| mout: u32, |
| enable_subnormals: u32, |
| rounding_mode: u32, |
| rounding_accuracy: u32, |
| }, |
| ArbitraryFloatATanPiINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| a: Id, |
| m1: u32, |
| mout: u32, |
| enable_subnormals: u32, |
| rounding_mode: u32, |
| rounding_accuracy: u32, |
| }, |
| ArbitraryFloatATan2INTEL { |
| result_type_id: Id, |
| result_id: Id, |
| a: Id, |
| m1: u32, |
| b: Id, |
| m2: u32, |
| mout: u32, |
| enable_subnormals: u32, |
| rounding_mode: u32, |
| rounding_accuracy: u32, |
| }, |
| ArbitraryFloatPowINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| a: Id, |
| m1: u32, |
| b: Id, |
| m2: u32, |
| mout: u32, |
| enable_subnormals: u32, |
| rounding_mode: u32, |
| rounding_accuracy: u32, |
| }, |
| ArbitraryFloatPowRINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| a: Id, |
| m1: u32, |
| b: Id, |
| m2: u32, |
| mout: u32, |
| enable_subnormals: u32, |
| rounding_mode: u32, |
| rounding_accuracy: u32, |
| }, |
| ArbitraryFloatPowNINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| a: Id, |
| m1: u32, |
| b: Id, |
| mout: u32, |
| enable_subnormals: u32, |
| rounding_mode: u32, |
| rounding_accuracy: u32, |
| }, |
| LoopControlINTEL { |
| loop_control_parameters: Vec<u32>, |
| }, |
| FixedSqrtINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| input_type: Id, |
| input: Id, |
| s: u32, |
| i: u32, |
| r_i: u32, |
| q: u32, |
| o: u32, |
| }, |
| FixedRecipINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| input_type: Id, |
| input: Id, |
| s: u32, |
| i: u32, |
| r_i: u32, |
| q: u32, |
| o: u32, |
| }, |
| FixedRsqrtINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| input_type: Id, |
| input: Id, |
| s: u32, |
| i: u32, |
| r_i: u32, |
| q: u32, |
| o: u32, |
| }, |
| FixedSinINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| input_type: Id, |
| input: Id, |
| s: u32, |
| i: u32, |
| r_i: u32, |
| q: u32, |
| o: u32, |
| }, |
| FixedCosINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| input_type: Id, |
| input: Id, |
| s: u32, |
| i: u32, |
| r_i: u32, |
| q: u32, |
| o: u32, |
| }, |
| FixedSinCosINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| input_type: Id, |
| input: Id, |
| s: u32, |
| i: u32, |
| r_i: u32, |
| q: u32, |
| o: u32, |
| }, |
| FixedSinPiINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| input_type: Id, |
| input: Id, |
| s: u32, |
| i: u32, |
| r_i: u32, |
| q: u32, |
| o: u32, |
| }, |
| FixedCosPiINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| input_type: Id, |
| input: Id, |
| s: u32, |
| i: u32, |
| r_i: u32, |
| q: u32, |
| o: u32, |
| }, |
| FixedSinCosPiINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| input_type: Id, |
| input: Id, |
| s: u32, |
| i: u32, |
| r_i: u32, |
| q: u32, |
| o: u32, |
| }, |
| FixedLogINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| input_type: Id, |
| input: Id, |
| s: u32, |
| i: u32, |
| r_i: u32, |
| q: u32, |
| o: u32, |
| }, |
| FixedExpINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| input_type: Id, |
| input: Id, |
| s: u32, |
| i: u32, |
| r_i: u32, |
| q: u32, |
| o: u32, |
| }, |
| PtrCastToCrossWorkgroupINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| pointer: Id, |
| }, |
| CrossWorkgroupCastToPtrINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| pointer: Id, |
| }, |
| ReadPipeBlockingINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| packet_size: Id, |
| packet_alignment: Id, |
| }, |
| WritePipeBlockingINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| packet_size: Id, |
| packet_alignment: Id, |
| }, |
| FPGARegINTEL { |
| result_type_id: Id, |
| result_id: Id, |
| result: Id, |
| input: Id, |
| }, |
| RayQueryGetRayTMinKHR { |
| result_type_id: Id, |
| result_id: Id, |
| ray_query: Id, |
| }, |
| RayQueryGetRayFlagsKHR { |
| result_type_id: Id, |
| result_id: Id, |
| ray_query: Id, |
| }, |
| RayQueryGetIntersectionTKHR { |
| result_type_id: Id, |
| result_id: Id, |
| ray_query: Id, |
| intersection: Id, |
| }, |
| RayQueryGetIntersectionInstanceCustomIndexKHR { |
| result_type_id: Id, |
| result_id: Id, |
| ray_query: Id, |
| intersection: Id, |
| }, |
| RayQueryGetIntersectionInstanceIdKHR { |
| result_type_id: Id, |
| result_id: Id, |
| ray_query: Id, |
| intersection: Id, |
| }, |
| RayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR { |
| result_type_id: Id, |
| result_id: Id, |
| ray_query: Id, |
| intersection: Id, |
| }, |
| RayQueryGetIntersectionGeometryIndexKHR { |
| result_type_id: Id, |
| result_id: Id, |
| ray_query: Id, |
| intersection: Id, |
| }, |
| RayQueryGetIntersectionPrimitiveIndexKHR { |
| result_type_id: Id, |
| result_id: Id, |
| ray_query: Id, |
| intersection: Id, |
| }, |
| RayQueryGetIntersectionBarycentricsKHR { |
| result_type_id: Id, |
| result_id: Id, |
| ray_query: Id, |
| intersection: Id, |
| }, |
| RayQueryGetIntersectionFrontFaceKHR { |
| result_type_id: Id, |
| result_id: Id, |
| ray_query: Id, |
| intersection: Id, |
| }, |
| RayQueryGetIntersectionCandidateAABBOpaqueKHR { |
| result_type_id: Id, |
| result_id: Id, |
| ray_query: Id, |
| }, |
| RayQueryGetIntersectionObjectRayDirectionKHR { |
| result_type_id: Id, |
| result_id: Id, |
| ray_query: Id, |
| intersection: Id, |
| }, |
| RayQueryGetIntersectionObjectRayOriginKHR { |
| result_type_id: Id, |
| result_id: Id, |
| ray_query: Id, |
| intersection: Id, |
| }, |
| RayQueryGetWorldRayDirectionKHR { |
| result_type_id: Id, |
| result_id: Id, |
| ray_query: Id, |
| }, |
| RayQueryGetWorldRayOriginKHR { |
| result_type_id: Id, |
| result_id: Id, |
| ray_query: Id, |
| }, |
| RayQueryGetIntersectionObjectToWorldKHR { |
| result_type_id: Id, |
| result_id: Id, |
| ray_query: Id, |
| intersection: Id, |
| }, |
| RayQueryGetIntersectionWorldToObjectKHR { |
| result_type_id: Id, |
| result_id: Id, |
| ray_query: Id, |
| intersection: Id, |
| }, |
| AtomicFAddEXT { |
| result_type_id: Id, |
| result_id: Id, |
| pointer: Id, |
| memory: Id, |
| semantics: Id, |
| value: Id, |
| }, |
| TypeBufferSurfaceINTEL { |
| result_id: Id, |
| access_qualifier: AccessQualifier, |
| }, |
| TypeStructContinuedINTEL { |
| member_types: Vec<Id>, |
| }, |
| ConstantCompositeContinuedINTEL { |
| constituents: Vec<Id>, |
| }, |
| SpecConstantCompositeContinuedINTEL { |
| constituents: Vec<Id>, |
| }, |
| } |
| impl Instruction { |
| #[allow(dead_code)] |
| fn parse(reader: &mut InstructionReader<'_>) -> Result<Self, ParseError> { |
| let opcode = (reader.next_u32()? & 0xffff) as u16; |
| Ok(match opcode { |
| 0u16 => Self::Nop, |
| 1u16 => Self::Undef { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| }, |
| 2u16 => Self::SourceContinued { continued_source: reader.next_string()? }, |
| 3u16 => Self::Source { |
| source_language: SourceLanguage::parse(reader)?, |
| version: reader.next_u32()?, |
| file: if !reader.is_empty() { Some(Id(reader.next_u32()?)) } else { None }, |
| source: if !reader.is_empty() { Some(reader.next_string()?) } else { None }, |
| }, |
| 4u16 => Self::SourceExtension { extension: reader.next_string()? }, |
| 5u16 => Self::Name { target: Id(reader.next_u32()?), name: reader.next_string()? }, |
| 6u16 => Self::MemberName { |
| ty: Id(reader.next_u32()?), |
| member: reader.next_u32()?, |
| name: reader.next_string()?, |
| }, |
| 7u16 => { |
| Self::String { result_id: Id(reader.next_u32()?), string: reader.next_string()? } |
| } |
| 8u16 => Self::Line { |
| file: Id(reader.next_u32()?), |
| line: reader.next_u32()?, |
| column: reader.next_u32()?, |
| }, |
| 10u16 => Self::Extension { name: reader.next_string()? }, |
| 11u16 => Self::ExtInstImport { |
| result_id: Id(reader.next_u32()?), |
| name: reader.next_string()?, |
| }, |
| 12u16 => Self::ExtInst { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| set: Id(reader.next_u32()?), |
| instruction: reader.next_u32()?, |
| operands: { |
| let mut vec = Vec::new(); |
| while !reader.is_empty() { |
| vec.push(Id(reader.next_u32()?)); |
| } |
| vec |
| }, |
| }, |
| 14u16 => Self::MemoryModel { |
| addressing_model: AddressingModel::parse(reader)?, |
| memory_model: MemoryModel::parse(reader)?, |
| }, |
| 15u16 => Self::EntryPoint { |
| execution_model: ExecutionModel::parse(reader)?, |
| entry_point: Id(reader.next_u32()?), |
| name: reader.next_string()?, |
| interface: { |
| let mut vec = Vec::new(); |
| while !reader.is_empty() { |
| vec.push(Id(reader.next_u32()?)); |
| } |
| vec |
| }, |
| }, |
| 16u16 => Self::ExecutionMode { |
| entry_point: Id(reader.next_u32()?), |
| mode: ExecutionMode::parse(reader)?, |
| }, |
| 17u16 => Self::Capability { capability: Capability::parse(reader)? }, |
| 19u16 => Self::TypeVoid { result_id: Id(reader.next_u32()?) }, |
| 20u16 => Self::TypeBool { result_id: Id(reader.next_u32()?) }, |
| 21u16 => Self::TypeInt { |
| result_id: Id(reader.next_u32()?), |
| width: reader.next_u32()?, |
| signedness: reader.next_u32()?, |
| }, |
| 22u16 => { |
| Self::TypeFloat { result_id: Id(reader.next_u32()?), width: reader.next_u32()? } |
| } |
| 23u16 => Self::TypeVector { |
| result_id: Id(reader.next_u32()?), |
| component_type: Id(reader.next_u32()?), |
| component_count: reader.next_u32()?, |
| }, |
| 24u16 => Self::TypeMatrix { |
| result_id: Id(reader.next_u32()?), |
| column_type: Id(reader.next_u32()?), |
| column_count: reader.next_u32()?, |
| }, |
| 25u16 => Self::TypeImage { |
| result_id: Id(reader.next_u32()?), |
| sampled_type: Id(reader.next_u32()?), |
| dim: Dim::parse(reader)?, |
| depth: reader.next_u32()?, |
| arrayed: reader.next_u32()?, |
| ms: reader.next_u32()?, |
| sampled: reader.next_u32()?, |
| image_format: ImageFormat::parse(reader)?, |
| access_qualifier: if !reader.is_empty() { |
| Some(AccessQualifier::parse(reader)?) |
| } else { |
| None |
| }, |
| }, |
| 26u16 => Self::TypeSampler { result_id: Id(reader.next_u32()?) }, |
| 27u16 => Self::TypeSampledImage { |
| result_id: Id(reader.next_u32()?), |
| image_type: Id(reader.next_u32()?), |
| }, |
| 28u16 => Self::TypeArray { |
| result_id: Id(reader.next_u32()?), |
| element_type: Id(reader.next_u32()?), |
| length: Id(reader.next_u32()?), |
| }, |
| 29u16 => Self::TypeRuntimeArray { |
| result_id: Id(reader.next_u32()?), |
| element_type: Id(reader.next_u32()?), |
| }, |
| 30u16 => Self::TypeStruct { |
| result_id: Id(reader.next_u32()?), |
| member_types: { |
| let mut vec = Vec::new(); |
| while !reader.is_empty() { |
| vec.push(Id(reader.next_u32()?)); |
| } |
| vec |
| }, |
| }, |
| 31u16 => { |
| Self::TypeOpaque { result_id: Id(reader.next_u32()?), name: reader.next_string()? } |
| } |
| 32u16 => Self::TypePointer { |
| result_id: Id(reader.next_u32()?), |
| storage_class: StorageClass::parse(reader)?, |
| ty: Id(reader.next_u32()?), |
| }, |
| 33u16 => Self::TypeFunction { |
| result_id: Id(reader.next_u32()?), |
| return_type: Id(reader.next_u32()?), |
| parameter_types: { |
| let mut vec = Vec::new(); |
| while !reader.is_empty() { |
| vec.push(Id(reader.next_u32()?)); |
| } |
| vec |
| }, |
| }, |
| 34u16 => Self::TypeEvent { result_id: Id(reader.next_u32()?) }, |
| 35u16 => Self::TypeDeviceEvent { result_id: Id(reader.next_u32()?) }, |
| 36u16 => Self::TypeReserveId { result_id: Id(reader.next_u32()?) }, |
| 37u16 => Self::TypeQueue { result_id: Id(reader.next_u32()?) }, |
| 38u16 => Self::TypePipe { |
| result_id: Id(reader.next_u32()?), |
| qualifier: AccessQualifier::parse(reader)?, |
| }, |
| 39u16 => Self::TypeForwardPointer { |
| pointer_type: Id(reader.next_u32()?), |
| storage_class: StorageClass::parse(reader)?, |
| }, |
| 41u16 => Self::ConstantTrue { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| }, |
| 42u16 => Self::ConstantFalse { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| }, |
| 43u16 => Self::Constant { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| value: reader.remainder(), |
| }, |
| 44u16 => Self::ConstantComposite { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| constituents: { |
| let mut vec = Vec::new(); |
| while !reader.is_empty() { |
| vec.push(Id(reader.next_u32()?)); |
| } |
| vec |
| }, |
| }, |
| 45u16 => Self::ConstantSampler { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| sampler_addressing_mode: SamplerAddressingMode::parse(reader)?, |
| param: reader.next_u32()?, |
| sampler_filter_mode: SamplerFilterMode::parse(reader)?, |
| }, |
| 46u16 => Self::ConstantNull { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| }, |
| 48u16 => Self::SpecConstantTrue { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| }, |
| 49u16 => Self::SpecConstantFalse { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| }, |
| 50u16 => Self::SpecConstant { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| value: reader.remainder(), |
| }, |
| 51u16 => Self::SpecConstantComposite { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| constituents: { |
| let mut vec = Vec::new(); |
| while !reader.is_empty() { |
| vec.push(Id(reader.next_u32()?)); |
| } |
| vec |
| }, |
| }, |
| 52u16 => Self::SpecConstantOp { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| opcode: SpecConstantInstruction::parse(reader)?, |
| }, |
| 54u16 => Self::Function { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| function_control: FunctionControl::parse(reader)?, |
| function_type: Id(reader.next_u32()?), |
| }, |
| 55u16 => Self::FunctionParameter { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| }, |
| 56u16 => Self::FunctionEnd, |
| 57u16 => Self::FunctionCall { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| function: Id(reader.next_u32()?), |
| arguments: { |
| let mut vec = Vec::new(); |
| while !reader.is_empty() { |
| vec.push(Id(reader.next_u32()?)); |
| } |
| vec |
| }, |
| }, |
| 59u16 => Self::Variable { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| storage_class: StorageClass::parse(reader)?, |
| initializer: if !reader.is_empty() { Some(Id(reader.next_u32()?)) } else { None }, |
| }, |
| 60u16 => Self::ImageTexelPointer { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| image: Id(reader.next_u32()?), |
| coordinate: Id(reader.next_u32()?), |
| sample: Id(reader.next_u32()?), |
| }, |
| 61u16 => Self::Load { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| pointer: Id(reader.next_u32()?), |
| memory_access: if !reader.is_empty() { |
| Some(MemoryAccess::parse(reader)?) |
| } else { |
| None |
| }, |
| }, |
| 62u16 => Self::Store { |
| pointer: Id(reader.next_u32()?), |
| object: Id(reader.next_u32()?), |
| memory_access: if !reader.is_empty() { |
| Some(MemoryAccess::parse(reader)?) |
| } else { |
| None |
| }, |
| }, |
| 63u16 => Self::CopyMemory { |
| target: Id(reader.next_u32()?), |
| source: Id(reader.next_u32()?), |
| memory_access1: if !reader.is_empty() { |
| Some(MemoryAccess::parse(reader)?) |
| } else { |
| None |
| }, |
| memory_access2: if !reader.is_empty() { |
| Some(MemoryAccess::parse(reader)?) |
| } else { |
| None |
| }, |
| }, |
| 64u16 => Self::CopyMemorySized { |
| target: Id(reader.next_u32()?), |
| source: Id(reader.next_u32()?), |
| size: Id(reader.next_u32()?), |
| memory_access1: if !reader.is_empty() { |
| Some(MemoryAccess::parse(reader)?) |
| } else { |
| None |
| }, |
| memory_access2: if !reader.is_empty() { |
| Some(MemoryAccess::parse(reader)?) |
| } else { |
| None |
| }, |
| }, |
| 65u16 => Self::AccessChain { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| base: Id(reader.next_u32()?), |
| indexes: { |
| let mut vec = Vec::new(); |
| while !reader.is_empty() { |
| vec.push(Id(reader.next_u32()?)); |
| } |
| vec |
| }, |
| }, |
| 66u16 => Self::InBoundsAccessChain { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| base: Id(reader.next_u32()?), |
| indexes: { |
| let mut vec = Vec::new(); |
| while !reader.is_empty() { |
| vec.push(Id(reader.next_u32()?)); |
| } |
| vec |
| }, |
| }, |
| 67u16 => Self::PtrAccessChain { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| base: Id(reader.next_u32()?), |
| element: Id(reader.next_u32()?), |
| indexes: { |
| let mut vec = Vec::new(); |
| while !reader.is_empty() { |
| vec.push(Id(reader.next_u32()?)); |
| } |
| vec |
| }, |
| }, |
| 68u16 => Self::ArrayLength { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| structure: Id(reader.next_u32()?), |
| array_member: reader.next_u32()?, |
| }, |
| 69u16 => Self::GenericPtrMemSemantics { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| pointer: Id(reader.next_u32()?), |
| }, |
| 70u16 => Self::InBoundsPtrAccessChain { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| base: Id(reader.next_u32()?), |
| element: Id(reader.next_u32()?), |
| indexes: { |
| let mut vec = Vec::new(); |
| while !reader.is_empty() { |
| vec.push(Id(reader.next_u32()?)); |
| } |
| vec |
| }, |
| }, |
| 71u16 => Self::Decorate { |
| target: Id(reader.next_u32()?), |
| decoration: Decoration::parse(reader)?, |
| }, |
| 72u16 => Self::MemberDecorate { |
| structure_type: Id(reader.next_u32()?), |
| member: reader.next_u32()?, |
| decoration: Decoration::parse(reader)?, |
| }, |
| 73u16 => Self::DecorationGroup { result_id: Id(reader.next_u32()?) }, |
| 74u16 => Self::GroupDecorate { |
| decoration_group: Id(reader.next_u32()?), |
| targets: { |
| let mut vec = Vec::new(); |
| while !reader.is_empty() { |
| vec.push(Id(reader.next_u32()?)); |
| } |
| vec |
| }, |
| }, |
| 75u16 => Self::GroupMemberDecorate { |
| decoration_group: Id(reader.next_u32()?), |
| targets: { |
| let mut vec = Vec::new(); |
| while !reader.is_empty() { |
| vec.push((Id(reader.next_u32()?), reader.next_u32()?)); |
| } |
| vec |
| }, |
| }, |
| 77u16 => Self::VectorExtractDynamic { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| vector: Id(reader.next_u32()?), |
| index: Id(reader.next_u32()?), |
| }, |
| 78u16 => Self::VectorInsertDynamic { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| vector: Id(reader.next_u32()?), |
| component: Id(reader.next_u32()?), |
| index: Id(reader.next_u32()?), |
| }, |
| 79u16 => Self::VectorShuffle { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| vector_1: Id(reader.next_u32()?), |
| vector_2: Id(reader.next_u32()?), |
| components: { |
| let mut vec = Vec::new(); |
| while !reader.is_empty() { |
| vec.push(reader.next_u32()?); |
| } |
| vec |
| }, |
| }, |
| 80u16 => Self::CompositeConstruct { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| constituents: { |
| let mut vec = Vec::new(); |
| while !reader.is_empty() { |
| vec.push(Id(reader.next_u32()?)); |
| } |
| vec |
| }, |
| }, |
| 81u16 => Self::CompositeExtract { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| composite: Id(reader.next_u32()?), |
| indexes: { |
| let mut vec = Vec::new(); |
| while !reader.is_empty() { |
| vec.push(reader.next_u32()?); |
| } |
| vec |
| }, |
| }, |
| 82u16 => Self::CompositeInsert { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| object: Id(reader.next_u32()?), |
| composite: Id(reader.next_u32()?), |
| indexes: { |
| let mut vec = Vec::new(); |
| while !reader.is_empty() { |
| vec.push(reader.next_u32()?); |
| } |
| vec |
| }, |
| }, |
| 83u16 => Self::CopyObject { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand: Id(reader.next_u32()?), |
| }, |
| 84u16 => Self::Transpose { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| matrix: Id(reader.next_u32()?), |
| }, |
| 86u16 => Self::SampledImage { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| image: Id(reader.next_u32()?), |
| sampler: Id(reader.next_u32()?), |
| }, |
| 87u16 => Self::ImageSampleImplicitLod { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| sampled_image: Id(reader.next_u32()?), |
| coordinate: Id(reader.next_u32()?), |
| image_operands: if !reader.is_empty() { |
| Some(ImageOperands::parse(reader)?) |
| } else { |
| None |
| }, |
| }, |
| 88u16 => Self::ImageSampleExplicitLod { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| sampled_image: Id(reader.next_u32()?), |
| coordinate: Id(reader.next_u32()?), |
| image_operands: ImageOperands::parse(reader)?, |
| }, |
| 89u16 => Self::ImageSampleDrefImplicitLod { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| sampled_image: Id(reader.next_u32()?), |
| coordinate: Id(reader.next_u32()?), |
| dref: Id(reader.next_u32()?), |
| image_operands: if !reader.is_empty() { |
| Some(ImageOperands::parse(reader)?) |
| } else { |
| None |
| }, |
| }, |
| 90u16 => Self::ImageSampleDrefExplicitLod { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| sampled_image: Id(reader.next_u32()?), |
| coordinate: Id(reader.next_u32()?), |
| dref: Id(reader.next_u32()?), |
| image_operands: ImageOperands::parse(reader)?, |
| }, |
| 91u16 => Self::ImageSampleProjImplicitLod { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| sampled_image: Id(reader.next_u32()?), |
| coordinate: Id(reader.next_u32()?), |
| image_operands: if !reader.is_empty() { |
| Some(ImageOperands::parse(reader)?) |
| } else { |
| None |
| }, |
| }, |
| 92u16 => Self::ImageSampleProjExplicitLod { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| sampled_image: Id(reader.next_u32()?), |
| coordinate: Id(reader.next_u32()?), |
| image_operands: ImageOperands::parse(reader)?, |
| }, |
| 93u16 => Self::ImageSampleProjDrefImplicitLod { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| sampled_image: Id(reader.next_u32()?), |
| coordinate: Id(reader.next_u32()?), |
| dref: Id(reader.next_u32()?), |
| image_operands: if !reader.is_empty() { |
| Some(ImageOperands::parse(reader)?) |
| } else { |
| None |
| }, |
| }, |
| 94u16 => Self::ImageSampleProjDrefExplicitLod { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| sampled_image: Id(reader.next_u32()?), |
| coordinate: Id(reader.next_u32()?), |
| dref: Id(reader.next_u32()?), |
| image_operands: ImageOperands::parse(reader)?, |
| }, |
| 95u16 => Self::ImageFetch { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| image: Id(reader.next_u32()?), |
| coordinate: Id(reader.next_u32()?), |
| image_operands: if !reader.is_empty() { |
| Some(ImageOperands::parse(reader)?) |
| } else { |
| None |
| }, |
| }, |
| 96u16 => Self::ImageGather { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| sampled_image: Id(reader.next_u32()?), |
| coordinate: Id(reader.next_u32()?), |
| component: Id(reader.next_u32()?), |
| image_operands: if !reader.is_empty() { |
| Some(ImageOperands::parse(reader)?) |
| } else { |
| None |
| }, |
| }, |
| 97u16 => Self::ImageDrefGather { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| sampled_image: Id(reader.next_u32()?), |
| coordinate: Id(reader.next_u32()?), |
| dref: Id(reader.next_u32()?), |
| image_operands: if !reader.is_empty() { |
| Some(ImageOperands::parse(reader)?) |
| } else { |
| None |
| }, |
| }, |
| 98u16 => Self::ImageRead { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| image: Id(reader.next_u32()?), |
| coordinate: Id(reader.next_u32()?), |
| image_operands: if !reader.is_empty() { |
| Some(ImageOperands::parse(reader)?) |
| } else { |
| None |
| }, |
| }, |
| 99u16 => Self::ImageWrite { |
| image: Id(reader.next_u32()?), |
| coordinate: Id(reader.next_u32()?), |
| texel: Id(reader.next_u32()?), |
| image_operands: if !reader.is_empty() { |
| Some(ImageOperands::parse(reader)?) |
| } else { |
| None |
| }, |
| }, |
| 100u16 => Self::Image { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| sampled_image: Id(reader.next_u32()?), |
| }, |
| 101u16 => Self::ImageQueryFormat { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| image: Id(reader.next_u32()?), |
| }, |
| 102u16 => Self::ImageQueryOrder { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| image: Id(reader.next_u32()?), |
| }, |
| 103u16 => Self::ImageQuerySizeLod { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| image: Id(reader.next_u32()?), |
| level_of_detail: Id(reader.next_u32()?), |
| }, |
| 104u16 => Self::ImageQuerySize { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| image: Id(reader.next_u32()?), |
| }, |
| 105u16 => Self::ImageQueryLod { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| sampled_image: Id(reader.next_u32()?), |
| coordinate: Id(reader.next_u32()?), |
| }, |
| 106u16 => Self::ImageQueryLevels { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| image: Id(reader.next_u32()?), |
| }, |
| 107u16 => Self::ImageQuerySamples { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| image: Id(reader.next_u32()?), |
| }, |
| 109u16 => Self::ConvertFToU { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| float_value: Id(reader.next_u32()?), |
| }, |
| 110u16 => Self::ConvertFToS { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| float_value: Id(reader.next_u32()?), |
| }, |
| 111u16 => Self::ConvertSToF { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| signed_value: Id(reader.next_u32()?), |
| }, |
| 112u16 => Self::ConvertUToF { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| unsigned_value: Id(reader.next_u32()?), |
| }, |
| 113u16 => Self::UConvert { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| unsigned_value: Id(reader.next_u32()?), |
| }, |
| 114u16 => Self::SConvert { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| signed_value: Id(reader.next_u32()?), |
| }, |
| 115u16 => Self::FConvert { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| float_value: Id(reader.next_u32()?), |
| }, |
| 116u16 => Self::QuantizeToF16 { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| value: Id(reader.next_u32()?), |
| }, |
| 117u16 => Self::ConvertPtrToU { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| pointer: Id(reader.next_u32()?), |
| }, |
| 118u16 => Self::SatConvertSToU { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| signed_value: Id(reader.next_u32()?), |
| }, |
| 119u16 => Self::SatConvertUToS { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| unsigned_value: Id(reader.next_u32()?), |
| }, |
| 120u16 => Self::ConvertUToPtr { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| integer_value: Id(reader.next_u32()?), |
| }, |
| 121u16 => Self::PtrCastToGeneric { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| pointer: Id(reader.next_u32()?), |
| }, |
| 122u16 => Self::GenericCastToPtr { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| pointer: Id(reader.next_u32()?), |
| }, |
| 123u16 => Self::GenericCastToPtrExplicit { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| pointer: Id(reader.next_u32()?), |
| storage: StorageClass::parse(reader)?, |
| }, |
| 124u16 => Self::Bitcast { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand: Id(reader.next_u32()?), |
| }, |
| 126u16 => Self::SNegate { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand: Id(reader.next_u32()?), |
| }, |
| 127u16 => Self::FNegate { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand: Id(reader.next_u32()?), |
| }, |
| 128u16 => Self::IAdd { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 129u16 => Self::FAdd { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 130u16 => Self::ISub { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 131u16 => Self::FSub { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 132u16 => Self::IMul { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 133u16 => Self::FMul { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 134u16 => Self::UDiv { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 135u16 => Self::SDiv { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 136u16 => Self::FDiv { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 137u16 => Self::UMod { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 138u16 => Self::SRem { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 139u16 => Self::SMod { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 140u16 => Self::FRem { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 141u16 => Self::FMod { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 142u16 => Self::VectorTimesScalar { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| vector: Id(reader.next_u32()?), |
| scalar: Id(reader.next_u32()?), |
| }, |
| 143u16 => Self::MatrixTimesScalar { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| matrix: Id(reader.next_u32()?), |
| scalar: Id(reader.next_u32()?), |
| }, |
| 144u16 => Self::VectorTimesMatrix { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| vector: Id(reader.next_u32()?), |
| matrix: Id(reader.next_u32()?), |
| }, |
| 145u16 => Self::MatrixTimesVector { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| matrix: Id(reader.next_u32()?), |
| vector: Id(reader.next_u32()?), |
| }, |
| 146u16 => Self::MatrixTimesMatrix { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| left_matrix: Id(reader.next_u32()?), |
| right_matrix: Id(reader.next_u32()?), |
| }, |
| 147u16 => Self::OuterProduct { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| vector_1: Id(reader.next_u32()?), |
| vector_2: Id(reader.next_u32()?), |
| }, |
| 148u16 => Self::Dot { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| vector_1: Id(reader.next_u32()?), |
| vector_2: Id(reader.next_u32()?), |
| }, |
| 149u16 => Self::IAddCarry { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 150u16 => Self::ISubBorrow { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 151u16 => Self::UMulExtended { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 152u16 => Self::SMulExtended { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 154u16 => Self::Any { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| vector: Id(reader.next_u32()?), |
| }, |
| 155u16 => Self::All { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| vector: Id(reader.next_u32()?), |
| }, |
| 156u16 => Self::IsNan { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| x: Id(reader.next_u32()?), |
| }, |
| 157u16 => Self::IsInf { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| x: Id(reader.next_u32()?), |
| }, |
| 158u16 => Self::IsFinite { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| x: Id(reader.next_u32()?), |
| }, |
| 159u16 => Self::IsNormal { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| x: Id(reader.next_u32()?), |
| }, |
| 160u16 => Self::SignBitSet { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| x: Id(reader.next_u32()?), |
| }, |
| 161u16 => Self::LessOrGreater { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| x: Id(reader.next_u32()?), |
| y: Id(reader.next_u32()?), |
| }, |
| 162u16 => Self::Ordered { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| x: Id(reader.next_u32()?), |
| y: Id(reader.next_u32()?), |
| }, |
| 163u16 => Self::Unordered { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| x: Id(reader.next_u32()?), |
| y: Id(reader.next_u32()?), |
| }, |
| 164u16 => Self::LogicalEqual { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 165u16 => Self::LogicalNotEqual { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 166u16 => Self::LogicalOr { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 167u16 => Self::LogicalAnd { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 168u16 => Self::LogicalNot { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand: Id(reader.next_u32()?), |
| }, |
| 169u16 => Self::Select { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| condition: Id(reader.next_u32()?), |
| object_1: Id(reader.next_u32()?), |
| object_2: Id(reader.next_u32()?), |
| }, |
| 170u16 => Self::IEqual { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 171u16 => Self::INotEqual { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 172u16 => Self::UGreaterThan { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 173u16 => Self::SGreaterThan { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 174u16 => Self::UGreaterThanEqual { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 175u16 => Self::SGreaterThanEqual { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 176u16 => Self::ULessThan { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 177u16 => Self::SLessThan { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 178u16 => Self::ULessThanEqual { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 179u16 => Self::SLessThanEqual { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 180u16 => Self::FOrdEqual { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 181u16 => Self::FUnordEqual { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 182u16 => Self::FOrdNotEqual { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 183u16 => Self::FUnordNotEqual { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 184u16 => Self::FOrdLessThan { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 185u16 => Self::FUnordLessThan { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 186u16 => Self::FOrdGreaterThan { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 187u16 => Self::FUnordGreaterThan { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 188u16 => Self::FOrdLessThanEqual { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 189u16 => Self::FUnordLessThanEqual { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 190u16 => Self::FOrdGreaterThanEqual { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 191u16 => Self::FUnordGreaterThanEqual { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 194u16 => Self::ShiftRightLogical { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| base: Id(reader.next_u32()?), |
| shift: Id(reader.next_u32()?), |
| }, |
| 195u16 => Self::ShiftRightArithmetic { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| base: Id(reader.next_u32()?), |
| shift: Id(reader.next_u32()?), |
| }, |
| 196u16 => Self::ShiftLeftLogical { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| base: Id(reader.next_u32()?), |
| shift: Id(reader.next_u32()?), |
| }, |
| 197u16 => Self::BitwiseOr { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 198u16 => Self::BitwiseXor { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 199u16 => Self::BitwiseAnd { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 200u16 => Self::Not { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand: Id(reader.next_u32()?), |
| }, |
| 201u16 => Self::BitFieldInsert { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| base: Id(reader.next_u32()?), |
| insert: Id(reader.next_u32()?), |
| offset: Id(reader.next_u32()?), |
| count: Id(reader.next_u32()?), |
| }, |
| 202u16 => Self::BitFieldSExtract { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| base: Id(reader.next_u32()?), |
| offset: Id(reader.next_u32()?), |
| count: Id(reader.next_u32()?), |
| }, |
| 203u16 => Self::BitFieldUExtract { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| base: Id(reader.next_u32()?), |
| offset: Id(reader.next_u32()?), |
| count: Id(reader.next_u32()?), |
| }, |
| 204u16 => Self::BitReverse { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| base: Id(reader.next_u32()?), |
| }, |
| 205u16 => Self::BitCount { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| base: Id(reader.next_u32()?), |
| }, |
| 207u16 => Self::DPdx { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| p: Id(reader.next_u32()?), |
| }, |
| 208u16 => Self::DPdy { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| p: Id(reader.next_u32()?), |
| }, |
| 209u16 => Self::Fwidth { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| p: Id(reader.next_u32()?), |
| }, |
| 210u16 => Self::DPdxFine { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| p: Id(reader.next_u32()?), |
| }, |
| 211u16 => Self::DPdyFine { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| p: Id(reader.next_u32()?), |
| }, |
| 212u16 => Self::FwidthFine { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| p: Id(reader.next_u32()?), |
| }, |
| 213u16 => Self::DPdxCoarse { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| p: Id(reader.next_u32()?), |
| }, |
| 214u16 => Self::DPdyCoarse { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| p: Id(reader.next_u32()?), |
| }, |
| 215u16 => Self::FwidthCoarse { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| p: Id(reader.next_u32()?), |
| }, |
| 218u16 => Self::EmitVertex, |
| 219u16 => Self::EndPrimitive, |
| 220u16 => Self::EmitStreamVertex { stream: Id(reader.next_u32()?) }, |
| 221u16 => Self::EndStreamPrimitive { stream: Id(reader.next_u32()?) }, |
| 224u16 => Self::ControlBarrier { |
| execution: Id(reader.next_u32()?), |
| memory: Id(reader.next_u32()?), |
| semantics: Id(reader.next_u32()?), |
| }, |
| 225u16 => Self::MemoryBarrier { |
| memory: Id(reader.next_u32()?), |
| semantics: Id(reader.next_u32()?), |
| }, |
| 227u16 => Self::AtomicLoad { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| pointer: Id(reader.next_u32()?), |
| memory: Id(reader.next_u32()?), |
| semantics: Id(reader.next_u32()?), |
| }, |
| 228u16 => Self::AtomicStore { |
| pointer: Id(reader.next_u32()?), |
| memory: Id(reader.next_u32()?), |
| semantics: Id(reader.next_u32()?), |
| value: Id(reader.next_u32()?), |
| }, |
| 229u16 => Self::AtomicExchange { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| pointer: Id(reader.next_u32()?), |
| memory: Id(reader.next_u32()?), |
| semantics: Id(reader.next_u32()?), |
| value: Id(reader.next_u32()?), |
| }, |
| 230u16 => Self::AtomicCompareExchange { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| pointer: Id(reader.next_u32()?), |
| memory: Id(reader.next_u32()?), |
| equal: Id(reader.next_u32()?), |
| unequal: Id(reader.next_u32()?), |
| value: Id(reader.next_u32()?), |
| comparator: Id(reader.next_u32()?), |
| }, |
| 231u16 => Self::AtomicCompareExchangeWeak { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| pointer: Id(reader.next_u32()?), |
| memory: Id(reader.next_u32()?), |
| equal: Id(reader.next_u32()?), |
| unequal: Id(reader.next_u32()?), |
| value: Id(reader.next_u32()?), |
| comparator: Id(reader.next_u32()?), |
| }, |
| 232u16 => Self::AtomicIIncrement { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| pointer: Id(reader.next_u32()?), |
| memory: Id(reader.next_u32()?), |
| semantics: Id(reader.next_u32()?), |
| }, |
| 233u16 => Self::AtomicIDecrement { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| pointer: Id(reader.next_u32()?), |
| memory: Id(reader.next_u32()?), |
| semantics: Id(reader.next_u32()?), |
| }, |
| 234u16 => Self::AtomicIAdd { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| pointer: Id(reader.next_u32()?), |
| memory: Id(reader.next_u32()?), |
| semantics: Id(reader.next_u32()?), |
| value: Id(reader.next_u32()?), |
| }, |
| 235u16 => Self::AtomicISub { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| pointer: Id(reader.next_u32()?), |
| memory: Id(reader.next_u32()?), |
| semantics: Id(reader.next_u32()?), |
| value: Id(reader.next_u32()?), |
| }, |
| 236u16 => Self::AtomicSMin { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| pointer: Id(reader.next_u32()?), |
| memory: Id(reader.next_u32()?), |
| semantics: Id(reader.next_u32()?), |
| value: Id(reader.next_u32()?), |
| }, |
| 237u16 => Self::AtomicUMin { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| pointer: Id(reader.next_u32()?), |
| memory: Id(reader.next_u32()?), |
| semantics: Id(reader.next_u32()?), |
| value: Id(reader.next_u32()?), |
| }, |
| 238u16 => Self::AtomicSMax { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| pointer: Id(reader.next_u32()?), |
| memory: Id(reader.next_u32()?), |
| semantics: Id(reader.next_u32()?), |
| value: Id(reader.next_u32()?), |
| }, |
| 239u16 => Self::AtomicUMax { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| pointer: Id(reader.next_u32()?), |
| memory: Id(reader.next_u32()?), |
| semantics: Id(reader.next_u32()?), |
| value: Id(reader.next_u32()?), |
| }, |
| 240u16 => Self::AtomicAnd { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| pointer: Id(reader.next_u32()?), |
| memory: Id(reader.next_u32()?), |
| semantics: Id(reader.next_u32()?), |
| value: Id(reader.next_u32()?), |
| }, |
| 241u16 => Self::AtomicOr { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| pointer: Id(reader.next_u32()?), |
| memory: Id(reader.next_u32()?), |
| semantics: Id(reader.next_u32()?), |
| value: Id(reader.next_u32()?), |
| }, |
| 242u16 => Self::AtomicXor { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| pointer: Id(reader.next_u32()?), |
| memory: Id(reader.next_u32()?), |
| semantics: Id(reader.next_u32()?), |
| value: Id(reader.next_u32()?), |
| }, |
| 245u16 => Self::Phi { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| variable_parent: { |
| let mut vec = Vec::new(); |
| while !reader.is_empty() { |
| vec.push((Id(reader.next_u32()?), Id(reader.next_u32()?))); |
| } |
| vec |
| }, |
| }, |
| 246u16 => Self::LoopMerge { |
| merge_block: Id(reader.next_u32()?), |
| continue_target: Id(reader.next_u32()?), |
| loop_control: LoopControl::parse(reader)?, |
| }, |
| 247u16 => Self::SelectionMerge { |
| merge_block: Id(reader.next_u32()?), |
| selection_control: SelectionControl::parse(reader)?, |
| }, |
| 248u16 => Self::Label { result_id: Id(reader.next_u32()?) }, |
| 249u16 => Self::Branch { target_label: Id(reader.next_u32()?) }, |
| 250u16 => Self::BranchConditional { |
| condition: Id(reader.next_u32()?), |
| true_label: Id(reader.next_u32()?), |
| false_label: Id(reader.next_u32()?), |
| branch_weights: { |
| let mut vec = Vec::new(); |
| while !reader.is_empty() { |
| vec.push(reader.next_u32()?); |
| } |
| vec |
| }, |
| }, |
| 251u16 => Self::Switch { |
| selector: Id(reader.next_u32()?), |
| default: Id(reader.next_u32()?), |
| target: { |
| let mut vec = Vec::new(); |
| while !reader.is_empty() { |
| vec.push((reader.next_u32()?, Id(reader.next_u32()?))); |
| } |
| vec |
| }, |
| }, |
| 252u16 => Self::Kill, |
| 253u16 => Self::Return, |
| 254u16 => Self::ReturnValue { value: Id(reader.next_u32()?) }, |
| 255u16 => Self::Unreachable, |
| 256u16 => { |
| Self::LifetimeStart { pointer: Id(reader.next_u32()?), size: reader.next_u32()? } |
| } |
| 257u16 => { |
| Self::LifetimeStop { pointer: Id(reader.next_u32()?), size: reader.next_u32()? } |
| } |
| 259u16 => Self::GroupAsyncCopy { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| destination: Id(reader.next_u32()?), |
| source: Id(reader.next_u32()?), |
| num_elements: Id(reader.next_u32()?), |
| stride: Id(reader.next_u32()?), |
| event: Id(reader.next_u32()?), |
| }, |
| 260u16 => Self::GroupWaitEvents { |
| execution: Id(reader.next_u32()?), |
| num_events: Id(reader.next_u32()?), |
| events_list: Id(reader.next_u32()?), |
| }, |
| 261u16 => Self::GroupAll { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| predicate: Id(reader.next_u32()?), |
| }, |
| 262u16 => Self::GroupAny { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| predicate: Id(reader.next_u32()?), |
| }, |
| 263u16 => Self::GroupBroadcast { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| value: Id(reader.next_u32()?), |
| local_id: Id(reader.next_u32()?), |
| }, |
| 264u16 => Self::GroupIAdd { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| operation: GroupOperation::parse(reader)?, |
| x: Id(reader.next_u32()?), |
| }, |
| 265u16 => Self::GroupFAdd { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| operation: GroupOperation::parse(reader)?, |
| x: Id(reader.next_u32()?), |
| }, |
| 266u16 => Self::GroupFMin { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| operation: GroupOperation::parse(reader)?, |
| x: Id(reader.next_u32()?), |
| }, |
| 267u16 => Self::GroupUMin { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| operation: GroupOperation::parse(reader)?, |
| x: Id(reader.next_u32()?), |
| }, |
| 268u16 => Self::GroupSMin { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| operation: GroupOperation::parse(reader)?, |
| x: Id(reader.next_u32()?), |
| }, |
| 269u16 => Self::GroupFMax { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| operation: GroupOperation::parse(reader)?, |
| x: Id(reader.next_u32()?), |
| }, |
| 270u16 => Self::GroupUMax { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| operation: GroupOperation::parse(reader)?, |
| x: Id(reader.next_u32()?), |
| }, |
| 271u16 => Self::GroupSMax { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| operation: GroupOperation::parse(reader)?, |
| x: Id(reader.next_u32()?), |
| }, |
| 274u16 => Self::ReadPipe { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| pipe: Id(reader.next_u32()?), |
| pointer: Id(reader.next_u32()?), |
| packet_size: Id(reader.next_u32()?), |
| packet_alignment: Id(reader.next_u32()?), |
| }, |
| 275u16 => Self::WritePipe { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| pipe: Id(reader.next_u32()?), |
| pointer: Id(reader.next_u32()?), |
| packet_size: Id(reader.next_u32()?), |
| packet_alignment: Id(reader.next_u32()?), |
| }, |
| 276u16 => Self::ReservedReadPipe { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| pipe: Id(reader.next_u32()?), |
| reserve_id: Id(reader.next_u32()?), |
| index: Id(reader.next_u32()?), |
| pointer: Id(reader.next_u32()?), |
| packet_size: Id(reader.next_u32()?), |
| packet_alignment: Id(reader.next_u32()?), |
| }, |
| 277u16 => Self::ReservedWritePipe { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| pipe: Id(reader.next_u32()?), |
| reserve_id: Id(reader.next_u32()?), |
| index: Id(reader.next_u32()?), |
| pointer: Id(reader.next_u32()?), |
| packet_size: Id(reader.next_u32()?), |
| packet_alignment: Id(reader.next_u32()?), |
| }, |
| 278u16 => Self::ReserveReadPipePackets { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| pipe: Id(reader.next_u32()?), |
| num_packets: Id(reader.next_u32()?), |
| packet_size: Id(reader.next_u32()?), |
| packet_alignment: Id(reader.next_u32()?), |
| }, |
| 279u16 => Self::ReserveWritePipePackets { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| pipe: Id(reader.next_u32()?), |
| num_packets: Id(reader.next_u32()?), |
| packet_size: Id(reader.next_u32()?), |
| packet_alignment: Id(reader.next_u32()?), |
| }, |
| 280u16 => Self::CommitReadPipe { |
| pipe: Id(reader.next_u32()?), |
| reserve_id: Id(reader.next_u32()?), |
| packet_size: Id(reader.next_u32()?), |
| packet_alignment: Id(reader.next_u32()?), |
| }, |
| 281u16 => Self::CommitWritePipe { |
| pipe: Id(reader.next_u32()?), |
| reserve_id: Id(reader.next_u32()?), |
| packet_size: Id(reader.next_u32()?), |
| packet_alignment: Id(reader.next_u32()?), |
| }, |
| 282u16 => Self::IsValidReserveId { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| reserve_id: Id(reader.next_u32()?), |
| }, |
| 283u16 => Self::GetNumPipePackets { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| pipe: Id(reader.next_u32()?), |
| packet_size: Id(reader.next_u32()?), |
| packet_alignment: Id(reader.next_u32()?), |
| }, |
| 284u16 => Self::GetMaxPipePackets { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| pipe: Id(reader.next_u32()?), |
| packet_size: Id(reader.next_u32()?), |
| packet_alignment: Id(reader.next_u32()?), |
| }, |
| 285u16 => Self::GroupReserveReadPipePackets { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| pipe: Id(reader.next_u32()?), |
| num_packets: Id(reader.next_u32()?), |
| packet_size: Id(reader.next_u32()?), |
| packet_alignment: Id(reader.next_u32()?), |
| }, |
| 286u16 => Self::GroupReserveWritePipePackets { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| pipe: Id(reader.next_u32()?), |
| num_packets: Id(reader.next_u32()?), |
| packet_size: Id(reader.next_u32()?), |
| packet_alignment: Id(reader.next_u32()?), |
| }, |
| 287u16 => Self::GroupCommitReadPipe { |
| execution: Id(reader.next_u32()?), |
| pipe: Id(reader.next_u32()?), |
| reserve_id: Id(reader.next_u32()?), |
| packet_size: Id(reader.next_u32()?), |
| packet_alignment: Id(reader.next_u32()?), |
| }, |
| 288u16 => Self::GroupCommitWritePipe { |
| execution: Id(reader.next_u32()?), |
| pipe: Id(reader.next_u32()?), |
| reserve_id: Id(reader.next_u32()?), |
| packet_size: Id(reader.next_u32()?), |
| packet_alignment: Id(reader.next_u32()?), |
| }, |
| 291u16 => Self::EnqueueMarker { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| queue: Id(reader.next_u32()?), |
| num_events: Id(reader.next_u32()?), |
| wait_events: Id(reader.next_u32()?), |
| ret_event: Id(reader.next_u32()?), |
| }, |
| 292u16 => Self::EnqueueKernel { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| queue: Id(reader.next_u32()?), |
| flags: Id(reader.next_u32()?), |
| nd_range: Id(reader.next_u32()?), |
| num_events: Id(reader.next_u32()?), |
| wait_events: Id(reader.next_u32()?), |
| ret_event: Id(reader.next_u32()?), |
| invoke: Id(reader.next_u32()?), |
| param: Id(reader.next_u32()?), |
| param_size: Id(reader.next_u32()?), |
| param_align: Id(reader.next_u32()?), |
| local_size: { |
| let mut vec = Vec::new(); |
| while !reader.is_empty() { |
| vec.push(Id(reader.next_u32()?)); |
| } |
| vec |
| }, |
| }, |
| 293u16 => Self::GetKernelNDrangeSubGroupCount { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| nd_range: Id(reader.next_u32()?), |
| invoke: Id(reader.next_u32()?), |
| param: Id(reader.next_u32()?), |
| param_size: Id(reader.next_u32()?), |
| param_align: Id(reader.next_u32()?), |
| }, |
| 294u16 => Self::GetKernelNDrangeMaxSubGroupSize { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| nd_range: Id(reader.next_u32()?), |
| invoke: Id(reader.next_u32()?), |
| param: Id(reader.next_u32()?), |
| param_size: Id(reader.next_u32()?), |
| param_align: Id(reader.next_u32()?), |
| }, |
| 295u16 => Self::GetKernelWorkGroupSize { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| invoke: Id(reader.next_u32()?), |
| param: Id(reader.next_u32()?), |
| param_size: Id(reader.next_u32()?), |
| param_align: Id(reader.next_u32()?), |
| }, |
| 296u16 => Self::GetKernelPreferredWorkGroupSizeMultiple { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| invoke: Id(reader.next_u32()?), |
| param: Id(reader.next_u32()?), |
| param_size: Id(reader.next_u32()?), |
| param_align: Id(reader.next_u32()?), |
| }, |
| 297u16 => Self::RetainEvent { event: Id(reader.next_u32()?) }, |
| 298u16 => Self::ReleaseEvent { event: Id(reader.next_u32()?) }, |
| 299u16 => Self::CreateUserEvent { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| }, |
| 300u16 => Self::IsValidEvent { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| event: Id(reader.next_u32()?), |
| }, |
| 301u16 => Self::SetUserEventStatus { |
| event: Id(reader.next_u32()?), |
| status: Id(reader.next_u32()?), |
| }, |
| 302u16 => Self::CaptureEventProfilingInfo { |
| event: Id(reader.next_u32()?), |
| profiling_info: Id(reader.next_u32()?), |
| value: Id(reader.next_u32()?), |
| }, |
| 303u16 => Self::GetDefaultQueue { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| }, |
| 304u16 => Self::BuildNDRange { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| global_work_size: Id(reader.next_u32()?), |
| local_work_size: Id(reader.next_u32()?), |
| global_work_offset: Id(reader.next_u32()?), |
| }, |
| 305u16 => Self::ImageSparseSampleImplicitLod { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| sampled_image: Id(reader.next_u32()?), |
| coordinate: Id(reader.next_u32()?), |
| image_operands: if !reader.is_empty() { |
| Some(ImageOperands::parse(reader)?) |
| } else { |
| None |
| }, |
| }, |
| 306u16 => Self::ImageSparseSampleExplicitLod { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| sampled_image: Id(reader.next_u32()?), |
| coordinate: Id(reader.next_u32()?), |
| image_operands: ImageOperands::parse(reader)?, |
| }, |
| 307u16 => Self::ImageSparseSampleDrefImplicitLod { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| sampled_image: Id(reader.next_u32()?), |
| coordinate: Id(reader.next_u32()?), |
| dref: Id(reader.next_u32()?), |
| image_operands: if !reader.is_empty() { |
| Some(ImageOperands::parse(reader)?) |
| } else { |
| None |
| }, |
| }, |
| 308u16 => Self::ImageSparseSampleDrefExplicitLod { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| sampled_image: Id(reader.next_u32()?), |
| coordinate: Id(reader.next_u32()?), |
| dref: Id(reader.next_u32()?), |
| image_operands: ImageOperands::parse(reader)?, |
| }, |
| 309u16 => Self::ImageSparseSampleProjImplicitLod { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| sampled_image: Id(reader.next_u32()?), |
| coordinate: Id(reader.next_u32()?), |
| image_operands: if !reader.is_empty() { |
| Some(ImageOperands::parse(reader)?) |
| } else { |
| None |
| }, |
| }, |
| 310u16 => Self::ImageSparseSampleProjExplicitLod { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| sampled_image: Id(reader.next_u32()?), |
| coordinate: Id(reader.next_u32()?), |
| image_operands: ImageOperands::parse(reader)?, |
| }, |
| 311u16 => Self::ImageSparseSampleProjDrefImplicitLod { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| sampled_image: Id(reader.next_u32()?), |
| coordinate: Id(reader.next_u32()?), |
| dref: Id(reader.next_u32()?), |
| image_operands: if !reader.is_empty() { |
| Some(ImageOperands::parse(reader)?) |
| } else { |
| None |
| }, |
| }, |
| 312u16 => Self::ImageSparseSampleProjDrefExplicitLod { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| sampled_image: Id(reader.next_u32()?), |
| coordinate: Id(reader.next_u32()?), |
| dref: Id(reader.next_u32()?), |
| image_operands: ImageOperands::parse(reader)?, |
| }, |
| 313u16 => Self::ImageSparseFetch { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| image: Id(reader.next_u32()?), |
| coordinate: Id(reader.next_u32()?), |
| image_operands: if !reader.is_empty() { |
| Some(ImageOperands::parse(reader)?) |
| } else { |
| None |
| }, |
| }, |
| 314u16 => Self::ImageSparseGather { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| sampled_image: Id(reader.next_u32()?), |
| coordinate: Id(reader.next_u32()?), |
| component: Id(reader.next_u32()?), |
| image_operands: if !reader.is_empty() { |
| Some(ImageOperands::parse(reader)?) |
| } else { |
| None |
| }, |
| }, |
| 315u16 => Self::ImageSparseDrefGather { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| sampled_image: Id(reader.next_u32()?), |
| coordinate: Id(reader.next_u32()?), |
| dref: Id(reader.next_u32()?), |
| image_operands: if !reader.is_empty() { |
| Some(ImageOperands::parse(reader)?) |
| } else { |
| None |
| }, |
| }, |
| 316u16 => Self::ImageSparseTexelsResident { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| resident_code: Id(reader.next_u32()?), |
| }, |
| 317u16 => Self::NoLine, |
| 318u16 => Self::AtomicFlagTestAndSet { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| pointer: Id(reader.next_u32()?), |
| memory: Id(reader.next_u32()?), |
| semantics: Id(reader.next_u32()?), |
| }, |
| 319u16 => Self::AtomicFlagClear { |
| pointer: Id(reader.next_u32()?), |
| memory: Id(reader.next_u32()?), |
| semantics: Id(reader.next_u32()?), |
| }, |
| 320u16 => Self::ImageSparseRead { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| image: Id(reader.next_u32()?), |
| coordinate: Id(reader.next_u32()?), |
| image_operands: if !reader.is_empty() { |
| Some(ImageOperands::parse(reader)?) |
| } else { |
| None |
| }, |
| }, |
| 321u16 => Self::SizeOf { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| pointer: Id(reader.next_u32()?), |
| }, |
| 322u16 => Self::TypePipeStorage { result_id: Id(reader.next_u32()?) }, |
| 323u16 => Self::ConstantPipeStorage { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| packet_size: reader.next_u32()?, |
| packet_alignment: reader.next_u32()?, |
| capacity: reader.next_u32()?, |
| }, |
| 324u16 => Self::CreatePipeFromPipeStorage { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| pipe_storage: Id(reader.next_u32()?), |
| }, |
| 325u16 => Self::GetKernelLocalSizeForSubgroupCount { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| subgroup_count: Id(reader.next_u32()?), |
| invoke: Id(reader.next_u32()?), |
| param: Id(reader.next_u32()?), |
| param_size: Id(reader.next_u32()?), |
| param_align: Id(reader.next_u32()?), |
| }, |
| 326u16 => Self::GetKernelMaxNumSubgroups { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| invoke: Id(reader.next_u32()?), |
| param: Id(reader.next_u32()?), |
| param_size: Id(reader.next_u32()?), |
| param_align: Id(reader.next_u32()?), |
| }, |
| 327u16 => Self::TypeNamedBarrier { result_id: Id(reader.next_u32()?) }, |
| 328u16 => Self::NamedBarrierInitialize { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| subgroup_count: Id(reader.next_u32()?), |
| }, |
| 329u16 => Self::MemoryNamedBarrier { |
| named_barrier: Id(reader.next_u32()?), |
| memory: Id(reader.next_u32()?), |
| semantics: Id(reader.next_u32()?), |
| }, |
| 330u16 => Self::ModuleProcessed { process: reader.next_string()? }, |
| 331u16 => Self::ExecutionModeId { |
| entry_point: Id(reader.next_u32()?), |
| mode: ExecutionMode::parse(reader)?, |
| }, |
| 332u16 => Self::DecorateId { |
| target: Id(reader.next_u32()?), |
| decoration: Decoration::parse(reader)?, |
| }, |
| 333u16 => Self::GroupNonUniformElect { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| }, |
| 334u16 => Self::GroupNonUniformAll { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| predicate: Id(reader.next_u32()?), |
| }, |
| 335u16 => Self::GroupNonUniformAny { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| predicate: Id(reader.next_u32()?), |
| }, |
| 336u16 => Self::GroupNonUniformAllEqual { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| value: Id(reader.next_u32()?), |
| }, |
| 337u16 => Self::GroupNonUniformBroadcast { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| value: Id(reader.next_u32()?), |
| id: Id(reader.next_u32()?), |
| }, |
| 338u16 => Self::GroupNonUniformBroadcastFirst { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| value: Id(reader.next_u32()?), |
| }, |
| 339u16 => Self::GroupNonUniformBallot { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| predicate: Id(reader.next_u32()?), |
| }, |
| 340u16 => Self::GroupNonUniformInverseBallot { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| value: Id(reader.next_u32()?), |
| }, |
| 341u16 => Self::GroupNonUniformBallotBitExtract { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| value: Id(reader.next_u32()?), |
| index: Id(reader.next_u32()?), |
| }, |
| 342u16 => Self::GroupNonUniformBallotBitCount { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| operation: GroupOperation::parse(reader)?, |
| value: Id(reader.next_u32()?), |
| }, |
| 343u16 => Self::GroupNonUniformBallotFindLSB { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| value: Id(reader.next_u32()?), |
| }, |
| 344u16 => Self::GroupNonUniformBallotFindMSB { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| value: Id(reader.next_u32()?), |
| }, |
| 345u16 => Self::GroupNonUniformShuffle { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| value: Id(reader.next_u32()?), |
| id: Id(reader.next_u32()?), |
| }, |
| 346u16 => Self::GroupNonUniformShuffleXor { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| value: Id(reader.next_u32()?), |
| mask: Id(reader.next_u32()?), |
| }, |
| 347u16 => Self::GroupNonUniformShuffleUp { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| value: Id(reader.next_u32()?), |
| delta: Id(reader.next_u32()?), |
| }, |
| 348u16 => Self::GroupNonUniformShuffleDown { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| value: Id(reader.next_u32()?), |
| delta: Id(reader.next_u32()?), |
| }, |
| 349u16 => Self::GroupNonUniformIAdd { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| operation: GroupOperation::parse(reader)?, |
| value: Id(reader.next_u32()?), |
| cluster_size: if !reader.is_empty() { Some(Id(reader.next_u32()?)) } else { None }, |
| }, |
| 350u16 => Self::GroupNonUniformFAdd { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| operation: GroupOperation::parse(reader)?, |
| value: Id(reader.next_u32()?), |
| cluster_size: if !reader.is_empty() { Some(Id(reader.next_u32()?)) } else { None }, |
| }, |
| 351u16 => Self::GroupNonUniformIMul { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| operation: GroupOperation::parse(reader)?, |
| value: Id(reader.next_u32()?), |
| cluster_size: if !reader.is_empty() { Some(Id(reader.next_u32()?)) } else { None }, |
| }, |
| 352u16 => Self::GroupNonUniformFMul { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| operation: GroupOperation::parse(reader)?, |
| value: Id(reader.next_u32()?), |
| cluster_size: if !reader.is_empty() { Some(Id(reader.next_u32()?)) } else { None }, |
| }, |
| 353u16 => Self::GroupNonUniformSMin { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| operation: GroupOperation::parse(reader)?, |
| value: Id(reader.next_u32()?), |
| cluster_size: if !reader.is_empty() { Some(Id(reader.next_u32()?)) } else { None }, |
| }, |
| 354u16 => Self::GroupNonUniformUMin { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| operation: GroupOperation::parse(reader)?, |
| value: Id(reader.next_u32()?), |
| cluster_size: if !reader.is_empty() { Some(Id(reader.next_u32()?)) } else { None }, |
| }, |
| 355u16 => Self::GroupNonUniformFMin { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| operation: GroupOperation::parse(reader)?, |
| value: Id(reader.next_u32()?), |
| cluster_size: if !reader.is_empty() { Some(Id(reader.next_u32()?)) } else { None }, |
| }, |
| 356u16 => Self::GroupNonUniformSMax { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| operation: GroupOperation::parse(reader)?, |
| value: Id(reader.next_u32()?), |
| cluster_size: if !reader.is_empty() { Some(Id(reader.next_u32()?)) } else { None }, |
| }, |
| 357u16 => Self::GroupNonUniformUMax { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| operation: GroupOperation::parse(reader)?, |
| value: Id(reader.next_u32()?), |
| cluster_size: if !reader.is_empty() { Some(Id(reader.next_u32()?)) } else { None }, |
| }, |
| 358u16 => Self::GroupNonUniformFMax { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| operation: GroupOperation::parse(reader)?, |
| value: Id(reader.next_u32()?), |
| cluster_size: if !reader.is_empty() { Some(Id(reader.next_u32()?)) } else { None }, |
| }, |
| 359u16 => Self::GroupNonUniformBitwiseAnd { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| operation: GroupOperation::parse(reader)?, |
| value: Id(reader.next_u32()?), |
| cluster_size: if !reader.is_empty() { Some(Id(reader.next_u32()?)) } else { None }, |
| }, |
| 360u16 => Self::GroupNonUniformBitwiseOr { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| operation: GroupOperation::parse(reader)?, |
| value: Id(reader.next_u32()?), |
| cluster_size: if !reader.is_empty() { Some(Id(reader.next_u32()?)) } else { None }, |
| }, |
| 361u16 => Self::GroupNonUniformBitwiseXor { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| operation: GroupOperation::parse(reader)?, |
| value: Id(reader.next_u32()?), |
| cluster_size: if !reader.is_empty() { Some(Id(reader.next_u32()?)) } else { None }, |
| }, |
| 362u16 => Self::GroupNonUniformLogicalAnd { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| operation: GroupOperation::parse(reader)?, |
| value: Id(reader.next_u32()?), |
| cluster_size: if !reader.is_empty() { Some(Id(reader.next_u32()?)) } else { None }, |
| }, |
| 363u16 => Self::GroupNonUniformLogicalOr { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| operation: GroupOperation::parse(reader)?, |
| value: Id(reader.next_u32()?), |
| cluster_size: if !reader.is_empty() { Some(Id(reader.next_u32()?)) } else { None }, |
| }, |
| 364u16 => Self::GroupNonUniformLogicalXor { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| operation: GroupOperation::parse(reader)?, |
| value: Id(reader.next_u32()?), |
| cluster_size: if !reader.is_empty() { Some(Id(reader.next_u32()?)) } else { None }, |
| }, |
| 365u16 => Self::GroupNonUniformQuadBroadcast { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| value: Id(reader.next_u32()?), |
| index: Id(reader.next_u32()?), |
| }, |
| 366u16 => Self::GroupNonUniformQuadSwap { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| value: Id(reader.next_u32()?), |
| direction: Id(reader.next_u32()?), |
| }, |
| 400u16 => Self::CopyLogical { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand: Id(reader.next_u32()?), |
| }, |
| 401u16 => Self::PtrEqual { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 402u16 => Self::PtrNotEqual { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 403u16 => Self::PtrDiff { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 4416u16 => Self::TerminateInvocation, |
| 4421u16 => Self::SubgroupBallotKHR { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| predicate: Id(reader.next_u32()?), |
| }, |
| 4422u16 => Self::SubgroupFirstInvocationKHR { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| value: Id(reader.next_u32()?), |
| }, |
| 4428u16 => Self::SubgroupAllKHR { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| predicate: Id(reader.next_u32()?), |
| }, |
| 4429u16 => Self::SubgroupAnyKHR { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| predicate: Id(reader.next_u32()?), |
| }, |
| 4430u16 => Self::SubgroupAllEqualKHR { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| predicate: Id(reader.next_u32()?), |
| }, |
| 4432u16 => Self::SubgroupReadInvocationKHR { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| value: Id(reader.next_u32()?), |
| index: Id(reader.next_u32()?), |
| }, |
| 4445u16 => Self::TraceRayKHR { |
| accel: Id(reader.next_u32()?), |
| ray_flags: Id(reader.next_u32()?), |
| cull_mask: Id(reader.next_u32()?), |
| sbt_offset: Id(reader.next_u32()?), |
| sbt_stride: Id(reader.next_u32()?), |
| miss_index: Id(reader.next_u32()?), |
| ray_origin: Id(reader.next_u32()?), |
| ray_tmin: Id(reader.next_u32()?), |
| ray_direction: Id(reader.next_u32()?), |
| ray_tmax: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 4446u16 => Self::ExecuteCallableKHR { |
| sbt_index: Id(reader.next_u32()?), |
| callable_data: Id(reader.next_u32()?), |
| }, |
| 4447u16 => Self::ConvertUToAccelerationStructureKHR { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| accel: Id(reader.next_u32()?), |
| }, |
| 4448u16 => Self::IgnoreIntersectionKHR, |
| 4449u16 => Self::TerminateRayKHR, |
| 4450u16 => Self::SDot { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| vector_1: Id(reader.next_u32()?), |
| vector_2: Id(reader.next_u32()?), |
| packed_vector_format: if !reader.is_empty() { |
| Some(PackedVectorFormat::parse(reader)?) |
| } else { |
| None |
| }, |
| }, |
| 4451u16 => Self::UDot { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| vector_1: Id(reader.next_u32()?), |
| vector_2: Id(reader.next_u32()?), |
| packed_vector_format: if !reader.is_empty() { |
| Some(PackedVectorFormat::parse(reader)?) |
| } else { |
| None |
| }, |
| }, |
| 4452u16 => Self::SUDot { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| vector_1: Id(reader.next_u32()?), |
| vector_2: Id(reader.next_u32()?), |
| packed_vector_format: if !reader.is_empty() { |
| Some(PackedVectorFormat::parse(reader)?) |
| } else { |
| None |
| }, |
| }, |
| 4453u16 => Self::SDotAccSat { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| vector_1: Id(reader.next_u32()?), |
| vector_2: Id(reader.next_u32()?), |
| accumulator: Id(reader.next_u32()?), |
| packed_vector_format: if !reader.is_empty() { |
| Some(PackedVectorFormat::parse(reader)?) |
| } else { |
| None |
| }, |
| }, |
| 4454u16 => Self::UDotAccSat { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| vector_1: Id(reader.next_u32()?), |
| vector_2: Id(reader.next_u32()?), |
| accumulator: Id(reader.next_u32()?), |
| packed_vector_format: if !reader.is_empty() { |
| Some(PackedVectorFormat::parse(reader)?) |
| } else { |
| None |
| }, |
| }, |
| 4455u16 => Self::SUDotAccSat { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| vector_1: Id(reader.next_u32()?), |
| vector_2: Id(reader.next_u32()?), |
| accumulator: Id(reader.next_u32()?), |
| packed_vector_format: if !reader.is_empty() { |
| Some(PackedVectorFormat::parse(reader)?) |
| } else { |
| None |
| }, |
| }, |
| 4472u16 => Self::TypeRayQueryKHR { result_id: Id(reader.next_u32()?) }, |
| 4473u16 => Self::RayQueryInitializeKHR { |
| ray_query: Id(reader.next_u32()?), |
| accel: Id(reader.next_u32()?), |
| ray_flags: Id(reader.next_u32()?), |
| cull_mask: Id(reader.next_u32()?), |
| ray_origin: Id(reader.next_u32()?), |
| ray_t_min: Id(reader.next_u32()?), |
| ray_direction: Id(reader.next_u32()?), |
| ray_t_max: Id(reader.next_u32()?), |
| }, |
| 4474u16 => Self::RayQueryTerminateKHR { ray_query: Id(reader.next_u32()?) }, |
| 4475u16 => Self::RayQueryGenerateIntersectionKHR { |
| ray_query: Id(reader.next_u32()?), |
| hit_t: Id(reader.next_u32()?), |
| }, |
| 4476u16 => Self::RayQueryConfirmIntersectionKHR { ray_query: Id(reader.next_u32()?) }, |
| 4477u16 => Self::RayQueryProceedKHR { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| ray_query: Id(reader.next_u32()?), |
| }, |
| 4479u16 => Self::RayQueryGetIntersectionTypeKHR { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| ray_query: Id(reader.next_u32()?), |
| intersection: Id(reader.next_u32()?), |
| }, |
| 5000u16 => Self::GroupIAddNonUniformAMD { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| operation: GroupOperation::parse(reader)?, |
| x: Id(reader.next_u32()?), |
| }, |
| 5001u16 => Self::GroupFAddNonUniformAMD { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| operation: GroupOperation::parse(reader)?, |
| x: Id(reader.next_u32()?), |
| }, |
| 5002u16 => Self::GroupFMinNonUniformAMD { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| operation: GroupOperation::parse(reader)?, |
| x: Id(reader.next_u32()?), |
| }, |
| 5003u16 => Self::GroupUMinNonUniformAMD { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| operation: GroupOperation::parse(reader)?, |
| x: Id(reader.next_u32()?), |
| }, |
| 5004u16 => Self::GroupSMinNonUniformAMD { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| operation: GroupOperation::parse(reader)?, |
| x: Id(reader.next_u32()?), |
| }, |
| 5005u16 => Self::GroupFMaxNonUniformAMD { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| operation: GroupOperation::parse(reader)?, |
| x: Id(reader.next_u32()?), |
| }, |
| 5006u16 => Self::GroupUMaxNonUniformAMD { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| operation: GroupOperation::parse(reader)?, |
| x: Id(reader.next_u32()?), |
| }, |
| 5007u16 => Self::GroupSMaxNonUniformAMD { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| operation: GroupOperation::parse(reader)?, |
| x: Id(reader.next_u32()?), |
| }, |
| 5011u16 => Self::FragmentMaskFetchAMD { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| image: Id(reader.next_u32()?), |
| coordinate: Id(reader.next_u32()?), |
| }, |
| 5012u16 => Self::FragmentFetchAMD { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| image: Id(reader.next_u32()?), |
| coordinate: Id(reader.next_u32()?), |
| fragment_index: Id(reader.next_u32()?), |
| }, |
| 5056u16 => Self::ReadClockKHR { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| scope: Id(reader.next_u32()?), |
| }, |
| 5283u16 => Self::ImageSampleFootprintNV { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| sampled_image: Id(reader.next_u32()?), |
| coordinate: Id(reader.next_u32()?), |
| granularity: Id(reader.next_u32()?), |
| coarse: Id(reader.next_u32()?), |
| image_operands: if !reader.is_empty() { |
| Some(ImageOperands::parse(reader)?) |
| } else { |
| None |
| }, |
| }, |
| 5296u16 => Self::GroupNonUniformPartitionNV { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| value: Id(reader.next_u32()?), |
| }, |
| 5299u16 => Self::WritePackedPrimitiveIndices4x8NV { |
| index_offset: Id(reader.next_u32()?), |
| packed_indices: Id(reader.next_u32()?), |
| }, |
| 5334u16 => Self::ReportIntersectionKHR { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| hit: Id(reader.next_u32()?), |
| hit_kind: Id(reader.next_u32()?), |
| }, |
| 5335u16 => Self::IgnoreIntersectionNV, |
| 5336u16 => Self::TerminateRayNV, |
| 5337u16 => Self::TraceNV { |
| accel: Id(reader.next_u32()?), |
| ray_flags: Id(reader.next_u32()?), |
| cull_mask: Id(reader.next_u32()?), |
| sbt_offset: Id(reader.next_u32()?), |
| sbt_stride: Id(reader.next_u32()?), |
| miss_index: Id(reader.next_u32()?), |
| ray_origin: Id(reader.next_u32()?), |
| ray_tmin: Id(reader.next_u32()?), |
| ray_direction: Id(reader.next_u32()?), |
| ray_tmax: Id(reader.next_u32()?), |
| payload_id: Id(reader.next_u32()?), |
| }, |
| 5338u16 => Self::TraceMotionNV { |
| accel: Id(reader.next_u32()?), |
| ray_flags: Id(reader.next_u32()?), |
| cull_mask: Id(reader.next_u32()?), |
| sbt_offset: Id(reader.next_u32()?), |
| sbt_stride: Id(reader.next_u32()?), |
| miss_index: Id(reader.next_u32()?), |
| ray_origin: Id(reader.next_u32()?), |
| ray_tmin: Id(reader.next_u32()?), |
| ray_direction: Id(reader.next_u32()?), |
| ray_tmax: Id(reader.next_u32()?), |
| time: Id(reader.next_u32()?), |
| payload_id: Id(reader.next_u32()?), |
| }, |
| 5339u16 => Self::TraceRayMotionNV { |
| accel: Id(reader.next_u32()?), |
| ray_flags: Id(reader.next_u32()?), |
| cull_mask: Id(reader.next_u32()?), |
| sbt_offset: Id(reader.next_u32()?), |
| sbt_stride: Id(reader.next_u32()?), |
| miss_index: Id(reader.next_u32()?), |
| ray_origin: Id(reader.next_u32()?), |
| ray_tmin: Id(reader.next_u32()?), |
| ray_direction: Id(reader.next_u32()?), |
| ray_tmax: Id(reader.next_u32()?), |
| time: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5341u16 => Self::TypeAccelerationStructureKHR { result_id: Id(reader.next_u32()?) }, |
| 5344u16 => Self::ExecuteCallableNV { |
| sbt_index: Id(reader.next_u32()?), |
| callable_data_id: Id(reader.next_u32()?), |
| }, |
| 5358u16 => Self::TypeCooperativeMatrixNV { |
| result_id: Id(reader.next_u32()?), |
| component_type: Id(reader.next_u32()?), |
| execution: Id(reader.next_u32()?), |
| rows: Id(reader.next_u32()?), |
| columns: Id(reader.next_u32()?), |
| }, |
| 5359u16 => Self::CooperativeMatrixLoadNV { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| pointer: Id(reader.next_u32()?), |
| stride: Id(reader.next_u32()?), |
| column_major: Id(reader.next_u32()?), |
| memory_access: if !reader.is_empty() { |
| Some(MemoryAccess::parse(reader)?) |
| } else { |
| None |
| }, |
| }, |
| 5360u16 => Self::CooperativeMatrixStoreNV { |
| pointer: Id(reader.next_u32()?), |
| object: Id(reader.next_u32()?), |
| stride: Id(reader.next_u32()?), |
| column_major: Id(reader.next_u32()?), |
| memory_access: if !reader.is_empty() { |
| Some(MemoryAccess::parse(reader)?) |
| } else { |
| None |
| }, |
| }, |
| 5361u16 => Self::CooperativeMatrixMulAddNV { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| a: Id(reader.next_u32()?), |
| b: Id(reader.next_u32()?), |
| c: Id(reader.next_u32()?), |
| }, |
| 5362u16 => Self::CooperativeMatrixLengthNV { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| ty: Id(reader.next_u32()?), |
| }, |
| 5364u16 => Self::BeginInvocationInterlockEXT, |
| 5365u16 => Self::EndInvocationInterlockEXT, |
| 5380u16 => Self::DemoteToHelperInvocation, |
| 5381u16 => Self::IsHelperInvocationEXT { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| }, |
| 5391u16 => Self::ConvertUToImageNV { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand: Id(reader.next_u32()?), |
| }, |
| 5392u16 => Self::ConvertUToSamplerNV { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand: Id(reader.next_u32()?), |
| }, |
| 5393u16 => Self::ConvertImageToUNV { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand: Id(reader.next_u32()?), |
| }, |
| 5394u16 => Self::ConvertSamplerToUNV { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand: Id(reader.next_u32()?), |
| }, |
| 5395u16 => Self::ConvertUToSampledImageNV { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand: Id(reader.next_u32()?), |
| }, |
| 5396u16 => Self::ConvertSampledImageToUNV { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand: Id(reader.next_u32()?), |
| }, |
| 5397u16 => Self::SamplerImageAddressingModeNV { bit_width: reader.next_u32()? }, |
| 5571u16 => Self::SubgroupShuffleINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| data: Id(reader.next_u32()?), |
| invocation_id: Id(reader.next_u32()?), |
| }, |
| 5572u16 => Self::SubgroupShuffleDownINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| current: Id(reader.next_u32()?), |
| next: Id(reader.next_u32()?), |
| delta: Id(reader.next_u32()?), |
| }, |
| 5573u16 => Self::SubgroupShuffleUpINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| previous: Id(reader.next_u32()?), |
| current: Id(reader.next_u32()?), |
| delta: Id(reader.next_u32()?), |
| }, |
| 5574u16 => Self::SubgroupShuffleXorINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| data: Id(reader.next_u32()?), |
| value: Id(reader.next_u32()?), |
| }, |
| 5575u16 => Self::SubgroupBlockReadINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| ptr: Id(reader.next_u32()?), |
| }, |
| 5576u16 => Self::SubgroupBlockWriteINTEL { |
| ptr: Id(reader.next_u32()?), |
| data: Id(reader.next_u32()?), |
| }, |
| 5577u16 => Self::SubgroupImageBlockReadINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| image: Id(reader.next_u32()?), |
| coordinate: Id(reader.next_u32()?), |
| }, |
| 5578u16 => Self::SubgroupImageBlockWriteINTEL { |
| image: Id(reader.next_u32()?), |
| coordinate: Id(reader.next_u32()?), |
| data: Id(reader.next_u32()?), |
| }, |
| 5580u16 => Self::SubgroupImageMediaBlockReadINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| image: Id(reader.next_u32()?), |
| coordinate: Id(reader.next_u32()?), |
| width: Id(reader.next_u32()?), |
| height: Id(reader.next_u32()?), |
| }, |
| 5581u16 => Self::SubgroupImageMediaBlockWriteINTEL { |
| image: Id(reader.next_u32()?), |
| coordinate: Id(reader.next_u32()?), |
| width: Id(reader.next_u32()?), |
| height: Id(reader.next_u32()?), |
| data: Id(reader.next_u32()?), |
| }, |
| 5585u16 => Self::UCountLeadingZerosINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand: Id(reader.next_u32()?), |
| }, |
| 5586u16 => Self::UCountTrailingZerosINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand: Id(reader.next_u32()?), |
| }, |
| 5587u16 => Self::AbsISubINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 5588u16 => Self::AbsUSubINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 5589u16 => Self::IAddSatINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 5590u16 => Self::UAddSatINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 5591u16 => Self::IAverageINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 5592u16 => Self::UAverageINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 5593u16 => Self::IAverageRoundedINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 5594u16 => Self::UAverageRoundedINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 5595u16 => Self::ISubSatINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 5596u16 => Self::USubSatINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 5597u16 => Self::IMul32x16INTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 5598u16 => Self::UMul32x16INTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 5600u16 => Self::ConstantFunctionPointerINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| function: Id(reader.next_u32()?), |
| }, |
| 5601u16 => Self::FunctionPointerCallINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| operand1: { |
| let mut vec = Vec::new(); |
| while !reader.is_empty() { |
| vec.push(Id(reader.next_u32()?)); |
| } |
| vec |
| }, |
| }, |
| 5609u16 => Self::AsmTargetINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| asm_target: reader.next_string()?, |
| }, |
| 5610u16 => Self::AsmINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| asm_type: Id(reader.next_u32()?), |
| target: Id(reader.next_u32()?), |
| asm_instructions: reader.next_string()?, |
| constraints: reader.next_string()?, |
| }, |
| 5611u16 => Self::AsmCallINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| asm: Id(reader.next_u32()?), |
| argument_0: { |
| let mut vec = Vec::new(); |
| while !reader.is_empty() { |
| vec.push(Id(reader.next_u32()?)); |
| } |
| vec |
| }, |
| }, |
| 5614u16 => Self::AtomicFMinEXT { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| pointer: Id(reader.next_u32()?), |
| memory: Id(reader.next_u32()?), |
| semantics: Id(reader.next_u32()?), |
| value: Id(reader.next_u32()?), |
| }, |
| 5615u16 => Self::AtomicFMaxEXT { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| pointer: Id(reader.next_u32()?), |
| memory: Id(reader.next_u32()?), |
| semantics: Id(reader.next_u32()?), |
| value: Id(reader.next_u32()?), |
| }, |
| 5630u16 => Self::AssumeTrueKHR { condition: Id(reader.next_u32()?) }, |
| 5631u16 => Self::ExpectKHR { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| value: Id(reader.next_u32()?), |
| expected_value: Id(reader.next_u32()?), |
| }, |
| 5632u16 => Self::DecorateString { |
| target: Id(reader.next_u32()?), |
| decoration: Decoration::parse(reader)?, |
| }, |
| 5633u16 => Self::MemberDecorateString { |
| struct_type: Id(reader.next_u32()?), |
| member: reader.next_u32()?, |
| decoration: Decoration::parse(reader)?, |
| }, |
| 5699u16 => Self::VmeImageINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| image_type: Id(reader.next_u32()?), |
| sampler: Id(reader.next_u32()?), |
| }, |
| 5700u16 => Self::TypeVmeImageINTEL { |
| result_id: Id(reader.next_u32()?), |
| image_type: Id(reader.next_u32()?), |
| }, |
| 5701u16 => Self::TypeAvcImePayloadINTEL { result_id: Id(reader.next_u32()?) }, |
| 5702u16 => Self::TypeAvcRefPayloadINTEL { result_id: Id(reader.next_u32()?) }, |
| 5703u16 => Self::TypeAvcSicPayloadINTEL { result_id: Id(reader.next_u32()?) }, |
| 5704u16 => Self::TypeAvcMcePayloadINTEL { result_id: Id(reader.next_u32()?) }, |
| 5705u16 => Self::TypeAvcMceResultINTEL { result_id: Id(reader.next_u32()?) }, |
| 5706u16 => Self::TypeAvcImeResultINTEL { result_id: Id(reader.next_u32()?) }, |
| 5707u16 => Self::TypeAvcImeResultSingleReferenceStreamoutINTEL { |
| result_id: Id(reader.next_u32()?), |
| }, |
| 5708u16 => Self::TypeAvcImeResultDualReferenceStreamoutINTEL { |
| result_id: Id(reader.next_u32()?), |
| }, |
| 5709u16 => { |
| Self::TypeAvcImeSingleReferenceStreaminINTEL { result_id: Id(reader.next_u32()?) } |
| } |
| 5710u16 => { |
| Self::TypeAvcImeDualReferenceStreaminINTEL { result_id: Id(reader.next_u32()?) } |
| } |
| 5711u16 => Self::TypeAvcRefResultINTEL { result_id: Id(reader.next_u32()?) }, |
| 5712u16 => Self::TypeAvcSicResultINTEL { result_id: Id(reader.next_u32()?) }, |
| 5713u16 => Self::SubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| slice_type: Id(reader.next_u32()?), |
| qp: Id(reader.next_u32()?), |
| }, |
| 5714u16 => Self::SubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| reference_base_penalty: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5715u16 => Self::SubgroupAvcMceGetDefaultInterShapePenaltyINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| slice_type: Id(reader.next_u32()?), |
| qp: Id(reader.next_u32()?), |
| }, |
| 5716u16 => Self::SubgroupAvcMceSetInterShapePenaltyINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| packed_shape_penalty: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5717u16 => Self::SubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| slice_type: Id(reader.next_u32()?), |
| qp: Id(reader.next_u32()?), |
| }, |
| 5718u16 => Self::SubgroupAvcMceSetInterDirectionPenaltyINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| direction_cost: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5719u16 => Self::SubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| slice_type: Id(reader.next_u32()?), |
| qp: Id(reader.next_u32()?), |
| }, |
| 5720u16 => Self::SubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| slice_type: Id(reader.next_u32()?), |
| qp: Id(reader.next_u32()?), |
| }, |
| 5721u16 => Self::SubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| }, |
| 5722u16 => Self::SubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| }, |
| 5723u16 => Self::SubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| }, |
| 5724u16 => Self::SubgroupAvcMceSetMotionVectorCostFunctionINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| packed_cost_center_delta: Id(reader.next_u32()?), |
| packed_cost_table: Id(reader.next_u32()?), |
| cost_precision: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5725u16 => Self::SubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| slice_type: Id(reader.next_u32()?), |
| qp: Id(reader.next_u32()?), |
| }, |
| 5726u16 => Self::SubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| }, |
| 5727u16 => Self::SubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| }, |
| 5728u16 => Self::SubgroupAvcMceSetAcOnlyHaarINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5729u16 => Self::SubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| source_field_polarity: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5730u16 => Self::SubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| reference_field_polarity: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5731u16 => Self::SubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| forward_reference_field_polarity: Id(reader.next_u32()?), |
| backward_reference_field_polarity: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5732u16 => Self::SubgroupAvcMceConvertToImePayloadINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5733u16 => Self::SubgroupAvcMceConvertToImeResultINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5734u16 => Self::SubgroupAvcMceConvertToRefPayloadINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5735u16 => Self::SubgroupAvcMceConvertToRefResultINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5736u16 => Self::SubgroupAvcMceConvertToSicPayloadINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5737u16 => Self::SubgroupAvcMceConvertToSicResultINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5738u16 => Self::SubgroupAvcMceGetMotionVectorsINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5739u16 => Self::SubgroupAvcMceGetInterDistortionsINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5740u16 => Self::SubgroupAvcMceGetBestInterDistortionsINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5741u16 => Self::SubgroupAvcMceGetInterMajorShapeINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5742u16 => Self::SubgroupAvcMceGetInterMinorShapeINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5743u16 => Self::SubgroupAvcMceGetInterDirectionsINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5744u16 => Self::SubgroupAvcMceGetInterMotionVectorCountINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5745u16 => Self::SubgroupAvcMceGetInterReferenceIdsINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5746u16 => Self::SubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| packed_reference_ids: Id(reader.next_u32()?), |
| packed_reference_parameter_field_polarities: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5747u16 => Self::SubgroupAvcImeInitializeINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| src_coord: Id(reader.next_u32()?), |
| partition_mask: Id(reader.next_u32()?), |
| sad_adjustment: Id(reader.next_u32()?), |
| }, |
| 5748u16 => Self::SubgroupAvcImeSetSingleReferenceINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| ref_offset: Id(reader.next_u32()?), |
| search_window_config: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5749u16 => Self::SubgroupAvcImeSetDualReferenceINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| fwd_ref_offset: Id(reader.next_u32()?), |
| bwd_ref_offset: Id(reader.next_u32()?), |
| id_search_window_config: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5750u16 => Self::SubgroupAvcImeRefWindowSizeINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| search_window_config: Id(reader.next_u32()?), |
| dual_ref: Id(reader.next_u32()?), |
| }, |
| 5751u16 => Self::SubgroupAvcImeAdjustRefOffsetINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| ref_offset: Id(reader.next_u32()?), |
| src_coord: Id(reader.next_u32()?), |
| ref_window_size: Id(reader.next_u32()?), |
| image_size: Id(reader.next_u32()?), |
| }, |
| 5752u16 => Self::SubgroupAvcImeConvertToMcePayloadINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5753u16 => Self::SubgroupAvcImeSetMaxMotionVectorCountINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| max_motion_vector_count: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5754u16 => Self::SubgroupAvcImeSetUnidirectionalMixDisableINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5755u16 => Self::SubgroupAvcImeSetEarlySearchTerminationThresholdINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| threshold: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5756u16 => Self::SubgroupAvcImeSetWeightedSadINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| packed_sad_weights: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5757u16 => Self::SubgroupAvcImeEvaluateWithSingleReferenceINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| src_image: Id(reader.next_u32()?), |
| ref_image: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5758u16 => Self::SubgroupAvcImeEvaluateWithDualReferenceINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| src_image: Id(reader.next_u32()?), |
| fwd_ref_image: Id(reader.next_u32()?), |
| bwd_ref_image: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5759u16 => Self::SubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| src_image: Id(reader.next_u32()?), |
| ref_image: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| streamin_components: Id(reader.next_u32()?), |
| }, |
| 5760u16 => Self::SubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| src_image: Id(reader.next_u32()?), |
| fwd_ref_image: Id(reader.next_u32()?), |
| bwd_ref_image: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| streamin_components: Id(reader.next_u32()?), |
| }, |
| 5761u16 => Self::SubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| src_image: Id(reader.next_u32()?), |
| ref_image: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5762u16 => Self::SubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| src_image: Id(reader.next_u32()?), |
| fwd_ref_image: Id(reader.next_u32()?), |
| bwd_ref_image: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5763u16 => Self::SubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| src_image: Id(reader.next_u32()?), |
| ref_image: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| streamin_components: Id(reader.next_u32()?), |
| }, |
| 5764u16 => Self::SubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| src_image: Id(reader.next_u32()?), |
| fwd_ref_image: Id(reader.next_u32()?), |
| bwd_ref_image: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| streamin_components: Id(reader.next_u32()?), |
| }, |
| 5765u16 => Self::SubgroupAvcImeConvertToMceResultINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5766u16 => Self::SubgroupAvcImeGetSingleReferenceStreaminINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5767u16 => Self::SubgroupAvcImeGetDualReferenceStreaminINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5768u16 => Self::SubgroupAvcImeStripSingleReferenceStreamoutINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5769u16 => Self::SubgroupAvcImeStripDualReferenceStreamoutINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5770u16 => { |
| Self::SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| major_shape: Id(reader.next_u32()?), |
| } |
| } |
| 5771u16 => Self::SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| major_shape: Id(reader.next_u32()?), |
| }, |
| 5772u16 => Self::SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| major_shape: Id(reader.next_u32()?), |
| }, |
| 5773u16 => Self::SubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| major_shape: Id(reader.next_u32()?), |
| direction: Id(reader.next_u32()?), |
| }, |
| 5774u16 => Self::SubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| major_shape: Id(reader.next_u32()?), |
| direction: Id(reader.next_u32()?), |
| }, |
| 5775u16 => Self::SubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| major_shape: Id(reader.next_u32()?), |
| direction: Id(reader.next_u32()?), |
| }, |
| 5776u16 => Self::SubgroupAvcImeGetBorderReachedINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| image_select: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5777u16 => Self::SubgroupAvcImeGetTruncatedSearchIndicationINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5778u16 => Self::SubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5779u16 => Self::SubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5780u16 => Self::SubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5781u16 => Self::SubgroupAvcFmeInitializeINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| src_coord: Id(reader.next_u32()?), |
| motion_vectors: Id(reader.next_u32()?), |
| major_shapes: Id(reader.next_u32()?), |
| minor_shapes: Id(reader.next_u32()?), |
| direction: Id(reader.next_u32()?), |
| pixel_resolution: Id(reader.next_u32()?), |
| sad_adjustment: Id(reader.next_u32()?), |
| }, |
| 5782u16 => Self::SubgroupAvcBmeInitializeINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| src_coord: Id(reader.next_u32()?), |
| motion_vectors: Id(reader.next_u32()?), |
| major_shapes: Id(reader.next_u32()?), |
| minor_shapes: Id(reader.next_u32()?), |
| direction: Id(reader.next_u32()?), |
| pixel_resolution: Id(reader.next_u32()?), |
| bidirectional_weight: Id(reader.next_u32()?), |
| sad_adjustment: Id(reader.next_u32()?), |
| }, |
| 5783u16 => Self::SubgroupAvcRefConvertToMcePayloadINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5784u16 => Self::SubgroupAvcRefSetBidirectionalMixDisableINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5785u16 => Self::SubgroupAvcRefSetBilinearFilterEnableINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5786u16 => Self::SubgroupAvcRefEvaluateWithSingleReferenceINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| src_image: Id(reader.next_u32()?), |
| ref_image: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5787u16 => Self::SubgroupAvcRefEvaluateWithDualReferenceINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| src_image: Id(reader.next_u32()?), |
| fwd_ref_image: Id(reader.next_u32()?), |
| bwd_ref_image: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5788u16 => Self::SubgroupAvcRefEvaluateWithMultiReferenceINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| src_image: Id(reader.next_u32()?), |
| packed_reference_ids: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5789u16 => Self::SubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| src_image: Id(reader.next_u32()?), |
| packed_reference_ids: Id(reader.next_u32()?), |
| packed_reference_field_polarities: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5790u16 => Self::SubgroupAvcRefConvertToMceResultINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5791u16 => Self::SubgroupAvcSicInitializeINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| src_coord: Id(reader.next_u32()?), |
| }, |
| 5792u16 => Self::SubgroupAvcSicConfigureSkcINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| skip_block_partition_type: Id(reader.next_u32()?), |
| skip_motion_vector_mask: Id(reader.next_u32()?), |
| motion_vectors: Id(reader.next_u32()?), |
| bidirectional_weight: Id(reader.next_u32()?), |
| sad_adjustment: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5793u16 => Self::SubgroupAvcSicConfigureIpeLumaINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| luma_intra_partition_mask: Id(reader.next_u32()?), |
| intra_neighbour_availabilty: Id(reader.next_u32()?), |
| left_edge_luma_pixels: Id(reader.next_u32()?), |
| upper_left_corner_luma_pixel: Id(reader.next_u32()?), |
| upper_edge_luma_pixels: Id(reader.next_u32()?), |
| upper_right_edge_luma_pixels: Id(reader.next_u32()?), |
| sad_adjustment: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5794u16 => Self::SubgroupAvcSicConfigureIpeLumaChromaINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| luma_intra_partition_mask: Id(reader.next_u32()?), |
| intra_neighbour_availabilty: Id(reader.next_u32()?), |
| left_edge_luma_pixels: Id(reader.next_u32()?), |
| upper_left_corner_luma_pixel: Id(reader.next_u32()?), |
| upper_edge_luma_pixels: Id(reader.next_u32()?), |
| upper_right_edge_luma_pixels: Id(reader.next_u32()?), |
| left_edge_chroma_pixels: Id(reader.next_u32()?), |
| upper_left_corner_chroma_pixel: Id(reader.next_u32()?), |
| upper_edge_chroma_pixels: Id(reader.next_u32()?), |
| sad_adjustment: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5795u16 => Self::SubgroupAvcSicGetMotionVectorMaskINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| skip_block_partition_type: Id(reader.next_u32()?), |
| direction: Id(reader.next_u32()?), |
| }, |
| 5796u16 => Self::SubgroupAvcSicConvertToMcePayloadINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5797u16 => Self::SubgroupAvcSicSetIntraLumaShapePenaltyINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| packed_shape_penalty: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5798u16 => Self::SubgroupAvcSicSetIntraLumaModeCostFunctionINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| luma_mode_penalty: Id(reader.next_u32()?), |
| luma_packed_neighbor_modes: Id(reader.next_u32()?), |
| luma_packed_non_dc_penalty: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5799u16 => Self::SubgroupAvcSicSetIntraChromaModeCostFunctionINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| chroma_mode_base_penalty: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5800u16 => Self::SubgroupAvcSicSetBilinearFilterEnableINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5801u16 => Self::SubgroupAvcSicSetSkcForwardTransformEnableINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| packed_sad_coefficients: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5802u16 => Self::SubgroupAvcSicSetBlockBasedRawSkipSadINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| block_based_skip_type: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5803u16 => Self::SubgroupAvcSicEvaluateIpeINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| src_image: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5804u16 => Self::SubgroupAvcSicEvaluateWithSingleReferenceINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| src_image: Id(reader.next_u32()?), |
| ref_image: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5805u16 => Self::SubgroupAvcSicEvaluateWithDualReferenceINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| src_image: Id(reader.next_u32()?), |
| fwd_ref_image: Id(reader.next_u32()?), |
| bwd_ref_image: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5806u16 => Self::SubgroupAvcSicEvaluateWithMultiReferenceINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| src_image: Id(reader.next_u32()?), |
| packed_reference_ids: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5807u16 => Self::SubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| src_image: Id(reader.next_u32()?), |
| packed_reference_ids: Id(reader.next_u32()?), |
| packed_reference_field_polarities: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5808u16 => Self::SubgroupAvcSicConvertToMceResultINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5809u16 => Self::SubgroupAvcSicGetIpeLumaShapeINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5810u16 => Self::SubgroupAvcSicGetBestIpeLumaDistortionINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5811u16 => Self::SubgroupAvcSicGetBestIpeChromaDistortionINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5812u16 => Self::SubgroupAvcSicGetPackedIpeLumaModesINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5813u16 => Self::SubgroupAvcSicGetIpeChromaModeINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5814u16 => Self::SubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5815u16 => Self::SubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5816u16 => Self::SubgroupAvcSicGetInterRawSadsINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| payload: Id(reader.next_u32()?), |
| }, |
| 5818u16 => Self::VariableLengthArrayINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| lenght: Id(reader.next_u32()?), |
| }, |
| 5819u16 => Self::SaveMemoryINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| }, |
| 5820u16 => Self::RestoreMemoryINTEL { ptr: Id(reader.next_u32()?) }, |
| 5840u16 => Self::ArbitraryFloatSinCosPiINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| a: Id(reader.next_u32()?), |
| m1: reader.next_u32()?, |
| mout: reader.next_u32()?, |
| from_sign: reader.next_u32()?, |
| enable_subnormals: reader.next_u32()?, |
| rounding_mode: reader.next_u32()?, |
| rounding_accuracy: reader.next_u32()?, |
| }, |
| 5841u16 => Self::ArbitraryFloatCastINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| a: Id(reader.next_u32()?), |
| m1: reader.next_u32()?, |
| mout: reader.next_u32()?, |
| enable_subnormals: reader.next_u32()?, |
| rounding_mode: reader.next_u32()?, |
| rounding_accuracy: reader.next_u32()?, |
| }, |
| 5842u16 => Self::ArbitraryFloatCastFromIntINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| a: Id(reader.next_u32()?), |
| mout: reader.next_u32()?, |
| from_sign: reader.next_u32()?, |
| enable_subnormals: reader.next_u32()?, |
| rounding_mode: reader.next_u32()?, |
| rounding_accuracy: reader.next_u32()?, |
| }, |
| 5843u16 => Self::ArbitraryFloatCastToIntINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| a: Id(reader.next_u32()?), |
| m1: reader.next_u32()?, |
| enable_subnormals: reader.next_u32()?, |
| rounding_mode: reader.next_u32()?, |
| rounding_accuracy: reader.next_u32()?, |
| }, |
| 5846u16 => Self::ArbitraryFloatAddINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| a: Id(reader.next_u32()?), |
| m1: reader.next_u32()?, |
| b: Id(reader.next_u32()?), |
| m2: reader.next_u32()?, |
| mout: reader.next_u32()?, |
| enable_subnormals: reader.next_u32()?, |
| rounding_mode: reader.next_u32()?, |
| rounding_accuracy: reader.next_u32()?, |
| }, |
| 5847u16 => Self::ArbitraryFloatSubINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| a: Id(reader.next_u32()?), |
| m1: reader.next_u32()?, |
| b: Id(reader.next_u32()?), |
| m2: reader.next_u32()?, |
| mout: reader.next_u32()?, |
| enable_subnormals: reader.next_u32()?, |
| rounding_mode: reader.next_u32()?, |
| rounding_accuracy: reader.next_u32()?, |
| }, |
| 5848u16 => Self::ArbitraryFloatMulINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| a: Id(reader.next_u32()?), |
| m1: reader.next_u32()?, |
| b: Id(reader.next_u32()?), |
| m2: reader.next_u32()?, |
| mout: reader.next_u32()?, |
| enable_subnormals: reader.next_u32()?, |
| rounding_mode: reader.next_u32()?, |
| rounding_accuracy: reader.next_u32()?, |
| }, |
| 5849u16 => Self::ArbitraryFloatDivINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| a: Id(reader.next_u32()?), |
| m1: reader.next_u32()?, |
| b: Id(reader.next_u32()?), |
| m2: reader.next_u32()?, |
| mout: reader.next_u32()?, |
| enable_subnormals: reader.next_u32()?, |
| rounding_mode: reader.next_u32()?, |
| rounding_accuracy: reader.next_u32()?, |
| }, |
| 5850u16 => Self::ArbitraryFloatGTINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| a: Id(reader.next_u32()?), |
| m1: reader.next_u32()?, |
| b: Id(reader.next_u32()?), |
| m2: reader.next_u32()?, |
| }, |
| 5851u16 => Self::ArbitraryFloatGEINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| a: Id(reader.next_u32()?), |
| m1: reader.next_u32()?, |
| b: Id(reader.next_u32()?), |
| m2: reader.next_u32()?, |
| }, |
| 5852u16 => Self::ArbitraryFloatLTINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| a: Id(reader.next_u32()?), |
| m1: reader.next_u32()?, |
| b: Id(reader.next_u32()?), |
| m2: reader.next_u32()?, |
| }, |
| 5853u16 => Self::ArbitraryFloatLEINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| a: Id(reader.next_u32()?), |
| m1: reader.next_u32()?, |
| b: Id(reader.next_u32()?), |
| m2: reader.next_u32()?, |
| }, |
| 5854u16 => Self::ArbitraryFloatEQINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| a: Id(reader.next_u32()?), |
| m1: reader.next_u32()?, |
| b: Id(reader.next_u32()?), |
| m2: reader.next_u32()?, |
| }, |
| 5855u16 => Self::ArbitraryFloatRecipINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| a: Id(reader.next_u32()?), |
| m1: reader.next_u32()?, |
| mout: reader.next_u32()?, |
| enable_subnormals: reader.next_u32()?, |
| rounding_mode: reader.next_u32()?, |
| rounding_accuracy: reader.next_u32()?, |
| }, |
| 5856u16 => Self::ArbitraryFloatRSqrtINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| a: Id(reader.next_u32()?), |
| m1: reader.next_u32()?, |
| mout: reader.next_u32()?, |
| enable_subnormals: reader.next_u32()?, |
| rounding_mode: reader.next_u32()?, |
| rounding_accuracy: reader.next_u32()?, |
| }, |
| 5857u16 => Self::ArbitraryFloatCbrtINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| a: Id(reader.next_u32()?), |
| m1: reader.next_u32()?, |
| mout: reader.next_u32()?, |
| enable_subnormals: reader.next_u32()?, |
| rounding_mode: reader.next_u32()?, |
| rounding_accuracy: reader.next_u32()?, |
| }, |
| 5858u16 => Self::ArbitraryFloatHypotINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| a: Id(reader.next_u32()?), |
| m1: reader.next_u32()?, |
| b: Id(reader.next_u32()?), |
| m2: reader.next_u32()?, |
| mout: reader.next_u32()?, |
| enable_subnormals: reader.next_u32()?, |
| rounding_mode: reader.next_u32()?, |
| rounding_accuracy: reader.next_u32()?, |
| }, |
| 5859u16 => Self::ArbitraryFloatSqrtINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| a: Id(reader.next_u32()?), |
| m1: reader.next_u32()?, |
| mout: reader.next_u32()?, |
| enable_subnormals: reader.next_u32()?, |
| rounding_mode: reader.next_u32()?, |
| rounding_accuracy: reader.next_u32()?, |
| }, |
| 5860u16 => Self::ArbitraryFloatLogINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| a: Id(reader.next_u32()?), |
| m1: reader.next_u32()?, |
| mout: reader.next_u32()?, |
| enable_subnormals: reader.next_u32()?, |
| rounding_mode: reader.next_u32()?, |
| rounding_accuracy: reader.next_u32()?, |
| }, |
| 5861u16 => Self::ArbitraryFloatLog2INTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| a: Id(reader.next_u32()?), |
| m1: reader.next_u32()?, |
| mout: reader.next_u32()?, |
| enable_subnormals: reader.next_u32()?, |
| rounding_mode: reader.next_u32()?, |
| rounding_accuracy: reader.next_u32()?, |
| }, |
| 5862u16 => Self::ArbitraryFloatLog10INTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| a: Id(reader.next_u32()?), |
| m1: reader.next_u32()?, |
| mout: reader.next_u32()?, |
| enable_subnormals: reader.next_u32()?, |
| rounding_mode: reader.next_u32()?, |
| rounding_accuracy: reader.next_u32()?, |
| }, |
| 5863u16 => Self::ArbitraryFloatLog1pINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| a: Id(reader.next_u32()?), |
| m1: reader.next_u32()?, |
| mout: reader.next_u32()?, |
| enable_subnormals: reader.next_u32()?, |
| rounding_mode: reader.next_u32()?, |
| rounding_accuracy: reader.next_u32()?, |
| }, |
| 5864u16 => Self::ArbitraryFloatExpINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| a: Id(reader.next_u32()?), |
| m1: reader.next_u32()?, |
| mout: reader.next_u32()?, |
| enable_subnormals: reader.next_u32()?, |
| rounding_mode: reader.next_u32()?, |
| rounding_accuracy: reader.next_u32()?, |
| }, |
| 5865u16 => Self::ArbitraryFloatExp2INTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| a: Id(reader.next_u32()?), |
| m1: reader.next_u32()?, |
| mout: reader.next_u32()?, |
| enable_subnormals: reader.next_u32()?, |
| rounding_mode: reader.next_u32()?, |
| rounding_accuracy: reader.next_u32()?, |
| }, |
| 5866u16 => Self::ArbitraryFloatExp10INTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| a: Id(reader.next_u32()?), |
| m1: reader.next_u32()?, |
| mout: reader.next_u32()?, |
| enable_subnormals: reader.next_u32()?, |
| rounding_mode: reader.next_u32()?, |
| rounding_accuracy: reader.next_u32()?, |
| }, |
| 5867u16 => Self::ArbitraryFloatExpm1INTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| a: Id(reader.next_u32()?), |
| m1: reader.next_u32()?, |
| mout: reader.next_u32()?, |
| enable_subnormals: reader.next_u32()?, |
| rounding_mode: reader.next_u32()?, |
| rounding_accuracy: reader.next_u32()?, |
| }, |
| 5868u16 => Self::ArbitraryFloatSinINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| a: Id(reader.next_u32()?), |
| m1: reader.next_u32()?, |
| mout: reader.next_u32()?, |
| enable_subnormals: reader.next_u32()?, |
| rounding_mode: reader.next_u32()?, |
| rounding_accuracy: reader.next_u32()?, |
| }, |
| 5869u16 => Self::ArbitraryFloatCosINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| a: Id(reader.next_u32()?), |
| m1: reader.next_u32()?, |
| mout: reader.next_u32()?, |
| enable_subnormals: reader.next_u32()?, |
| rounding_mode: reader.next_u32()?, |
| rounding_accuracy: reader.next_u32()?, |
| }, |
| 5870u16 => Self::ArbitraryFloatSinCosINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| a: Id(reader.next_u32()?), |
| m1: reader.next_u32()?, |
| mout: reader.next_u32()?, |
| enable_subnormals: reader.next_u32()?, |
| rounding_mode: reader.next_u32()?, |
| rounding_accuracy: reader.next_u32()?, |
| }, |
| 5871u16 => Self::ArbitraryFloatSinPiINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| a: Id(reader.next_u32()?), |
| m1: reader.next_u32()?, |
| mout: reader.next_u32()?, |
| enable_subnormals: reader.next_u32()?, |
| rounding_mode: reader.next_u32()?, |
| rounding_accuracy: reader.next_u32()?, |
| }, |
| 5872u16 => Self::ArbitraryFloatCosPiINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| a: Id(reader.next_u32()?), |
| m1: reader.next_u32()?, |
| mout: reader.next_u32()?, |
| enable_subnormals: reader.next_u32()?, |
| rounding_mode: reader.next_u32()?, |
| rounding_accuracy: reader.next_u32()?, |
| }, |
| 5873u16 => Self::ArbitraryFloatASinINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| a: Id(reader.next_u32()?), |
| m1: reader.next_u32()?, |
| mout: reader.next_u32()?, |
| enable_subnormals: reader.next_u32()?, |
| rounding_mode: reader.next_u32()?, |
| rounding_accuracy: reader.next_u32()?, |
| }, |
| 5874u16 => Self::ArbitraryFloatASinPiINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| a: Id(reader.next_u32()?), |
| m1: reader.next_u32()?, |
| mout: reader.next_u32()?, |
| enable_subnormals: reader.next_u32()?, |
| rounding_mode: reader.next_u32()?, |
| rounding_accuracy: reader.next_u32()?, |
| }, |
| 5875u16 => Self::ArbitraryFloatACosINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| a: Id(reader.next_u32()?), |
| m1: reader.next_u32()?, |
| mout: reader.next_u32()?, |
| enable_subnormals: reader.next_u32()?, |
| rounding_mode: reader.next_u32()?, |
| rounding_accuracy: reader.next_u32()?, |
| }, |
| 5876u16 => Self::ArbitraryFloatACosPiINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| a: Id(reader.next_u32()?), |
| m1: reader.next_u32()?, |
| mout: reader.next_u32()?, |
| enable_subnormals: reader.next_u32()?, |
| rounding_mode: reader.next_u32()?, |
| rounding_accuracy: reader.next_u32()?, |
| }, |
| 5877u16 => Self::ArbitraryFloatATanINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| a: Id(reader.next_u32()?), |
| m1: reader.next_u32()?, |
| mout: reader.next_u32()?, |
| enable_subnormals: reader.next_u32()?, |
| rounding_mode: reader.next_u32()?, |
| rounding_accuracy: reader.next_u32()?, |
| }, |
| 5878u16 => Self::ArbitraryFloatATanPiINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| a: Id(reader.next_u32()?), |
| m1: reader.next_u32()?, |
| mout: reader.next_u32()?, |
| enable_subnormals: reader.next_u32()?, |
| rounding_mode: reader.next_u32()?, |
| rounding_accuracy: reader.next_u32()?, |
| }, |
| 5879u16 => Self::ArbitraryFloatATan2INTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| a: Id(reader.next_u32()?), |
| m1: reader.next_u32()?, |
| b: Id(reader.next_u32()?), |
| m2: reader.next_u32()?, |
| mout: reader.next_u32()?, |
| enable_subnormals: reader.next_u32()?, |
| rounding_mode: reader.next_u32()?, |
| rounding_accuracy: reader.next_u32()?, |
| }, |
| 5880u16 => Self::ArbitraryFloatPowINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| a: Id(reader.next_u32()?), |
| m1: reader.next_u32()?, |
| b: Id(reader.next_u32()?), |
| m2: reader.next_u32()?, |
| mout: reader.next_u32()?, |
| enable_subnormals: reader.next_u32()?, |
| rounding_mode: reader.next_u32()?, |
| rounding_accuracy: reader.next_u32()?, |
| }, |
| 5881u16 => Self::ArbitraryFloatPowRINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| a: Id(reader.next_u32()?), |
| m1: reader.next_u32()?, |
| b: Id(reader.next_u32()?), |
| m2: reader.next_u32()?, |
| mout: reader.next_u32()?, |
| enable_subnormals: reader.next_u32()?, |
| rounding_mode: reader.next_u32()?, |
| rounding_accuracy: reader.next_u32()?, |
| }, |
| 5882u16 => Self::ArbitraryFloatPowNINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| a: Id(reader.next_u32()?), |
| m1: reader.next_u32()?, |
| b: Id(reader.next_u32()?), |
| mout: reader.next_u32()?, |
| enable_subnormals: reader.next_u32()?, |
| rounding_mode: reader.next_u32()?, |
| rounding_accuracy: reader.next_u32()?, |
| }, |
| 5887u16 => Self::LoopControlINTEL { |
| loop_control_parameters: { |
| let mut vec = Vec::new(); |
| while !reader.is_empty() { |
| vec.push(reader.next_u32()?); |
| } |
| vec |
| }, |
| }, |
| 5923u16 => Self::FixedSqrtINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| input_type: Id(reader.next_u32()?), |
| input: Id(reader.next_u32()?), |
| s: reader.next_u32()?, |
| i: reader.next_u32()?, |
| r_i: reader.next_u32()?, |
| q: reader.next_u32()?, |
| o: reader.next_u32()?, |
| }, |
| 5924u16 => Self::FixedRecipINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| input_type: Id(reader.next_u32()?), |
| input: Id(reader.next_u32()?), |
| s: reader.next_u32()?, |
| i: reader.next_u32()?, |
| r_i: reader.next_u32()?, |
| q: reader.next_u32()?, |
| o: reader.next_u32()?, |
| }, |
| 5925u16 => Self::FixedRsqrtINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| input_type: Id(reader.next_u32()?), |
| input: Id(reader.next_u32()?), |
| s: reader.next_u32()?, |
| i: reader.next_u32()?, |
| r_i: reader.next_u32()?, |
| q: reader.next_u32()?, |
| o: reader.next_u32()?, |
| }, |
| 5926u16 => Self::FixedSinINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| input_type: Id(reader.next_u32()?), |
| input: Id(reader.next_u32()?), |
| s: reader.next_u32()?, |
| i: reader.next_u32()?, |
| r_i: reader.next_u32()?, |
| q: reader.next_u32()?, |
| o: reader.next_u32()?, |
| }, |
| 5927u16 => Self::FixedCosINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| input_type: Id(reader.next_u32()?), |
| input: Id(reader.next_u32()?), |
| s: reader.next_u32()?, |
| i: reader.next_u32()?, |
| r_i: reader.next_u32()?, |
| q: reader.next_u32()?, |
| o: reader.next_u32()?, |
| }, |
| 5928u16 => Self::FixedSinCosINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| input_type: Id(reader.next_u32()?), |
| input: Id(reader.next_u32()?), |
| s: reader.next_u32()?, |
| i: reader.next_u32()?, |
| r_i: reader.next_u32()?, |
| q: reader.next_u32()?, |
| o: reader.next_u32()?, |
| }, |
| 5929u16 => Self::FixedSinPiINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| input_type: Id(reader.next_u32()?), |
| input: Id(reader.next_u32()?), |
| s: reader.next_u32()?, |
| i: reader.next_u32()?, |
| r_i: reader.next_u32()?, |
| q: reader.next_u32()?, |
| o: reader.next_u32()?, |
| }, |
| 5930u16 => Self::FixedCosPiINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| input_type: Id(reader.next_u32()?), |
| input: Id(reader.next_u32()?), |
| s: reader.next_u32()?, |
| i: reader.next_u32()?, |
| r_i: reader.next_u32()?, |
| q: reader.next_u32()?, |
| o: reader.next_u32()?, |
| }, |
| 5931u16 => Self::FixedSinCosPiINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| input_type: Id(reader.next_u32()?), |
| input: Id(reader.next_u32()?), |
| s: reader.next_u32()?, |
| i: reader.next_u32()?, |
| r_i: reader.next_u32()?, |
| q: reader.next_u32()?, |
| o: reader.next_u32()?, |
| }, |
| 5932u16 => Self::FixedLogINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| input_type: Id(reader.next_u32()?), |
| input: Id(reader.next_u32()?), |
| s: reader.next_u32()?, |
| i: reader.next_u32()?, |
| r_i: reader.next_u32()?, |
| q: reader.next_u32()?, |
| o: reader.next_u32()?, |
| }, |
| 5933u16 => Self::FixedExpINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| input_type: Id(reader.next_u32()?), |
| input: Id(reader.next_u32()?), |
| s: reader.next_u32()?, |
| i: reader.next_u32()?, |
| r_i: reader.next_u32()?, |
| q: reader.next_u32()?, |
| o: reader.next_u32()?, |
| }, |
| 5934u16 => Self::PtrCastToCrossWorkgroupINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| pointer: Id(reader.next_u32()?), |
| }, |
| 5938u16 => Self::CrossWorkgroupCastToPtrINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| pointer: Id(reader.next_u32()?), |
| }, |
| 5946u16 => Self::ReadPipeBlockingINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| packet_size: Id(reader.next_u32()?), |
| packet_alignment: Id(reader.next_u32()?), |
| }, |
| 5947u16 => Self::WritePipeBlockingINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| packet_size: Id(reader.next_u32()?), |
| packet_alignment: Id(reader.next_u32()?), |
| }, |
| 5949u16 => Self::FPGARegINTEL { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| result: Id(reader.next_u32()?), |
| input: Id(reader.next_u32()?), |
| }, |
| 6016u16 => Self::RayQueryGetRayTMinKHR { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| ray_query: Id(reader.next_u32()?), |
| }, |
| 6017u16 => Self::RayQueryGetRayFlagsKHR { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| ray_query: Id(reader.next_u32()?), |
| }, |
| 6018u16 => Self::RayQueryGetIntersectionTKHR { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| ray_query: Id(reader.next_u32()?), |
| intersection: Id(reader.next_u32()?), |
| }, |
| 6019u16 => Self::RayQueryGetIntersectionInstanceCustomIndexKHR { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| ray_query: Id(reader.next_u32()?), |
| intersection: Id(reader.next_u32()?), |
| }, |
| 6020u16 => Self::RayQueryGetIntersectionInstanceIdKHR { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| ray_query: Id(reader.next_u32()?), |
| intersection: Id(reader.next_u32()?), |
| }, |
| 6021u16 => Self::RayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| ray_query: Id(reader.next_u32()?), |
| intersection: Id(reader.next_u32()?), |
| }, |
| 6022u16 => Self::RayQueryGetIntersectionGeometryIndexKHR { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| ray_query: Id(reader.next_u32()?), |
| intersection: Id(reader.next_u32()?), |
| }, |
| 6023u16 => Self::RayQueryGetIntersectionPrimitiveIndexKHR { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| ray_query: Id(reader.next_u32()?), |
| intersection: Id(reader.next_u32()?), |
| }, |
| 6024u16 => Self::RayQueryGetIntersectionBarycentricsKHR { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| ray_query: Id(reader.next_u32()?), |
| intersection: Id(reader.next_u32()?), |
| }, |
| 6025u16 => Self::RayQueryGetIntersectionFrontFaceKHR { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| ray_query: Id(reader.next_u32()?), |
| intersection: Id(reader.next_u32()?), |
| }, |
| 6026u16 => Self::RayQueryGetIntersectionCandidateAABBOpaqueKHR { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| ray_query: Id(reader.next_u32()?), |
| }, |
| 6027u16 => Self::RayQueryGetIntersectionObjectRayDirectionKHR { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| ray_query: Id(reader.next_u32()?), |
| intersection: Id(reader.next_u32()?), |
| }, |
| 6028u16 => Self::RayQueryGetIntersectionObjectRayOriginKHR { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| ray_query: Id(reader.next_u32()?), |
| intersection: Id(reader.next_u32()?), |
| }, |
| 6029u16 => Self::RayQueryGetWorldRayDirectionKHR { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| ray_query: Id(reader.next_u32()?), |
| }, |
| 6030u16 => Self::RayQueryGetWorldRayOriginKHR { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| ray_query: Id(reader.next_u32()?), |
| }, |
| 6031u16 => Self::RayQueryGetIntersectionObjectToWorldKHR { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| ray_query: Id(reader.next_u32()?), |
| intersection: Id(reader.next_u32()?), |
| }, |
| 6032u16 => Self::RayQueryGetIntersectionWorldToObjectKHR { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| ray_query: Id(reader.next_u32()?), |
| intersection: Id(reader.next_u32()?), |
| }, |
| 6035u16 => Self::AtomicFAddEXT { |
| result_type_id: Id(reader.next_u32()?), |
| result_id: Id(reader.next_u32()?), |
| pointer: Id(reader.next_u32()?), |
| memory: Id(reader.next_u32()?), |
| semantics: Id(reader.next_u32()?), |
| value: Id(reader.next_u32()?), |
| }, |
| 6086u16 => Self::TypeBufferSurfaceINTEL { |
| result_id: Id(reader.next_u32()?), |
| access_qualifier: AccessQualifier::parse(reader)?, |
| }, |
| 6090u16 => Self::TypeStructContinuedINTEL { |
| member_types: { |
| let mut vec = Vec::new(); |
| while !reader.is_empty() { |
| vec.push(Id(reader.next_u32()?)); |
| } |
| vec |
| }, |
| }, |
| 6091u16 => Self::ConstantCompositeContinuedINTEL { |
| constituents: { |
| let mut vec = Vec::new(); |
| while !reader.is_empty() { |
| vec.push(Id(reader.next_u32()?)); |
| } |
| vec |
| }, |
| }, |
| 6092u16 => Self::SpecConstantCompositeContinuedINTEL { |
| constituents: { |
| let mut vec = Vec::new(); |
| while !reader.is_empty() { |
| vec.push(Id(reader.next_u32()?)); |
| } |
| vec |
| }, |
| }, |
| opcode => return Err(reader.map_err(ParseErrors::UnknownOpcode(opcode))), |
| }) |
| } |
| #[doc = r" Returns the `Id` that is assigned by this instruction, if any."] |
| pub fn result_id(&self) -> Option<Id> { |
| match self { |
| Self::Undef { result_id, .. } |
| | Self::String { result_id, .. } |
| | Self::ExtInstImport { result_id, .. } |
| | Self::ExtInst { result_id, .. } |
| | Self::TypeVoid { result_id, .. } |
| | Self::TypeBool { result_id, .. } |
| | Self::TypeInt { result_id, .. } |
| | Self::TypeFloat { result_id, .. } |
| | Self::TypeVector { result_id, .. } |
| | Self::TypeMatrix { result_id, .. } |
| | Self::TypeImage { result_id, .. } |
| | Self::TypeSampler { result_id, .. } |
| | Self::TypeSampledImage { result_id, .. } |
| | Self::TypeArray { result_id, .. } |
| | Self::TypeRuntimeArray { result_id, .. } |
| | Self::TypeStruct { result_id, .. } |
| | Self::TypeOpaque { result_id, .. } |
| | Self::TypePointer { result_id, .. } |
| | Self::TypeFunction { result_id, .. } |
| | Self::TypeEvent { result_id, .. } |
| | Self::TypeDeviceEvent { result_id, .. } |
| | Self::TypeReserveId { result_id, .. } |
| | Self::TypeQueue { result_id, .. } |
| | Self::TypePipe { result_id, .. } |
| | Self::ConstantTrue { result_id, .. } |
| | Self::ConstantFalse { result_id, .. } |
| | Self::Constant { result_id, .. } |
| | Self::ConstantComposite { result_id, .. } |
| | Self::ConstantSampler { result_id, .. } |
| | Self::ConstantNull { result_id, .. } |
| | Self::SpecConstantTrue { result_id, .. } |
| | Self::SpecConstantFalse { result_id, .. } |
| | Self::SpecConstant { result_id, .. } |
| | Self::SpecConstantComposite { result_id, .. } |
| | Self::SpecConstantOp { result_id, .. } |
| | Self::Function { result_id, .. } |
| | Self::FunctionParameter { result_id, .. } |
| | Self::FunctionCall { result_id, .. } |
| | Self::Variable { result_id, .. } |
| | Self::ImageTexelPointer { result_id, .. } |
| | Self::Load { result_id, .. } |
| | Self::AccessChain { result_id, .. } |
| | Self::InBoundsAccessChain { result_id, .. } |
| | Self::PtrAccessChain { result_id, .. } |
| | Self::ArrayLength { result_id, .. } |
| | Self::GenericPtrMemSemantics { result_id, .. } |
| | Self::InBoundsPtrAccessChain { result_id, .. } |
| | Self::DecorationGroup { result_id, .. } |
| | Self::VectorExtractDynamic { result_id, .. } |
| | Self::VectorInsertDynamic { result_id, .. } |
| | Self::VectorShuffle { result_id, .. } |
| | Self::CompositeConstruct { result_id, .. } |
| | Self::CompositeExtract { result_id, .. } |
| | Self::CompositeInsert { result_id, .. } |
| | Self::CopyObject { result_id, .. } |
| | Self::Transpose { result_id, .. } |
| | Self::SampledImage { result_id, .. } |
| | Self::ImageSampleImplicitLod { result_id, .. } |
| | Self::ImageSampleExplicitLod { result_id, .. } |
| | Self::ImageSampleDrefImplicitLod { result_id, .. } |
| | Self::ImageSampleDrefExplicitLod { result_id, .. } |
| | Self::ImageSampleProjImplicitLod { result_id, .. } |
| | Self::ImageSampleProjExplicitLod { result_id, .. } |
| | Self::ImageSampleProjDrefImplicitLod { result_id, .. } |
| | Self::ImageSampleProjDrefExplicitLod { result_id, .. } |
| | Self::ImageFetch { result_id, .. } |
| | Self::ImageGather { result_id, .. } |
| | Self::ImageDrefGather { result_id, .. } |
| | Self::ImageRead { result_id, .. } |
| | Self::Image { result_id, .. } |
| | Self::ImageQueryFormat { result_id, .. } |
| | Self::ImageQueryOrder { result_id, .. } |
| | Self::ImageQuerySizeLod { result_id, .. } |
| | Self::ImageQuerySize { result_id, .. } |
| | Self::ImageQueryLod { result_id, .. } |
| | Self::ImageQueryLevels { result_id, .. } |
| | Self::ImageQuerySamples { result_id, .. } |
| | Self::ConvertFToU { result_id, .. } |
| | Self::ConvertFToS { result_id, .. } |
| | Self::ConvertSToF { result_id, .. } |
| | Self::ConvertUToF { result_id, .. } |
| | Self::UConvert { result_id, .. } |
| | Self::SConvert { result_id, .. } |
| | Self::FConvert { result_id, .. } |
| | Self::QuantizeToF16 { result_id, .. } |
| | Self::ConvertPtrToU { result_id, .. } |
| | Self::SatConvertSToU { result_id, .. } |
| | Self::SatConvertUToS { result_id, .. } |
| | Self::ConvertUToPtr { result_id, .. } |
| | Self::PtrCastToGeneric { result_id, .. } |
| | Self::GenericCastToPtr { result_id, .. } |
| | Self::GenericCastToPtrExplicit { result_id, .. } |
| | Self::Bitcast { result_id, .. } |
| | Self::SNegate { result_id, .. } |
| | Self::FNegate { result_id, .. } |
| | Self::IAdd { result_id, .. } |
| | Self::FAdd { result_id, .. } |
| | Self::ISub { result_id, .. } |
| | Self::FSub { result_id, .. } |
| | Self::IMul { result_id, .. } |
| | Self::FMul { result_id, .. } |
| | Self::UDiv { result_id, .. } |
| | Self::SDiv { result_id, .. } |
| | Self::FDiv { result_id, .. } |
| | Self::UMod { result_id, .. } |
| | Self::SRem { result_id, .. } |
| | Self::SMod { result_id, .. } |
| | Self::FRem { result_id, .. } |
| | Self::FMod { result_id, .. } |
| | Self::VectorTimesScalar { result_id, .. } |
| | Self::MatrixTimesScalar { result_id, .. } |
| | Self::VectorTimesMatrix { result_id, .. } |
| | Self::MatrixTimesVector { result_id, .. } |
| | Self::MatrixTimesMatrix { result_id, .. } |
| | Self::OuterProduct { result_id, .. } |
| | Self::Dot { result_id, .. } |
| | Self::IAddCarry { result_id, .. } |
| | Self::ISubBorrow { result_id, .. } |
| | Self::UMulExtended { result_id, .. } |
| | Self::SMulExtended { result_id, .. } |
| | Self::Any { result_id, .. } |
| | Self::All { result_id, .. } |
| | Self::IsNan { result_id, .. } |
| | Self::IsInf { result_id, .. } |
| | Self::IsFinite { result_id, .. } |
| | Self::IsNormal { result_id, .. } |
| | Self::SignBitSet { result_id, .. } |
| | Self::LessOrGreater { result_id, .. } |
| | Self::Ordered { result_id, .. } |
| | Self::Unordered { result_id, .. } |
| | Self::LogicalEqual { result_id, .. } |
| | Self::LogicalNotEqual { result_id, .. } |
| | Self::LogicalOr { result_id, .. } |
| | Self::LogicalAnd { result_id, .. } |
| | Self::LogicalNot { result_id, .. } |
| | Self::Select { result_id, .. } |
| | Self::IEqual { result_id, .. } |
| | Self::INotEqual { result_id, .. } |
| | Self::UGreaterThan { result_id, .. } |
| | Self::SGreaterThan { result_id, .. } |
| | Self::UGreaterThanEqual { result_id, .. } |
| | Self::SGreaterThanEqual { result_id, .. } |
| | Self::ULessThan { result_id, .. } |
| | Self::SLessThan { result_id, .. } |
| | Self::ULessThanEqual { result_id, .. } |
| | Self::SLessThanEqual { result_id, .. } |
| | Self::FOrdEqual { result_id, .. } |
| | Self::FUnordEqual { result_id, .. } |
| | Self::FOrdNotEqual { result_id, .. } |
| | Self::FUnordNotEqual { result_id, .. } |
| | Self::FOrdLessThan { result_id, .. } |
| | Self::FUnordLessThan { result_id, .. } |
| | Self::FOrdGreaterThan { result_id, .. } |
| | Self::FUnordGreaterThan { result_id, .. } |
| | Self::FOrdLessThanEqual { result_id, .. } |
| | Self::FUnordLessThanEqual { result_id, .. } |
| | Self::FOrdGreaterThanEqual { result_id, .. } |
| | Self::FUnordGreaterThanEqual { result_id, .. } |
| | Self::ShiftRightLogical { result_id, .. } |
| | Self::ShiftRightArithmetic { result_id, .. } |
| | Self::ShiftLeftLogical { result_id, .. } |
| | Self::BitwiseOr { result_id, .. } |
| | Self::BitwiseXor { result_id, .. } |
| | Self::BitwiseAnd { result_id, .. } |
| | Self::Not { result_id, .. } |
| | Self::BitFieldInsert { result_id, .. } |
| | Self::BitFieldSExtract { result_id, .. } |
| | Self::BitFieldUExtract { result_id, .. } |
| | Self::BitReverse { result_id, .. } |
| | Self::BitCount { result_id, .. } |
| | Self::DPdx { result_id, .. } |
| | Self::DPdy { result_id, .. } |
| | Self::Fwidth { result_id, .. } |
| | Self::DPdxFine { result_id, .. } |
| | Self::DPdyFine { result_id, .. } |
| | Self::FwidthFine { result_id, .. } |
| | Self::DPdxCoarse { result_id, .. } |
| | Self::DPdyCoarse { result_id, .. } |
| | Self::FwidthCoarse { result_id, .. } |
| | Self::AtomicLoad { result_id, .. } |
| | Self::AtomicExchange { result_id, .. } |
| | Self::AtomicCompareExchange { result_id, .. } |
| | Self::AtomicCompareExchangeWeak { result_id, .. } |
| | Self::AtomicIIncrement { result_id, .. } |
| | Self::AtomicIDecrement { result_id, .. } |
| | Self::AtomicIAdd { result_id, .. } |
| | Self::AtomicISub { result_id, .. } |
| | Self::AtomicSMin { result_id, .. } |
| | Self::AtomicUMin { result_id, .. } |
| | Self::AtomicSMax { result_id, .. } |
| | Self::AtomicUMax { result_id, .. } |
| | Self::AtomicAnd { result_id, .. } |
| | Self::AtomicOr { result_id, .. } |
| | Self::AtomicXor { result_id, .. } |
| | Self::Phi { result_id, .. } |
| | Self::Label { result_id, .. } |
| | Self::GroupAsyncCopy { result_id, .. } |
| | Self::GroupAll { result_id, .. } |
| | Self::GroupAny { result_id, .. } |
| | Self::GroupBroadcast { result_id, .. } |
| | Self::GroupIAdd { result_id, .. } |
| | Self::GroupFAdd { result_id, .. } |
| | Self::GroupFMin { result_id, .. } |
| | Self::GroupUMin { result_id, .. } |
| | Self::GroupSMin { result_id, .. } |
| | Self::GroupFMax { result_id, .. } |
| | Self::GroupUMax { result_id, .. } |
| | Self::GroupSMax { result_id, .. } |
| | Self::ReadPipe { result_id, .. } |
| | Self::WritePipe { result_id, .. } |
| | Self::ReservedReadPipe { result_id, .. } |
| | Self::ReservedWritePipe { result_id, .. } |
| | Self::ReserveReadPipePackets { result_id, .. } |
| | Self::ReserveWritePipePackets { result_id, .. } |
| | Self::IsValidReserveId { result_id, .. } |
| | Self::GetNumPipePackets { result_id, .. } |
| | Self::GetMaxPipePackets { result_id, .. } |
| | Self::GroupReserveReadPipePackets { result_id, .. } |
| | Self::GroupReserveWritePipePackets { result_id, .. } |
| | Self::EnqueueMarker { result_id, .. } |
| | Self::EnqueueKernel { result_id, .. } |
| | Self::GetKernelNDrangeSubGroupCount { result_id, .. } |
| | Self::GetKernelNDrangeMaxSubGroupSize { result_id, .. } |
| | Self::GetKernelWorkGroupSize { result_id, .. } |
| | Self::GetKernelPreferredWorkGroupSizeMultiple { result_id, .. } |
| | Self::CreateUserEvent { result_id, .. } |
| | Self::IsValidEvent { result_id, .. } |
| | Self::GetDefaultQueue { result_id, .. } |
| | Self::BuildNDRange { result_id, .. } |
| | Self::ImageSparseSampleImplicitLod { result_id, .. } |
| | Self::ImageSparseSampleExplicitLod { result_id, .. } |
| | Self::ImageSparseSampleDrefImplicitLod { result_id, .. } |
| | Self::ImageSparseSampleDrefExplicitLod { result_id, .. } |
| | Self::ImageSparseSampleProjImplicitLod { result_id, .. } |
| | Self::ImageSparseSampleProjExplicitLod { result_id, .. } |
| | Self::ImageSparseSampleProjDrefImplicitLod { result_id, .. } |
| | Self::ImageSparseSampleProjDrefExplicitLod { result_id, .. } |
| | Self::ImageSparseFetch { result_id, .. } |
| | Self::ImageSparseGather { result_id, .. } |
| | Self::ImageSparseDrefGather { result_id, .. } |
| | Self::ImageSparseTexelsResident { result_id, .. } |
| | Self::AtomicFlagTestAndSet { result_id, .. } |
| | Self::ImageSparseRead { result_id, .. } |
| | Self::SizeOf { result_id, .. } |
| | Self::TypePipeStorage { result_id, .. } |
| | Self::ConstantPipeStorage { result_id, .. } |
| | Self::CreatePipeFromPipeStorage { result_id, .. } |
| | Self::GetKernelLocalSizeForSubgroupCount { result_id, .. } |
| | Self::GetKernelMaxNumSubgroups { result_id, .. } |
| | Self::TypeNamedBarrier { result_id, .. } |
| | Self::NamedBarrierInitialize { result_id, .. } |
| | Self::GroupNonUniformElect { result_id, .. } |
| | Self::GroupNonUniformAll { result_id, .. } |
| | Self::GroupNonUniformAny { result_id, .. } |
| | Self::GroupNonUniformAllEqual { result_id, .. } |
| | Self::GroupNonUniformBroadcast { result_id, .. } |
| | Self::GroupNonUniformBroadcastFirst { result_id, .. } |
| | Self::GroupNonUniformBallot { result_id, .. } |
| | Self::GroupNonUniformInverseBallot { result_id, .. } |
| | Self::GroupNonUniformBallotBitExtract { result_id, .. } |
| | Self::GroupNonUniformBallotBitCount { result_id, .. } |
| | Self::GroupNonUniformBallotFindLSB { result_id, .. } |
| | Self::GroupNonUniformBallotFindMSB { result_id, .. } |
| | Self::GroupNonUniformShuffle { result_id, .. } |
| | Self::GroupNonUniformShuffleXor { result_id, .. } |
| | Self::GroupNonUniformShuffleUp { result_id, .. } |
| | Self::GroupNonUniformShuffleDown { result_id, .. } |
| | Self::GroupNonUniformIAdd { result_id, .. } |
| | Self::GroupNonUniformFAdd { result_id, .. } |
| | Self::GroupNonUniformIMul { result_id, .. } |
| | Self::GroupNonUniformFMul { result_id, .. } |
| | Self::GroupNonUniformSMin { result_id, .. } |
| | Self::GroupNonUniformUMin { result_id, .. } |
| | Self::GroupNonUniformFMin { result_id, .. } |
| | Self::GroupNonUniformSMax { result_id, .. } |
| | Self::GroupNonUniformUMax { result_id, .. } |
| | Self::GroupNonUniformFMax { result_id, .. } |
| | Self::GroupNonUniformBitwiseAnd { result_id, .. } |
| | Self::GroupNonUniformBitwiseOr { result_id, .. } |
| | Self::GroupNonUniformBitwiseXor { result_id, .. } |
| | Self::GroupNonUniformLogicalAnd { result_id, .. } |
| | Self::GroupNonUniformLogicalOr { result_id, .. } |
| | Self::GroupNonUniformLogicalXor { result_id, .. } |
| | Self::GroupNonUniformQuadBroadcast { result_id, .. } |
| | Self::GroupNonUniformQuadSwap { result_id, .. } |
| | Self::CopyLogical { result_id, .. } |
| | Self::PtrEqual { result_id, .. } |
| | Self::PtrNotEqual { result_id, .. } |
| | Self::PtrDiff { result_id, .. } |
| | Self::SubgroupBallotKHR { result_id, .. } |
| | Self::SubgroupFirstInvocationKHR { result_id, .. } |
| | Self::SubgroupAllKHR { result_id, .. } |
| | Self::SubgroupAnyKHR { result_id, .. } |
| | Self::SubgroupAllEqualKHR { result_id, .. } |
| | Self::SubgroupReadInvocationKHR { result_id, .. } |
| | Self::ConvertUToAccelerationStructureKHR { result_id, .. } |
| | Self::SDot { result_id, .. } |
| | Self::UDot { result_id, .. } |
| | Self::SUDot { result_id, .. } |
| | Self::SDotAccSat { result_id, .. } |
| | Self::UDotAccSat { result_id, .. } |
| | Self::SUDotAccSat { result_id, .. } |
| | Self::TypeRayQueryKHR { result_id, .. } |
| | Self::RayQueryProceedKHR { result_id, .. } |
| | Self::RayQueryGetIntersectionTypeKHR { result_id, .. } |
| | Self::GroupIAddNonUniformAMD { result_id, .. } |
| | Self::GroupFAddNonUniformAMD { result_id, .. } |
| | Self::GroupFMinNonUniformAMD { result_id, .. } |
| | Self::GroupUMinNonUniformAMD { result_id, .. } |
| | Self::GroupSMinNonUniformAMD { result_id, .. } |
| | Self::GroupFMaxNonUniformAMD { result_id, .. } |
| | Self::GroupUMaxNonUniformAMD { result_id, .. } |
| | Self::GroupSMaxNonUniformAMD { result_id, .. } |
| | Self::FragmentMaskFetchAMD { result_id, .. } |
| | Self::FragmentFetchAMD { result_id, .. } |
| | Self::ReadClockKHR { result_id, .. } |
| | Self::ImageSampleFootprintNV { result_id, .. } |
| | Self::GroupNonUniformPartitionNV { result_id, .. } |
| | Self::ReportIntersectionKHR { result_id, .. } |
| | Self::TypeAccelerationStructureKHR { result_id, .. } |
| | Self::TypeCooperativeMatrixNV { result_id, .. } |
| | Self::CooperativeMatrixLoadNV { result_id, .. } |
| | Self::CooperativeMatrixMulAddNV { result_id, .. } |
| | Self::CooperativeMatrixLengthNV { result_id, .. } |
| | Self::IsHelperInvocationEXT { result_id, .. } |
| | Self::ConvertUToImageNV { result_id, .. } |
| | Self::ConvertUToSamplerNV { result_id, .. } |
| | Self::ConvertImageToUNV { result_id, .. } |
| | Self::ConvertSamplerToUNV { result_id, .. } |
| | Self::ConvertUToSampledImageNV { result_id, .. } |
| | Self::ConvertSampledImageToUNV { result_id, .. } |
| | Self::SubgroupShuffleINTEL { result_id, .. } |
| | Self::SubgroupShuffleDownINTEL { result_id, .. } |
| | Self::SubgroupShuffleUpINTEL { result_id, .. } |
| | Self::SubgroupShuffleXorINTEL { result_id, .. } |
| | Self::SubgroupBlockReadINTEL { result_id, .. } |
| | Self::SubgroupImageBlockReadINTEL { result_id, .. } |
| | Self::SubgroupImageMediaBlockReadINTEL { result_id, .. } |
| | Self::UCountLeadingZerosINTEL { result_id, .. } |
| | Self::UCountTrailingZerosINTEL { result_id, .. } |
| | Self::AbsISubINTEL { result_id, .. } |
| | Self::AbsUSubINTEL { result_id, .. } |
| | Self::IAddSatINTEL { result_id, .. } |
| | Self::UAddSatINTEL { result_id, .. } |
| | Self::IAverageINTEL { result_id, .. } |
| | Self::UAverageINTEL { result_id, .. } |
| | Self::IAverageRoundedINTEL { result_id, .. } |
| | Self::UAverageRoundedINTEL { result_id, .. } |
| | Self::ISubSatINTEL { result_id, .. } |
| | Self::USubSatINTEL { result_id, .. } |
| | Self::IMul32x16INTEL { result_id, .. } |
| | Self::UMul32x16INTEL { result_id, .. } |
| | Self::ConstantFunctionPointerINTEL { result_id, .. } |
| | Self::FunctionPointerCallINTEL { result_id, .. } |
| | Self::AsmTargetINTEL { result_id, .. } |
| | Self::AsmINTEL { result_id, .. } |
| | Self::AsmCallINTEL { result_id, .. } |
| | Self::AtomicFMinEXT { result_id, .. } |
| | Self::AtomicFMaxEXT { result_id, .. } |
| | Self::ExpectKHR { result_id, .. } |
| | Self::VmeImageINTEL { result_id, .. } |
| | Self::TypeVmeImageINTEL { result_id, .. } |
| | Self::TypeAvcImePayloadINTEL { result_id, .. } |
| | Self::TypeAvcRefPayloadINTEL { result_id, .. } |
| | Self::TypeAvcSicPayloadINTEL { result_id, .. } |
| | Self::TypeAvcMcePayloadINTEL { result_id, .. } |
| | Self::TypeAvcMceResultINTEL { result_id, .. } |
| | Self::TypeAvcImeResultINTEL { result_id, .. } |
| | Self::TypeAvcImeResultSingleReferenceStreamoutINTEL { result_id, .. } |
| | Self::TypeAvcImeResultDualReferenceStreamoutINTEL { result_id, .. } |
| | Self::TypeAvcImeSingleReferenceStreaminINTEL { result_id, .. } |
| | Self::TypeAvcImeDualReferenceStreaminINTEL { result_id, .. } |
| | Self::TypeAvcRefResultINTEL { result_id, .. } |
| | Self::TypeAvcSicResultINTEL { result_id, .. } |
| | Self::SubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL { |
| result_id, .. |
| } |
| | Self::SubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL { result_id, .. } |
| | Self::SubgroupAvcMceGetDefaultInterShapePenaltyINTEL { result_id, .. } |
| | Self::SubgroupAvcMceSetInterShapePenaltyINTEL { result_id, .. } |
| | Self::SubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL { result_id, .. } |
| | Self::SubgroupAvcMceSetInterDirectionPenaltyINTEL { result_id, .. } |
| | Self::SubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL { result_id, .. } |
| | Self::SubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL { result_id, .. } |
| | Self::SubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL { result_id, .. } |
| | Self::SubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL { result_id, .. } |
| | Self::SubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL { result_id, .. } |
| | Self::SubgroupAvcMceSetMotionVectorCostFunctionINTEL { result_id, .. } |
| | Self::SubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL { result_id, .. } |
| | Self::SubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL { result_id, .. } |
| | Self::SubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL { result_id, .. } |
| | Self::SubgroupAvcMceSetAcOnlyHaarINTEL { result_id, .. } |
| | Self::SubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL { result_id, .. } |
| | Self::SubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL { |
| result_id, |
| .. |
| } |
| | Self::SubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL { |
| result_id, |
| .. |
| } |
| | Self::SubgroupAvcMceConvertToImePayloadINTEL { result_id, .. } |
| | Self::SubgroupAvcMceConvertToImeResultINTEL { result_id, .. } |
| | Self::SubgroupAvcMceConvertToRefPayloadINTEL { result_id, .. } |
| | Self::SubgroupAvcMceConvertToRefResultINTEL { result_id, .. } |
| | Self::SubgroupAvcMceConvertToSicPayloadINTEL { result_id, .. } |
| | Self::SubgroupAvcMceConvertToSicResultINTEL { result_id, .. } |
| | Self::SubgroupAvcMceGetMotionVectorsINTEL { result_id, .. } |
| | Self::SubgroupAvcMceGetInterDistortionsINTEL { result_id, .. } |
| | Self::SubgroupAvcMceGetBestInterDistortionsINTEL { result_id, .. } |
| | Self::SubgroupAvcMceGetInterMajorShapeINTEL { result_id, .. } |
| | Self::SubgroupAvcMceGetInterMinorShapeINTEL { result_id, .. } |
| | Self::SubgroupAvcMceGetInterDirectionsINTEL { result_id, .. } |
| | Self::SubgroupAvcMceGetInterMotionVectorCountINTEL { result_id, .. } |
| | Self::SubgroupAvcMceGetInterReferenceIdsINTEL { result_id, .. } |
| | Self::SubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL { |
| result_id, |
| .. |
| } |
| | Self::SubgroupAvcImeInitializeINTEL { result_id, .. } |
| | Self::SubgroupAvcImeSetSingleReferenceINTEL { result_id, .. } |
| | Self::SubgroupAvcImeSetDualReferenceINTEL { result_id, .. } |
| | Self::SubgroupAvcImeRefWindowSizeINTEL { result_id, .. } |
| | Self::SubgroupAvcImeAdjustRefOffsetINTEL { result_id, .. } |
| | Self::SubgroupAvcImeConvertToMcePayloadINTEL { result_id, .. } |
| | Self::SubgroupAvcImeSetMaxMotionVectorCountINTEL { result_id, .. } |
| | Self::SubgroupAvcImeSetUnidirectionalMixDisableINTEL { result_id, .. } |
| | Self::SubgroupAvcImeSetEarlySearchTerminationThresholdINTEL { result_id, .. } |
| | Self::SubgroupAvcImeSetWeightedSadINTEL { result_id, .. } |
| | Self::SubgroupAvcImeEvaluateWithSingleReferenceINTEL { result_id, .. } |
| | Self::SubgroupAvcImeEvaluateWithDualReferenceINTEL { result_id, .. } |
| | Self::SubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL { result_id, .. } |
| | Self::SubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL { result_id, .. } |
| | Self::SubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL { result_id, .. } |
| | Self::SubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL { result_id, .. } |
| | Self::SubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL { |
| result_id, .. |
| } |
| | Self::SubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL { result_id, .. } |
| | Self::SubgroupAvcImeConvertToMceResultINTEL { result_id, .. } |
| | Self::SubgroupAvcImeGetSingleReferenceStreaminINTEL { result_id, .. } |
| | Self::SubgroupAvcImeGetDualReferenceStreaminINTEL { result_id, .. } |
| | Self::SubgroupAvcImeStripSingleReferenceStreamoutINTEL { result_id, .. } |
| | Self::SubgroupAvcImeStripDualReferenceStreamoutINTEL { result_id, .. } |
| | Self::SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL { |
| result_id, |
| .. |
| } |
| | Self::SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL { |
| result_id, |
| .. |
| } |
| | Self::SubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL { |
| result_id, |
| .. |
| } |
| | Self::SubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL { |
| result_id, |
| .. |
| } |
| | Self::SubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL { |
| result_id, |
| .. |
| } |
| | Self::SubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL { |
| result_id, |
| .. |
| } |
| | Self::SubgroupAvcImeGetBorderReachedINTEL { result_id, .. } |
| | Self::SubgroupAvcImeGetTruncatedSearchIndicationINTEL { result_id, .. } |
| | Self::SubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL { |
| result_id, .. |
| } |
| | Self::SubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL { |
| result_id, .. |
| } |
| | Self::SubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL { result_id, .. } |
| | Self::SubgroupAvcFmeInitializeINTEL { result_id, .. } |
| | Self::SubgroupAvcBmeInitializeINTEL { result_id, .. } |
| | Self::SubgroupAvcRefConvertToMcePayloadINTEL { result_id, .. } |
| | Self::SubgroupAvcRefSetBidirectionalMixDisableINTEL { result_id, .. } |
| | Self::SubgroupAvcRefSetBilinearFilterEnableINTEL { result_id, .. } |
| | Self::SubgroupAvcRefEvaluateWithSingleReferenceINTEL { result_id, .. } |
| | Self::SubgroupAvcRefEvaluateWithDualReferenceINTEL { result_id, .. } |
| | Self::SubgroupAvcRefEvaluateWithMultiReferenceINTEL { result_id, .. } |
| | Self::SubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL { result_id, .. } |
| | Self::SubgroupAvcRefConvertToMceResultINTEL { result_id, .. } |
| | Self::SubgroupAvcSicInitializeINTEL { result_id, .. } |
| | Self::SubgroupAvcSicConfigureSkcINTEL { result_id, .. } |
| | Self::SubgroupAvcSicConfigureIpeLumaINTEL { result_id, .. } |
| | Self::SubgroupAvcSicConfigureIpeLumaChromaINTEL { result_id, .. } |
| | Self::SubgroupAvcSicGetMotionVectorMaskINTEL { result_id, .. } |
| | Self::SubgroupAvcSicConvertToMcePayloadINTEL { result_id, .. } |
| | Self::SubgroupAvcSicSetIntraLumaShapePenaltyINTEL { result_id, .. } |
| | Self::SubgroupAvcSicSetIntraLumaModeCostFunctionINTEL { result_id, .. } |
| | Self::SubgroupAvcSicSetIntraChromaModeCostFunctionINTEL { result_id, .. } |
| | Self::SubgroupAvcSicSetBilinearFilterEnableINTEL { result_id, .. } |
| | Self::SubgroupAvcSicSetSkcForwardTransformEnableINTEL { result_id, .. } |
| | Self::SubgroupAvcSicSetBlockBasedRawSkipSadINTEL { result_id, .. } |
| | Self::SubgroupAvcSicEvaluateIpeINTEL { result_id, .. } |
| | Self::SubgroupAvcSicEvaluateWithSingleReferenceINTEL { result_id, .. } |
| | Self::SubgroupAvcSicEvaluateWithDualReferenceINTEL { result_id, .. } |
| | Self::SubgroupAvcSicEvaluateWithMultiReferenceINTEL { result_id, .. } |
| | Self::SubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL { result_id, .. } |
| | Self::SubgroupAvcSicConvertToMceResultINTEL { result_id, .. } |
| | Self::SubgroupAvcSicGetIpeLumaShapeINTEL { result_id, .. } |
| | Self::SubgroupAvcSicGetBestIpeLumaDistortionINTEL { result_id, .. } |
| | Self::SubgroupAvcSicGetBestIpeChromaDistortionINTEL { result_id, .. } |
| | Self::SubgroupAvcSicGetPackedIpeLumaModesINTEL { result_id, .. } |
| | Self::SubgroupAvcSicGetIpeChromaModeINTEL { result_id, .. } |
| | Self::SubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL { result_id, .. } |
| | Self::SubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL { result_id, .. } |
| | Self::SubgroupAvcSicGetInterRawSadsINTEL { result_id, .. } |
| | Self::VariableLengthArrayINTEL { result_id, .. } |
| | Self::SaveMemoryINTEL { result_id, .. } |
| | Self::ArbitraryFloatSinCosPiINTEL { result_id, .. } |
| | Self::ArbitraryFloatCastINTEL { result_id, .. } |
| | Self::ArbitraryFloatCastFromIntINTEL { result_id, .. } |
| | Self::ArbitraryFloatCastToIntINTEL { result_id, .. } |
| | Self::ArbitraryFloatAddINTEL { result_id, .. } |
| | Self::ArbitraryFloatSubINTEL { result_id, .. } |
| | Self::ArbitraryFloatMulINTEL { result_id, .. } |
| | Self::ArbitraryFloatDivINTEL { result_id, .. } |
| | Self::ArbitraryFloatGTINTEL { result_id, .. } |
| | Self::ArbitraryFloatGEINTEL { result_id, .. } |
| | Self::ArbitraryFloatLTINTEL { result_id, .. } |
| | Self::ArbitraryFloatLEINTEL { result_id, .. } |
| | Self::ArbitraryFloatEQINTEL { result_id, .. } |
| | Self::ArbitraryFloatRecipINTEL { result_id, .. } |
| | Self::ArbitraryFloatRSqrtINTEL { result_id, .. } |
| | Self::ArbitraryFloatCbrtINTEL { result_id, .. } |
| | Self::ArbitraryFloatHypotINTEL { result_id, .. } |
| | Self::ArbitraryFloatSqrtINTEL { result_id, .. } |
| | Self::ArbitraryFloatLogINTEL { result_id, .. } |
| | Self::ArbitraryFloatLog2INTEL { result_id, .. } |
| | Self::ArbitraryFloatLog10INTEL { result_id, .. } |
| | Self::ArbitraryFloatLog1pINTEL { result_id, .. } |
| | Self::ArbitraryFloatExpINTEL { result_id, .. } |
| | Self::ArbitraryFloatExp2INTEL { result_id, .. } |
| | Self::ArbitraryFloatExp10INTEL { result_id, .. } |
| | Self::ArbitraryFloatExpm1INTEL { result_id, .. } |
| | Self::ArbitraryFloatSinINTEL { result_id, .. } |
| | Self::ArbitraryFloatCosINTEL { result_id, .. } |
| | Self::ArbitraryFloatSinCosINTEL { result_id, .. } |
| | Self::ArbitraryFloatSinPiINTEL { result_id, .. } |
| | Self::ArbitraryFloatCosPiINTEL { result_id, .. } |
| | Self::ArbitraryFloatASinINTEL { result_id, .. } |
| | Self::ArbitraryFloatASinPiINTEL { result_id, .. } |
| | Self::ArbitraryFloatACosINTEL { result_id, .. } |
| | Self::ArbitraryFloatACosPiINTEL { result_id, .. } |
| | Self::ArbitraryFloatATanINTEL { result_id, .. } |
| | Self::ArbitraryFloatATanPiINTEL { result_id, .. } |
| | Self::ArbitraryFloatATan2INTEL { result_id, .. } |
| | Self::ArbitraryFloatPowINTEL { result_id, .. } |
| | Self::ArbitraryFloatPowRINTEL { result_id, .. } |
| | Self::ArbitraryFloatPowNINTEL { result_id, .. } |
| | Self::FixedSqrtINTEL { result_id, .. } |
| | Self::FixedRecipINTEL { result_id, .. } |
| | Self::FixedRsqrtINTEL { result_id, .. } |
| | Self::FixedSinINTEL { result_id, .. } |
| | Self::FixedCosINTEL { result_id, .. } |
| | Self::FixedSinCosINTEL { result_id, .. } |
| | Self::FixedSinPiINTEL { result_id, .. } |
| | Self::FixedCosPiINTEL { result_id, .. } |
| | Self::FixedSinCosPiINTEL { result_id, .. } |
| | Self::FixedLogINTEL { result_id, .. } |
| | Self::FixedExpINTEL { result_id, .. } |
| | Self::PtrCastToCrossWorkgroupINTEL { result_id, .. } |
| | Self::CrossWorkgroupCastToPtrINTEL { result_id, .. } |
| | Self::ReadPipeBlockingINTEL { result_id, .. } |
| | Self::WritePipeBlockingINTEL { result_id, .. } |
| | Self::FPGARegINTEL { result_id, .. } |
| | Self::RayQueryGetRayTMinKHR { result_id, .. } |
| | Self::RayQueryGetRayFlagsKHR { result_id, .. } |
| | Self::RayQueryGetIntersectionTKHR { result_id, .. } |
| | Self::RayQueryGetIntersectionInstanceCustomIndexKHR { result_id, .. } |
| | Self::RayQueryGetIntersectionInstanceIdKHR { result_id, .. } |
| | Self::RayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR { |
| result_id, |
| .. |
| } |
| | Self::RayQueryGetIntersectionGeometryIndexKHR { result_id, .. } |
| | Self::RayQueryGetIntersectionPrimitiveIndexKHR { result_id, .. } |
| | Self::RayQueryGetIntersectionBarycentricsKHR { result_id, .. } |
| | Self::RayQueryGetIntersectionFrontFaceKHR { result_id, .. } |
| | Self::RayQueryGetIntersectionCandidateAABBOpaqueKHR { result_id, .. } |
| | Self::RayQueryGetIntersectionObjectRayDirectionKHR { result_id, .. } |
| | Self::RayQueryGetIntersectionObjectRayOriginKHR { result_id, .. } |
| | Self::RayQueryGetWorldRayDirectionKHR { result_id, .. } |
| | Self::RayQueryGetWorldRayOriginKHR { result_id, .. } |
| | Self::RayQueryGetIntersectionObjectToWorldKHR { result_id, .. } |
| | Self::RayQueryGetIntersectionWorldToObjectKHR { result_id, .. } |
| | Self::AtomicFAddEXT { result_id, .. } |
| | Self::TypeBufferSurfaceINTEL { result_id, .. } => Some(*result_id), |
| _ => None, |
| } |
| } |
| } |
| #[derive(Clone, Debug, PartialEq, Eq)] |
| #[doc = "An instruction that is used as the operand of the `SpecConstantOp` instruction."] |
| pub enum SpecConstantInstruction { |
| AccessChain { base: Id, indexes: Vec<Id> }, |
| InBoundsAccessChain { base: Id, indexes: Vec<Id> }, |
| PtrAccessChain { base: Id, element: Id, indexes: Vec<Id> }, |
| InBoundsPtrAccessChain { base: Id, element: Id, indexes: Vec<Id> }, |
| VectorShuffle { vector_1: Id, vector_2: Id, components: Vec<u32> }, |
| CompositeExtract { composite: Id, indexes: Vec<u32> }, |
| CompositeInsert { object: Id, composite: Id, indexes: Vec<u32> }, |
| ConvertFToU { float_value: Id }, |
| ConvertFToS { float_value: Id }, |
| ConvertSToF { signed_value: Id }, |
| ConvertUToF { unsigned_value: Id }, |
| UConvert { unsigned_value: Id }, |
| SConvert { signed_value: Id }, |
| FConvert { float_value: Id }, |
| QuantizeToF16 { value: Id }, |
| ConvertPtrToU { pointer: Id }, |
| ConvertUToPtr { integer_value: Id }, |
| PtrCastToGeneric { pointer: Id }, |
| GenericCastToPtr { pointer: Id }, |
| Bitcast { operand: Id }, |
| SNegate { operand: Id }, |
| FNegate { operand: Id }, |
| IAdd { operand1: Id, operand2: Id }, |
| FAdd { operand1: Id, operand2: Id }, |
| ISub { operand1: Id, operand2: Id }, |
| FSub { operand1: Id, operand2: Id }, |
| IMul { operand1: Id, operand2: Id }, |
| FMul { operand1: Id, operand2: Id }, |
| UDiv { operand1: Id, operand2: Id }, |
| SDiv { operand1: Id, operand2: Id }, |
| FDiv { operand1: Id, operand2: Id }, |
| UMod { operand1: Id, operand2: Id }, |
| SRem { operand1: Id, operand2: Id }, |
| SMod { operand1: Id, operand2: Id }, |
| FRem { operand1: Id, operand2: Id }, |
| FMod { operand1: Id, operand2: Id }, |
| LogicalEqual { operand1: Id, operand2: Id }, |
| LogicalNotEqual { operand1: Id, operand2: Id }, |
| LogicalOr { operand1: Id, operand2: Id }, |
| LogicalAnd { operand1: Id, operand2: Id }, |
| LogicalNot { operand: Id }, |
| Select { condition: Id, object_1: Id, object_2: Id }, |
| IEqual { operand1: Id, operand2: Id }, |
| INotEqual { operand1: Id, operand2: Id }, |
| UGreaterThan { operand1: Id, operand2: Id }, |
| SGreaterThan { operand1: Id, operand2: Id }, |
| UGreaterThanEqual { operand1: Id, operand2: Id }, |
| SGreaterThanEqual { operand1: Id, operand2: Id }, |
| ULessThan { operand1: Id, operand2: Id }, |
| SLessThan { operand1: Id, operand2: Id }, |
| ULessThanEqual { operand1: Id, operand2: Id }, |
| SLessThanEqual { operand1: Id, operand2: Id }, |
| ShiftRightLogical { base: Id, shift: Id }, |
| ShiftRightArithmetic { base: Id, shift: Id }, |
| ShiftLeftLogical { base: Id, shift: Id }, |
| BitwiseOr { operand1: Id, operand2: Id }, |
| BitwiseXor { operand1: Id, operand2: Id }, |
| BitwiseAnd { operand1: Id, operand2: Id }, |
| Not { operand: Id }, |
| } |
| impl SpecConstantInstruction { |
| #[allow(dead_code)] |
| fn parse(reader: &mut InstructionReader<'_>) -> Result<Self, ParseError> { |
| let opcode = (reader.next_u32()? & 0xffff) as u16; |
| Ok(match opcode { |
| 65u16 => Self::AccessChain { |
| base: Id(reader.next_u32()?), |
| indexes: { |
| let mut vec = Vec::new(); |
| while !reader.is_empty() { |
| vec.push(Id(reader.next_u32()?)); |
| } |
| vec |
| }, |
| }, |
| 66u16 => Self::InBoundsAccessChain { |
| base: Id(reader.next_u32()?), |
| indexes: { |
| let mut vec = Vec::new(); |
| while !reader.is_empty() { |
| vec.push(Id(reader.next_u32()?)); |
| } |
| vec |
| }, |
| }, |
| 67u16 => Self::PtrAccessChain { |
| base: Id(reader.next_u32()?), |
| element: Id(reader.next_u32()?), |
| indexes: { |
| let mut vec = Vec::new(); |
| while !reader.is_empty() { |
| vec.push(Id(reader.next_u32()?)); |
| } |
| vec |
| }, |
| }, |
| 70u16 => Self::InBoundsPtrAccessChain { |
| base: Id(reader.next_u32()?), |
| element: Id(reader.next_u32()?), |
| indexes: { |
| let mut vec = Vec::new(); |
| while !reader.is_empty() { |
| vec.push(Id(reader.next_u32()?)); |
| } |
| vec |
| }, |
| }, |
| 79u16 => Self::VectorShuffle { |
| vector_1: Id(reader.next_u32()?), |
| vector_2: Id(reader.next_u32()?), |
| components: { |
| let mut vec = Vec::new(); |
| while !reader.is_empty() { |
| vec.push(reader.next_u32()?); |
| } |
| vec |
| }, |
| }, |
| 81u16 => Self::CompositeExtract { |
| composite: Id(reader.next_u32()?), |
| indexes: { |
| let mut vec = Vec::new(); |
| while !reader.is_empty() { |
| vec.push(reader.next_u32()?); |
| } |
| vec |
| }, |
| }, |
| 82u16 => Self::CompositeInsert { |
| object: Id(reader.next_u32()?), |
| composite: Id(reader.next_u32()?), |
| indexes: { |
| let mut vec = Vec::new(); |
| while !reader.is_empty() { |
| vec.push(reader.next_u32()?); |
| } |
| vec |
| }, |
| }, |
| 109u16 => Self::ConvertFToU { float_value: Id(reader.next_u32()?) }, |
| 110u16 => Self::ConvertFToS { float_value: Id(reader.next_u32()?) }, |
| 111u16 => Self::ConvertSToF { signed_value: Id(reader.next_u32()?) }, |
| 112u16 => Self::ConvertUToF { unsigned_value: Id(reader.next_u32()?) }, |
| 113u16 => Self::UConvert { unsigned_value: Id(reader.next_u32()?) }, |
| 114u16 => Self::SConvert { signed_value: Id(reader.next_u32()?) }, |
| 115u16 => Self::FConvert { float_value: Id(reader.next_u32()?) }, |
| 116u16 => Self::QuantizeToF16 { value: Id(reader.next_u32()?) }, |
| 117u16 => Self::ConvertPtrToU { pointer: Id(reader.next_u32()?) }, |
| 120u16 => Self::ConvertUToPtr { integer_value: Id(reader.next_u32()?) }, |
| 121u16 => Self::PtrCastToGeneric { pointer: Id(reader.next_u32()?) }, |
| 122u16 => Self::GenericCastToPtr { pointer: Id(reader.next_u32()?) }, |
| 124u16 => Self::Bitcast { operand: Id(reader.next_u32()?) }, |
| 126u16 => Self::SNegate { operand: Id(reader.next_u32()?) }, |
| 127u16 => Self::FNegate { operand: Id(reader.next_u32()?) }, |
| 128u16 => { |
| Self::IAdd { operand1: Id(reader.next_u32()?), operand2: Id(reader.next_u32()?) } |
| } |
| 129u16 => { |
| Self::FAdd { operand1: Id(reader.next_u32()?), operand2: Id(reader.next_u32()?) } |
| } |
| 130u16 => { |
| Self::ISub { operand1: Id(reader.next_u32()?), operand2: Id(reader.next_u32()?) } |
| } |
| 131u16 => { |
| Self::FSub { operand1: Id(reader.next_u32()?), operand2: Id(reader.next_u32()?) } |
| } |
| 132u16 => { |
| Self::IMul { operand1: Id(reader.next_u32()?), operand2: Id(reader.next_u32()?) } |
| } |
| 133u16 => { |
| Self::FMul { operand1: Id(reader.next_u32()?), operand2: Id(reader.next_u32()?) } |
| } |
| 134u16 => { |
| Self::UDiv { operand1: Id(reader.next_u32()?), operand2: Id(reader.next_u32()?) } |
| } |
| 135u16 => { |
| Self::SDiv { operand1: Id(reader.next_u32()?), operand2: Id(reader.next_u32()?) } |
| } |
| 136u16 => { |
| Self::FDiv { operand1: Id(reader.next_u32()?), operand2: Id(reader.next_u32()?) } |
| } |
| 137u16 => { |
| Self::UMod { operand1: Id(reader.next_u32()?), operand2: Id(reader.next_u32()?) } |
| } |
| 138u16 => { |
| Self::SRem { operand1: Id(reader.next_u32()?), operand2: Id(reader.next_u32()?) } |
| } |
| 139u16 => { |
| Self::SMod { operand1: Id(reader.next_u32()?), operand2: Id(reader.next_u32()?) } |
| } |
| 140u16 => { |
| Self::FRem { operand1: Id(reader.next_u32()?), operand2: Id(reader.next_u32()?) } |
| } |
| 141u16 => { |
| Self::FMod { operand1: Id(reader.next_u32()?), operand2: Id(reader.next_u32()?) } |
| } |
| 164u16 => Self::LogicalEqual { |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 165u16 => Self::LogicalNotEqual { |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 166u16 => Self::LogicalOr { |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 167u16 => Self::LogicalAnd { |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 168u16 => Self::LogicalNot { operand: Id(reader.next_u32()?) }, |
| 169u16 => Self::Select { |
| condition: Id(reader.next_u32()?), |
| object_1: Id(reader.next_u32()?), |
| object_2: Id(reader.next_u32()?), |
| }, |
| 170u16 => { |
| Self::IEqual { operand1: Id(reader.next_u32()?), operand2: Id(reader.next_u32()?) } |
| } |
| 171u16 => Self::INotEqual { |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 172u16 => Self::UGreaterThan { |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 173u16 => Self::SGreaterThan { |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 174u16 => Self::UGreaterThanEqual { |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 175u16 => Self::SGreaterThanEqual { |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 176u16 => Self::ULessThan { |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 177u16 => Self::SLessThan { |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 178u16 => Self::ULessThanEqual { |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 179u16 => Self::SLessThanEqual { |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 194u16 => Self::ShiftRightLogical { |
| base: Id(reader.next_u32()?), |
| shift: Id(reader.next_u32()?), |
| }, |
| 195u16 => Self::ShiftRightArithmetic { |
| base: Id(reader.next_u32()?), |
| shift: Id(reader.next_u32()?), |
| }, |
| 196u16 => Self::ShiftLeftLogical { |
| base: Id(reader.next_u32()?), |
| shift: Id(reader.next_u32()?), |
| }, |
| 197u16 => Self::BitwiseOr { |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 198u16 => Self::BitwiseXor { |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 199u16 => Self::BitwiseAnd { |
| operand1: Id(reader.next_u32()?), |
| operand2: Id(reader.next_u32()?), |
| }, |
| 200u16 => Self::Not { operand: Id(reader.next_u32()?) }, |
| opcode => return Err(reader.map_err(ParseErrors::UnknownSpecConstantOpcode(opcode))), |
| }) |
| } |
| } |
| #[derive(Clone, Copy, Debug, PartialEq, Eq)] |
| #[allow(non_camel_case_types)] |
| pub struct ImageOperands { |
| pub bias: Option<Id>, |
| pub lod: Option<Id>, |
| pub grad: Option<(Id, Id)>, |
| pub const_offset: Option<Id>, |
| pub offset: Option<Id>, |
| pub const_offsets: Option<Id>, |
| pub sample: Option<Id>, |
| pub min_lod: Option<Id>, |
| pub make_texel_available: Option<Id>, |
| pub make_texel_visible: Option<Id>, |
| pub non_private_texel: bool, |
| pub volatile_texel: bool, |
| pub sign_extend: bool, |
| pub zero_extend: bool, |
| pub nontemporal: bool, |
| pub offsets: Option<Id>, |
| } |
| impl ImageOperands { |
| #[allow(dead_code)] |
| fn parse(reader: &mut InstructionReader<'_>) -> Result<ImageOperands, ParseError> { |
| let value = reader.next_u32()?; |
| Ok(Self { |
| bias: if value & 1u32 != 0 { Some(Id(reader.next_u32()?)) } else { None }, |
| lod: if value & 2u32 != 0 { Some(Id(reader.next_u32()?)) } else { None }, |
| grad: if value & 4u32 != 0 { |
| Some((Id(reader.next_u32()?), Id(reader.next_u32()?))) |
| } else { |
| None |
| }, |
| const_offset: if value & 8u32 != 0 { Some(Id(reader.next_u32()?)) } else { None }, |
| offset: if value & 16u32 != 0 { Some(Id(reader.next_u32()?)) } else { None }, |
| const_offsets: if value & 32u32 != 0 { Some(Id(reader.next_u32()?)) } else { None }, |
| sample: if value & 64u32 != 0 { Some(Id(reader.next_u32()?)) } else { None }, |
| min_lod: if value & 128u32 != 0 { Some(Id(reader.next_u32()?)) } else { None }, |
| make_texel_available: if value & 256u32 != 0 { |
| Some(Id(reader.next_u32()?)) |
| } else { |
| None |
| }, |
| make_texel_visible: if value & 512u32 != 0 { |
| Some(Id(reader.next_u32()?)) |
| } else { |
| None |
| }, |
| non_private_texel: value & 1024u32 != 0, |
| volatile_texel: value & 2048u32 != 0, |
| sign_extend: value & 4096u32 != 0, |
| zero_extend: value & 8192u32 != 0, |
| nontemporal: value & 16384u32 != 0, |
| offsets: if value & 65536u32 != 0 { Some(Id(reader.next_u32()?)) } else { None }, |
| }) |
| } |
| } |
| #[derive(Clone, Copy, Debug, PartialEq, Eq)] |
| #[allow(non_camel_case_types)] |
| pub struct FPFastMathMode { |
| pub not_nan: bool, |
| pub not_inf: bool, |
| pub nsz: bool, |
| pub allow_recip: bool, |
| pub fast: bool, |
| pub allow_contract_fast_intel: bool, |
| pub allow_reassoc_intel: bool, |
| } |
| impl FPFastMathMode { |
| #[allow(dead_code)] |
| fn parse(reader: &mut InstructionReader<'_>) -> Result<FPFastMathMode, ParseError> { |
| let value = reader.next_u32()?; |
| Ok(Self { |
| not_nan: value & 1u32 != 0, |
| not_inf: value & 2u32 != 0, |
| nsz: value & 4u32 != 0, |
| allow_recip: value & 8u32 != 0, |
| fast: value & 16u32 != 0, |
| allow_contract_fast_intel: value & 65536u32 != 0, |
| allow_reassoc_intel: value & 131072u32 != 0, |
| }) |
| } |
| } |
| #[derive(Clone, Copy, Debug, PartialEq, Eq)] |
| #[allow(non_camel_case_types)] |
| pub struct SelectionControl { |
| pub flatten: bool, |
| pub dont_flatten: bool, |
| } |
| impl SelectionControl { |
| #[allow(dead_code)] |
| fn parse(reader: &mut InstructionReader<'_>) -> Result<SelectionControl, ParseError> { |
| let value = reader.next_u32()?; |
| Ok(Self { flatten: value & 1u32 != 0, dont_flatten: value & 2u32 != 0 }) |
| } |
| } |
| #[derive(Clone, Copy, Debug, PartialEq, Eq)] |
| #[allow(non_camel_case_types)] |
| pub struct LoopControl { |
| pub unroll: bool, |
| pub dont_unroll: bool, |
| pub dependency_infinite: bool, |
| pub dependency_length: Option<u32>, |
| pub min_iterations: Option<u32>, |
| pub max_iterations: Option<u32>, |
| pub iteration_multiple: Option<u32>, |
| pub peel_count: Option<u32>, |
| pub partial_count: Option<u32>, |
| pub initiation_interval_intel: Option<u32>, |
| pub max_concurrency_intel: Option<u32>, |
| pub dependency_array_intel: Option<u32>, |
| pub pipeline_enable_intel: Option<u32>, |
| pub loop_coalesce_intel: Option<u32>, |
| pub max_interleaving_intel: Option<u32>, |
| pub speculated_iterations_intel: Option<u32>, |
| pub no_fusion_intel: Option<u32>, |
| } |
| impl LoopControl { |
| #[allow(dead_code)] |
| fn parse(reader: &mut InstructionReader<'_>) -> Result<LoopControl, ParseError> { |
| let value = reader.next_u32()?; |
| Ok(Self { |
| unroll: value & 1u32 != 0, |
| dont_unroll: value & 2u32 != 0, |
| dependency_infinite: value & 4u32 != 0, |
| dependency_length: if value & 8u32 != 0 { Some(reader.next_u32()?) } else { None }, |
| min_iterations: if value & 16u32 != 0 { Some(reader.next_u32()?) } else { None }, |
| max_iterations: if value & 32u32 != 0 { Some(reader.next_u32()?) } else { None }, |
| iteration_multiple: if value & 64u32 != 0 { Some(reader.next_u32()?) } else { None }, |
| peel_count: if value & 128u32 != 0 { Some(reader.next_u32()?) } else { None }, |
| partial_count: if value & 256u32 != 0 { Some(reader.next_u32()?) } else { None }, |
| initiation_interval_intel: if value & 65536u32 != 0 { |
| Some(reader.next_u32()?) |
| } else { |
| None |
| }, |
| max_concurrency_intel: if value & 131072u32 != 0 { |
| Some(reader.next_u32()?) |
| } else { |
| None |
| }, |
| dependency_array_intel: if value & 262144u32 != 0 { |
| Some(reader.next_u32()?) |
| } else { |
| None |
| }, |
| pipeline_enable_intel: if value & 524288u32 != 0 { |
| Some(reader.next_u32()?) |
| } else { |
| None |
| }, |
| loop_coalesce_intel: if value & 1048576u32 != 0 { |
| Some(reader.next_u32()?) |
| } else { |
| None |
| }, |
| max_interleaving_intel: if value & 2097152u32 != 0 { |
| Some(reader.next_u32()?) |
| } else { |
| None |
| }, |
| speculated_iterations_intel: if value & 4194304u32 != 0 { |
| Some(reader.next_u32()?) |
| } else { |
| None |
| }, |
| no_fusion_intel: if value & 8388608u32 != 0 { Some(reader.next_u32()?) } else { None }, |
| }) |
| } |
| } |
| #[derive(Clone, Copy, Debug, PartialEq, Eq)] |
| #[allow(non_camel_case_types)] |
| pub struct FunctionControl { |
| pub inline: bool, |
| pub dont_inline: bool, |
| pub pure: bool, |
| pub constant: bool, |
| pub opt_none_intel: bool, |
| } |
| impl FunctionControl { |
| #[allow(dead_code)] |
| fn parse(reader: &mut InstructionReader<'_>) -> Result<FunctionControl, ParseError> { |
| let value = reader.next_u32()?; |
| Ok(Self { |
| inline: value & 1u32 != 0, |
| dont_inline: value & 2u32 != 0, |
| pure: value & 4u32 != 0, |
| constant: value & 8u32 != 0, |
| opt_none_intel: value & 65536u32 != 0, |
| }) |
| } |
| } |
| #[derive(Clone, Copy, Debug, PartialEq, Eq)] |
| #[allow(non_camel_case_types)] |
| pub struct MemorySemantics { |
| pub acquire: bool, |
| pub release: bool, |
| pub acquire_release: bool, |
| pub sequentially_consistent: bool, |
| pub uniform_memory: bool, |
| pub subgroup_memory: bool, |
| pub workgroup_memory: bool, |
| pub cross_workgroup_memory: bool, |
| pub atomic_counter_memory: bool, |
| pub image_memory: bool, |
| pub output_memory: bool, |
| pub make_available: bool, |
| pub make_visible: bool, |
| pub volatile: bool, |
| } |
| impl MemorySemantics { |
| #[allow(dead_code)] |
| fn parse(reader: &mut InstructionReader<'_>) -> Result<MemorySemantics, ParseError> { |
| let value = reader.next_u32()?; |
| Ok(Self { |
| acquire: value & 2u32 != 0, |
| release: value & 4u32 != 0, |
| acquire_release: value & 8u32 != 0, |
| sequentially_consistent: value & 16u32 != 0, |
| uniform_memory: value & 64u32 != 0, |
| subgroup_memory: value & 128u32 != 0, |
| workgroup_memory: value & 256u32 != 0, |
| cross_workgroup_memory: value & 512u32 != 0, |
| atomic_counter_memory: value & 1024u32 != 0, |
| image_memory: value & 2048u32 != 0, |
| output_memory: value & 4096u32 != 0, |
| make_available: value & 8192u32 != 0, |
| make_visible: value & 16384u32 != 0, |
| volatile: value & 32768u32 != 0, |
| }) |
| } |
| } |
| #[derive(Clone, Copy, Debug, PartialEq, Eq)] |
| #[allow(non_camel_case_types)] |
| pub struct MemoryAccess { |
| pub volatile: bool, |
| pub aligned: Option<u32>, |
| pub nontemporal: bool, |
| pub make_pointer_available: Option<Id>, |
| pub make_pointer_visible: Option<Id>, |
| pub non_private_pointer: bool, |
| } |
| impl MemoryAccess { |
| #[allow(dead_code)] |
| fn parse(reader: &mut InstructionReader<'_>) -> Result<MemoryAccess, ParseError> { |
| let value = reader.next_u32()?; |
| Ok(Self { |
| volatile: value & 1u32 != 0, |
| aligned: if value & 2u32 != 0 { Some(reader.next_u32()?) } else { None }, |
| nontemporal: value & 4u32 != 0, |
| make_pointer_available: if value & 8u32 != 0 { |
| Some(Id(reader.next_u32()?)) |
| } else { |
| None |
| }, |
| make_pointer_visible: if value & 16u32 != 0 { |
| Some(Id(reader.next_u32()?)) |
| } else { |
| None |
| }, |
| non_private_pointer: value & 32u32 != 0, |
| }) |
| } |
| } |
| #[derive(Clone, Copy, Debug, PartialEq, Eq)] |
| #[allow(non_camel_case_types)] |
| pub struct KernelProfilingInfo { |
| pub cmd_exec_time: bool, |
| } |
| impl KernelProfilingInfo { |
| #[allow(dead_code)] |
| fn parse(reader: &mut InstructionReader<'_>) -> Result<KernelProfilingInfo, ParseError> { |
| let value = reader.next_u32()?; |
| Ok(Self { cmd_exec_time: value & 1u32 != 0 }) |
| } |
| } |
| #[derive(Clone, Copy, Debug, PartialEq, Eq)] |
| #[allow(non_camel_case_types)] |
| pub struct RayFlags { |
| pub opaque_khr: bool, |
| pub no_opaque_khr: bool, |
| pub terminate_on_first_hit_khr: bool, |
| pub skip_closest_hit_shader_khr: bool, |
| pub cull_back_facing_triangles_khr: bool, |
| pub cull_front_facing_triangles_khr: bool, |
| pub cull_opaque_khr: bool, |
| pub cull_no_opaque_khr: bool, |
| pub skip_triangles_khr: bool, |
| pub skip_aab_bs_khr: bool, |
| } |
| impl RayFlags { |
| #[allow(dead_code)] |
| fn parse(reader: &mut InstructionReader<'_>) -> Result<RayFlags, ParseError> { |
| let value = reader.next_u32()?; |
| Ok(Self { |
| opaque_khr: value & 1u32 != 0, |
| no_opaque_khr: value & 2u32 != 0, |
| terminate_on_first_hit_khr: value & 4u32 != 0, |
| skip_closest_hit_shader_khr: value & 8u32 != 0, |
| cull_back_facing_triangles_khr: value & 16u32 != 0, |
| cull_front_facing_triangles_khr: value & 32u32 != 0, |
| cull_opaque_khr: value & 64u32 != 0, |
| cull_no_opaque_khr: value & 128u32 != 0, |
| skip_triangles_khr: value & 256u32 != 0, |
| skip_aab_bs_khr: value & 512u32 != 0, |
| }) |
| } |
| } |
| #[derive(Clone, Copy, Debug, PartialEq, Eq)] |
| #[allow(non_camel_case_types)] |
| pub struct FragmentShadingRate { |
| pub vertical2_pixels: bool, |
| pub vertical4_pixels: bool, |
| pub horizontal2_pixels: bool, |
| pub horizontal4_pixels: bool, |
| } |
| impl FragmentShadingRate { |
| #[allow(dead_code)] |
| fn parse(reader: &mut InstructionReader<'_>) -> Result<FragmentShadingRate, ParseError> { |
| let value = reader.next_u32()?; |
| Ok(Self { |
| vertical2_pixels: value & 1u32 != 0, |
| vertical4_pixels: value & 2u32 != 0, |
| horizontal2_pixels: value & 4u32 != 0, |
| horizontal4_pixels: value & 8u32 != 0, |
| }) |
| } |
| } |
| #[derive(Clone, Copy, Debug, PartialEq, Eq)] |
| #[allow(non_camel_case_types)] |
| pub enum SourceLanguage { |
| Unknown, |
| ESSL, |
| GLSL, |
| OpenCL_C, |
| OpenCL_CPP, |
| HLSL, |
| CPP_for_OpenCL, |
| } |
| impl SourceLanguage { |
| #[allow(dead_code)] |
| fn parse(reader: &mut InstructionReader<'_>) -> Result<SourceLanguage, ParseError> { |
| Ok(match reader.next_u32()? { |
| 0u32 => Self::Unknown, |
| 1u32 => Self::ESSL, |
| 2u32 => Self::GLSL, |
| 3u32 => Self::OpenCL_C, |
| 4u32 => Self::OpenCL_CPP, |
| 5u32 => Self::HLSL, |
| 6u32 => Self::CPP_for_OpenCL, |
| value => { |
| return Err(reader.map_err(ParseErrors::UnknownEnumerant("SourceLanguage", value))) |
| } |
| }) |
| } |
| } |
| #[derive(Clone, Copy, Debug, Hash, PartialEq, Eq)] |
| #[allow(non_camel_case_types)] |
| pub enum ExecutionModel { |
| Vertex, |
| TessellationControl, |
| TessellationEvaluation, |
| Geometry, |
| Fragment, |
| GLCompute, |
| Kernel, |
| TaskNV, |
| MeshNV, |
| RayGenerationKHR, |
| IntersectionKHR, |
| AnyHitKHR, |
| ClosestHitKHR, |
| MissKHR, |
| CallableKHR, |
| } |
| impl ExecutionModel { |
| #[allow(dead_code)] |
| fn parse(reader: &mut InstructionReader<'_>) -> Result<ExecutionModel, ParseError> { |
| Ok(match reader.next_u32()? { |
| 0u32 => Self::Vertex, |
| 1u32 => Self::TessellationControl, |
| 2u32 => Self::TessellationEvaluation, |
| 3u32 => Self::Geometry, |
| 4u32 => Self::Fragment, |
| 5u32 => Self::GLCompute, |
| 6u32 => Self::Kernel, |
| 5267u32 => Self::TaskNV, |
| 5268u32 => Self::MeshNV, |
| 5313u32 => Self::RayGenerationKHR, |
| 5314u32 => Self::IntersectionKHR, |
| 5315u32 => Self::AnyHitKHR, |
| 5316u32 => Self::ClosestHitKHR, |
| 5317u32 => Self::MissKHR, |
| 5318u32 => Self::CallableKHR, |
| value => { |
| return Err(reader.map_err(ParseErrors::UnknownEnumerant("ExecutionModel", value))) |
| } |
| }) |
| } |
| } |
| #[derive(Clone, Copy, Debug, PartialEq, Eq)] |
| #[allow(non_camel_case_types)] |
| pub enum AddressingModel { |
| Logical, |
| Physical32, |
| Physical64, |
| PhysicalStorageBuffer64, |
| } |
| impl AddressingModel { |
| #[allow(dead_code)] |
| fn parse(reader: &mut InstructionReader<'_>) -> Result<AddressingModel, ParseError> { |
| Ok(match reader.next_u32()? { |
| 0u32 => Self::Logical, |
| 1u32 => Self::Physical32, |
| 2u32 => Self::Physical64, |
| 5348u32 => Self::PhysicalStorageBuffer64, |
| value => { |
| return Err(reader.map_err(ParseErrors::UnknownEnumerant("AddressingModel", value))) |
| } |
| }) |
| } |
| } |
| #[derive(Clone, Copy, Debug, PartialEq, Eq)] |
| #[allow(non_camel_case_types)] |
| pub enum MemoryModel { |
| Simple, |
| GLSL450, |
| OpenCL, |
| Vulkan, |
| } |
| impl MemoryModel { |
| #[allow(dead_code)] |
| fn parse(reader: &mut InstructionReader<'_>) -> Result<MemoryModel, ParseError> { |
| Ok(match reader.next_u32()? { |
| 0u32 => Self::Simple, |
| 1u32 => Self::GLSL450, |
| 2u32 => Self::OpenCL, |
| 3u32 => Self::Vulkan, |
| value => { |
| return Err(reader.map_err(ParseErrors::UnknownEnumerant("MemoryModel", value))) |
| } |
| }) |
| } |
| } |
| #[derive(Clone, Copy, Debug, PartialEq, Eq)] |
| #[allow(non_camel_case_types)] |
| pub enum ExecutionMode { |
| Invocations { number_of_invocation_invocations: u32 }, |
| SpacingEqual, |
| SpacingFractionalEven, |
| SpacingFractionalOdd, |
| VertexOrderCw, |
| VertexOrderCcw, |
| PixelCenterInteger, |
| OriginUpperLeft, |
| OriginLowerLeft, |
| EarlyFragmentTests, |
| PointMode, |
| Xfb, |
| DepthReplacing, |
| DepthGreater, |
| DepthLess, |
| DepthUnchanged, |
| LocalSize { x_size: u32, y_size: u32, z_size: u32 }, |
| LocalSizeHint { x_size: u32, y_size: u32, z_size: u32 }, |
| InputPoints, |
| InputLines, |
| InputLinesAdjacency, |
| Triangles, |
| InputTrianglesAdjacency, |
| Quads, |
| Isolines, |
| OutputVertices { vertex_count: u32 }, |
| OutputPoints, |
| OutputLineStrip, |
| OutputTriangleStrip, |
| VecTypeHint { vector_type: u32 }, |
| ContractionOff, |
| Initializer, |
| Finalizer, |
| SubgroupSize { subgroup_size: u32 }, |
| SubgroupsPerWorkgroup { subgroups_per_workgroup: u32 }, |
| SubgroupsPerWorkgroupId { subgroups_per_workgroup: Id }, |
| LocalSizeId { x_size: Id, y_size: Id, z_size: Id }, |
| LocalSizeHintId { x_size_hint: Id, y_size_hint: Id, z_size_hint: Id }, |
| SubgroupUniformControlFlowKHR, |
| PostDepthCoverage, |
| DenormPreserve { target_width: u32 }, |
| DenormFlushToZero { target_width: u32 }, |
| SignedZeroInfNanPreserve { target_width: u32 }, |
| RoundingModeRTE { target_width: u32 }, |
| RoundingModeRTZ { target_width: u32 }, |
| StencilRefReplacingEXT, |
| OutputLinesNV, |
| OutputPrimitivesNV { primitive_count: u32 }, |
| DerivativeGroupQuadsNV, |
| DerivativeGroupLinearNV, |
| OutputTrianglesNV, |
| PixelInterlockOrderedEXT, |
| PixelInterlockUnorderedEXT, |
| SampleInterlockOrderedEXT, |
| SampleInterlockUnorderedEXT, |
| ShadingRateInterlockOrderedEXT, |
| ShadingRateInterlockUnorderedEXT, |
| SharedLocalMemorySizeINTEL { size: u32 }, |
| RoundingModeRTPINTEL { target_width: u32 }, |
| RoundingModeRTNINTEL { target_width: u32 }, |
| FloatingPointModeALTINTEL { target_width: u32 }, |
| FloatingPointModeIEEEINTEL { target_width: u32 }, |
| MaxWorkgroupSizeINTEL { max_x_size: u32, max_y_size: u32, max_z_size: u32 }, |
| MaxWorkDimINTEL { max_dimensions: u32 }, |
| NoGlobalOffsetINTEL, |
| NumSIMDWorkitemsINTEL { vector_width: u32 }, |
| SchedulerTargetFmaxMhzINTEL { target_fmax: u32 }, |
| } |
| impl ExecutionMode { |
| #[allow(dead_code)] |
| fn parse(reader: &mut InstructionReader<'_>) -> Result<ExecutionMode, ParseError> { |
| Ok(match reader.next_u32()? { |
| 0u32 => Self::Invocations { number_of_invocation_invocations: reader.next_u32()? }, |
| 1u32 => Self::SpacingEqual, |
| 2u32 => Self::SpacingFractionalEven, |
| 3u32 => Self::SpacingFractionalOdd, |
| 4u32 => Self::VertexOrderCw, |
| 5u32 => Self::VertexOrderCcw, |
| 6u32 => Self::PixelCenterInteger, |
| 7u32 => Self::OriginUpperLeft, |
| 8u32 => Self::OriginLowerLeft, |
| 9u32 => Self::EarlyFragmentTests, |
| 10u32 => Self::PointMode, |
| 11u32 => Self::Xfb, |
| 12u32 => Self::DepthReplacing, |
| 14u32 => Self::DepthGreater, |
| 15u32 => Self::DepthLess, |
| 16u32 => Self::DepthUnchanged, |
| 17u32 => Self::LocalSize { |
| x_size: reader.next_u32()?, |
| y_size: reader.next_u32()?, |
| z_size: reader.next_u32()?, |
| }, |
| 18u32 => Self::LocalSizeHint { |
| x_size: reader.next_u32()?, |
| y_size: reader.next_u32()?, |
| z_size: reader.next_u32()?, |
| }, |
| 19u32 => Self::InputPoints, |
| 20u32 => Self::InputLines, |
| 21u32 => Self::InputLinesAdjacency, |
| 22u32 => Self::Triangles, |
| 23u32 => Self::InputTrianglesAdjacency, |
| 24u32 => Self::Quads, |
| 25u32 => Self::Isolines, |
| 26u32 => Self::OutputVertices { vertex_count: reader.next_u32()? }, |
| 27u32 => Self::OutputPoints, |
| 28u32 => Self::OutputLineStrip, |
| 29u32 => Self::OutputTriangleStrip, |
| 30u32 => Self::VecTypeHint { vector_type: reader.next_u32()? }, |
| 31u32 => Self::ContractionOff, |
| 33u32 => Self::Initializer, |
| 34u32 => Self::Finalizer, |
| 35u32 => Self::SubgroupSize { subgroup_size: reader.next_u32()? }, |
| 36u32 => Self::SubgroupsPerWorkgroup { subgroups_per_workgroup: reader.next_u32()? }, |
| 37u32 => { |
| Self::SubgroupsPerWorkgroupId { subgroups_per_workgroup: Id(reader.next_u32()?) } |
| } |
| 38u32 => Self::LocalSizeId { |
| x_size: Id(reader.next_u32()?), |
| y_size: Id(reader.next_u32()?), |
| z_size: Id(reader.next_u32()?), |
| }, |
| 39u32 => Self::LocalSizeHintId { |
| x_size_hint: Id(reader.next_u32()?), |
| y_size_hint: Id(reader.next_u32()?), |
| z_size_hint: Id(reader.next_u32()?), |
| }, |
| 4421u32 => Self::SubgroupUniformControlFlowKHR, |
| 4446u32 => Self::PostDepthCoverage, |
| 4459u32 => Self::DenormPreserve { target_width: reader.next_u32()? }, |
| 4460u32 => Self::DenormFlushToZero { target_width: reader.next_u32()? }, |
| 4461u32 => Self::SignedZeroInfNanPreserve { target_width: reader.next_u32()? }, |
| 4462u32 => Self::RoundingModeRTE { target_width: reader.next_u32()? }, |
| 4463u32 => Self::RoundingModeRTZ { target_width: reader.next_u32()? }, |
| 5027u32 => Self::StencilRefReplacingEXT, |
| 5269u32 => Self::OutputLinesNV, |
| 5270u32 => Self::OutputPrimitivesNV { primitive_count: reader.next_u32()? }, |
| 5289u32 => Self::DerivativeGroupQuadsNV, |
| 5290u32 => Self::DerivativeGroupLinearNV, |
| 5298u32 => Self::OutputTrianglesNV, |
| 5366u32 => Self::PixelInterlockOrderedEXT, |
| 5367u32 => Self::PixelInterlockUnorderedEXT, |
| 5368u32 => Self::SampleInterlockOrderedEXT, |
| 5369u32 => Self::SampleInterlockUnorderedEXT, |
| 5370u32 => Self::ShadingRateInterlockOrderedEXT, |
| 5371u32 => Self::ShadingRateInterlockUnorderedEXT, |
| 5618u32 => Self::SharedLocalMemorySizeINTEL { size: reader.next_u32()? }, |
| 5620u32 => Self::RoundingModeRTPINTEL { target_width: reader.next_u32()? }, |
| 5621u32 => Self::RoundingModeRTNINTEL { target_width: reader.next_u32()? }, |
| 5622u32 => Self::FloatingPointModeALTINTEL { target_width: reader.next_u32()? }, |
| 5623u32 => Self::FloatingPointModeIEEEINTEL { target_width: reader.next_u32()? }, |
| 5893u32 => Self::MaxWorkgroupSizeINTEL { |
| max_x_size: reader.next_u32()?, |
| max_y_size: reader.next_u32()?, |
| max_z_size: reader.next_u32()?, |
| }, |
| 5894u32 => Self::MaxWorkDimINTEL { max_dimensions: reader.next_u32()? }, |
| 5895u32 => Self::NoGlobalOffsetINTEL, |
| 5896u32 => Self::NumSIMDWorkitemsINTEL { vector_width: reader.next_u32()? }, |
| 5903u32 => Self::SchedulerTargetFmaxMhzINTEL { target_fmax: reader.next_u32()? }, |
| value => { |
| return Err(reader.map_err(ParseErrors::UnknownEnumerant("ExecutionMode", value))) |
| } |
| }) |
| } |
| } |
| #[derive(Clone, Copy, Debug, PartialEq, Eq)] |
| #[allow(non_camel_case_types)] |
| pub enum StorageClass { |
| UniformConstant, |
| Input, |
| Uniform, |
| Output, |
| Workgroup, |
| CrossWorkgroup, |
| Private, |
| Function, |
| Generic, |
| PushConstant, |
| AtomicCounter, |
| Image, |
| StorageBuffer, |
| CallableDataKHR, |
| IncomingCallableDataKHR, |
| RayPayloadKHR, |
| HitAttributeKHR, |
| IncomingRayPayloadKHR, |
| ShaderRecordBufferKHR, |
| PhysicalStorageBuffer, |
| CodeSectionINTEL, |
| DeviceOnlyINTEL, |
| HostOnlyINTEL, |
| } |
| impl StorageClass { |
| #[allow(dead_code)] |
| fn parse(reader: &mut InstructionReader<'_>) -> Result<StorageClass, ParseError> { |
| Ok(match reader.next_u32()? { |
| 0u32 => Self::UniformConstant, |
| 1u32 => Self::Input, |
| 2u32 => Self::Uniform, |
| 3u32 => Self::Output, |
| 4u32 => Self::Workgroup, |
| 5u32 => Self::CrossWorkgroup, |
| 6u32 => Self::Private, |
| 7u32 => Self::Function, |
| 8u32 => Self::Generic, |
| 9u32 => Self::PushConstant, |
| 10u32 => Self::AtomicCounter, |
| 11u32 => Self::Image, |
| 12u32 => Self::StorageBuffer, |
| 5328u32 => Self::CallableDataKHR, |
| 5329u32 => Self::IncomingCallableDataKHR, |
| 5338u32 => Self::RayPayloadKHR, |
| 5339u32 => Self::HitAttributeKHR, |
| 5342u32 => Self::IncomingRayPayloadKHR, |
| 5343u32 => Self::ShaderRecordBufferKHR, |
| 5349u32 => Self::PhysicalStorageBuffer, |
| 5605u32 => Self::CodeSectionINTEL, |
| 5936u32 => Self::DeviceOnlyINTEL, |
| 5937u32 => Self::HostOnlyINTEL, |
| value => { |
| return Err(reader.map_err(ParseErrors::UnknownEnumerant("StorageClass", value))) |
| } |
| }) |
| } |
| } |
| #[derive(Clone, Copy, Debug, PartialEq, Eq)] |
| #[allow(non_camel_case_types)] |
| pub enum Dim { |
| Dim1D, |
| Dim2D, |
| Dim3D, |
| Cube, |
| Rect, |
| Buffer, |
| SubpassData, |
| } |
| impl Dim { |
| #[allow(dead_code)] |
| fn parse(reader: &mut InstructionReader<'_>) -> Result<Dim, ParseError> { |
| Ok(match reader.next_u32()? { |
| 0u32 => Self::Dim1D, |
| 1u32 => Self::Dim2D, |
| 2u32 => Self::Dim3D, |
| 3u32 => Self::Cube, |
| 4u32 => Self::Rect, |
| 5u32 => Self::Buffer, |
| 6u32 => Self::SubpassData, |
| value => return Err(reader.map_err(ParseErrors::UnknownEnumerant("Dim", value))), |
| }) |
| } |
| } |
| #[derive(Clone, Copy, Debug, PartialEq, Eq)] |
| #[allow(non_camel_case_types)] |
| pub enum SamplerAddressingMode { |
| None, |
| ClampToEdge, |
| Clamp, |
| Repeat, |
| RepeatMirrored, |
| } |
| impl SamplerAddressingMode { |
| #[allow(dead_code)] |
| fn parse(reader: &mut InstructionReader<'_>) -> Result<SamplerAddressingMode, ParseError> { |
| Ok(match reader.next_u32()? { |
| 0u32 => Self::None, |
| 1u32 => Self::ClampToEdge, |
| 2u32 => Self::Clamp, |
| 3u32 => Self::Repeat, |
| 4u32 => Self::RepeatMirrored, |
| value => { |
| return Err( |
| reader.map_err(ParseErrors::UnknownEnumerant("SamplerAddressingMode", value)) |
| ) |
| } |
| }) |
| } |
| } |
| #[derive(Clone, Copy, Debug, PartialEq, Eq)] |
| #[allow(non_camel_case_types)] |
| pub enum SamplerFilterMode { |
| Nearest, |
| Linear, |
| } |
| impl SamplerFilterMode { |
| #[allow(dead_code)] |
| fn parse(reader: &mut InstructionReader<'_>) -> Result<SamplerFilterMode, ParseError> { |
| Ok(match reader.next_u32()? { |
| 0u32 => Self::Nearest, |
| 1u32 => Self::Linear, |
| value => { |
| return Err( |
| reader.map_err(ParseErrors::UnknownEnumerant("SamplerFilterMode", value)) |
| ) |
| } |
| }) |
| } |
| } |
| #[derive(Clone, Copy, Debug, PartialEq, Eq)] |
| #[allow(non_camel_case_types)] |
| pub enum ImageFormat { |
| Unknown, |
| Rgba32f, |
| Rgba16f, |
| R32f, |
| Rgba8, |
| Rgba8Snorm, |
| Rg32f, |
| Rg16f, |
| R11fG11fB10f, |
| R16f, |
| Rgba16, |
| Rgb10A2, |
| Rg16, |
| Rg8, |
| R16, |
| R8, |
| Rgba16Snorm, |
| Rg16Snorm, |
| Rg8Snorm, |
| R16Snorm, |
| R8Snorm, |
| Rgba32i, |
| Rgba16i, |
| Rgba8i, |
| R32i, |
| Rg32i, |
| Rg16i, |
| Rg8i, |
| R16i, |
| R8i, |
| Rgba32ui, |
| Rgba16ui, |
| Rgba8ui, |
| R32ui, |
| Rgb10a2ui, |
| Rg32ui, |
| Rg16ui, |
| Rg8ui, |
| R16ui, |
| R8ui, |
| R64ui, |
| R64i, |
| } |
| impl ImageFormat { |
| #[allow(dead_code)] |
| fn parse(reader: &mut InstructionReader<'_>) -> Result<ImageFormat, ParseError> { |
| Ok(match reader.next_u32()? { |
| 0u32 => Self::Unknown, |
| 1u32 => Self::Rgba32f, |
| 2u32 => Self::Rgba16f, |
| 3u32 => Self::R32f, |
| 4u32 => Self::Rgba8, |
| 5u32 => Self::Rgba8Snorm, |
| 6u32 => Self::Rg32f, |
| 7u32 => Self::Rg16f, |
| 8u32 => Self::R11fG11fB10f, |
| 9u32 => Self::R16f, |
| 10u32 => Self::Rgba16, |
| 11u32 => Self::Rgb10A2, |
| 12u32 => Self::Rg16, |
| 13u32 => Self::Rg8, |
| 14u32 => Self::R16, |
| 15u32 => Self::R8, |
| 16u32 => Self::Rgba16Snorm, |
| 17u32 => Self::Rg16Snorm, |
| 18u32 => Self::Rg8Snorm, |
| 19u32 => Self::R16Snorm, |
| 20u32 => Self::R8Snorm, |
| 21u32 => Self::Rgba32i, |
| 22u32 => Self::Rgba16i, |
| 23u32 => Self::Rgba8i, |
| 24u32 => Self::R32i, |
| 25u32 => Self::Rg32i, |
| 26u32 => Self::Rg16i, |
| 27u32 => Self::Rg8i, |
| 28u32 => Self::R16i, |
| 29u32 => Self::R8i, |
| 30u32 => Self::Rgba32ui, |
| 31u32 => Self::Rgba16ui, |
| 32u32 => Self::Rgba8ui, |
| 33u32 => Self::R32ui, |
| 34u32 => Self::Rgb10a2ui, |
| 35u32 => Self::Rg32ui, |
| 36u32 => Self::Rg16ui, |
| 37u32 => Self::Rg8ui, |
| 38u32 => Self::R16ui, |
| 39u32 => Self::R8ui, |
| 40u32 => Self::R64ui, |
| 41u32 => Self::R64i, |
| value => { |
| return Err(reader.map_err(ParseErrors::UnknownEnumerant("ImageFormat", value))) |
| } |
| }) |
| } |
| } |
| #[derive(Clone, Copy, Debug, PartialEq, Eq)] |
| #[allow(non_camel_case_types)] |
| pub enum ImageChannelOrder { |
| R, |
| A, |
| RG, |
| RA, |
| RGB, |
| RGBA, |
| BGRA, |
| ARGB, |
| Intensity, |
| Luminance, |
| Rx, |
| RGx, |
| RGBx, |
| Depth, |
| DepthStencil, |
| sRGB, |
| sRGBx, |
| sRGBA, |
| sBGRA, |
| ABGR, |
| } |
| impl ImageChannelOrder { |
| #[allow(dead_code)] |
| fn parse(reader: &mut InstructionReader<'_>) -> Result<ImageChannelOrder, ParseError> { |
| Ok(match reader.next_u32()? { |
| 0u32 => Self::R, |
| 1u32 => Self::A, |
| 2u32 => Self::RG, |
| 3u32 => Self::RA, |
| 4u32 => Self::RGB, |
| 5u32 => Self::RGBA, |
| 6u32 => Self::BGRA, |
| 7u32 => Self::ARGB, |
| 8u32 => Self::Intensity, |
| 9u32 => Self::Luminance, |
| 10u32 => Self::Rx, |
| 11u32 => Self::RGx, |
| 12u32 => Self::RGBx, |
| 13u32 => Self::Depth, |
| 14u32 => Self::DepthStencil, |
| 15u32 => Self::sRGB, |
| 16u32 => Self::sRGBx, |
| 17u32 => Self::sRGBA, |
| 18u32 => Self::sBGRA, |
| 19u32 => Self::ABGR, |
| value => { |
| return Err( |
| reader.map_err(ParseErrors::UnknownEnumerant("ImageChannelOrder", value)) |
| ) |
| } |
| }) |
| } |
| } |
| #[derive(Clone, Copy, Debug, PartialEq, Eq)] |
| #[allow(non_camel_case_types)] |
| pub enum ImageChannelDataType { |
| SnormInt8, |
| SnormInt16, |
| UnormInt8, |
| UnormInt16, |
| UnormShort565, |
| UnormShort555, |
| UnormInt101010, |
| SignedInt8, |
| SignedInt16, |
| SignedInt32, |
| UnsignedInt8, |
| UnsignedInt16, |
| UnsignedInt32, |
| HalfFloat, |
| Float, |
| UnormInt24, |
| UnormInt101010_2, |
| } |
| impl ImageChannelDataType { |
| #[allow(dead_code)] |
| fn parse(reader: &mut InstructionReader<'_>) -> Result<ImageChannelDataType, ParseError> { |
| Ok(match reader.next_u32()? { |
| 0u32 => Self::SnormInt8, |
| 1u32 => Self::SnormInt16, |
| 2u32 => Self::UnormInt8, |
| 3u32 => Self::UnormInt16, |
| 4u32 => Self::UnormShort565, |
| 5u32 => Self::UnormShort555, |
| 6u32 => Self::UnormInt101010, |
| 7u32 => Self::SignedInt8, |
| 8u32 => Self::SignedInt16, |
| 9u32 => Self::SignedInt32, |
| 10u32 => Self::UnsignedInt8, |
| 11u32 => Self::UnsignedInt16, |
| 12u32 => Self::UnsignedInt32, |
| 13u32 => Self::HalfFloat, |
| 14u32 => Self::Float, |
| 15u32 => Self::UnormInt24, |
| 16u32 => Self::UnormInt101010_2, |
| value => { |
| return Err( |
| reader.map_err(ParseErrors::UnknownEnumerant("ImageChannelDataType", value)) |
| ) |
| } |
| }) |
| } |
| } |
| #[derive(Clone, Copy, Debug, PartialEq, Eq)] |
| #[allow(non_camel_case_types)] |
| pub enum FPRoundingMode { |
| RTE, |
| RTZ, |
| RTP, |
| RTN, |
| } |
| impl FPRoundingMode { |
| #[allow(dead_code)] |
| fn parse(reader: &mut InstructionReader<'_>) -> Result<FPRoundingMode, ParseError> { |
| Ok(match reader.next_u32()? { |
| 0u32 => Self::RTE, |
| 1u32 => Self::RTZ, |
| 2u32 => Self::RTP, |
| 3u32 => Self::RTN, |
| value => { |
| return Err(reader.map_err(ParseErrors::UnknownEnumerant("FPRoundingMode", value))) |
| } |
| }) |
| } |
| } |
| #[derive(Clone, Copy, Debug, PartialEq, Eq)] |
| #[allow(non_camel_case_types)] |
| pub enum FPDenormMode { |
| Preserve, |
| FlushToZero, |
| } |
| impl FPDenormMode { |
| #[allow(dead_code)] |
| fn parse(reader: &mut InstructionReader<'_>) -> Result<FPDenormMode, ParseError> { |
| Ok(match reader.next_u32()? { |
| 0u32 => Self::Preserve, |
| 1u32 => Self::FlushToZero, |
| value => { |
| return Err(reader.map_err(ParseErrors::UnknownEnumerant("FPDenormMode", value))) |
| } |
| }) |
| } |
| } |
| #[derive(Clone, Copy, Debug, PartialEq, Eq)] |
| #[allow(non_camel_case_types)] |
| pub enum QuantizationModes { |
| TRN, |
| TRN_ZERO, |
| RND, |
| RND_ZERO, |
| RND_INF, |
| RND_MIN_INF, |
| RND_CONV, |
| RND_CONV_ODD, |
| } |
| impl QuantizationModes { |
| #[allow(dead_code)] |
| fn parse(reader: &mut InstructionReader<'_>) -> Result<QuantizationModes, ParseError> { |
| Ok(match reader.next_u32()? { |
| 0u32 => Self::TRN, |
| 1u32 => Self::TRN_ZERO, |
| 2u32 => Self::RND, |
| 3u32 => Self::RND_ZERO, |
| 4u32 => Self::RND_INF, |
| 5u32 => Self::RND_MIN_INF, |
| 6u32 => Self::RND_CONV, |
| 7u32 => Self::RND_CONV_ODD, |
| value => { |
| return Err( |
| reader.map_err(ParseErrors::UnknownEnumerant("QuantizationModes", value)) |
| ) |
| } |
| }) |
| } |
| } |
| #[derive(Clone, Copy, Debug, PartialEq, Eq)] |
| #[allow(non_camel_case_types)] |
| pub enum FPOperationMode { |
| IEEE, |
| ALT, |
| } |
| impl FPOperationMode { |
| #[allow(dead_code)] |
| fn parse(reader: &mut InstructionReader<'_>) -> Result<FPOperationMode, ParseError> { |
| Ok(match reader.next_u32()? { |
| 0u32 => Self::IEEE, |
| 1u32 => Self::ALT, |
| value => { |
| return Err(reader.map_err(ParseErrors::UnknownEnumerant("FPOperationMode", value))) |
| } |
| }) |
| } |
| } |
| #[derive(Clone, Copy, Debug, PartialEq, Eq)] |
| #[allow(non_camel_case_types)] |
| pub enum OverflowModes { |
| WRAP, |
| SAT, |
| SAT_ZERO, |
| SAT_SYM, |
| } |
| impl OverflowModes { |
| #[allow(dead_code)] |
| fn parse(reader: &mut InstructionReader<'_>) -> Result<OverflowModes, ParseError> { |
| Ok(match reader.next_u32()? { |
| 0u32 => Self::WRAP, |
| 1u32 => Self::SAT, |
| 2u32 => Self::SAT_ZERO, |
| 3u32 => Self::SAT_SYM, |
| value => { |
| return Err(reader.map_err(ParseErrors::UnknownEnumerant("OverflowModes", value))) |
| } |
| }) |
| } |
| } |
| #[derive(Clone, Copy, Debug, PartialEq, Eq)] |
| #[allow(non_camel_case_types)] |
| pub enum LinkageType { |
| Export, |
| Import, |
| LinkOnceODR, |
| } |
| impl LinkageType { |
| #[allow(dead_code)] |
| fn parse(reader: &mut InstructionReader<'_>) -> Result<LinkageType, ParseError> { |
| Ok(match reader.next_u32()? { |
| 0u32 => Self::Export, |
| 1u32 => Self::Import, |
| 2u32 => Self::LinkOnceODR, |
| value => { |
| return Err(reader.map_err(ParseErrors::UnknownEnumerant("LinkageType", value))) |
| } |
| }) |
| } |
| } |
| #[derive(Clone, Copy, Debug, PartialEq, Eq)] |
| #[allow(non_camel_case_types)] |
| pub enum AccessQualifier { |
| ReadOnly, |
| WriteOnly, |
| ReadWrite, |
| } |
| impl AccessQualifier { |
| #[allow(dead_code)] |
| fn parse(reader: &mut InstructionReader<'_>) -> Result<AccessQualifier, ParseError> { |
| Ok(match reader.next_u32()? { |
| 0u32 => Self::ReadOnly, |
| 1u32 => Self::WriteOnly, |
| 2u32 => Self::ReadWrite, |
| value => { |
| return Err(reader.map_err(ParseErrors::UnknownEnumerant("AccessQualifier", value))) |
| } |
| }) |
| } |
| } |
| #[derive(Clone, Copy, Debug, PartialEq, Eq)] |
| #[allow(non_camel_case_types)] |
| pub enum FunctionParameterAttribute { |
| Zext, |
| Sext, |
| ByVal, |
| Sret, |
| NoAlias, |
| NoCapture, |
| NoWrite, |
| NoReadWrite, |
| } |
| impl FunctionParameterAttribute { |
| #[allow(dead_code)] |
| fn parse(reader: &mut InstructionReader<'_>) -> Result<FunctionParameterAttribute, ParseError> { |
| Ok(match reader.next_u32()? { |
| 0u32 => Self::Zext, |
| 1u32 => Self::Sext, |
| 2u32 => Self::ByVal, |
| 3u32 => Self::Sret, |
| 4u32 => Self::NoAlias, |
| 5u32 => Self::NoCapture, |
| 6u32 => Self::NoWrite, |
| 7u32 => Self::NoReadWrite, |
| value => { |
| return Err(reader |
| .map_err(ParseErrors::UnknownEnumerant("FunctionParameterAttribute", value))) |
| } |
| }) |
| } |
| } |
| #[derive(Clone, Debug, PartialEq, Eq)] |
| #[allow(non_camel_case_types)] |
| pub enum Decoration { |
| RelaxedPrecision, |
| SpecId { specialization_constant_id: u32 }, |
| Block, |
| BufferBlock, |
| RowMajor, |
| ColMajor, |
| ArrayStride { array_stride: u32 }, |
| MatrixStride { matrix_stride: u32 }, |
| GLSLShared, |
| GLSLPacked, |
| CPacked, |
| BuiltIn { built_in: BuiltIn }, |
| NoPerspective, |
| Flat, |
| Patch, |
| Centroid, |
| Sample, |
| Invariant, |
| Restrict, |
| Aliased, |
| Volatile, |
| Constant, |
| Coherent, |
| NonWritable, |
| NonReadable, |
| Uniform, |
| UniformId { execution: Id }, |
| SaturatedConversion, |
| Stream { stream_number: u32 }, |
| Location { location: u32 }, |
| Component { component: u32 }, |
| Index { index: u32 }, |
| Binding { binding_point: u32 }, |
| DescriptorSet { descriptor_set: u32 }, |
| Offset { byte_offset: u32 }, |
| XfbBuffer { xfb_buffer_number: u32 }, |
| XfbStride { xfb_stride: u32 }, |
| FuncParamAttr { function_parameter_attribute: FunctionParameterAttribute }, |
| FPRoundingMode { floating_point_rounding_mode: FPRoundingMode }, |
| FPFastMathMode { fast_math_mode: FPFastMathMode }, |
| LinkageAttributes { name: String, linkage_type: LinkageType }, |
| NoContraction, |
| InputAttachmentIndex { attachment_index: u32 }, |
| Alignment { alignment: u32 }, |
| MaxByteOffset { max_byte_offset: u32 }, |
| AlignmentId { alignment: Id }, |
| MaxByteOffsetId { max_byte_offset: Id }, |
| NoSignedWrap, |
| NoUnsignedWrap, |
| ExplicitInterpAMD, |
| OverrideCoverageNV, |
| PassthroughNV, |
| ViewportRelativeNV, |
| SecondaryViewportRelativeNV { offset: u32 }, |
| PerPrimitiveNV, |
| PerViewNV, |
| PerTaskNV, |
| PerVertexKHR, |
| NonUniform, |
| RestrictPointer, |
| AliasedPointer, |
| BindlessSamplerNV, |
| BindlessImageNV, |
| BoundSamplerNV, |
| BoundImageNV, |
| SIMTCallINTEL { n: u32 }, |
| ReferencedIndirectlyINTEL, |
| ClobberINTEL { register: String }, |
| SideEffectsINTEL, |
| VectorComputeVariableINTEL, |
| FuncParamIOKindINTEL { kind: u32 }, |
| VectorComputeFunctionINTEL, |
| StackCallINTEL, |
| GlobalVariableOffsetINTEL { offset: u32 }, |
| CounterBuffer { counter_buffer: Id }, |
| UserSemantic { semantic: String }, |
| UserTypeGOOGLE { user_type: String }, |
| FunctionRoundingModeINTEL { target_width: u32, fp_rounding_mode: FPRoundingMode }, |
| FunctionDenormModeINTEL { target_width: u32, fp_denorm_mode: FPDenormMode }, |
| RegisterINTEL, |
| MemoryINTEL { memory_type: String }, |
| NumbanksINTEL { banks: u32 }, |
| BankwidthINTEL { bank_width: u32 }, |
| MaxPrivateCopiesINTEL { maximum_copies: u32 }, |
| SinglepumpINTEL, |
| DoublepumpINTEL, |
| MaxReplicatesINTEL { maximum_replicates: u32 }, |
| SimpleDualPortINTEL, |
| MergeINTEL { merge_key: String, merge_type: String }, |
| BankBitsINTEL { bank_bits: u32 }, |
| ForcePow2DepthINTEL { force_key: u32 }, |
| BurstCoalesceINTEL, |
| CacheSizeINTEL { cache_size_in_bytes: u32 }, |
| DontStaticallyCoalesceINTEL, |
| PrefetchINTEL { prefetcher_size_in_bytes: u32 }, |
| StallEnableINTEL, |
| FuseLoopsInFunctionINTEL, |
| BufferLocationINTEL { buffer_location_id: u32 }, |
| IOPipeStorageINTEL { io_pipe_id: u32 }, |
| FunctionFloatingPointModeINTEL { target_width: u32, fp_operation_mode: FPOperationMode }, |
| SingleElementVectorINTEL, |
| VectorComputeCallableFunctionINTEL, |
| MediaBlockIOINTEL, |
| } |
| impl Decoration { |
| #[allow(dead_code)] |
| fn parse(reader: &mut InstructionReader<'_>) -> Result<Decoration, ParseError> { |
| Ok(match reader.next_u32()? { |
| 0u32 => Self::RelaxedPrecision, |
| 1u32 => Self::SpecId { specialization_constant_id: reader.next_u32()? }, |
| 2u32 => Self::Block, |
| 3u32 => Self::BufferBlock, |
| 4u32 => Self::RowMajor, |
| 5u32 => Self::ColMajor, |
| 6u32 => Self::ArrayStride { array_stride: reader.next_u32()? }, |
| 7u32 => Self::MatrixStride { matrix_stride: reader.next_u32()? }, |
| 8u32 => Self::GLSLShared, |
| 9u32 => Self::GLSLPacked, |
| 10u32 => Self::CPacked, |
| 11u32 => Self::BuiltIn { built_in: BuiltIn::parse(reader)? }, |
| 13u32 => Self::NoPerspective, |
| 14u32 => Self::Flat, |
| 15u32 => Self::Patch, |
| 16u32 => Self::Centroid, |
| 17u32 => Self::Sample, |
| 18u32 => Self::Invariant, |
| 19u32 => Self::Restrict, |
| 20u32 => Self::Aliased, |
| 21u32 => Self::Volatile, |
| 22u32 => Self::Constant, |
| 23u32 => Self::Coherent, |
| 24u32 => Self::NonWritable, |
| 25u32 => Self::NonReadable, |
| 26u32 => Self::Uniform, |
| 27u32 => Self::UniformId { execution: Id(reader.next_u32()?) }, |
| 28u32 => Self::SaturatedConversion, |
| 29u32 => Self::Stream { stream_number: reader.next_u32()? }, |
| 30u32 => Self::Location { location: reader.next_u32()? }, |
| 31u32 => Self::Component { component: reader.next_u32()? }, |
| 32u32 => Self::Index { index: reader.next_u32()? }, |
| 33u32 => Self::Binding { binding_point: reader.next_u32()? }, |
| 34u32 => Self::DescriptorSet { descriptor_set: reader.next_u32()? }, |
| 35u32 => Self::Offset { byte_offset: reader.next_u32()? }, |
| 36u32 => Self::XfbBuffer { xfb_buffer_number: reader.next_u32()? }, |
| 37u32 => Self::XfbStride { xfb_stride: reader.next_u32()? }, |
| 38u32 => Self::FuncParamAttr { |
| function_parameter_attribute: FunctionParameterAttribute::parse(reader)?, |
| }, |
| 39u32 => Self::FPRoundingMode { |
| floating_point_rounding_mode: FPRoundingMode::parse(reader)?, |
| }, |
| 40u32 => Self::FPFastMathMode { fast_math_mode: FPFastMathMode::parse(reader)? }, |
| 41u32 => Self::LinkageAttributes { |
| name: reader.next_string()?, |
| linkage_type: LinkageType::parse(reader)?, |
| }, |
| 42u32 => Self::NoContraction, |
| 43u32 => Self::InputAttachmentIndex { attachment_index: reader.next_u32()? }, |
| 44u32 => Self::Alignment { alignment: reader.next_u32()? }, |
| 45u32 => Self::MaxByteOffset { max_byte_offset: reader.next_u32()? }, |
| 46u32 => Self::AlignmentId { alignment: Id(reader.next_u32()?) }, |
| 47u32 => Self::MaxByteOffsetId { max_byte_offset: Id(reader.next_u32()?) }, |
| 4469u32 => Self::NoSignedWrap, |
| 4470u32 => Self::NoUnsignedWrap, |
| 4999u32 => Self::ExplicitInterpAMD, |
| 5248u32 => Self::OverrideCoverageNV, |
| 5250u32 => Self::PassthroughNV, |
| 5252u32 => Self::ViewportRelativeNV, |
| 5256u32 => Self::SecondaryViewportRelativeNV { offset: reader.next_u32()? }, |
| 5271u32 => Self::PerPrimitiveNV, |
| 5272u32 => Self::PerViewNV, |
| 5273u32 => Self::PerTaskNV, |
| 5285u32 => Self::PerVertexKHR, |
| 5300u32 => Self::NonUniform, |
| 5355u32 => Self::RestrictPointer, |
| 5356u32 => Self::AliasedPointer, |
| 5398u32 => Self::BindlessSamplerNV, |
| 5399u32 => Self::BindlessImageNV, |
| 5400u32 => Self::BoundSamplerNV, |
| 5401u32 => Self::BoundImageNV, |
| 5599u32 => Self::SIMTCallINTEL { n: reader.next_u32()? }, |
| 5602u32 => Self::ReferencedIndirectlyINTEL, |
| 5607u32 => Self::ClobberINTEL { register: reader.next_string()? }, |
| 5608u32 => Self::SideEffectsINTEL, |
| 5624u32 => Self::VectorComputeVariableINTEL, |
| 5625u32 => Self::FuncParamIOKindINTEL { kind: reader.next_u32()? }, |
| 5626u32 => Self::VectorComputeFunctionINTEL, |
| 5627u32 => Self::StackCallINTEL, |
| 5628u32 => Self::GlobalVariableOffsetINTEL { offset: reader.next_u32()? }, |
| 5634u32 => Self::CounterBuffer { counter_buffer: Id(reader.next_u32()?) }, |
| 5635u32 => Self::UserSemantic { semantic: reader.next_string()? }, |
| 5636u32 => Self::UserTypeGOOGLE { user_type: reader.next_string()? }, |
| 5822u32 => Self::FunctionRoundingModeINTEL { |
| target_width: reader.next_u32()?, |
| fp_rounding_mode: FPRoundingMode::parse(reader)?, |
| }, |
| 5823u32 => Self::FunctionDenormModeINTEL { |
| target_width: reader.next_u32()?, |
| fp_denorm_mode: FPDenormMode::parse(reader)?, |
| }, |
| 5825u32 => Self::RegisterINTEL, |
| 5826u32 => Self::MemoryINTEL { memory_type: reader.next_string()? }, |
| 5827u32 => Self::NumbanksINTEL { banks: reader.next_u32()? }, |
| 5828u32 => Self::BankwidthINTEL { bank_width: reader.next_u32()? }, |
| 5829u32 => Self::MaxPrivateCopiesINTEL { maximum_copies: reader.next_u32()? }, |
| 5830u32 => Self::SinglepumpINTEL, |
| 5831u32 => Self::DoublepumpINTEL, |
| 5832u32 => Self::MaxReplicatesINTEL { maximum_replicates: reader.next_u32()? }, |
| 5833u32 => Self::SimpleDualPortINTEL, |
| 5834u32 => Self::MergeINTEL { |
| merge_key: reader.next_string()?, |
| merge_type: reader.next_string()?, |
| }, |
| 5835u32 => Self::BankBitsINTEL { bank_bits: reader.next_u32()? }, |
| 5836u32 => Self::ForcePow2DepthINTEL { force_key: reader.next_u32()? }, |
| 5899u32 => Self::BurstCoalesceINTEL, |
| 5900u32 => Self::CacheSizeINTEL { cache_size_in_bytes: reader.next_u32()? }, |
| 5901u32 => Self::DontStaticallyCoalesceINTEL, |
| 5902u32 => Self::PrefetchINTEL { prefetcher_size_in_bytes: reader.next_u32()? }, |
| 5905u32 => Self::StallEnableINTEL, |
| 5907u32 => Self::FuseLoopsInFunctionINTEL, |
| 5921u32 => Self::BufferLocationINTEL { buffer_location_id: reader.next_u32()? }, |
| 5944u32 => Self::IOPipeStorageINTEL { io_pipe_id: reader.next_u32()? }, |
| 6080u32 => Self::FunctionFloatingPointModeINTEL { |
| target_width: reader.next_u32()?, |
| fp_operation_mode: FPOperationMode::parse(reader)?, |
| }, |
| 6085u32 => Self::SingleElementVectorINTEL, |
| 6087u32 => Self::VectorComputeCallableFunctionINTEL, |
| 6140u32 => Self::MediaBlockIOINTEL, |
| value => return Err(reader.map_err(ParseErrors::UnknownEnumerant("Decoration", value))), |
| }) |
| } |
| } |
| #[derive(Clone, Copy, Debug, PartialEq, Eq)] |
| #[allow(non_camel_case_types)] |
| pub enum BuiltIn { |
| Position, |
| PointSize, |
| ClipDistance, |
| CullDistance, |
| VertexId, |
| InstanceId, |
| PrimitiveId, |
| InvocationId, |
| Layer, |
| ViewportIndex, |
| TessLevelOuter, |
| TessLevelInner, |
| TessCoord, |
| PatchVertices, |
| FragCoord, |
| PointCoord, |
| FrontFacing, |
| SampleId, |
| SamplePosition, |
| SampleMask, |
| FragDepth, |
| HelperInvocation, |
| NumWorkgroups, |
| WorkgroupSize, |
| WorkgroupId, |
| LocalInvocationId, |
| GlobalInvocationId, |
| LocalInvocationIndex, |
| WorkDim, |
| GlobalSize, |
| EnqueuedWorkgroupSize, |
| GlobalOffset, |
| GlobalLinearId, |
| SubgroupSize, |
| SubgroupMaxSize, |
| NumSubgroups, |
| NumEnqueuedSubgroups, |
| SubgroupId, |
| SubgroupLocalInvocationId, |
| VertexIndex, |
| InstanceIndex, |
| SubgroupEqMask, |
| SubgroupGeMask, |
| SubgroupGtMask, |
| SubgroupLeMask, |
| SubgroupLtMask, |
| BaseVertex, |
| BaseInstance, |
| DrawIndex, |
| PrimitiveShadingRateKHR, |
| DeviceIndex, |
| ViewIndex, |
| ShadingRateKHR, |
| BaryCoordNoPerspAMD, |
| BaryCoordNoPerspCentroidAMD, |
| BaryCoordNoPerspSampleAMD, |
| BaryCoordSmoothAMD, |
| BaryCoordSmoothCentroidAMD, |
| BaryCoordSmoothSampleAMD, |
| BaryCoordPullModelAMD, |
| FragStencilRefEXT, |
| ViewportMaskNV, |
| SecondaryPositionNV, |
| SecondaryViewportMaskNV, |
| PositionPerViewNV, |
| ViewportMaskPerViewNV, |
| FullyCoveredEXT, |
| TaskCountNV, |
| PrimitiveCountNV, |
| PrimitiveIndicesNV, |
| ClipDistancePerViewNV, |
| CullDistancePerViewNV, |
| LayerPerViewNV, |
| MeshViewCountNV, |
| MeshViewIndicesNV, |
| BaryCoordKHR, |
| BaryCoordNoPerspKHR, |
| FragSizeEXT, |
| FragInvocationCountEXT, |
| LaunchIdKHR, |
| LaunchSizeKHR, |
| WorldRayOriginKHR, |
| WorldRayDirectionKHR, |
| ObjectRayOriginKHR, |
| ObjectRayDirectionKHR, |
| RayTminKHR, |
| RayTmaxKHR, |
| InstanceCustomIndexKHR, |
| ObjectToWorldKHR, |
| WorldToObjectKHR, |
| HitTNV, |
| HitKindKHR, |
| CurrentRayTimeNV, |
| IncomingRayFlagsKHR, |
| RayGeometryIndexKHR, |
| WarpsPerSMNV, |
| SMCountNV, |
| WarpIDNV, |
| SMIDNV, |
| } |
| impl BuiltIn { |
| #[allow(dead_code)] |
| fn parse(reader: &mut InstructionReader<'_>) -> Result<BuiltIn, ParseError> { |
| Ok(match reader.next_u32()? { |
| 0u32 => Self::Position, |
| 1u32 => Self::PointSize, |
| 3u32 => Self::ClipDistance, |
| 4u32 => Self::CullDistance, |
| 5u32 => Self::VertexId, |
| 6u32 => Self::InstanceId, |
| 7u32 => Self::PrimitiveId, |
| 8u32 => Self::InvocationId, |
| 9u32 => Self::Layer, |
| 10u32 => Self::ViewportIndex, |
| 11u32 => Self::TessLevelOuter, |
| 12u32 => Self::TessLevelInner, |
| 13u32 => Self::TessCoord, |
| 14u32 => Self::PatchVertices, |
| 15u32 => Self::FragCoord, |
| 16u32 => Self::PointCoord, |
| 17u32 => Self::FrontFacing, |
| 18u32 => Self::SampleId, |
| 19u32 => Self::SamplePosition, |
| 20u32 => Self::SampleMask, |
| 22u32 => Self::FragDepth, |
| 23u32 => Self::HelperInvocation, |
| 24u32 => Self::NumWorkgroups, |
| 25u32 => Self::WorkgroupSize, |
| 26u32 => Self::WorkgroupId, |
| 27u32 => Self::LocalInvocationId, |
| 28u32 => Self::GlobalInvocationId, |
| 29u32 => Self::LocalInvocationIndex, |
| 30u32 => Self::WorkDim, |
| 31u32 => Self::GlobalSize, |
| 32u32 => Self::EnqueuedWorkgroupSize, |
| 33u32 => Self::GlobalOffset, |
| 34u32 => Self::GlobalLinearId, |
| 36u32 => Self::SubgroupSize, |
| 37u32 => Self::SubgroupMaxSize, |
| 38u32 => Self::NumSubgroups, |
| 39u32 => Self::NumEnqueuedSubgroups, |
| 40u32 => Self::SubgroupId, |
| 41u32 => Self::SubgroupLocalInvocationId, |
| 42u32 => Self::VertexIndex, |
| 43u32 => Self::InstanceIndex, |
| 4416u32 => Self::SubgroupEqMask, |
| 4417u32 => Self::SubgroupGeMask, |
| 4418u32 => Self::SubgroupGtMask, |
| 4419u32 => Self::SubgroupLeMask, |
| 4420u32 => Self::SubgroupLtMask, |
| 4424u32 => Self::BaseVertex, |
| 4425u32 => Self::BaseInstance, |
| 4426u32 => Self::DrawIndex, |
| 4432u32 => Self::PrimitiveShadingRateKHR, |
| 4438u32 => Self::DeviceIndex, |
| 4440u32 => Self::ViewIndex, |
| 4444u32 => Self::ShadingRateKHR, |
| 4992u32 => Self::BaryCoordNoPerspAMD, |
| 4993u32 => Self::BaryCoordNoPerspCentroidAMD, |
| 4994u32 => Self::BaryCoordNoPerspSampleAMD, |
| 4995u32 => Self::BaryCoordSmoothAMD, |
| 4996u32 => Self::BaryCoordSmoothCentroidAMD, |
| 4997u32 => Self::BaryCoordSmoothSampleAMD, |
| 4998u32 => Self::BaryCoordPullModelAMD, |
| 5014u32 => Self::FragStencilRefEXT, |
| 5253u32 => Self::ViewportMaskNV, |
| 5257u32 => Self::SecondaryPositionNV, |
| 5258u32 => Self::SecondaryViewportMaskNV, |
| 5261u32 => Self::PositionPerViewNV, |
| 5262u32 => Self::ViewportMaskPerViewNV, |
| 5264u32 => Self::FullyCoveredEXT, |
| 5274u32 => Self::TaskCountNV, |
| 5275u32 => Self::PrimitiveCountNV, |
| 5276u32 => Self::PrimitiveIndicesNV, |
| 5277u32 => Self::ClipDistancePerViewNV, |
| 5278u32 => Self::CullDistancePerViewNV, |
| 5279u32 => Self::LayerPerViewNV, |
| 5280u32 => Self::MeshViewCountNV, |
| 5281u32 => Self::MeshViewIndicesNV, |
| 5286u32 => Self::BaryCoordKHR, |
| 5287u32 => Self::BaryCoordNoPerspKHR, |
| 5292u32 => Self::FragSizeEXT, |
| 5293u32 => Self::FragInvocationCountEXT, |
| 5319u32 => Self::LaunchIdKHR, |
| 5320u32 => Self::LaunchSizeKHR, |
| 5321u32 => Self::WorldRayOriginKHR, |
| 5322u32 => Self::WorldRayDirectionKHR, |
| 5323u32 => Self::ObjectRayOriginKHR, |
| 5324u32 => Self::ObjectRayDirectionKHR, |
| 5325u32 => Self::RayTminKHR, |
| 5326u32 => Self::RayTmaxKHR, |
| 5327u32 => Self::InstanceCustomIndexKHR, |
| 5330u32 => Self::ObjectToWorldKHR, |
| 5331u32 => Self::WorldToObjectKHR, |
| 5332u32 => Self::HitTNV, |
| 5333u32 => Self::HitKindKHR, |
| 5334u32 => Self::CurrentRayTimeNV, |
| 5351u32 => Self::IncomingRayFlagsKHR, |
| 5352u32 => Self::RayGeometryIndexKHR, |
| 5374u32 => Self::WarpsPerSMNV, |
| 5375u32 => Self::SMCountNV, |
| 5376u32 => Self::WarpIDNV, |
| 5377u32 => Self::SMIDNV, |
| value => return Err(reader.map_err(ParseErrors::UnknownEnumerant("BuiltIn", value))), |
| }) |
| } |
| } |
| #[derive(Clone, Copy, Debug, PartialEq, Eq)] |
| #[allow(non_camel_case_types)] |
| pub enum Scope { |
| CrossDevice, |
| Device, |
| Workgroup, |
| Subgroup, |
| Invocation, |
| QueueFamily, |
| ShaderCallKHR, |
| } |
| impl Scope { |
| #[allow(dead_code)] |
| fn parse(reader: &mut InstructionReader<'_>) -> Result<Scope, ParseError> { |
| Ok(match reader.next_u32()? { |
| 0u32 => Self::CrossDevice, |
| 1u32 => Self::Device, |
| 2u32 => Self::Workgroup, |
| 3u32 => Self::Subgroup, |
| 4u32 => Self::Invocation, |
| 5u32 => Self::QueueFamily, |
| 6u32 => Self::ShaderCallKHR, |
| value => return Err(reader.map_err(ParseErrors::UnknownEnumerant("Scope", value))), |
| }) |
| } |
| } |
| #[derive(Clone, Copy, Debug, PartialEq, Eq)] |
| #[allow(non_camel_case_types)] |
| pub enum GroupOperation { |
| Reduce, |
| InclusiveScan, |
| ExclusiveScan, |
| ClusteredReduce, |
| PartitionedReduceNV, |
| PartitionedInclusiveScanNV, |
| PartitionedExclusiveScanNV, |
| } |
| impl GroupOperation { |
| #[allow(dead_code)] |
| fn parse(reader: &mut InstructionReader<'_>) -> Result<GroupOperation, ParseError> { |
| Ok(match reader.next_u32()? { |
| 0u32 => Self::Reduce, |
| 1u32 => Self::InclusiveScan, |
| 2u32 => Self::ExclusiveScan, |
| 3u32 => Self::ClusteredReduce, |
| 6u32 => Self::PartitionedReduceNV, |
| 7u32 => Self::PartitionedInclusiveScanNV, |
| 8u32 => Self::PartitionedExclusiveScanNV, |
| value => { |
| return Err(reader.map_err(ParseErrors::UnknownEnumerant("GroupOperation", value))) |
| } |
| }) |
| } |
| } |
| #[derive(Clone, Copy, Debug, PartialEq, Eq)] |
| #[allow(non_camel_case_types)] |
| pub enum KernelEnqueueFlags { |
| NoWait, |
| WaitKernel, |
| WaitWorkGroup, |
| } |
| impl KernelEnqueueFlags { |
| #[allow(dead_code)] |
| fn parse(reader: &mut InstructionReader<'_>) -> Result<KernelEnqueueFlags, ParseError> { |
| Ok(match reader.next_u32()? { |
| 0u32 => Self::NoWait, |
| 1u32 => Self::WaitKernel, |
| 2u32 => Self::WaitWorkGroup, |
| value => { |
| return Err( |
| reader.map_err(ParseErrors::UnknownEnumerant("KernelEnqueueFlags", value)) |
| ) |
| } |
| }) |
| } |
| } |
| #[derive(Clone, Copy, Debug, PartialEq, Eq)] |
| #[allow(non_camel_case_types)] |
| pub enum Capability { |
| Matrix, |
| Shader, |
| Geometry, |
| Tessellation, |
| Addresses, |
| Linkage, |
| Kernel, |
| Vector16, |
| Float16Buffer, |
| Float16, |
| Float64, |
| Int64, |
| Int64Atomics, |
| ImageBasic, |
| ImageReadWrite, |
| ImageMipmap, |
| Pipes, |
| Groups, |
| DeviceEnqueue, |
| LiteralSampler, |
| AtomicStorage, |
| Int16, |
| TessellationPointSize, |
| GeometryPointSize, |
| ImageGatherExtended, |
| StorageImageMultisample, |
| UniformBufferArrayDynamicIndexing, |
| SampledImageArrayDynamicIndexing, |
| StorageBufferArrayDynamicIndexing, |
| StorageImageArrayDynamicIndexing, |
| ClipDistance, |
| CullDistance, |
| ImageCubeArray, |
| SampleRateShading, |
| ImageRect, |
| SampledRect, |
| GenericPointer, |
| Int8, |
| InputAttachment, |
| SparseResidency, |
| MinLod, |
| Sampled1D, |
| Image1D, |
| SampledCubeArray, |
| SampledBuffer, |
| ImageBuffer, |
| ImageMSArray, |
| StorageImageExtendedFormats, |
| ImageQuery, |
| DerivativeControl, |
| InterpolationFunction, |
| TransformFeedback, |
| GeometryStreams, |
| StorageImageReadWithoutFormat, |
| StorageImageWriteWithoutFormat, |
| MultiViewport, |
| SubgroupDispatch, |
| NamedBarrier, |
| PipeStorage, |
| GroupNonUniform, |
| GroupNonUniformVote, |
| GroupNonUniformArithmetic, |
| GroupNonUniformBallot, |
| GroupNonUniformShuffle, |
| GroupNonUniformShuffleRelative, |
| GroupNonUniformClustered, |
| GroupNonUniformQuad, |
| ShaderLayer, |
| ShaderViewportIndex, |
| UniformDecoration, |
| FragmentShadingRateKHR, |
| SubgroupBallotKHR, |
| DrawParameters, |
| WorkgroupMemoryExplicitLayoutKHR, |
| WorkgroupMemoryExplicitLayout8BitAccessKHR, |
| WorkgroupMemoryExplicitLayout16BitAccessKHR, |
| SubgroupVoteKHR, |
| StorageBuffer16BitAccess, |
| UniformAndStorageBuffer16BitAccess, |
| StoragePushConstant16, |
| StorageInputOutput16, |
| DeviceGroup, |
| MultiView, |
| VariablePointersStorageBuffer, |
| VariablePointers, |
| AtomicStorageOps, |
| SampleMaskPostDepthCoverage, |
| StorageBuffer8BitAccess, |
| UniformAndStorageBuffer8BitAccess, |
| StoragePushConstant8, |
| DenormPreserve, |
| DenormFlushToZero, |
| SignedZeroInfNanPreserve, |
| RoundingModeRTE, |
| RoundingModeRTZ, |
| RayQueryProvisionalKHR, |
| RayQueryKHR, |
| RayTraversalPrimitiveCullingKHR, |
| RayTracingKHR, |
| Float16ImageAMD, |
| ImageGatherBiasLodAMD, |
| FragmentMaskAMD, |
| StencilExportEXT, |
| ImageReadWriteLodAMD, |
| Int64ImageEXT, |
| ShaderClockKHR, |
| SampleMaskOverrideCoverageNV, |
| GeometryShaderPassthroughNV, |
| ShaderViewportIndexLayerEXT, |
| ShaderViewportMaskNV, |
| ShaderStereoViewNV, |
| PerViewAttributesNV, |
| FragmentFullyCoveredEXT, |
| MeshShadingNV, |
| ImageFootprintNV, |
| FragmentBarycentricKHR, |
| ComputeDerivativeGroupQuadsNV, |
| FragmentDensityEXT, |
| GroupNonUniformPartitionedNV, |
| ShaderNonUniform, |
| RuntimeDescriptorArray, |
| InputAttachmentArrayDynamicIndexing, |
| UniformTexelBufferArrayDynamicIndexing, |
| StorageTexelBufferArrayDynamicIndexing, |
| UniformBufferArrayNonUniformIndexing, |
| SampledImageArrayNonUniformIndexing, |
| StorageBufferArrayNonUniformIndexing, |
| StorageImageArrayNonUniformIndexing, |
| InputAttachmentArrayNonUniformIndexing, |
| UniformTexelBufferArrayNonUniformIndexing, |
| StorageTexelBufferArrayNonUniformIndexing, |
| RayTracingNV, |
| RayTracingMotionBlurNV, |
| VulkanMemoryModel, |
| VulkanMemoryModelDeviceScope, |
| PhysicalStorageBufferAddresses, |
| ComputeDerivativeGroupLinearNV, |
| RayTracingProvisionalKHR, |
| CooperativeMatrixNV, |
| FragmentShaderSampleInterlockEXT, |
| FragmentShaderShadingRateInterlockEXT, |
| ShaderSMBuiltinsNV, |
| FragmentShaderPixelInterlockEXT, |
| DemoteToHelperInvocation, |
| BindlessTextureNV, |
| SubgroupShuffleINTEL, |
| SubgroupBufferBlockIOINTEL, |
| SubgroupImageBlockIOINTEL, |
| SubgroupImageMediaBlockIOINTEL, |
| RoundToInfinityINTEL, |
| FloatingPointModeINTEL, |
| IntegerFunctions2INTEL, |
| FunctionPointersINTEL, |
| IndirectReferencesINTEL, |
| AsmINTEL, |
| AtomicFloat32MinMaxEXT, |
| AtomicFloat64MinMaxEXT, |
| AtomicFloat16MinMaxEXT, |
| VectorComputeINTEL, |
| VectorAnyINTEL, |
| ExpectAssumeKHR, |
| SubgroupAvcMotionEstimationINTEL, |
| SubgroupAvcMotionEstimationIntraINTEL, |
| SubgroupAvcMotionEstimationChromaINTEL, |
| VariableLengthArrayINTEL, |
| FunctionFloatControlINTEL, |
| FPGAMemoryAttributesINTEL, |
| FPFastMathModeINTEL, |
| ArbitraryPrecisionIntegersINTEL, |
| ArbitraryPrecisionFloatingPointINTEL, |
| UnstructuredLoopControlsINTEL, |
| FPGALoopControlsINTEL, |
| KernelAttributesINTEL, |
| FPGAKernelAttributesINTEL, |
| FPGAMemoryAccessesINTEL, |
| FPGAClusterAttributesINTEL, |
| LoopFuseINTEL, |
| FPGABufferLocationINTEL, |
| ArbitraryPrecisionFixedPointINTEL, |
| USMStorageClassesINTEL, |
| IOPipesINTEL, |
| BlockingPipesINTEL, |
| FPGARegINTEL, |
| DotProductInputAll, |
| DotProductInput4x8Bit, |
| DotProductInput4x8BitPacked, |
| DotProduct, |
| BitInstructions, |
| AtomicFloat32AddEXT, |
| AtomicFloat64AddEXT, |
| LongConstantCompositeINTEL, |
| OptNoneINTEL, |
| AtomicFloat16AddEXT, |
| DebugInfoModuleINTEL, |
| } |
| impl Capability { |
| #[allow(dead_code)] |
| fn parse(reader: &mut InstructionReader<'_>) -> Result<Capability, ParseError> { |
| Ok(match reader.next_u32()? { |
| 0u32 => Self::Matrix, |
| 1u32 => Self::Shader, |
| 2u32 => Self::Geometry, |
| 3u32 => Self::Tessellation, |
| 4u32 => Self::Addresses, |
| 5u32 => Self::Linkage, |
| 6u32 => Self::Kernel, |
| 7u32 => Self::Vector16, |
| 8u32 => Self::Float16Buffer, |
| 9u32 => Self::Float16, |
| 10u32 => Self::Float64, |
| 11u32 => Self::Int64, |
| 12u32 => Self::Int64Atomics, |
| 13u32 => Self::ImageBasic, |
| 14u32 => Self::ImageReadWrite, |
| 15u32 => Self::ImageMipmap, |
| 17u32 => Self::Pipes, |
| 18u32 => Self::Groups, |
| 19u32 => Self::DeviceEnqueue, |
| 20u32 => Self::LiteralSampler, |
| 21u32 => Self::AtomicStorage, |
| 22u32 => Self::Int16, |
| 23u32 => Self::TessellationPointSize, |
| 24u32 => Self::GeometryPointSize, |
| 25u32 => Self::ImageGatherExtended, |
| 27u32 => Self::StorageImageMultisample, |
| 28u32 => Self::UniformBufferArrayDynamicIndexing, |
| 29u32 => Self::SampledImageArrayDynamicIndexing, |
| 30u32 => Self::StorageBufferArrayDynamicIndexing, |
| 31u32 => Self::StorageImageArrayDynamicIndexing, |
| 32u32 => Self::ClipDistance, |
| 33u32 => Self::CullDistance, |
| 34u32 => Self::ImageCubeArray, |
| 35u32 => Self::SampleRateShading, |
| 36u32 => Self::ImageRect, |
| 37u32 => Self::SampledRect, |
| 38u32 => Self::GenericPointer, |
| 39u32 => Self::Int8, |
| 40u32 => Self::InputAttachment, |
| 41u32 => Self::SparseResidency, |
| 42u32 => Self::MinLod, |
| 43u32 => Self::Sampled1D, |
| 44u32 => Self::Image1D, |
| 45u32 => Self::SampledCubeArray, |
| 46u32 => Self::SampledBuffer, |
| 47u32 => Self::ImageBuffer, |
| 48u32 => Self::ImageMSArray, |
| 49u32 => Self::StorageImageExtendedFormats, |
| 50u32 => Self::ImageQuery, |
| 51u32 => Self::DerivativeControl, |
| 52u32 => Self::InterpolationFunction, |
| 53u32 => Self::TransformFeedback, |
| 54u32 => Self::GeometryStreams, |
| 55u32 => Self::StorageImageReadWithoutFormat, |
| 56u32 => Self::StorageImageWriteWithoutFormat, |
| 57u32 => Self::MultiViewport, |
| 58u32 => Self::SubgroupDispatch, |
| 59u32 => Self::NamedBarrier, |
| 60u32 => Self::PipeStorage, |
| 61u32 => Self::GroupNonUniform, |
| 62u32 => Self::GroupNonUniformVote, |
| 63u32 => Self::GroupNonUniformArithmetic, |
| 64u32 => Self::GroupNonUniformBallot, |
| 65u32 => Self::GroupNonUniformShuffle, |
| 66u32 => Self::GroupNonUniformShuffleRelative, |
| 67u32 => Self::GroupNonUniformClustered, |
| 68u32 => Self::GroupNonUniformQuad, |
| 69u32 => Self::ShaderLayer, |
| 70u32 => Self::ShaderViewportIndex, |
| 71u32 => Self::UniformDecoration, |
| 4422u32 => Self::FragmentShadingRateKHR, |
| 4423u32 => Self::SubgroupBallotKHR, |
| 4427u32 => Self::DrawParameters, |
| 4428u32 => Self::WorkgroupMemoryExplicitLayoutKHR, |
| 4429u32 => Self::WorkgroupMemoryExplicitLayout8BitAccessKHR, |
| 4430u32 => Self::WorkgroupMemoryExplicitLayout16BitAccessKHR, |
| 4431u32 => Self::SubgroupVoteKHR, |
| 4433u32 => Self::StorageBuffer16BitAccess, |
| 4434u32 => Self::UniformAndStorageBuffer16BitAccess, |
| 4435u32 => Self::StoragePushConstant16, |
| 4436u32 => Self::StorageInputOutput16, |
| 4437u32 => Self::DeviceGroup, |
| 4439u32 => Self::MultiView, |
| 4441u32 => Self::VariablePointersStorageBuffer, |
| 4442u32 => Self::VariablePointers, |
| 4445u32 => Self::AtomicStorageOps, |
| 4447u32 => Self::SampleMaskPostDepthCoverage, |
| 4448u32 => Self::StorageBuffer8BitAccess, |
| 4449u32 => Self::UniformAndStorageBuffer8BitAccess, |
| 4450u32 => Self::StoragePushConstant8, |
| 4464u32 => Self::DenormPreserve, |
| 4465u32 => Self::DenormFlushToZero, |
| 4466u32 => Self::SignedZeroInfNanPreserve, |
| 4467u32 => Self::RoundingModeRTE, |
| 4468u32 => Self::RoundingModeRTZ, |
| 4471u32 => Self::RayQueryProvisionalKHR, |
| 4472u32 => Self::RayQueryKHR, |
| 4478u32 => Self::RayTraversalPrimitiveCullingKHR, |
| 4479u32 => Self::RayTracingKHR, |
| 5008u32 => Self::Float16ImageAMD, |
| 5009u32 => Self::ImageGatherBiasLodAMD, |
| 5010u32 => Self::FragmentMaskAMD, |
| 5013u32 => Self::StencilExportEXT, |
| 5015u32 => Self::ImageReadWriteLodAMD, |
| 5016u32 => Self::Int64ImageEXT, |
| 5055u32 => Self::ShaderClockKHR, |
| 5249u32 => Self::SampleMaskOverrideCoverageNV, |
| 5251u32 => Self::GeometryShaderPassthroughNV, |
| 5254u32 => Self::ShaderViewportIndexLayerEXT, |
| 5255u32 => Self::ShaderViewportMaskNV, |
| 5259u32 => Self::ShaderStereoViewNV, |
| 5260u32 => Self::PerViewAttributesNV, |
| 5265u32 => Self::FragmentFullyCoveredEXT, |
| 5266u32 => Self::MeshShadingNV, |
| 5282u32 => Self::ImageFootprintNV, |
| 5284u32 => Self::FragmentBarycentricKHR, |
| 5288u32 => Self::ComputeDerivativeGroupQuadsNV, |
| 5291u32 => Self::FragmentDensityEXT, |
| 5297u32 => Self::GroupNonUniformPartitionedNV, |
| 5301u32 => Self::ShaderNonUniform, |
| 5302u32 => Self::RuntimeDescriptorArray, |
| 5303u32 => Self::InputAttachmentArrayDynamicIndexing, |
| 5304u32 => Self::UniformTexelBufferArrayDynamicIndexing, |
| 5305u32 => Self::StorageTexelBufferArrayDynamicIndexing, |
| 5306u32 => Self::UniformBufferArrayNonUniformIndexing, |
| 5307u32 => Self::SampledImageArrayNonUniformIndexing, |
| 5308u32 => Self::StorageBufferArrayNonUniformIndexing, |
| 5309u32 => Self::StorageImageArrayNonUniformIndexing, |
| 5310u32 => Self::InputAttachmentArrayNonUniformIndexing, |
| 5311u32 => Self::UniformTexelBufferArrayNonUniformIndexing, |
| 5312u32 => Self::StorageTexelBufferArrayNonUniformIndexing, |
| 5340u32 => Self::RayTracingNV, |
| 5341u32 => Self::RayTracingMotionBlurNV, |
| 5345u32 => Self::VulkanMemoryModel, |
| 5346u32 => Self::VulkanMemoryModelDeviceScope, |
| 5347u32 => Self::PhysicalStorageBufferAddresses, |
| 5350u32 => Self::ComputeDerivativeGroupLinearNV, |
| 5353u32 => Self::RayTracingProvisionalKHR, |
| 5357u32 => Self::CooperativeMatrixNV, |
| 5363u32 => Self::FragmentShaderSampleInterlockEXT, |
| 5372u32 => Self::FragmentShaderShadingRateInterlockEXT, |
| 5373u32 => Self::ShaderSMBuiltinsNV, |
| 5378u32 => Self::FragmentShaderPixelInterlockEXT, |
| 5379u32 => Self::DemoteToHelperInvocation, |
| 5390u32 => Self::BindlessTextureNV, |
| 5568u32 => Self::SubgroupShuffleINTEL, |
| 5569u32 => Self::SubgroupBufferBlockIOINTEL, |
| 5570u32 => Self::SubgroupImageBlockIOINTEL, |
| 5579u32 => Self::SubgroupImageMediaBlockIOINTEL, |
| 5582u32 => Self::RoundToInfinityINTEL, |
| 5583u32 => Self::FloatingPointModeINTEL, |
| 5584u32 => Self::IntegerFunctions2INTEL, |
| 5603u32 => Self::FunctionPointersINTEL, |
| 5604u32 => Self::IndirectReferencesINTEL, |
| 5606u32 => Self::AsmINTEL, |
| 5612u32 => Self::AtomicFloat32MinMaxEXT, |
| 5613u32 => Self::AtomicFloat64MinMaxEXT, |
| 5616u32 => Self::AtomicFloat16MinMaxEXT, |
| 5617u32 => Self::VectorComputeINTEL, |
| 5619u32 => Self::VectorAnyINTEL, |
| 5629u32 => Self::ExpectAssumeKHR, |
| 5696u32 => Self::SubgroupAvcMotionEstimationINTEL, |
| 5697u32 => Self::SubgroupAvcMotionEstimationIntraINTEL, |
| 5698u32 => Self::SubgroupAvcMotionEstimationChromaINTEL, |
| 5817u32 => Self::VariableLengthArrayINTEL, |
| 5821u32 => Self::FunctionFloatControlINTEL, |
| 5824u32 => Self::FPGAMemoryAttributesINTEL, |
| 5837u32 => Self::FPFastMathModeINTEL, |
| 5844u32 => Self::ArbitraryPrecisionIntegersINTEL, |
| 5845u32 => Self::ArbitraryPrecisionFloatingPointINTEL, |
| 5886u32 => Self::UnstructuredLoopControlsINTEL, |
| 5888u32 => Self::FPGALoopControlsINTEL, |
| 5892u32 => Self::KernelAttributesINTEL, |
| 5897u32 => Self::FPGAKernelAttributesINTEL, |
| 5898u32 => Self::FPGAMemoryAccessesINTEL, |
| 5904u32 => Self::FPGAClusterAttributesINTEL, |
| 5906u32 => Self::LoopFuseINTEL, |
| 5920u32 => Self::FPGABufferLocationINTEL, |
| 5922u32 => Self::ArbitraryPrecisionFixedPointINTEL, |
| 5935u32 => Self::USMStorageClassesINTEL, |
| 5943u32 => Self::IOPipesINTEL, |
| 5945u32 => Self::BlockingPipesINTEL, |
| 5948u32 => Self::FPGARegINTEL, |
| 6016u32 => Self::DotProductInputAll, |
| 6017u32 => Self::DotProductInput4x8Bit, |
| 6018u32 => Self::DotProductInput4x8BitPacked, |
| 6019u32 => Self::DotProduct, |
| 6025u32 => Self::BitInstructions, |
| 6033u32 => Self::AtomicFloat32AddEXT, |
| 6034u32 => Self::AtomicFloat64AddEXT, |
| 6089u32 => Self::LongConstantCompositeINTEL, |
| 6094u32 => Self::OptNoneINTEL, |
| 6095u32 => Self::AtomicFloat16AddEXT, |
| 6114u32 => Self::DebugInfoModuleINTEL, |
| value => return Err(reader.map_err(ParseErrors::UnknownEnumerant("Capability", value))), |
| }) |
| } |
| } |
| #[derive(Clone, Copy, Debug, PartialEq, Eq)] |
| #[allow(non_camel_case_types)] |
| pub enum RayQueryIntersection { |
| RayQueryCandidateIntersectionKHR, |
| RayQueryCommittedIntersectionKHR, |
| } |
| impl RayQueryIntersection { |
| #[allow(dead_code)] |
| fn parse(reader: &mut InstructionReader<'_>) -> Result<RayQueryIntersection, ParseError> { |
| Ok(match reader.next_u32()? { |
| 0u32 => Self::RayQueryCandidateIntersectionKHR, |
| 1u32 => Self::RayQueryCommittedIntersectionKHR, |
| value => { |
| return Err( |
| reader.map_err(ParseErrors::UnknownEnumerant("RayQueryIntersection", value)) |
| ) |
| } |
| }) |
| } |
| } |
| #[derive(Clone, Copy, Debug, PartialEq, Eq)] |
| #[allow(non_camel_case_types)] |
| pub enum RayQueryCommittedIntersectionType { |
| RayQueryCommittedIntersectionNoneKHR, |
| RayQueryCommittedIntersectionTriangleKHR, |
| RayQueryCommittedIntersectionGeneratedKHR, |
| } |
| impl RayQueryCommittedIntersectionType { |
| #[allow(dead_code)] |
| fn parse( |
| reader: &mut InstructionReader<'_>, |
| ) -> Result<RayQueryCommittedIntersectionType, ParseError> { |
| Ok(match reader.next_u32()? { |
| 0u32 => Self::RayQueryCommittedIntersectionNoneKHR, |
| 1u32 => Self::RayQueryCommittedIntersectionTriangleKHR, |
| 2u32 => Self::RayQueryCommittedIntersectionGeneratedKHR, |
| value => { |
| return Err(reader.map_err(ParseErrors::UnknownEnumerant( |
| "RayQueryCommittedIntersectionType", |
| value, |
| ))) |
| } |
| }) |
| } |
| } |
| #[derive(Clone, Copy, Debug, PartialEq, Eq)] |
| #[allow(non_camel_case_types)] |
| pub enum RayQueryCandidateIntersectionType { |
| RayQueryCandidateIntersectionTriangleKHR, |
| RayQueryCandidateIntersectionAABBKHR, |
| } |
| impl RayQueryCandidateIntersectionType { |
| #[allow(dead_code)] |
| fn parse( |
| reader: &mut InstructionReader<'_>, |
| ) -> Result<RayQueryCandidateIntersectionType, ParseError> { |
| Ok(match reader.next_u32()? { |
| 0u32 => Self::RayQueryCandidateIntersectionTriangleKHR, |
| 1u32 => Self::RayQueryCandidateIntersectionAABBKHR, |
| value => { |
| return Err(reader.map_err(ParseErrors::UnknownEnumerant( |
| "RayQueryCandidateIntersectionType", |
| value, |
| ))) |
| } |
| }) |
| } |
| } |
| #[derive(Clone, Copy, Debug, PartialEq, Eq)] |
| #[allow(non_camel_case_types)] |
| pub enum PackedVectorFormat { |
| PackedVectorFormat4x8Bit, |
| } |
| impl PackedVectorFormat { |
| #[allow(dead_code)] |
| fn parse(reader: &mut InstructionReader<'_>) -> Result<PackedVectorFormat, ParseError> { |
| Ok(match reader.next_u32()? { |
| 0u32 => Self::PackedVectorFormat4x8Bit, |
| value => { |
| return Err( |
| reader.map_err(ParseErrors::UnknownEnumerant("PackedVectorFormat", value)) |
| ) |
| } |
| }) |
| } |
| } |