| ... | @@ -1,8 +1,46 @@ | ... | @@ -1,8 +1,46 @@ |
| 1 | //! This file is auto-generated by tools/gen_spirv_spec.zig. | 1 | //! This file is auto-generated by tools/gen_spirv_spec.zig. |
| 2 | | 2 | |
| 3 | const Version = @import("std").builtin.Version; | 3 | const Version = @import("std").builtin.Version; |
| | 4 | |
| | 5 | pub const Word = u32; |
| | 6 | pub const IdResultType = struct { |
| | 7 | id: Word, |
| | 8 | pub fn toRef(self: IdResultType) IdRef { |
| | 9 | return .{ .id = self.id }; |
| | 10 | } |
| | 11 | }; |
| | 12 | pub const IdResult = struct { |
| | 13 | id: Word, |
| | 14 | pub fn toRef(self: IdResult) IdRef { |
| | 15 | return .{ .id = self.id }; |
| | 16 | } |
| | 17 | pub fn toResultType(self: IdResult) IdResultType { |
| | 18 | return .{ .id = self.id }; |
| | 19 | } |
| | 20 | }; |
| | 21 | pub const IdRef = struct { id: Word }; |
| | 22 | |
| | 23 | pub const IdMemorySemantics = IdRef; |
| | 24 | pub const IdScope = IdRef; |
| | 25 | |
| | 26 | pub const LiteralInteger = Word; |
| | 27 | pub const LiteralString = []const u8; |
| | 28 | pub const LiteralContextDependentNumber = union(enum) { |
| | 29 | int32: i32, |
| | 30 | uint32: u32, |
| | 31 | int64: i64, |
| | 32 | uint64: u64, |
| | 33 | float32: f32, |
| | 34 | float64: f64, |
| | 35 | }; |
| | 36 | pub const LiteralExtInstInteger = struct { inst: Word }; |
| | 37 | pub const LiteralSpecConstantOpInteger = struct { opcode: Opcode }; |
| | 38 | pub const PairLiteralIntegerIdRef = struct { value: LiteralInteger, label: IdRef }; |
| | 39 | pub const PairIdRefLiteralInteger = struct { target: IdRef, member: LiteralInteger }; |
| | 40 | pub const PairIdRefIdRef = [2]IdRef; |
| | 41 | |
| 4 | pub const version = Version{ .major = 1, .minor = 5, .patch = 4 }; | 42 | pub const version = Version{ .major = 1, .minor = 5, .patch = 4 }; |
| 5 | pub const magic_number: u32 = 0x07230203; | 43 | pub const magic_number: Word = 0x07230203; |
| 6 | pub const Opcode = enum(u16) { | 44 | pub const Opcode = enum(u16) { |
| 7 | OpNop = 0, | 45 | OpNop = 0, |
| 8 | OpUndef = 1, | 46 | OpUndef = 1, |
| ... | @@ -381,11 +419,11 @@ pub const Opcode = enum(u16) { | ... | @@ -381,11 +419,11 @@ pub const Opcode = enum(u16) { |
| 381 | OpImageSampleFootprintNV = 5283, | 419 | OpImageSampleFootprintNV = 5283, |
| 382 | OpGroupNonUniformPartitionNV = 5296, | 420 | OpGroupNonUniformPartitionNV = 5296, |
| 383 | OpWritePackedPrimitiveIndices4x8NV = 5299, | 421 | OpWritePackedPrimitiveIndices4x8NV = 5299, |
| 384 | OpReportIntersectionNV = 5334, | 422 | OpReportIntersectionKHR = 5334, |
| 385 | OpIgnoreIntersectionNV = 5335, | 423 | OpIgnoreIntersectionNV = 5335, |
| 386 | OpTerminateRayNV = 5336, | 424 | OpTerminateRayNV = 5336, |
| 387 | OpTraceNV = 5337, | 425 | OpTraceNV = 5337, |
| 388 | OpTypeAccelerationStructureNV = 5341, | 426 | OpTypeAccelerationStructureKHR = 5341, |
| 389 | OpExecuteCallableNV = 5344, | 427 | OpExecuteCallableNV = 5344, |
| 390 | OpTypeCooperativeMatrixNV = 5358, | 428 | OpTypeCooperativeMatrixNV = 5358, |
| 391 | OpCooperativeMatrixLoadNV = 5359, | 429 | OpCooperativeMatrixLoadNV = 5359, |
| ... | @@ -580,10 +618,592 @@ pub const Opcode = enum(u16) { | ... | @@ -580,10 +618,592 @@ pub const Opcode = enum(u16) { |
| 580 | OpTypeStructContinuedINTEL = 6090, | 618 | OpTypeStructContinuedINTEL = 6090, |
| 581 | OpConstantCompositeContinuedINTEL = 6091, | 619 | OpConstantCompositeContinuedINTEL = 6091, |
| 582 | OpSpecConstantCompositeContinuedINTEL = 6092, | 620 | OpSpecConstantCompositeContinuedINTEL = 6092, |
| 583 | _, | | |
| 584 | | 621 | |
| 585 | const OpReportIntersectionKHR: Opcode = .OpReportIntersectionNV; | 622 | pub const OpReportIntersectionNV = Opcode.OpReportIntersectionKHR; |
| 586 | const OpTypeAccelerationStructureKHR: Opcode = .OpTypeAccelerationStructureNV; | 623 | pub const OpTypeAccelerationStructureNV = Opcode.OpTypeAccelerationStructureKHR; |
| | 624 | pub const OpDecorateStringGOOGLE = Opcode.OpDecorateString; |
| | 625 | pub const OpMemberDecorateStringGOOGLE = Opcode.OpMemberDecorateString; |
| | 626 | |
| | 627 | pub fn Operands(comptime self: Opcode) type { |
| | 628 | return switch (self) { |
| | 629 | .OpNop => void, |
| | 630 | .OpUndef => struct { id_result_type: IdResultType, id_result: IdResult }, |
| | 631 | .OpSourceContinued => struct { continued_source: LiteralString }, |
| | 632 | .OpSource => struct { source_language: SourceLanguage, version: LiteralInteger, file: ?IdRef = null, source: ?LiteralString = null }, |
| | 633 | .OpSourceExtension => struct { extension: LiteralString }, |
| | 634 | .OpName => struct { target: IdRef, name: LiteralString }, |
| | 635 | .OpMemberName => struct { type: IdRef, member: LiteralInteger, name: LiteralString }, |
| | 636 | .OpString => struct { id_result: IdResult, string: LiteralString }, |
| | 637 | .OpLine => struct { file: IdRef, line: LiteralInteger, column: LiteralInteger }, |
| | 638 | .OpExtension => struct { name: LiteralString }, |
| | 639 | .OpExtInstImport => struct { id_result: IdResult, name: LiteralString }, |
| | 640 | .OpExtInst => struct { id_result_type: IdResultType, id_result: IdResult, set: IdRef, instruction: LiteralExtInstInteger, id_ref_4: []const IdRef = &.{} }, |
| | 641 | .OpMemoryModel => struct { addressing_model: AddressingModel, memory_model: MemoryModel }, |
| | 642 | .OpEntryPoint => struct { execution_model: ExecutionModel, entry_point: IdRef, name: LiteralString, interface: []const IdRef = &.{} }, |
| | 643 | .OpExecutionMode => struct { entry_point: IdRef, mode: ExecutionMode.Extended }, |
| | 644 | .OpCapability => struct { capability: Capability }, |
| | 645 | .OpTypeVoid => struct { id_result: IdResult }, |
| | 646 | .OpTypeBool => struct { id_result: IdResult }, |
| | 647 | .OpTypeInt => struct { id_result: IdResult, width: LiteralInteger, signedness: LiteralInteger }, |
| | 648 | .OpTypeFloat => struct { id_result: IdResult, width: LiteralInteger }, |
| | 649 | .OpTypeVector => struct { id_result: IdResult, component_type: IdRef, component_count: LiteralInteger }, |
| | 650 | .OpTypeMatrix => struct { id_result: IdResult, column_type: IdRef, column_count: LiteralInteger }, |
| | 651 | .OpTypeImage => struct { id_result: IdResult, sampled_type: IdRef, dim: Dim, depth: LiteralInteger, arrayed: LiteralInteger, ms: LiteralInteger, sampled: LiteralInteger, image_format: ImageFormat, access_qualifier: ?AccessQualifier = null }, |
| | 652 | .OpTypeSampler => struct { id_result: IdResult }, |
| | 653 | .OpTypeSampledImage => struct { id_result: IdResult, image_type: IdRef }, |
| | 654 | .OpTypeArray => struct { id_result: IdResult, element_type: IdRef, length: IdRef }, |
| | 655 | .OpTypeRuntimeArray => struct { id_result: IdResult, element_type: IdRef }, |
| | 656 | .OpTypeStruct => struct { id_result: IdResult, id_ref: []const IdRef = &.{} }, |
| | 657 | .OpTypeOpaque => struct { id_result: IdResult, literal_string: LiteralString }, |
| | 658 | .OpTypePointer => struct { id_result: IdResult, storage_class: StorageClass, type: IdRef }, |
| | 659 | .OpTypeFunction => struct { id_result: IdResult, return_type: IdRef, id_ref_2: []const IdRef = &.{} }, |
| | 660 | .OpTypeEvent => struct { id_result: IdResult }, |
| | 661 | .OpTypeDeviceEvent => struct { id_result: IdResult }, |
| | 662 | .OpTypeReserveId => struct { id_result: IdResult }, |
| | 663 | .OpTypeQueue => struct { id_result: IdResult }, |
| | 664 | .OpTypePipe => struct { id_result: IdResult, qualifier: AccessQualifier }, |
| | 665 | .OpTypeForwardPointer => struct { pointer_type: IdRef, storage_class: StorageClass }, |
| | 666 | .OpConstantTrue => struct { id_result_type: IdResultType, id_result: IdResult }, |
| | 667 | .OpConstantFalse => struct { id_result_type: IdResultType, id_result: IdResult }, |
| | 668 | .OpConstant => struct { id_result_type: IdResultType, id_result: IdResult, value: LiteralContextDependentNumber }, |
| | 669 | .OpConstantComposite => struct { id_result_type: IdResultType, id_result: IdResult, constituents: []const IdRef = &.{} }, |
| | 670 | .OpConstantSampler => struct { id_result_type: IdResultType, id_result: IdResult, sampler_addressing_mode: SamplerAddressingMode, param: LiteralInteger, sampler_filter_mode: SamplerFilterMode }, |
| | 671 | .OpConstantNull => struct { id_result_type: IdResultType, id_result: IdResult }, |
| | 672 | .OpSpecConstantTrue => struct { id_result_type: IdResultType, id_result: IdResult }, |
| | 673 | .OpSpecConstantFalse => struct { id_result_type: IdResultType, id_result: IdResult }, |
| | 674 | .OpSpecConstant => struct { id_result_type: IdResultType, id_result: IdResult, value: LiteralContextDependentNumber }, |
| | 675 | .OpSpecConstantComposite => struct { id_result_type: IdResultType, id_result: IdResult, constituents: []const IdRef = &.{} }, |
| | 676 | .OpSpecConstantOp => struct { id_result_type: IdResultType, id_result: IdResult, opcode: LiteralSpecConstantOpInteger }, |
| | 677 | .OpFunction => struct { id_result_type: IdResultType, id_result: IdResult, function_control: FunctionControl, function_type: IdRef }, |
| | 678 | .OpFunctionParameter => struct { id_result_type: IdResultType, id_result: IdResult }, |
| | 679 | .OpFunctionEnd => void, |
| | 680 | .OpFunctionCall => struct { id_result_type: IdResultType, id_result: IdResult, function: IdRef, id_ref_3: []const IdRef = &.{} }, |
| | 681 | .OpVariable => struct { id_result_type: IdResultType, id_result: IdResult, storage_class: StorageClass, initializer: ?IdRef = null }, |
| | 682 | .OpImageTexelPointer => struct { id_result_type: IdResultType, id_result: IdResult, image: IdRef, coordinate: IdRef, sample: IdRef }, |
| | 683 | .OpLoad => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef, memory_access: ?MemoryAccess.Extended = null }, |
| | 684 | .OpStore => struct { pointer: IdRef, object: IdRef, memory_access: ?MemoryAccess.Extended = null }, |
| | 685 | .OpCopyMemory => struct { target: IdRef, source: IdRef, memory_access_2: ?MemoryAccess.Extended = null, memory_access_3: ?MemoryAccess.Extended = null }, |
| | 686 | .OpCopyMemorySized => struct { target: IdRef, source: IdRef, size: IdRef, memory_access_3: ?MemoryAccess.Extended = null, memory_access_4: ?MemoryAccess.Extended = null }, |
| | 687 | .OpAccessChain => struct { id_result_type: IdResultType, id_result: IdResult, base: IdRef, indexes: []const IdRef = &.{} }, |
| | 688 | .OpInBoundsAccessChain => struct { id_result_type: IdResultType, id_result: IdResult, base: IdRef, indexes: []const IdRef = &.{} }, |
| | 689 | .OpPtrAccessChain => struct { id_result_type: IdResultType, id_result: IdResult, base: IdRef, element: IdRef, indexes: []const IdRef = &.{} }, |
| | 690 | .OpArrayLength => struct { id_result_type: IdResultType, id_result: IdResult, structure: IdRef, array_member: LiteralInteger }, |
| | 691 | .OpGenericPtrMemSemantics => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef }, |
| | 692 | .OpInBoundsPtrAccessChain => struct { id_result_type: IdResultType, id_result: IdResult, base: IdRef, element: IdRef, indexes: []const IdRef = &.{} }, |
| | 693 | .OpDecorate => struct { target: IdRef, decoration: Decoration.Extended }, |
| | 694 | .OpMemberDecorate => struct { structure_type: IdRef, member: LiteralInteger, decoration: Decoration.Extended }, |
| | 695 | .OpDecorationGroup => struct { id_result: IdResult }, |
| | 696 | .OpGroupDecorate => struct { decoration_group: IdRef, targets: []const IdRef = &.{} }, |
| | 697 | .OpGroupMemberDecorate => struct { decoration_group: IdRef, targets: []const PairIdRefLiteralInteger = &.{} }, |
| | 698 | .OpVectorExtractDynamic => struct { id_result_type: IdResultType, id_result: IdResult, vector: IdRef, index: IdRef }, |
| | 699 | .OpVectorInsertDynamic => struct { id_result_type: IdResultType, id_result: IdResult, vector: IdRef, component: IdRef, index: IdRef }, |
| | 700 | .OpVectorShuffle => struct { id_result_type: IdResultType, id_result: IdResult, vector_1: IdRef, vector_2: IdRef, components: []const LiteralInteger = &.{} }, |
| | 701 | .OpCompositeConstruct => struct { id_result_type: IdResultType, id_result: IdResult, constituents: []const IdRef = &.{} }, |
| | 702 | .OpCompositeExtract => struct { id_result_type: IdResultType, id_result: IdResult, composite: IdRef, indexes: []const LiteralInteger = &.{} }, |
| | 703 | .OpCompositeInsert => struct { id_result_type: IdResultType, id_result: IdResult, object: IdRef, composite: IdRef, indexes: []const LiteralInteger = &.{} }, |
| | 704 | .OpCopyObject => struct { id_result_type: IdResultType, id_result: IdResult, operand: IdRef }, |
| | 705 | .OpTranspose => struct { id_result_type: IdResultType, id_result: IdResult, matrix: IdRef }, |
| | 706 | .OpSampledImage => struct { id_result_type: IdResultType, id_result: IdResult, image: IdRef, sampler: IdRef }, |
| | 707 | .OpImageSampleImplicitLod => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef, coordinate: IdRef, image_operands: ?ImageOperands.Extended = null }, |
| | 708 | .OpImageSampleExplicitLod => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef, coordinate: IdRef, image_operands: ImageOperands.Extended }, |
| | 709 | .OpImageSampleDrefImplicitLod => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef, coordinate: IdRef, d_ref: IdRef, image_operands: ?ImageOperands.Extended = null }, |
| | 710 | .OpImageSampleDrefExplicitLod => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef, coordinate: IdRef, d_ref: IdRef, image_operands: ImageOperands.Extended }, |
| | 711 | .OpImageSampleProjImplicitLod => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef, coordinate: IdRef, image_operands: ?ImageOperands.Extended = null }, |
| | 712 | .OpImageSampleProjExplicitLod => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef, coordinate: IdRef, image_operands: ImageOperands.Extended }, |
| | 713 | .OpImageSampleProjDrefImplicitLod => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef, coordinate: IdRef, d_ref: IdRef, image_operands: ?ImageOperands.Extended = null }, |
| | 714 | .OpImageSampleProjDrefExplicitLod => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef, coordinate: IdRef, d_ref: IdRef, image_operands: ImageOperands.Extended }, |
| | 715 | .OpImageFetch => struct { id_result_type: IdResultType, id_result: IdResult, image: IdRef, coordinate: IdRef, image_operands: ?ImageOperands.Extended = null }, |
| | 716 | .OpImageGather => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef, coordinate: IdRef, component: IdRef, image_operands: ?ImageOperands.Extended = null }, |
| | 717 | .OpImageDrefGather => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef, coordinate: IdRef, d_ref: IdRef, image_operands: ?ImageOperands.Extended = null }, |
| | 718 | .OpImageRead => struct { id_result_type: IdResultType, id_result: IdResult, image: IdRef, coordinate: IdRef, image_operands: ?ImageOperands.Extended = null }, |
| | 719 | .OpImageWrite => struct { image: IdRef, coordinate: IdRef, texel: IdRef, image_operands: ?ImageOperands.Extended = null }, |
| | 720 | .OpImage => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef }, |
| | 721 | .OpImageQueryFormat => struct { id_result_type: IdResultType, id_result: IdResult, image: IdRef }, |
| | 722 | .OpImageQueryOrder => struct { id_result_type: IdResultType, id_result: IdResult, image: IdRef }, |
| | 723 | .OpImageQuerySizeLod => struct { id_result_type: IdResultType, id_result: IdResult, image: IdRef, level_of_detail: IdRef }, |
| | 724 | .OpImageQuerySize => struct { id_result_type: IdResultType, id_result: IdResult, image: IdRef }, |
| | 725 | .OpImageQueryLod => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef, coordinate: IdRef }, |
| | 726 | .OpImageQueryLevels => struct { id_result_type: IdResultType, id_result: IdResult, image: IdRef }, |
| | 727 | .OpImageQuerySamples => struct { id_result_type: IdResultType, id_result: IdResult, image: IdRef }, |
| | 728 | .OpConvertFToU => struct { id_result_type: IdResultType, id_result: IdResult, float_value: IdRef }, |
| | 729 | .OpConvertFToS => struct { id_result_type: IdResultType, id_result: IdResult, float_value: IdRef }, |
| | 730 | .OpConvertSToF => struct { id_result_type: IdResultType, id_result: IdResult, signed_value: IdRef }, |
| | 731 | .OpConvertUToF => struct { id_result_type: IdResultType, id_result: IdResult, unsigned_value: IdRef }, |
| | 732 | .OpUConvert => struct { id_result_type: IdResultType, id_result: IdResult, unsigned_value: IdRef }, |
| | 733 | .OpSConvert => struct { id_result_type: IdResultType, id_result: IdResult, signed_value: IdRef }, |
| | 734 | .OpFConvert => struct { id_result_type: IdResultType, id_result: IdResult, float_value: IdRef }, |
| | 735 | .OpQuantizeToF16 => struct { id_result_type: IdResultType, id_result: IdResult, value: IdRef }, |
| | 736 | .OpConvertPtrToU => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef }, |
| | 737 | .OpSatConvertSToU => struct { id_result_type: IdResultType, id_result: IdResult, signed_value: IdRef }, |
| | 738 | .OpSatConvertUToS => struct { id_result_type: IdResultType, id_result: IdResult, unsigned_value: IdRef }, |
| | 739 | .OpConvertUToPtr => struct { id_result_type: IdResultType, id_result: IdResult, integer_value: IdRef }, |
| | 740 | .OpPtrCastToGeneric => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef }, |
| | 741 | .OpGenericCastToPtr => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef }, |
| | 742 | .OpGenericCastToPtrExplicit => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef, storage: StorageClass }, |
| | 743 | .OpBitcast => struct { id_result_type: IdResultType, id_result: IdResult, operand: IdRef }, |
| | 744 | .OpSNegate => struct { id_result_type: IdResultType, id_result: IdResult, operand: IdRef }, |
| | 745 | .OpFNegate => struct { id_result_type: IdResultType, id_result: IdResult, operand: IdRef }, |
| | 746 | .OpIAdd => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 747 | .OpFAdd => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 748 | .OpISub => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 749 | .OpFSub => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 750 | .OpIMul => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 751 | .OpFMul => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 752 | .OpUDiv => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 753 | .OpSDiv => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 754 | .OpFDiv => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 755 | .OpUMod => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 756 | .OpSRem => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 757 | .OpSMod => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 758 | .OpFRem => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 759 | .OpFMod => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 760 | .OpVectorTimesScalar => struct { id_result_type: IdResultType, id_result: IdResult, vector: IdRef, scalar: IdRef }, |
| | 761 | .OpMatrixTimesScalar => struct { id_result_type: IdResultType, id_result: IdResult, matrix: IdRef, scalar: IdRef }, |
| | 762 | .OpVectorTimesMatrix => struct { id_result_type: IdResultType, id_result: IdResult, vector: IdRef, matrix: IdRef }, |
| | 763 | .OpMatrixTimesVector => struct { id_result_type: IdResultType, id_result: IdResult, matrix: IdRef, vector: IdRef }, |
| | 764 | .OpMatrixTimesMatrix => struct { id_result_type: IdResultType, id_result: IdResult, leftmatrix: IdRef, rightmatrix: IdRef }, |
| | 765 | .OpOuterProduct => struct { id_result_type: IdResultType, id_result: IdResult, vector_1: IdRef, vector_2: IdRef }, |
| | 766 | .OpDot => struct { id_result_type: IdResultType, id_result: IdResult, vector_1: IdRef, vector_2: IdRef }, |
| | 767 | .OpIAddCarry => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 768 | .OpISubBorrow => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 769 | .OpUMulExtended => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 770 | .OpSMulExtended => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 771 | .OpAny => struct { id_result_type: IdResultType, id_result: IdResult, vector: IdRef }, |
| | 772 | .OpAll => struct { id_result_type: IdResultType, id_result: IdResult, vector: IdRef }, |
| | 773 | .OpIsNan => struct { id_result_type: IdResultType, id_result: IdResult, x: IdRef }, |
| | 774 | .OpIsInf => struct { id_result_type: IdResultType, id_result: IdResult, x: IdRef }, |
| | 775 | .OpIsFinite => struct { id_result_type: IdResultType, id_result: IdResult, x: IdRef }, |
| | 776 | .OpIsNormal => struct { id_result_type: IdResultType, id_result: IdResult, x: IdRef }, |
| | 777 | .OpSignBitSet => struct { id_result_type: IdResultType, id_result: IdResult, x: IdRef }, |
| | 778 | .OpLessOrGreater => struct { id_result_type: IdResultType, id_result: IdResult, x: IdRef, y: IdRef }, |
| | 779 | .OpOrdered => struct { id_result_type: IdResultType, id_result: IdResult, x: IdRef, y: IdRef }, |
| | 780 | .OpUnordered => struct { id_result_type: IdResultType, id_result: IdResult, x: IdRef, y: IdRef }, |
| | 781 | .OpLogicalEqual => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 782 | .OpLogicalNotEqual => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 783 | .OpLogicalOr => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 784 | .OpLogicalAnd => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 785 | .OpLogicalNot => struct { id_result_type: IdResultType, id_result: IdResult, operand: IdRef }, |
| | 786 | .OpSelect => struct { id_result_type: IdResultType, id_result: IdResult, condition: IdRef, object_1: IdRef, object_2: IdRef }, |
| | 787 | .OpIEqual => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 788 | .OpINotEqual => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 789 | .OpUGreaterThan => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 790 | .OpSGreaterThan => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 791 | .OpUGreaterThanEqual => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 792 | .OpSGreaterThanEqual => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 793 | .OpULessThan => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 794 | .OpSLessThan => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 795 | .OpULessThanEqual => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 796 | .OpSLessThanEqual => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 797 | .OpFOrdEqual => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 798 | .OpFUnordEqual => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 799 | .OpFOrdNotEqual => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 800 | .OpFUnordNotEqual => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 801 | .OpFOrdLessThan => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 802 | .OpFUnordLessThan => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 803 | .OpFOrdGreaterThan => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 804 | .OpFUnordGreaterThan => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 805 | .OpFOrdLessThanEqual => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 806 | .OpFUnordLessThanEqual => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 807 | .OpFOrdGreaterThanEqual => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 808 | .OpFUnordGreaterThanEqual => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 809 | .OpShiftRightLogical => struct { id_result_type: IdResultType, id_result: IdResult, base: IdRef, shift: IdRef }, |
| | 810 | .OpShiftRightArithmetic => struct { id_result_type: IdResultType, id_result: IdResult, base: IdRef, shift: IdRef }, |
| | 811 | .OpShiftLeftLogical => struct { id_result_type: IdResultType, id_result: IdResult, base: IdRef, shift: IdRef }, |
| | 812 | .OpBitwiseOr => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 813 | .OpBitwiseXor => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 814 | .OpBitwiseAnd => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 815 | .OpNot => struct { id_result_type: IdResultType, id_result: IdResult, operand: IdRef }, |
| | 816 | .OpBitFieldInsert => struct { id_result_type: IdResultType, id_result: IdResult, base: IdRef, insert: IdRef, offset: IdRef, count: IdRef }, |
| | 817 | .OpBitFieldSExtract => struct { id_result_type: IdResultType, id_result: IdResult, base: IdRef, offset: IdRef, count: IdRef }, |
| | 818 | .OpBitFieldUExtract => struct { id_result_type: IdResultType, id_result: IdResult, base: IdRef, offset: IdRef, count: IdRef }, |
| | 819 | .OpBitReverse => struct { id_result_type: IdResultType, id_result: IdResult, base: IdRef }, |
| | 820 | .OpBitCount => struct { id_result_type: IdResultType, id_result: IdResult, base: IdRef }, |
| | 821 | .OpDPdx => struct { id_result_type: IdResultType, id_result: IdResult, p: IdRef }, |
| | 822 | .OpDPdy => struct { id_result_type: IdResultType, id_result: IdResult, p: IdRef }, |
| | 823 | .OpFwidth => struct { id_result_type: IdResultType, id_result: IdResult, p: IdRef }, |
| | 824 | .OpDPdxFine => struct { id_result_type: IdResultType, id_result: IdResult, p: IdRef }, |
| | 825 | .OpDPdyFine => struct { id_result_type: IdResultType, id_result: IdResult, p: IdRef }, |
| | 826 | .OpFwidthFine => struct { id_result_type: IdResultType, id_result: IdResult, p: IdRef }, |
| | 827 | .OpDPdxCoarse => struct { id_result_type: IdResultType, id_result: IdResult, p: IdRef }, |
| | 828 | .OpDPdyCoarse => struct { id_result_type: IdResultType, id_result: IdResult, p: IdRef }, |
| | 829 | .OpFwidthCoarse => struct { id_result_type: IdResultType, id_result: IdResult, p: IdRef }, |
| | 830 | .OpEmitVertex => void, |
| | 831 | .OpEndPrimitive => void, |
| | 832 | .OpEmitStreamVertex => struct { stream: IdRef }, |
| | 833 | .OpEndStreamPrimitive => struct { stream: IdRef }, |
| | 834 | .OpControlBarrier => struct { execution: IdScope, memory: IdScope, semantics: IdMemorySemantics }, |
| | 835 | .OpMemoryBarrier => struct { memory: IdScope, semantics: IdMemorySemantics }, |
| | 836 | .OpAtomicLoad => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef, memory: IdScope, semantics: IdMemorySemantics }, |
| | 837 | .OpAtomicStore => struct { pointer: IdRef, memory: IdScope, semantics: IdMemorySemantics, value: IdRef }, |
| | 838 | .OpAtomicExchange => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef, memory: IdScope, semantics: IdMemorySemantics, value: IdRef }, |
| | 839 | .OpAtomicCompareExchange => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef, memory: IdScope, equal: IdMemorySemantics, unequal: IdMemorySemantics, value: IdRef, comparator: IdRef }, |
| | 840 | .OpAtomicCompareExchangeWeak => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef, memory: IdScope, equal: IdMemorySemantics, unequal: IdMemorySemantics, value: IdRef, comparator: IdRef }, |
| | 841 | .OpAtomicIIncrement => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef, memory: IdScope, semantics: IdMemorySemantics }, |
| | 842 | .OpAtomicIDecrement => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef, memory: IdScope, semantics: IdMemorySemantics }, |
| | 843 | .OpAtomicIAdd => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef, memory: IdScope, semantics: IdMemorySemantics, value: IdRef }, |
| | 844 | .OpAtomicISub => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef, memory: IdScope, semantics: IdMemorySemantics, value: IdRef }, |
| | 845 | .OpAtomicSMin => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef, memory: IdScope, semantics: IdMemorySemantics, value: IdRef }, |
| | 846 | .OpAtomicUMin => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef, memory: IdScope, semantics: IdMemorySemantics, value: IdRef }, |
| | 847 | .OpAtomicSMax => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef, memory: IdScope, semantics: IdMemorySemantics, value: IdRef }, |
| | 848 | .OpAtomicUMax => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef, memory: IdScope, semantics: IdMemorySemantics, value: IdRef }, |
| | 849 | .OpAtomicAnd => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef, memory: IdScope, semantics: IdMemorySemantics, value: IdRef }, |
| | 850 | .OpAtomicOr => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef, memory: IdScope, semantics: IdMemorySemantics, value: IdRef }, |
| | 851 | .OpAtomicXor => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef, memory: IdScope, semantics: IdMemorySemantics, value: IdRef }, |
| | 852 | .OpPhi => struct { id_result_type: IdResultType, id_result: IdResult, pair_id_ref_id_ref: []const PairIdRefIdRef = &.{} }, |
| | 853 | .OpLoopMerge => struct { merge_block: IdRef, continue_target: IdRef, loop_control: LoopControl.Extended }, |
| | 854 | .OpSelectionMerge => struct { merge_block: IdRef, selection_control: SelectionControl }, |
| | 855 | .OpLabel => struct { id_result: IdResult }, |
| | 856 | .OpBranch => struct { target_label: IdRef }, |
| | 857 | .OpBranchConditional => struct { condition: IdRef, true_label: IdRef, false_label: IdRef, branch_weights: []const LiteralInteger = &.{} }, |
| | 858 | .OpSwitch => struct { selector: IdRef, default: IdRef, target: []const PairLiteralIntegerIdRef = &.{} }, |
| | 859 | .OpKill => void, |
| | 860 | .OpReturn => void, |
| | 861 | .OpReturnValue => struct { value: IdRef }, |
| | 862 | .OpUnreachable => void, |
| | 863 | .OpLifetimeStart => struct { pointer: IdRef, size: LiteralInteger }, |
| | 864 | .OpLifetimeStop => struct { pointer: IdRef, size: LiteralInteger }, |
| | 865 | .OpGroupAsyncCopy => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, destination: IdRef, source: IdRef, num_elements: IdRef, stride: IdRef, event: IdRef }, |
| | 866 | .OpGroupWaitEvents => struct { execution: IdScope, num_events: IdRef, events_list: IdRef }, |
| | 867 | .OpGroupAll => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, predicate: IdRef }, |
| | 868 | .OpGroupAny => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, predicate: IdRef }, |
| | 869 | .OpGroupBroadcast => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, value: IdRef, localid: IdRef }, |
| | 870 | .OpGroupIAdd => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef }, |
| | 871 | .OpGroupFAdd => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef }, |
| | 872 | .OpGroupFMin => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef }, |
| | 873 | .OpGroupUMin => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef }, |
| | 874 | .OpGroupSMin => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef }, |
| | 875 | .OpGroupFMax => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef }, |
| | 876 | .OpGroupUMax => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef }, |
| | 877 | .OpGroupSMax => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef }, |
| | 878 | .OpReadPipe => struct { id_result_type: IdResultType, id_result: IdResult, pipe: IdRef, pointer: IdRef, packet_size: IdRef, packet_alignment: IdRef }, |
| | 879 | .OpWritePipe => struct { id_result_type: IdResultType, id_result: IdResult, pipe: IdRef, pointer: IdRef, packet_size: IdRef, packet_alignment: IdRef }, |
| | 880 | .OpReservedReadPipe => struct { id_result_type: IdResultType, id_result: IdResult, pipe: IdRef, reserve_id: IdRef, index: IdRef, pointer: IdRef, packet_size: IdRef, packet_alignment: IdRef }, |
| | 881 | .OpReservedWritePipe => struct { id_result_type: IdResultType, id_result: IdResult, pipe: IdRef, reserve_id: IdRef, index: IdRef, pointer: IdRef, packet_size: IdRef, packet_alignment: IdRef }, |
| | 882 | .OpReserveReadPipePackets => struct { id_result_type: IdResultType, id_result: IdResult, pipe: IdRef, num_packets: IdRef, packet_size: IdRef, packet_alignment: IdRef }, |
| | 883 | .OpReserveWritePipePackets => struct { id_result_type: IdResultType, id_result: IdResult, pipe: IdRef, num_packets: IdRef, packet_size: IdRef, packet_alignment: IdRef }, |
| | 884 | .OpCommitReadPipe => struct { pipe: IdRef, reserve_id: IdRef, packet_size: IdRef, packet_alignment: IdRef }, |
| | 885 | .OpCommitWritePipe => struct { pipe: IdRef, reserve_id: IdRef, packet_size: IdRef, packet_alignment: IdRef }, |
| | 886 | .OpIsValidReserveId => struct { id_result_type: IdResultType, id_result: IdResult, reserve_id: IdRef }, |
| | 887 | .OpGetNumPipePackets => struct { id_result_type: IdResultType, id_result: IdResult, pipe: IdRef, packet_size: IdRef, packet_alignment: IdRef }, |
| | 888 | .OpGetMaxPipePackets => struct { id_result_type: IdResultType, id_result: IdResult, pipe: IdRef, packet_size: IdRef, packet_alignment: IdRef }, |
| | 889 | .OpGroupReserveReadPipePackets => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, pipe: IdRef, num_packets: IdRef, packet_size: IdRef, packet_alignment: IdRef }, |
| | 890 | .OpGroupReserveWritePipePackets => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, pipe: IdRef, num_packets: IdRef, packet_size: IdRef, packet_alignment: IdRef }, |
| | 891 | .OpGroupCommitReadPipe => struct { execution: IdScope, pipe: IdRef, reserve_id: IdRef, packet_size: IdRef, packet_alignment: IdRef }, |
| | 892 | .OpGroupCommitWritePipe => struct { execution: IdScope, pipe: IdRef, reserve_id: IdRef, packet_size: IdRef, packet_alignment: IdRef }, |
| | 893 | .OpEnqueueMarker => struct { id_result_type: IdResultType, id_result: IdResult, queue: IdRef, num_events: IdRef, wait_events: IdRef, ret_event: IdRef }, |
| | 894 | .OpEnqueueKernel => struct { id_result_type: IdResultType, id_result: IdResult, queue: IdRef, flags: IdRef, nd_range: IdRef, num_events: IdRef, wait_events: IdRef, ret_event: IdRef, invoke: IdRef, param: IdRef, param_size: IdRef, param_align: IdRef, local_size: []const IdRef = &.{} }, |
| | 895 | .OpGetKernelNDrangeSubGroupCount => struct { id_result_type: IdResultType, id_result: IdResult, nd_range: IdRef, invoke: IdRef, param: IdRef, param_size: IdRef, param_align: IdRef }, |
| | 896 | .OpGetKernelNDrangeMaxSubGroupSize => struct { id_result_type: IdResultType, id_result: IdResult, nd_range: IdRef, invoke: IdRef, param: IdRef, param_size: IdRef, param_align: IdRef }, |
| | 897 | .OpGetKernelWorkGroupSize => struct { id_result_type: IdResultType, id_result: IdResult, invoke: IdRef, param: IdRef, param_size: IdRef, param_align: IdRef }, |
| | 898 | .OpGetKernelPreferredWorkGroupSizeMultiple => struct { id_result_type: IdResultType, id_result: IdResult, invoke: IdRef, param: IdRef, param_size: IdRef, param_align: IdRef }, |
| | 899 | .OpRetainEvent => struct { event: IdRef }, |
| | 900 | .OpReleaseEvent => struct { event: IdRef }, |
| | 901 | .OpCreateUserEvent => struct { id_result_type: IdResultType, id_result: IdResult }, |
| | 902 | .OpIsValidEvent => struct { id_result_type: IdResultType, id_result: IdResult, event: IdRef }, |
| | 903 | .OpSetUserEventStatus => struct { event: IdRef, status: IdRef }, |
| | 904 | .OpCaptureEventProfilingInfo => struct { event: IdRef, profiling_info: IdRef, value: IdRef }, |
| | 905 | .OpGetDefaultQueue => struct { id_result_type: IdResultType, id_result: IdResult }, |
| | 906 | .OpBuildNDRange => struct { id_result_type: IdResultType, id_result: IdResult, globalworksize: IdRef, localworksize: IdRef, globalworkoffset: IdRef }, |
| | 907 | .OpImageSparseSampleImplicitLod => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef, coordinate: IdRef, image_operands: ?ImageOperands.Extended = null }, |
| | 908 | .OpImageSparseSampleExplicitLod => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef, coordinate: IdRef, image_operands: ImageOperands.Extended }, |
| | 909 | .OpImageSparseSampleDrefImplicitLod => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef, coordinate: IdRef, d_ref: IdRef, image_operands: ?ImageOperands.Extended = null }, |
| | 910 | .OpImageSparseSampleDrefExplicitLod => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef, coordinate: IdRef, d_ref: IdRef, image_operands: ImageOperands.Extended }, |
| | 911 | .OpImageSparseSampleProjImplicitLod => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef, coordinate: IdRef, image_operands: ?ImageOperands.Extended = null }, |
| | 912 | .OpImageSparseSampleProjExplicitLod => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef, coordinate: IdRef, image_operands: ImageOperands.Extended }, |
| | 913 | .OpImageSparseSampleProjDrefImplicitLod => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef, coordinate: IdRef, d_ref: IdRef, image_operands: ?ImageOperands.Extended = null }, |
| | 914 | .OpImageSparseSampleProjDrefExplicitLod => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef, coordinate: IdRef, d_ref: IdRef, image_operands: ImageOperands.Extended }, |
| | 915 | .OpImageSparseFetch => struct { id_result_type: IdResultType, id_result: IdResult, image: IdRef, coordinate: IdRef, image_operands: ?ImageOperands.Extended = null }, |
| | 916 | .OpImageSparseGather => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef, coordinate: IdRef, component: IdRef, image_operands: ?ImageOperands.Extended = null }, |
| | 917 | .OpImageSparseDrefGather => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef, coordinate: IdRef, d_ref: IdRef, image_operands: ?ImageOperands.Extended = null }, |
| | 918 | .OpImageSparseTexelsResident => struct { id_result_type: IdResultType, id_result: IdResult, resident_code: IdRef }, |
| | 919 | .OpNoLine => void, |
| | 920 | .OpAtomicFlagTestAndSet => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef, memory: IdScope, semantics: IdMemorySemantics }, |
| | 921 | .OpAtomicFlagClear => struct { pointer: IdRef, memory: IdScope, semantics: IdMemorySemantics }, |
| | 922 | .OpImageSparseRead => struct { id_result_type: IdResultType, id_result: IdResult, image: IdRef, coordinate: IdRef, image_operands: ?ImageOperands.Extended = null }, |
| | 923 | .OpSizeOf => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef }, |
| | 924 | .OpTypePipeStorage => struct { id_result: IdResult }, |
| | 925 | .OpConstantPipeStorage => struct { id_result_type: IdResultType, id_result: IdResult, packet_size: LiteralInteger, packet_alignment: LiteralInteger, capacity: LiteralInteger }, |
| | 926 | .OpCreatePipeFromPipeStorage => struct { id_result_type: IdResultType, id_result: IdResult, pipe_storage: IdRef }, |
| | 927 | .OpGetKernelLocalSizeForSubgroupCount => struct { id_result_type: IdResultType, id_result: IdResult, subgroup_count: IdRef, invoke: IdRef, param: IdRef, param_size: IdRef, param_align: IdRef }, |
| | 928 | .OpGetKernelMaxNumSubgroups => struct { id_result_type: IdResultType, id_result: IdResult, invoke: IdRef, param: IdRef, param_size: IdRef, param_align: IdRef }, |
| | 929 | .OpTypeNamedBarrier => struct { id_result: IdResult }, |
| | 930 | .OpNamedBarrierInitialize => struct { id_result_type: IdResultType, id_result: IdResult, subgroup_count: IdRef }, |
| | 931 | .OpMemoryNamedBarrier => struct { named_barrier: IdRef, memory: IdScope, semantics: IdMemorySemantics }, |
| | 932 | .OpModuleProcessed => struct { process: LiteralString }, |
| | 933 | .OpExecutionModeId => struct { entry_point: IdRef, mode: ExecutionMode.Extended }, |
| | 934 | .OpDecorateId => struct { target: IdRef, decoration: Decoration.Extended }, |
| | 935 | .OpGroupNonUniformElect => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope }, |
| | 936 | .OpGroupNonUniformAll => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, predicate: IdRef }, |
| | 937 | .OpGroupNonUniformAny => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, predicate: IdRef }, |
| | 938 | .OpGroupNonUniformAllEqual => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, value: IdRef }, |
| | 939 | .OpGroupNonUniformBroadcast => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, value: IdRef, id: IdRef }, |
| | 940 | .OpGroupNonUniformBroadcastFirst => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, value: IdRef }, |
| | 941 | .OpGroupNonUniformBallot => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, predicate: IdRef }, |
| | 942 | .OpGroupNonUniformInverseBallot => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, value: IdRef }, |
| | 943 | .OpGroupNonUniformBallotBitExtract => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, value: IdRef, index: IdRef }, |
| | 944 | .OpGroupNonUniformBallotBitCount => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, value: IdRef }, |
| | 945 | .OpGroupNonUniformBallotFindLSB => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, value: IdRef }, |
| | 946 | .OpGroupNonUniformBallotFindMSB => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, value: IdRef }, |
| | 947 | .OpGroupNonUniformShuffle => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, value: IdRef, id: IdRef }, |
| | 948 | .OpGroupNonUniformShuffleXor => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, value: IdRef, mask: IdRef }, |
| | 949 | .OpGroupNonUniformShuffleUp => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, value: IdRef, delta: IdRef }, |
| | 950 | .OpGroupNonUniformShuffleDown => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, value: IdRef, delta: IdRef }, |
| | 951 | .OpGroupNonUniformIAdd => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, value: IdRef, clustersize: ?IdRef = null }, |
| | 952 | .OpGroupNonUniformFAdd => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, value: IdRef, clustersize: ?IdRef = null }, |
| | 953 | .OpGroupNonUniformIMul => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, value: IdRef, clustersize: ?IdRef = null }, |
| | 954 | .OpGroupNonUniformFMul => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, value: IdRef, clustersize: ?IdRef = null }, |
| | 955 | .OpGroupNonUniformSMin => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, value: IdRef, clustersize: ?IdRef = null }, |
| | 956 | .OpGroupNonUniformUMin => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, value: IdRef, clustersize: ?IdRef = null }, |
| | 957 | .OpGroupNonUniformFMin => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, value: IdRef, clustersize: ?IdRef = null }, |
| | 958 | .OpGroupNonUniformSMax => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, value: IdRef, clustersize: ?IdRef = null }, |
| | 959 | .OpGroupNonUniformUMax => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, value: IdRef, clustersize: ?IdRef = null }, |
| | 960 | .OpGroupNonUniformFMax => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, value: IdRef, clustersize: ?IdRef = null }, |
| | 961 | .OpGroupNonUniformBitwiseAnd => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, value: IdRef, clustersize: ?IdRef = null }, |
| | 962 | .OpGroupNonUniformBitwiseOr => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, value: IdRef, clustersize: ?IdRef = null }, |
| | 963 | .OpGroupNonUniformBitwiseXor => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, value: IdRef, clustersize: ?IdRef = null }, |
| | 964 | .OpGroupNonUniformLogicalAnd => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, value: IdRef, clustersize: ?IdRef = null }, |
| | 965 | .OpGroupNonUniformLogicalOr => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, value: IdRef, clustersize: ?IdRef = null }, |
| | 966 | .OpGroupNonUniformLogicalXor => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, value: IdRef, clustersize: ?IdRef = null }, |
| | 967 | .OpGroupNonUniformQuadBroadcast => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, value: IdRef, index: IdRef }, |
| | 968 | .OpGroupNonUniformQuadSwap => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, value: IdRef, direction: IdRef }, |
| | 969 | .OpCopyLogical => struct { id_result_type: IdResultType, id_result: IdResult, operand: IdRef }, |
| | 970 | .OpPtrEqual => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 971 | .OpPtrNotEqual => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 972 | .OpPtrDiff => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 973 | .OpTerminateInvocation => void, |
| | 974 | .OpSubgroupBallotKHR => struct { id_result_type: IdResultType, id_result: IdResult, predicate: IdRef }, |
| | 975 | .OpSubgroupFirstInvocationKHR => struct { id_result_type: IdResultType, id_result: IdResult, value: IdRef }, |
| | 976 | .OpSubgroupAllKHR => struct { id_result_type: IdResultType, id_result: IdResult, predicate: IdRef }, |
| | 977 | .OpSubgroupAnyKHR => struct { id_result_type: IdResultType, id_result: IdResult, predicate: IdRef }, |
| | 978 | .OpSubgroupAllEqualKHR => struct { id_result_type: IdResultType, id_result: IdResult, predicate: IdRef }, |
| | 979 | .OpSubgroupReadInvocationKHR => struct { id_result_type: IdResultType, id_result: IdResult, value: IdRef, index: IdRef }, |
| | 980 | .OpTraceRayKHR => struct { accel: IdRef, ray_flags: IdRef, cull_mask: IdRef, sbt_offset: IdRef, sbt_stride: IdRef, miss_index: IdRef, ray_origin: IdRef, ray_tmin: IdRef, ray_direction: IdRef, ray_tmax: IdRef, payload: IdRef }, |
| | 981 | .OpExecuteCallableKHR => struct { sbt_index: IdRef, callable_data: IdRef }, |
| | 982 | .OpConvertUToAccelerationStructureKHR => struct { id_result_type: IdResultType, id_result: IdResult, accel: IdRef }, |
| | 983 | .OpIgnoreIntersectionKHR => void, |
| | 984 | .OpTerminateRayKHR => void, |
| | 985 | .OpTypeRayQueryKHR => struct { id_result: IdResult }, |
| | 986 | .OpRayQueryInitializeKHR => struct { rayquery: IdRef, accel: IdRef, rayflags: IdRef, cullmask: IdRef, rayorigin: IdRef, raytmin: IdRef, raydirection: IdRef, raytmax: IdRef }, |
| | 987 | .OpRayQueryTerminateKHR => struct { rayquery: IdRef }, |
| | 988 | .OpRayQueryGenerateIntersectionKHR => struct { rayquery: IdRef, hitt: IdRef }, |
| | 989 | .OpRayQueryConfirmIntersectionKHR => struct { rayquery: IdRef }, |
| | 990 | .OpRayQueryProceedKHR => struct { id_result_type: IdResultType, id_result: IdResult, rayquery: IdRef }, |
| | 991 | .OpRayQueryGetIntersectionTypeKHR => struct { id_result_type: IdResultType, id_result: IdResult, rayquery: IdRef, intersection: IdRef }, |
| | 992 | .OpGroupIAddNonUniformAMD => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef }, |
| | 993 | .OpGroupFAddNonUniformAMD => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef }, |
| | 994 | .OpGroupFMinNonUniformAMD => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef }, |
| | 995 | .OpGroupUMinNonUniformAMD => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef }, |
| | 996 | .OpGroupSMinNonUniformAMD => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef }, |
| | 997 | .OpGroupFMaxNonUniformAMD => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef }, |
| | 998 | .OpGroupUMaxNonUniformAMD => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef }, |
| | 999 | .OpGroupSMaxNonUniformAMD => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef }, |
| | 1000 | .OpFragmentMaskFetchAMD => struct { id_result_type: IdResultType, id_result: IdResult, image: IdRef, coordinate: IdRef }, |
| | 1001 | .OpFragmentFetchAMD => struct { id_result_type: IdResultType, id_result: IdResult, image: IdRef, coordinate: IdRef, fragment_index: IdRef }, |
| | 1002 | .OpReadClockKHR => struct { id_result_type: IdResultType, id_result: IdResult, scope: IdScope }, |
| | 1003 | .OpImageSampleFootprintNV => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef, coordinate: IdRef, granularity: IdRef, coarse: IdRef, image_operands: ?ImageOperands.Extended = null }, |
| | 1004 | .OpGroupNonUniformPartitionNV => struct { id_result_type: IdResultType, id_result: IdResult, value: IdRef }, |
| | 1005 | .OpWritePackedPrimitiveIndices4x8NV => struct { index_offset: IdRef, packed_indices: IdRef }, |
| | 1006 | .OpReportIntersectionKHR => struct { id_result_type: IdResultType, id_result: IdResult, hit: IdRef, hitkind: IdRef }, |
| | 1007 | .OpIgnoreIntersectionNV => void, |
| | 1008 | .OpTerminateRayNV => void, |
| | 1009 | .OpTraceNV => struct { accel: IdRef, ray_flags: IdRef, cull_mask: IdRef, sbt_offset: IdRef, sbt_stride: IdRef, miss_index: IdRef, ray_origin: IdRef, ray_tmin: IdRef, ray_direction: IdRef, ray_tmax: IdRef, payloadid: IdRef }, |
| | 1010 | .OpTypeAccelerationStructureKHR => struct { id_result: IdResult }, |
| | 1011 | .OpExecuteCallableNV => struct { sbt_index: IdRef, callable_dataid: IdRef }, |
| | 1012 | .OpTypeCooperativeMatrixNV => struct { id_result: IdResult, component_type: IdRef, execution: IdScope, rows: IdRef, columns: IdRef }, |
| | 1013 | .OpCooperativeMatrixLoadNV => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef, stride: IdRef, column_major: IdRef, memory_access: ?MemoryAccess.Extended = null }, |
| | 1014 | .OpCooperativeMatrixStoreNV => struct { pointer: IdRef, object: IdRef, stride: IdRef, column_major: IdRef, memory_access: ?MemoryAccess.Extended = null }, |
| | 1015 | .OpCooperativeMatrixMulAddNV => struct { id_result_type: IdResultType, id_result: IdResult, a: IdRef, b: IdRef, c: IdRef }, |
| | 1016 | .OpCooperativeMatrixLengthNV => struct { id_result_type: IdResultType, id_result: IdResult, type: IdRef }, |
| | 1017 | .OpBeginInvocationInterlockEXT => void, |
| | 1018 | .OpEndInvocationInterlockEXT => void, |
| | 1019 | .OpDemoteToHelperInvocationEXT => void, |
| | 1020 | .OpIsHelperInvocationEXT => struct { id_result_type: IdResultType, id_result: IdResult }, |
| | 1021 | .OpSubgroupShuffleINTEL => struct { id_result_type: IdResultType, id_result: IdResult, data: IdRef, invocationid: IdRef }, |
| | 1022 | .OpSubgroupShuffleDownINTEL => struct { id_result_type: IdResultType, id_result: IdResult, current: IdRef, next: IdRef, delta: IdRef }, |
| | 1023 | .OpSubgroupShuffleUpINTEL => struct { id_result_type: IdResultType, id_result: IdResult, previous: IdRef, current: IdRef, delta: IdRef }, |
| | 1024 | .OpSubgroupShuffleXorINTEL => struct { id_result_type: IdResultType, id_result: IdResult, data: IdRef, value: IdRef }, |
| | 1025 | .OpSubgroupBlockReadINTEL => struct { id_result_type: IdResultType, id_result: IdResult, ptr: IdRef }, |
| | 1026 | .OpSubgroupBlockWriteINTEL => struct { ptr: IdRef, data: IdRef }, |
| | 1027 | .OpSubgroupImageBlockReadINTEL => struct { id_result_type: IdResultType, id_result: IdResult, image: IdRef, coordinate: IdRef }, |
| | 1028 | .OpSubgroupImageBlockWriteINTEL => struct { image: IdRef, coordinate: IdRef, data: IdRef }, |
| | 1029 | .OpSubgroupImageMediaBlockReadINTEL => struct { id_result_type: IdResultType, id_result: IdResult, image: IdRef, coordinate: IdRef, width: IdRef, height: IdRef }, |
| | 1030 | .OpSubgroupImageMediaBlockWriteINTEL => struct { image: IdRef, coordinate: IdRef, width: IdRef, height: IdRef, data: IdRef }, |
| | 1031 | .OpUCountLeadingZerosINTEL => struct { id_result_type: IdResultType, id_result: IdResult, operand: IdRef }, |
| | 1032 | .OpUCountTrailingZerosINTEL => struct { id_result_type: IdResultType, id_result: IdResult, operand: IdRef }, |
| | 1033 | .OpAbsISubINTEL => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 1034 | .OpAbsUSubINTEL => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 1035 | .OpIAddSatINTEL => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 1036 | .OpUAddSatINTEL => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 1037 | .OpIAverageINTEL => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 1038 | .OpUAverageINTEL => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 1039 | .OpIAverageRoundedINTEL => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 1040 | .OpUAverageRoundedINTEL => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 1041 | .OpISubSatINTEL => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 1042 | .OpUSubSatINTEL => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 1043 | .OpIMul32x16INTEL => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 1044 | .OpUMul32x16INTEL => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef }, |
| | 1045 | .OpConstFunctionPointerINTEL => struct { id_result_type: IdResultType, id_result: IdResult, function: IdRef }, |
| | 1046 | .OpFunctionPointerCallINTEL => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: []const IdRef = &.{} }, |
| | 1047 | .OpAsmTargetINTEL => struct { id_result_type: IdResultType, id_result: IdResult, asm_target: LiteralString }, |
| | 1048 | .OpAsmINTEL => struct { id_result_type: IdResultType, id_result: IdResult, asm_type: IdRef, target: IdRef, asm_instructions: LiteralString, constraints: LiteralString }, |
| | 1049 | .OpAsmCallINTEL => struct { id_result_type: IdResultType, id_result: IdResult, @"asm": IdRef, argument_0: []const IdRef = &.{} }, |
| | 1050 | .OpAtomicFMinEXT => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef, memory: IdScope, semantics: IdMemorySemantics, value: IdRef }, |
| | 1051 | .OpAtomicFMaxEXT => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef, memory: IdScope, semantics: IdMemorySemantics, value: IdRef }, |
| | 1052 | .OpAssumeTrueKHR => struct { condition: IdRef }, |
| | 1053 | .OpExpectKHR => struct { id_result_type: IdResultType, id_result: IdResult, value: IdRef, expectedvalue: IdRef }, |
| | 1054 | .OpDecorateString => struct { target: IdRef, decoration: Decoration.Extended }, |
| | 1055 | .OpMemberDecorateString => struct { struct_type: IdRef, member: LiteralInteger, decoration: Decoration.Extended }, |
| | 1056 | .OpVmeImageINTEL => struct { id_result_type: IdResultType, id_result: IdResult, image_type: IdRef, sampler: IdRef }, |
| | 1057 | .OpTypeVmeImageINTEL => struct { id_result: IdResult, image_type: IdRef }, |
| | 1058 | .OpTypeAvcImePayloadINTEL => struct { id_result: IdResult }, |
| | 1059 | .OpTypeAvcRefPayloadINTEL => struct { id_result: IdResult }, |
| | 1060 | .OpTypeAvcSicPayloadINTEL => struct { id_result: IdResult }, |
| | 1061 | .OpTypeAvcMcePayloadINTEL => struct { id_result: IdResult }, |
| | 1062 | .OpTypeAvcMceResultINTEL => struct { id_result: IdResult }, |
| | 1063 | .OpTypeAvcImeResultINTEL => struct { id_result: IdResult }, |
| | 1064 | .OpTypeAvcImeResultSingleReferenceStreamoutINTEL => struct { id_result: IdResult }, |
| | 1065 | .OpTypeAvcImeResultDualReferenceStreamoutINTEL => struct { id_result: IdResult }, |
| | 1066 | .OpTypeAvcImeSingleReferenceStreaminINTEL => struct { id_result: IdResult }, |
| | 1067 | .OpTypeAvcImeDualReferenceStreaminINTEL => struct { id_result: IdResult }, |
| | 1068 | .OpTypeAvcRefResultINTEL => struct { id_result: IdResult }, |
| | 1069 | .OpTypeAvcSicResultINTEL => struct { id_result: IdResult }, |
| | 1070 | .OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL => struct { id_result_type: IdResultType, id_result: IdResult, slice_type: IdRef, qp: IdRef }, |
| | 1071 | .OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL => struct { id_result_type: IdResultType, id_result: IdResult, reference_base_penalty: IdRef, payload: IdRef }, |
| | 1072 | .OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL => struct { id_result_type: IdResultType, id_result: IdResult, slice_type: IdRef, qp: IdRef }, |
| | 1073 | .OpSubgroupAvcMceSetInterShapePenaltyINTEL => struct { id_result_type: IdResultType, id_result: IdResult, packed_shape_penalty: IdRef, payload: IdRef }, |
| | 1074 | .OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL => struct { id_result_type: IdResultType, id_result: IdResult, slice_type: IdRef, qp: IdRef }, |
| | 1075 | .OpSubgroupAvcMceSetInterDirectionPenaltyINTEL => struct { id_result_type: IdResultType, id_result: IdResult, direction_cost: IdRef, payload: IdRef }, |
| | 1076 | .OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL => struct { id_result_type: IdResultType, id_result: IdResult, slice_type: IdRef, qp: IdRef }, |
| | 1077 | .OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL => struct { id_result_type: IdResultType, id_result: IdResult, slice_type: IdRef, qp: IdRef }, |
| | 1078 | .OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL => struct { id_result_type: IdResultType, id_result: IdResult }, |
| | 1079 | .OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL => struct { id_result_type: IdResultType, id_result: IdResult }, |
| | 1080 | .OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL => struct { id_result_type: IdResultType, id_result: IdResult }, |
| | 1081 | .OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL => struct { id_result_type: IdResultType, id_result: IdResult, packed_cost_center_delta: IdRef, packed_cost_table: IdRef, cost_precision: IdRef, payload: IdRef }, |
| | 1082 | .OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL => struct { id_result_type: IdResultType, id_result: IdResult, slice_type: IdRef, qp: IdRef }, |
| | 1083 | .OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL => struct { id_result_type: IdResultType, id_result: IdResult }, |
| | 1084 | .OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL => struct { id_result_type: IdResultType, id_result: IdResult }, |
| | 1085 | .OpSubgroupAvcMceSetAcOnlyHaarINTEL => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef }, |
| | 1086 | .OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL => struct { id_result_type: IdResultType, id_result: IdResult, source_field_polarity: IdRef, payload: IdRef }, |
| | 1087 | .OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL => struct { id_result_type: IdResultType, id_result: IdResult, reference_field_polarity: IdRef, payload: IdRef }, |
| | 1088 | .OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL => struct { id_result_type: IdResultType, id_result: IdResult, forward_reference_field_polarity: IdRef, backward_reference_field_polarity: IdRef, payload: IdRef }, |
| | 1089 | .OpSubgroupAvcMceConvertToImePayloadINTEL => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef }, |
| | 1090 | .OpSubgroupAvcMceConvertToImeResultINTEL => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef }, |
| | 1091 | .OpSubgroupAvcMceConvertToRefPayloadINTEL => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef }, |
| | 1092 | .OpSubgroupAvcMceConvertToRefResultINTEL => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef }, |
| | 1093 | .OpSubgroupAvcMceConvertToSicPayloadINTEL => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef }, |
| | 1094 | .OpSubgroupAvcMceConvertToSicResultINTEL => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef }, |
| | 1095 | .OpSubgroupAvcMceGetMotionVectorsINTEL => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef }, |
| | 1096 | .OpSubgroupAvcMceGetInterDistortionsINTEL => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef }, |
| | 1097 | .OpSubgroupAvcMceGetBestInterDistortionsINTEL => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef }, |
| | 1098 | .OpSubgroupAvcMceGetInterMajorShapeINTEL => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef }, |
| | 1099 | .OpSubgroupAvcMceGetInterMinorShapeINTEL => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef }, |
| | 1100 | .OpSubgroupAvcMceGetInterDirectionsINTEL => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef }, |
| | 1101 | .OpSubgroupAvcMceGetInterMotionVectorCountINTEL => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef }, |
| | 1102 | .OpSubgroupAvcMceGetInterReferenceIdsINTEL => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef }, |
| | 1103 | .OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL => struct { id_result_type: IdResultType, id_result: IdResult, packed_reference_ids: IdRef, packed_reference_parameter_field_polarities: IdRef, payload: IdRef }, |
| | 1104 | .OpSubgroupAvcImeInitializeINTEL => struct { id_result_type: IdResultType, id_result: IdResult, src_coord: IdRef, partition_mask: IdRef, sad_adjustment: IdRef }, |
| | 1105 | .OpSubgroupAvcImeSetSingleReferenceINTEL => struct { id_result_type: IdResultType, id_result: IdResult, ref_offset: IdRef, search_window_config: IdRef, payload: IdRef }, |
| | 1106 | .OpSubgroupAvcImeSetDualReferenceINTEL => struct { id_result_type: IdResultType, id_result: IdResult, fwd_ref_offset: IdRef, bwd_ref_offset: IdRef, id_ref_4: IdRef, payload: IdRef }, |
| | 1107 | .OpSubgroupAvcImeRefWindowSizeINTEL => struct { id_result_type: IdResultType, id_result: IdResult, search_window_config: IdRef, dual_ref: IdRef }, |
| | 1108 | .OpSubgroupAvcImeAdjustRefOffsetINTEL => struct { id_result_type: IdResultType, id_result: IdResult, ref_offset: IdRef, src_coord: IdRef, ref_window_size: IdRef, image_size: IdRef }, |
| | 1109 | .OpSubgroupAvcImeConvertToMcePayloadINTEL => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef }, |
| | 1110 | .OpSubgroupAvcImeSetMaxMotionVectorCountINTEL => struct { id_result_type: IdResultType, id_result: IdResult, max_motion_vector_count: IdRef, payload: IdRef }, |
| | 1111 | .OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef }, |
| | 1112 | .OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL => struct { id_result_type: IdResultType, id_result: IdResult, threshold: IdRef, payload: IdRef }, |
| | 1113 | .OpSubgroupAvcImeSetWeightedSadINTEL => struct { id_result_type: IdResultType, id_result: IdResult, packed_sad_weights: IdRef, payload: IdRef }, |
| | 1114 | .OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL => struct { id_result_type: IdResultType, id_result: IdResult, src_image: IdRef, ref_image: IdRef, payload: IdRef }, |
| | 1115 | .OpSubgroupAvcImeEvaluateWithDualReferenceINTEL => struct { id_result_type: IdResultType, id_result: IdResult, src_image: IdRef, fwd_ref_image: IdRef, bwd_ref_image: IdRef, payload: IdRef }, |
| | 1116 | .OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL => struct { id_result_type: IdResultType, id_result: IdResult, src_image: IdRef, ref_image: IdRef, payload: IdRef, streamin_components: IdRef }, |
| | 1117 | .OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL => struct { id_result_type: IdResultType, id_result: IdResult, src_image: IdRef, fwd_ref_image: IdRef, bwd_ref_image: IdRef, payload: IdRef, streamin_components: IdRef }, |
| | 1118 | .OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL => struct { id_result_type: IdResultType, id_result: IdResult, src_image: IdRef, ref_image: IdRef, payload: IdRef }, |
| | 1119 | .OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL => struct { id_result_type: IdResultType, id_result: IdResult, src_image: IdRef, fwd_ref_image: IdRef, bwd_ref_image: IdRef, payload: IdRef }, |
| | 1120 | .OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL => struct { id_result_type: IdResultType, id_result: IdResult, src_image: IdRef, ref_image: IdRef, payload: IdRef, streamin_components: IdRef }, |
| | 1121 | .OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL => struct { id_result_type: IdResultType, id_result: IdResult, src_image: IdRef, fwd_ref_image: IdRef, bwd_ref_image: IdRef, payload: IdRef, streamin_components: IdRef }, |
| | 1122 | .OpSubgroupAvcImeConvertToMceResultINTEL => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef }, |
| | 1123 | .OpSubgroupAvcImeGetSingleReferenceStreaminINTEL => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef }, |
| | 1124 | .OpSubgroupAvcImeGetDualReferenceStreaminINTEL => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef }, |
| | 1125 | .OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef }, |
| | 1126 | .OpSubgroupAvcImeStripDualReferenceStreamoutINTEL => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef }, |
| | 1127 | .OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef, major_shape: IdRef }, |
| | 1128 | .OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef, major_shape: IdRef }, |
| | 1129 | .OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef, major_shape: IdRef }, |
| | 1130 | .OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef, major_shape: IdRef, direction: IdRef }, |
| | 1131 | .OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef, major_shape: IdRef, direction: IdRef }, |
| | 1132 | .OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef, major_shape: IdRef, direction: IdRef }, |
| | 1133 | .OpSubgroupAvcImeGetBorderReachedINTEL => struct { id_result_type: IdResultType, id_result: IdResult, image_select: IdRef, payload: IdRef }, |
| | 1134 | .OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef }, |
| | 1135 | .OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef }, |
| | 1136 | .OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef }, |
| | 1137 | .OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef }, |
| | 1138 | .OpSubgroupAvcFmeInitializeINTEL => struct { id_result_type: IdResultType, id_result: IdResult, src_coord: IdRef, motion_vectors: IdRef, major_shapes: IdRef, minor_shapes: IdRef, direction: IdRef, pixel_resolution: IdRef, sad_adjustment: IdRef }, |
| | 1139 | .OpSubgroupAvcBmeInitializeINTEL => struct { id_result_type: IdResultType, id_result: IdResult, src_coord: IdRef, motion_vectors: IdRef, major_shapes: IdRef, minor_shapes: IdRef, direction: IdRef, pixel_resolution: IdRef, bidirectional_weight: IdRef, sad_adjustment: IdRef }, |
| | 1140 | .OpSubgroupAvcRefConvertToMcePayloadINTEL => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef }, |
| | 1141 | .OpSubgroupAvcRefSetBidirectionalMixDisableINTEL => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef }, |
| | 1142 | .OpSubgroupAvcRefSetBilinearFilterEnableINTEL => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef }, |
| | 1143 | .OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL => struct { id_result_type: IdResultType, id_result: IdResult, src_image: IdRef, ref_image: IdRef, payload: IdRef }, |
| | 1144 | .OpSubgroupAvcRefEvaluateWithDualReferenceINTEL => struct { id_result_type: IdResultType, id_result: IdResult, src_image: IdRef, fwd_ref_image: IdRef, bwd_ref_image: IdRef, payload: IdRef }, |
| | 1145 | .OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL => struct { id_result_type: IdResultType, id_result: IdResult, src_image: IdRef, packed_reference_ids: IdRef, payload: IdRef }, |
| | 1146 | .OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL => struct { id_result_type: IdResultType, id_result: IdResult, src_image: IdRef, packed_reference_ids: IdRef, packed_reference_field_polarities: IdRef, payload: IdRef }, |
| | 1147 | .OpSubgroupAvcRefConvertToMceResultINTEL => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef }, |
| | 1148 | .OpSubgroupAvcSicInitializeINTEL => struct { id_result_type: IdResultType, id_result: IdResult, src_coord: IdRef }, |
| | 1149 | .OpSubgroupAvcSicConfigureSkcINTEL => struct { id_result_type: IdResultType, id_result: IdResult, skip_block_partition_type: IdRef, skip_motion_vector_mask: IdRef, motion_vectors: IdRef, bidirectional_weight: IdRef, sad_adjustment: IdRef, payload: IdRef }, |
| | 1150 | .OpSubgroupAvcSicConfigureIpeLumaINTEL => struct { id_result_type: IdResultType, id_result: IdResult, luma_intra_partition_mask: IdRef, intra_neighbour_availabilty: IdRef, left_edge_luma_pixels: IdRef, upper_left_corner_luma_pixel: IdRef, upper_edge_luma_pixels: IdRef, upper_right_edge_luma_pixels: IdRef, sad_adjustment: IdRef, payload: IdRef }, |
| | 1151 | .OpSubgroupAvcSicConfigureIpeLumaChromaINTEL => struct { id_result_type: IdResultType, id_result: IdResult, luma_intra_partition_mask: IdRef, intra_neighbour_availabilty: IdRef, left_edge_luma_pixels: IdRef, upper_left_corner_luma_pixel: IdRef, upper_edge_luma_pixels: IdRef, upper_right_edge_luma_pixels: IdRef, left_edge_chroma_pixels: IdRef, upper_left_corner_chroma_pixel: IdRef, upper_edge_chroma_pixels: IdRef, sad_adjustment: IdRef, payload: IdRef }, |
| | 1152 | .OpSubgroupAvcSicGetMotionVectorMaskINTEL => struct { id_result_type: IdResultType, id_result: IdResult, skip_block_partition_type: IdRef, direction: IdRef }, |
| | 1153 | .OpSubgroupAvcSicConvertToMcePayloadINTEL => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef }, |
| | 1154 | .OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL => struct { id_result_type: IdResultType, id_result: IdResult, packed_shape_penalty: IdRef, payload: IdRef }, |
| | 1155 | .OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL => struct { id_result_type: IdResultType, id_result: IdResult, luma_mode_penalty: IdRef, luma_packed_neighbor_modes: IdRef, luma_packed_non_dc_penalty: IdRef, payload: IdRef }, |
| | 1156 | .OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL => struct { id_result_type: IdResultType, id_result: IdResult, chroma_mode_base_penalty: IdRef, payload: IdRef }, |
| | 1157 | .OpSubgroupAvcSicSetBilinearFilterEnableINTEL => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef }, |
| | 1158 | .OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL => struct { id_result_type: IdResultType, id_result: IdResult, packed_sad_coefficients: IdRef, payload: IdRef }, |
| | 1159 | .OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL => struct { id_result_type: IdResultType, id_result: IdResult, block_based_skip_type: IdRef, payload: IdRef }, |
| | 1160 | .OpSubgroupAvcSicEvaluateIpeINTEL => struct { id_result_type: IdResultType, id_result: IdResult, src_image: IdRef, payload: IdRef }, |
| | 1161 | .OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL => struct { id_result_type: IdResultType, id_result: IdResult, src_image: IdRef, ref_image: IdRef, payload: IdRef }, |
| | 1162 | .OpSubgroupAvcSicEvaluateWithDualReferenceINTEL => struct { id_result_type: IdResultType, id_result: IdResult, src_image: IdRef, fwd_ref_image: IdRef, bwd_ref_image: IdRef, payload: IdRef }, |
| | 1163 | .OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL => struct { id_result_type: IdResultType, id_result: IdResult, src_image: IdRef, packed_reference_ids: IdRef, payload: IdRef }, |
| | 1164 | .OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL => struct { id_result_type: IdResultType, id_result: IdResult, src_image: IdRef, packed_reference_ids: IdRef, packed_reference_field_polarities: IdRef, payload: IdRef }, |
| | 1165 | .OpSubgroupAvcSicConvertToMceResultINTEL => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef }, |
| | 1166 | .OpSubgroupAvcSicGetIpeLumaShapeINTEL => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef }, |
| | 1167 | .OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef }, |
| | 1168 | .OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef }, |
| | 1169 | .OpSubgroupAvcSicGetPackedIpeLumaModesINTEL => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef }, |
| | 1170 | .OpSubgroupAvcSicGetIpeChromaModeINTEL => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef }, |
| | 1171 | .OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef }, |
| | 1172 | .OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef }, |
| | 1173 | .OpSubgroupAvcSicGetInterRawSadsINTEL => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef }, |
| | 1174 | .OpVariableLengthArrayINTEL => struct { id_result_type: IdResultType, id_result: IdResult, lenght: IdRef }, |
| | 1175 | .OpSaveMemoryINTEL => struct { id_result_type: IdResultType, id_result: IdResult }, |
| | 1176 | .OpRestoreMemoryINTEL => struct { ptr: IdRef }, |
| | 1177 | .OpLoopControlINTEL => struct { loop_control_parameters: []const LiteralInteger = &.{} }, |
| | 1178 | .OpPtrCastToCrossWorkgroupINTEL => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef }, |
| | 1179 | .OpCrossWorkgroupCastToPtrINTEL => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef }, |
| | 1180 | .OpReadPipeBlockingINTEL => struct { id_result_type: IdResultType, id_result: IdResult, packet_size: IdRef, packet_alignment: IdRef }, |
| | 1181 | .OpWritePipeBlockingINTEL => struct { id_result_type: IdResultType, id_result: IdResult, packet_size: IdRef, packet_alignment: IdRef }, |
| | 1182 | .OpFPGARegINTEL => struct { id_result_type: IdResultType, id_result: IdResult, result: IdRef, input: IdRef }, |
| | 1183 | .OpRayQueryGetRayTMinKHR => struct { id_result_type: IdResultType, id_result: IdResult, rayquery: IdRef }, |
| | 1184 | .OpRayQueryGetRayFlagsKHR => struct { id_result_type: IdResultType, id_result: IdResult, rayquery: IdRef }, |
| | 1185 | .OpRayQueryGetIntersectionTKHR => struct { id_result_type: IdResultType, id_result: IdResult, rayquery: IdRef, intersection: IdRef }, |
| | 1186 | .OpRayQueryGetIntersectionInstanceCustomIndexKHR => struct { id_result_type: IdResultType, id_result: IdResult, rayquery: IdRef, intersection: IdRef }, |
| | 1187 | .OpRayQueryGetIntersectionInstanceIdKHR => struct { id_result_type: IdResultType, id_result: IdResult, rayquery: IdRef, intersection: IdRef }, |
| | 1188 | .OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR => struct { id_result_type: IdResultType, id_result: IdResult, rayquery: IdRef, intersection: IdRef }, |
| | 1189 | .OpRayQueryGetIntersectionGeometryIndexKHR => struct { id_result_type: IdResultType, id_result: IdResult, rayquery: IdRef, intersection: IdRef }, |
| | 1190 | .OpRayQueryGetIntersectionPrimitiveIndexKHR => struct { id_result_type: IdResultType, id_result: IdResult, rayquery: IdRef, intersection: IdRef }, |
| | 1191 | .OpRayQueryGetIntersectionBarycentricsKHR => struct { id_result_type: IdResultType, id_result: IdResult, rayquery: IdRef, intersection: IdRef }, |
| | 1192 | .OpRayQueryGetIntersectionFrontFaceKHR => struct { id_result_type: IdResultType, id_result: IdResult, rayquery: IdRef, intersection: IdRef }, |
| | 1193 | .OpRayQueryGetIntersectionCandidateAABBOpaqueKHR => struct { id_result_type: IdResultType, id_result: IdResult, rayquery: IdRef }, |
| | 1194 | .OpRayQueryGetIntersectionObjectRayDirectionKHR => struct { id_result_type: IdResultType, id_result: IdResult, rayquery: IdRef, intersection: IdRef }, |
| | 1195 | .OpRayQueryGetIntersectionObjectRayOriginKHR => struct { id_result_type: IdResultType, id_result: IdResult, rayquery: IdRef, intersection: IdRef }, |
| | 1196 | .OpRayQueryGetWorldRayDirectionKHR => struct { id_result_type: IdResultType, id_result: IdResult, rayquery: IdRef }, |
| | 1197 | .OpRayQueryGetWorldRayOriginKHR => struct { id_result_type: IdResultType, id_result: IdResult, rayquery: IdRef }, |
| | 1198 | .OpRayQueryGetIntersectionObjectToWorldKHR => struct { id_result_type: IdResultType, id_result: IdResult, rayquery: IdRef, intersection: IdRef }, |
| | 1199 | .OpRayQueryGetIntersectionWorldToObjectKHR => struct { id_result_type: IdResultType, id_result: IdResult, rayquery: IdRef, intersection: IdRef }, |
| | 1200 | .OpAtomicFAddEXT => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef, memory: IdScope, semantics: IdMemorySemantics, value: IdRef }, |
| | 1201 | .OpTypeBufferSurfaceINTEL => struct { id_result: IdResult }, |
| | 1202 | .OpTypeStructContinuedINTEL => struct { id_ref: []const IdRef = &.{} }, |
| | 1203 | .OpConstantCompositeContinuedINTEL => struct { constituents: []const IdRef = &.{} }, |
| | 1204 | .OpSpecConstantCompositeContinuedINTEL => struct { constituents: []const IdRef = &.{} }, |
| | 1205 | }; |
| | 1206 | } |
| 587 | }; | 1207 | }; |
| 588 | pub const ImageOperands = packed struct { | 1208 | pub const ImageOperands = packed struct { |
| 589 | Bias: bool align(@alignOf(u32)) = false, | 1209 | Bias: bool align(@alignOf(u32)) = false, |
| ... | @@ -618,6 +1238,46 @@ pub const ImageOperands = packed struct { | ... | @@ -618,6 +1238,46 @@ pub const ImageOperands = packed struct { |
| 618 | _reserved_bit_29: bool = false, | 1238 | _reserved_bit_29: bool = false, |
| 619 | _reserved_bit_30: bool = false, | 1239 | _reserved_bit_30: bool = false, |
| 620 | _reserved_bit_31: bool = false, | 1240 | _reserved_bit_31: bool = false, |
| | 1241 | |
| | 1242 | pub const MakeTexelAvailableKHR: ImageOperands = .{ .MakeTexelAvailable = true }; |
| | 1243 | pub const MakeTexelVisibleKHR: ImageOperands = .{ .MakeTexelVisible = true }; |
| | 1244 | pub const NonPrivateTexelKHR: ImageOperands = .{ .NonPrivateTexel = true }; |
| | 1245 | pub const VolatileTexelKHR: ImageOperands = .{ .VolatileTexel = true }; |
| | 1246 | |
| | 1247 | pub const Extended = struct { |
| | 1248 | Bias: ?struct { id_ref: IdRef } = null, |
| | 1249 | Lod: ?struct { id_ref: IdRef } = null, |
| | 1250 | Grad: ?struct { id_ref_0: IdRef, id_ref_1: IdRef } = null, |
| | 1251 | ConstOffset: ?struct { id_ref: IdRef } = null, |
| | 1252 | Offset: ?struct { id_ref: IdRef } = null, |
| | 1253 | ConstOffsets: ?struct { id_ref: IdRef } = null, |
| | 1254 | Sample: ?struct { id_ref: IdRef } = null, |
| | 1255 | MinLod: ?struct { id_ref: IdRef } = null, |
| | 1256 | MakeTexelAvailable: ?struct { id_scope: IdScope } = null, |
| | 1257 | MakeTexelVisible: ?struct { id_scope: IdScope } = null, |
| | 1258 | NonPrivateTexel: bool = false, |
| | 1259 | VolatileTexel: bool = false, |
| | 1260 | SignExtend: bool = false, |
| | 1261 | ZeroExtend: bool = false, |
| | 1262 | _reserved_bit_14: bool = false, |
| | 1263 | _reserved_bit_15: bool = false, |
| | 1264 | _reserved_bit_16: bool = false, |
| | 1265 | _reserved_bit_17: bool = false, |
| | 1266 | _reserved_bit_18: bool = false, |
| | 1267 | _reserved_bit_19: bool = false, |
| | 1268 | _reserved_bit_20: bool = false, |
| | 1269 | _reserved_bit_21: bool = false, |
| | 1270 | _reserved_bit_22: bool = false, |
| | 1271 | _reserved_bit_23: bool = false, |
| | 1272 | _reserved_bit_24: bool = false, |
| | 1273 | _reserved_bit_25: bool = false, |
| | 1274 | _reserved_bit_26: bool = false, |
| | 1275 | _reserved_bit_27: bool = false, |
| | 1276 | _reserved_bit_28: bool = false, |
| | 1277 | _reserved_bit_29: bool = false, |
| | 1278 | _reserved_bit_30: bool = false, |
| | 1279 | _reserved_bit_31: bool = false, |
| | 1280 | }; |
| 621 | }; | 1281 | }; |
| 622 | pub const FPFastMathMode = packed struct { | 1282 | pub const FPFastMathMode = packed struct { |
| 623 | NotNaN: bool align(@alignOf(u32)) = false, | 1283 | NotNaN: bool align(@alignOf(u32)) = false, |
| ... | @@ -720,6 +1380,41 @@ pub const LoopControl = packed struct { | ... | @@ -720,6 +1380,41 @@ pub const LoopControl = packed struct { |
| 720 | _reserved_bit_29: bool = false, | 1380 | _reserved_bit_29: bool = false, |
| 721 | _reserved_bit_30: bool = false, | 1381 | _reserved_bit_30: bool = false, |
| 722 | _reserved_bit_31: bool = false, | 1382 | _reserved_bit_31: bool = false, |
| | 1383 | |
| | 1384 | pub const Extended = struct { |
| | 1385 | Unroll: bool = false, |
| | 1386 | DontUnroll: bool = false, |
| | 1387 | DependencyInfinite: bool = false, |
| | 1388 | DependencyLength: ?struct { literal_integer: LiteralInteger } = null, |
| | 1389 | MinIterations: ?struct { literal_integer: LiteralInteger } = null, |
| | 1390 | MaxIterations: ?struct { literal_integer: LiteralInteger } = null, |
| | 1391 | IterationMultiple: ?struct { literal_integer: LiteralInteger } = null, |
| | 1392 | PeelCount: ?struct { literal_integer: LiteralInteger } = null, |
| | 1393 | PartialCount: ?struct { literal_integer: LiteralInteger } = null, |
| | 1394 | _reserved_bit_9: bool = false, |
| | 1395 | _reserved_bit_10: bool = false, |
| | 1396 | _reserved_bit_11: bool = false, |
| | 1397 | _reserved_bit_12: bool = false, |
| | 1398 | _reserved_bit_13: bool = false, |
| | 1399 | _reserved_bit_14: bool = false, |
| | 1400 | _reserved_bit_15: bool = false, |
| | 1401 | InitiationIntervalINTEL: ?struct { literal_integer: LiteralInteger } = null, |
| | 1402 | MaxConcurrencyINTEL: ?struct { literal_integer: LiteralInteger } = null, |
| | 1403 | DependencyArrayINTEL: ?struct { literal_integer: LiteralInteger } = null, |
| | 1404 | PipelineEnableINTEL: ?struct { literal_integer: LiteralInteger } = null, |
| | 1405 | LoopCoalesceINTEL: ?struct { literal_integer: LiteralInteger } = null, |
| | 1406 | MaxInterleavingINTEL: ?struct { literal_integer: LiteralInteger } = null, |
| | 1407 | SpeculatedIterationsINTEL: ?struct { literal_integer: LiteralInteger } = null, |
| | 1408 | NoFusionINTEL: ?struct { literal_integer: LiteralInteger } = null, |
| | 1409 | _reserved_bit_24: bool = false, |
| | 1410 | _reserved_bit_25: bool = false, |
| | 1411 | _reserved_bit_26: bool = false, |
| | 1412 | _reserved_bit_27: bool = false, |
| | 1413 | _reserved_bit_28: bool = false, |
| | 1414 | _reserved_bit_29: bool = false, |
| | 1415 | _reserved_bit_30: bool = false, |
| | 1416 | _reserved_bit_31: bool = false, |
| | 1417 | }; |
| 723 | }; | 1418 | }; |
| 724 | pub const FunctionControl = packed struct { | 1419 | pub const FunctionControl = packed struct { |
| 725 | Inline: bool align(@alignOf(u32)) = false, | 1420 | Inline: bool align(@alignOf(u32)) = false, |
| ... | @@ -788,6 +1483,10 @@ pub const MemorySemantics = packed struct { | ... | @@ -788,6 +1483,10 @@ pub const MemorySemantics = packed struct { |
| 788 | _reserved_bit_29: bool = false, | 1483 | _reserved_bit_29: bool = false, |
| 789 | _reserved_bit_30: bool = false, | 1484 | _reserved_bit_30: bool = false, |
| 790 | _reserved_bit_31: bool = false, | 1485 | _reserved_bit_31: bool = false, |
| | 1486 | |
| | 1487 | pub const OutputMemoryKHR: MemorySemantics = .{ .OutputMemory = true }; |
| | 1488 | pub const MakeAvailableKHR: MemorySemantics = .{ .MakeAvailable = true }; |
| | 1489 | pub const MakeVisibleKHR: MemorySemantics = .{ .MakeVisible = true }; |
| 791 | }; | 1490 | }; |
| 792 | pub const MemoryAccess = packed struct { | 1491 | pub const MemoryAccess = packed struct { |
| 793 | Volatile: bool align(@alignOf(u32)) = false, | 1492 | Volatile: bool align(@alignOf(u32)) = false, |
| ... | @@ -822,6 +1521,45 @@ pub const MemoryAccess = packed struct { | ... | @@ -822,6 +1521,45 @@ pub const MemoryAccess = packed struct { |
| 822 | _reserved_bit_29: bool = false, | 1521 | _reserved_bit_29: bool = false, |
| 823 | _reserved_bit_30: bool = false, | 1522 | _reserved_bit_30: bool = false, |
| 824 | _reserved_bit_31: bool = false, | 1523 | _reserved_bit_31: bool = false, |
| | 1524 | |
| | 1525 | pub const MakePointerAvailableKHR: MemoryAccess = .{ .MakePointerAvailable = true }; |
| | 1526 | pub const MakePointerVisibleKHR: MemoryAccess = .{ .MakePointerVisible = true }; |
| | 1527 | pub const NonPrivatePointerKHR: MemoryAccess = .{ .NonPrivatePointer = true }; |
| | 1528 | |
| | 1529 | pub const Extended = struct { |
| | 1530 | Volatile: bool = false, |
| | 1531 | Aligned: ?struct { literal_integer: LiteralInteger } = null, |
| | 1532 | Nontemporal: bool = false, |
| | 1533 | MakePointerAvailable: ?struct { id_scope: IdScope } = null, |
| | 1534 | MakePointerVisible: ?struct { id_scope: IdScope } = null, |
| | 1535 | NonPrivatePointer: bool = false, |
| | 1536 | _reserved_bit_6: bool = false, |
| | 1537 | _reserved_bit_7: bool = false, |
| | 1538 | _reserved_bit_8: bool = false, |
| | 1539 | _reserved_bit_9: bool = false, |
| | 1540 | _reserved_bit_10: bool = false, |
| | 1541 | _reserved_bit_11: bool = false, |
| | 1542 | _reserved_bit_12: bool = false, |
| | 1543 | _reserved_bit_13: bool = false, |
| | 1544 | _reserved_bit_14: bool = false, |
| | 1545 | _reserved_bit_15: bool = false, |
| | 1546 | _reserved_bit_16: bool = false, |
| | 1547 | _reserved_bit_17: bool = false, |
| | 1548 | _reserved_bit_18: bool = false, |
| | 1549 | _reserved_bit_19: bool = false, |
| | 1550 | _reserved_bit_20: bool = false, |
| | 1551 | _reserved_bit_21: bool = false, |
| | 1552 | _reserved_bit_22: bool = false, |
| | 1553 | _reserved_bit_23: bool = false, |
| | 1554 | _reserved_bit_24: bool = false, |
| | 1555 | _reserved_bit_25: bool = false, |
| | 1556 | _reserved_bit_26: bool = false, |
| | 1557 | _reserved_bit_27: bool = false, |
| | 1558 | _reserved_bit_28: bool = false, |
| | 1559 | _reserved_bit_29: bool = false, |
| | 1560 | _reserved_bit_30: bool = false, |
| | 1561 | _reserved_bit_31: bool = false, |
| | 1562 | }; |
| 825 | }; | 1563 | }; |
| 826 | pub const KernelProfilingInfo = packed struct { | 1564 | pub const KernelProfilingInfo = packed struct { |
| 827 | CmdExecTime: bool align(@alignOf(u32)) = false, | 1565 | CmdExecTime: bool align(@alignOf(u32)) = false, |
| ... | @@ -932,7 +1670,6 @@ pub const SourceLanguage = enum(u32) { | ... | @@ -932,7 +1670,6 @@ pub const SourceLanguage = enum(u32) { |
| 932 | OpenCL_C = 3, | 1670 | OpenCL_C = 3, |
| 933 | OpenCL_CPP = 4, | 1671 | OpenCL_CPP = 4, |
| 934 | HLSL = 5, | 1672 | HLSL = 5, |
| 935 | _, | | |
| 936 | }; | 1673 | }; |
| 937 | pub const ExecutionModel = enum(u32) { | 1674 | pub const ExecutionModel = enum(u32) { |
| 938 | Vertex = 0, | 1675 | Vertex = 0, |
| ... | @@ -944,33 +1681,35 @@ pub const ExecutionModel = enum(u32) { | ... | @@ -944,33 +1681,35 @@ pub const ExecutionModel = enum(u32) { |
| 944 | Kernel = 6, | 1681 | Kernel = 6, |
| 945 | TaskNV = 5267, | 1682 | TaskNV = 5267, |
| 946 | MeshNV = 5268, | 1683 | MeshNV = 5268, |
| 947 | RayGenerationNV = 5313, | | |
| 948 | RayGenerationKHR = 5313, | 1684 | RayGenerationKHR = 5313, |
| 949 | IntersectionNV = 5314, | | |
| 950 | IntersectionKHR = 5314, | 1685 | IntersectionKHR = 5314, |
| 951 | AnyHitNV = 5315, | | |
| 952 | AnyHitKHR = 5315, | 1686 | AnyHitKHR = 5315, |
| 953 | ClosestHitNV = 5316, | | |
| 954 | ClosestHitKHR = 5316, | 1687 | ClosestHitKHR = 5316, |
| 955 | MissNV = 5317, | | |
| 956 | MissKHR = 5317, | 1688 | MissKHR = 5317, |
| 957 | CallableNV = 5318, | | |
| 958 | CallableKHR = 5318, | 1689 | CallableKHR = 5318, |
| 959 | _, | 1690 | |
| | 1691 | pub const RayGenerationNV = ExecutionModel.RayGenerationKHR; |
| | 1692 | pub const IntersectionNV = ExecutionModel.IntersectionKHR; |
| | 1693 | pub const AnyHitNV = ExecutionModel.AnyHitKHR; |
| | 1694 | pub const ClosestHitNV = ExecutionModel.ClosestHitKHR; |
| | 1695 | pub const MissNV = ExecutionModel.MissKHR; |
| | 1696 | pub const CallableNV = ExecutionModel.CallableKHR; |
| 960 | }; | 1697 | }; |
| 961 | pub const AddressingModel = enum(u32) { | 1698 | pub const AddressingModel = enum(u32) { |
| 962 | Logical = 0, | 1699 | Logical = 0, |
| 963 | Physical32 = 1, | 1700 | Physical32 = 1, |
| 964 | Physical64 = 2, | 1701 | Physical64 = 2, |
| 965 | PhysicalStorageBuffer64 = 5348, | 1702 | PhysicalStorageBuffer64 = 5348, |
| 966 | _, | 1703 | |
| | 1704 | pub const PhysicalStorageBuffer64EXT = AddressingModel.PhysicalStorageBuffer64; |
| 967 | }; | 1705 | }; |
| 968 | pub const MemoryModel = enum(u32) { | 1706 | pub const MemoryModel = enum(u32) { |
| 969 | Simple = 0, | 1707 | Simple = 0, |
| 970 | GLSL450 = 1, | 1708 | GLSL450 = 1, |
| 971 | OpenCL = 2, | 1709 | OpenCL = 2, |
| 972 | Vulkan = 3, | 1710 | Vulkan = 3, |
| 973 | _, | 1711 | |
| | 1712 | pub const VulkanKHR = MemoryModel.Vulkan; |
| 974 | }; | 1713 | }; |
| 975 | pub const ExecutionMode = enum(u32) { | 1714 | pub const ExecutionMode = enum(u32) { |
| 976 | Invocations = 0, | 1715 | Invocations = 0, |
| ... | @@ -1039,7 +1778,75 @@ pub const ExecutionMode = enum(u32) { | ... | @@ -1039,7 +1778,75 @@ pub const ExecutionMode = enum(u32) { |
| 1039 | NoGlobalOffsetINTEL = 5895, | 1778 | NoGlobalOffsetINTEL = 5895, |
| 1040 | NumSIMDWorkitemsINTEL = 5896, | 1779 | NumSIMDWorkitemsINTEL = 5896, |
| 1041 | SchedulerTargetFmaxMhzINTEL = 5903, | 1780 | SchedulerTargetFmaxMhzINTEL = 5903, |
| 1042 | _, | 1781 | |
| | 1782 | pub const Extended = union(ExecutionMode) { |
| | 1783 | Invocations: struct { literal_integer: LiteralInteger }, |
| | 1784 | SpacingEqual, |
| | 1785 | SpacingFractionalEven, |
| | 1786 | SpacingFractionalOdd, |
| | 1787 | VertexOrderCw, |
| | 1788 | VertexOrderCcw, |
| | 1789 | PixelCenterInteger, |
| | 1790 | OriginUpperLeft, |
| | 1791 | OriginLowerLeft, |
| | 1792 | EarlyFragmentTests, |
| | 1793 | PointMode, |
| | 1794 | Xfb, |
| | 1795 | DepthReplacing, |
| | 1796 | DepthGreater, |
| | 1797 | DepthLess, |
| | 1798 | DepthUnchanged, |
| | 1799 | LocalSize: struct { x_size: LiteralInteger, y_size: LiteralInteger, z_size: LiteralInteger }, |
| | 1800 | LocalSizeHint: struct { x_size: LiteralInteger, y_size: LiteralInteger, z_size: LiteralInteger }, |
| | 1801 | InputPoints, |
| | 1802 | InputLines, |
| | 1803 | InputLinesAdjacency, |
| | 1804 | Triangles, |
| | 1805 | InputTrianglesAdjacency, |
| | 1806 | Quads, |
| | 1807 | Isolines, |
| | 1808 | OutputVertices: struct { vertex_count: LiteralInteger }, |
| | 1809 | OutputPoints, |
| | 1810 | OutputLineStrip, |
| | 1811 | OutputTriangleStrip, |
| | 1812 | VecTypeHint: struct { vector_type: LiteralInteger }, |
| | 1813 | ContractionOff, |
| | 1814 | Initializer, |
| | 1815 | Finalizer, |
| | 1816 | SubgroupSize: struct { subgroup_size: LiteralInteger }, |
| | 1817 | SubgroupsPerWorkgroup: struct { subgroups_per_workgroup: LiteralInteger }, |
| | 1818 | SubgroupsPerWorkgroupId: struct { subgroups_per_workgroup: IdRef }, |
| | 1819 | LocalSizeId: struct { x_size: IdRef, y_size: IdRef, z_size: IdRef }, |
| | 1820 | LocalSizeHintId: struct { local_size_hint: IdRef }, |
| | 1821 | PostDepthCoverage, |
| | 1822 | DenormPreserve: struct { target_width: LiteralInteger }, |
| | 1823 | DenormFlushToZero: struct { target_width: LiteralInteger }, |
| | 1824 | SignedZeroInfNanPreserve: struct { target_width: LiteralInteger }, |
| | 1825 | RoundingModeRTE: struct { target_width: LiteralInteger }, |
| | 1826 | RoundingModeRTZ: struct { target_width: LiteralInteger }, |
| | 1827 | StencilRefReplacingEXT, |
| | 1828 | OutputLinesNV, |
| | 1829 | OutputPrimitivesNV: struct { primitive_count: LiteralInteger }, |
| | 1830 | DerivativeGroupQuadsNV, |
| | 1831 | DerivativeGroupLinearNV, |
| | 1832 | OutputTrianglesNV, |
| | 1833 | PixelInterlockOrderedEXT, |
| | 1834 | PixelInterlockUnorderedEXT, |
| | 1835 | SampleInterlockOrderedEXT, |
| | 1836 | SampleInterlockUnorderedEXT, |
| | 1837 | ShadingRateInterlockOrderedEXT, |
| | 1838 | ShadingRateInterlockUnorderedEXT, |
| | 1839 | SharedLocalMemorySizeINTEL: struct { size: LiteralInteger }, |
| | 1840 | RoundingModeRTPINTEL: struct { target_width: LiteralInteger }, |
| | 1841 | RoundingModeRTNINTEL: struct { target_width: LiteralInteger }, |
| | 1842 | FloatingPointModeALTINTEL: struct { target_width: LiteralInteger }, |
| | 1843 | FloatingPointModeIEEEINTEL: struct { target_width: LiteralInteger }, |
| | 1844 | MaxWorkgroupSizeINTEL: struct { literal_integer_0: LiteralInteger, literal_integer_1: LiteralInteger, literal_integer_2: LiteralInteger }, |
| | 1845 | MaxWorkDimINTEL: struct { literal_integer: LiteralInteger }, |
| | 1846 | NoGlobalOffsetINTEL, |
| | 1847 | NumSIMDWorkitemsINTEL: struct { literal_integer: LiteralInteger }, |
| | 1848 | SchedulerTargetFmaxMhzINTEL: struct { literal_integer: LiteralInteger }, |
| | 1849 | }; |
| 1043 | }; | 1850 | }; |
| 1044 | pub const StorageClass = enum(u32) { | 1851 | pub const StorageClass = enum(u32) { |
| 1045 | UniformConstant = 0, | 1852 | UniformConstant = 0, |
| ... | @@ -1065,7 +1872,14 @@ pub const StorageClass = enum(u32) { | ... | @@ -1065,7 +1872,14 @@ pub const StorageClass = enum(u32) { |
| 1065 | CodeSectionINTEL = 5605, | 1872 | CodeSectionINTEL = 5605, |
| 1066 | DeviceOnlyINTEL = 5936, | 1873 | DeviceOnlyINTEL = 5936, |
| 1067 | HostOnlyINTEL = 5937, | 1874 | HostOnlyINTEL = 5937, |
| 1068 | _, | 1875 | |
| | 1876 | pub const CallableDataNV = StorageClass.CallableDataKHR; |
| | 1877 | pub const IncomingCallableDataNV = StorageClass.IncomingCallableDataKHR; |
| | 1878 | pub const RayPayloadNV = StorageClass.RayPayloadKHR; |
| | 1879 | pub const HitAttributeNV = StorageClass.HitAttributeKHR; |
| | 1880 | pub const IncomingRayPayloadNV = StorageClass.IncomingRayPayloadKHR; |
| | 1881 | pub const ShaderRecordBufferNV = StorageClass.ShaderRecordBufferKHR; |
| | 1882 | pub const PhysicalStorageBufferEXT = StorageClass.PhysicalStorageBuffer; |
| 1069 | }; | 1883 | }; |
| 1070 | pub const Dim = enum(u32) { | 1884 | pub const Dim = enum(u32) { |
| 1071 | @"1D" = 0, | 1885 | @"1D" = 0, |
| ... | @@ -1075,7 +1889,6 @@ pub const Dim = enum(u32) { | ... | @@ -1075,7 +1889,6 @@ pub const Dim = enum(u32) { |
| 1075 | Rect = 4, | 1889 | Rect = 4, |
| 1076 | Buffer = 5, | 1890 | Buffer = 5, |
| 1077 | SubpassData = 6, | 1891 | SubpassData = 6, |
| 1078 | _, | | |
| 1079 | }; | 1892 | }; |
| 1080 | pub const SamplerAddressingMode = enum(u32) { | 1893 | pub const SamplerAddressingMode = enum(u32) { |
| 1081 | None = 0, | 1894 | None = 0, |
| ... | @@ -1083,12 +1896,10 @@ pub const SamplerAddressingMode = enum(u32) { | ... | @@ -1083,12 +1896,10 @@ pub const SamplerAddressingMode = enum(u32) { |
| 1083 | Clamp = 2, | 1896 | Clamp = 2, |
| 1084 | Repeat = 3, | 1897 | Repeat = 3, |
| 1085 | RepeatMirrored = 4, | 1898 | RepeatMirrored = 4, |
| 1086 | _, | | |
| 1087 | }; | 1899 | }; |
| 1088 | pub const SamplerFilterMode = enum(u32) { | 1900 | pub const SamplerFilterMode = enum(u32) { |
| 1089 | Nearest = 0, | 1901 | Nearest = 0, |
| 1090 | Linear = 1, | 1902 | Linear = 1, |
| 1091 | _, | | |
| 1092 | }; | 1903 | }; |
| 1093 | pub const ImageFormat = enum(u32) { | 1904 | pub const ImageFormat = enum(u32) { |
| 1094 | Unknown = 0, | 1905 | Unknown = 0, |
| ... | @@ -1133,7 +1944,6 @@ pub const ImageFormat = enum(u32) { | ... | @@ -1133,7 +1944,6 @@ pub const ImageFormat = enum(u32) { |
| 1133 | R8ui = 39, | 1944 | R8ui = 39, |
| 1134 | R64ui = 40, | 1945 | R64ui = 40, |
| 1135 | R64i = 41, | 1946 | R64i = 41, |
| 1136 | _, | | |
| 1137 | }; | 1947 | }; |
| 1138 | pub const ImageChannelOrder = enum(u32) { | 1948 | pub const ImageChannelOrder = enum(u32) { |
| 1139 | R = 0, | 1949 | R = 0, |
| ... | @@ -1156,7 +1966,6 @@ pub const ImageChannelOrder = enum(u32) { | ... | @@ -1156,7 +1966,6 @@ pub const ImageChannelOrder = enum(u32) { |
| 1156 | sRGBA = 17, | 1966 | sRGBA = 17, |
| 1157 | sBGRA = 18, | 1967 | sBGRA = 18, |
| 1158 | ABGR = 19, | 1968 | ABGR = 19, |
| 1159 | _, | | |
| 1160 | }; | 1969 | }; |
| 1161 | pub const ImageChannelDataType = enum(u32) { | 1970 | pub const ImageChannelDataType = enum(u32) { |
| 1162 | SnormInt8 = 0, | 1971 | SnormInt8 = 0, |
| ... | @@ -1176,36 +1985,30 @@ pub const ImageChannelDataType = enum(u32) { | ... | @@ -1176,36 +1985,30 @@ pub const ImageChannelDataType = enum(u32) { |
| 1176 | Float = 14, | 1985 | Float = 14, |
| 1177 | UnormInt24 = 15, | 1986 | UnormInt24 = 15, |
| 1178 | UnormInt101010_2 = 16, | 1987 | UnormInt101010_2 = 16, |
| 1179 | _, | | |
| 1180 | }; | 1988 | }; |
| 1181 | pub const FPRoundingMode = enum(u32) { | 1989 | pub const FPRoundingMode = enum(u32) { |
| 1182 | RTE = 0, | 1990 | RTE = 0, |
| 1183 | RTZ = 1, | 1991 | RTZ = 1, |
| 1184 | RTP = 2, | 1992 | RTP = 2, |
| 1185 | RTN = 3, | 1993 | RTN = 3, |
| 1186 | _, | | |
| 1187 | }; | 1994 | }; |
| 1188 | pub const FPDenormMode = enum(u32) { | 1995 | pub const FPDenormMode = enum(u32) { |
| 1189 | Preserve = 0, | 1996 | Preserve = 0, |
| 1190 | FlushToZero = 1, | 1997 | FlushToZero = 1, |
| 1191 | _, | | |
| 1192 | }; | 1998 | }; |
| 1193 | pub const FPOperationMode = enum(u32) { | 1999 | pub const FPOperationMode = enum(u32) { |
| 1194 | IEEE = 0, | 2000 | IEEE = 0, |
| 1195 | ALT = 1, | 2001 | ALT = 1, |
| 1196 | _, | | |
| 1197 | }; | 2002 | }; |
| 1198 | pub const LinkageType = enum(u32) { | 2003 | pub const LinkageType = enum(u32) { |
| 1199 | Export = 0, | 2004 | Export = 0, |
| 1200 | Import = 1, | 2005 | Import = 1, |
| 1201 | LinkOnceODR = 2, | 2006 | LinkOnceODR = 2, |
| 1202 | _, | | |
| 1203 | }; | 2007 | }; |
| 1204 | pub const AccessQualifier = enum(u32) { | 2008 | pub const AccessQualifier = enum(u32) { |
| 1205 | ReadOnly = 0, | 2009 | ReadOnly = 0, |
| 1206 | WriteOnly = 1, | 2010 | WriteOnly = 1, |
| 1207 | ReadWrite = 2, | 2011 | ReadWrite = 2, |
| 1208 | _, | | |
| 1209 | }; | 2012 | }; |
| 1210 | pub const FunctionParameterAttribute = enum(u32) { | 2013 | pub const FunctionParameterAttribute = enum(u32) { |
| 1211 | Zext = 0, | 2014 | Zext = 0, |
| ... | @@ -1216,7 +2019,6 @@ pub const FunctionParameterAttribute = enum(u32) { | ... | @@ -1216,7 +2019,6 @@ pub const FunctionParameterAttribute = enum(u32) { |
| 1216 | NoCapture = 5, | 2019 | NoCapture = 5, |
| 1217 | NoWrite = 6, | 2020 | NoWrite = 6, |
| 1218 | NoReadWrite = 7, | 2021 | NoReadWrite = 7, |
| 1219 | _, | | |
| 1220 | }; | 2022 | }; |
| 1221 | pub const Decoration = enum(u32) { | 2023 | pub const Decoration = enum(u32) { |
| 1222 | RelaxedPrecision = 0, | 2024 | RelaxedPrecision = 0, |
| ... | @@ -1278,11 +2080,8 @@ pub const Decoration = enum(u32) { | ... | @@ -1278,11 +2080,8 @@ pub const Decoration = enum(u32) { |
| 1278 | PerTaskNV = 5273, | 2080 | PerTaskNV = 5273, |
| 1279 | PerVertexNV = 5285, | 2081 | PerVertexNV = 5285, |
| 1280 | NonUniform = 5300, | 2082 | NonUniform = 5300, |
| 1281 | NonUniformEXT = 5300, | | |
| 1282 | RestrictPointer = 5355, | 2083 | RestrictPointer = 5355, |
| 1283 | RestrictPointerEXT = 5355, | | |
| 1284 | AliasedPointer = 5356, | 2084 | AliasedPointer = 5356, |
| 1285 | AliasedPointerEXT = 5356, | | |
| 1286 | SIMTCallINTEL = 5599, | 2085 | SIMTCallINTEL = 5599, |
| 1287 | ReferencedIndirectlyINTEL = 5602, | 2086 | ReferencedIndirectlyINTEL = 5602, |
| 1288 | ClobberINTEL = 5607, | 2087 | ClobberINTEL = 5607, |
| ... | @@ -1293,9 +2092,7 @@ pub const Decoration = enum(u32) { | ... | @@ -1293,9 +2092,7 @@ pub const Decoration = enum(u32) { |
| 1293 | StackCallINTEL = 5627, | 2092 | StackCallINTEL = 5627, |
| 1294 | GlobalVariableOffsetINTEL = 5628, | 2093 | GlobalVariableOffsetINTEL = 5628, |
| 1295 | CounterBuffer = 5634, | 2094 | CounterBuffer = 5634, |
| 1296 | HlslCounterBufferGOOGLE = 5634, | | |
| 1297 | UserSemantic = 5635, | 2095 | UserSemantic = 5635, |
| 1298 | HlslSemanticGOOGLE = 5635, | | |
| 1299 | UserTypeGOOGLE = 5636, | 2096 | UserTypeGOOGLE = 5636, |
| 1300 | FunctionRoundingModeINTEL = 5822, | 2097 | FunctionRoundingModeINTEL = 5822, |
| 1301 | FunctionDenormModeINTEL = 5823, | 2098 | FunctionDenormModeINTEL = 5823, |
| ... | @@ -1322,7 +2119,113 @@ pub const Decoration = enum(u32) { | ... | @@ -1322,7 +2119,113 @@ pub const Decoration = enum(u32) { |
| 1322 | FunctionFloatingPointModeINTEL = 6080, | 2119 | FunctionFloatingPointModeINTEL = 6080, |
| 1323 | SingleElementVectorINTEL = 6085, | 2120 | SingleElementVectorINTEL = 6085, |
| 1324 | VectorComputeCallableFunctionINTEL = 6087, | 2121 | VectorComputeCallableFunctionINTEL = 6087, |
| 1325 | _, | 2122 | |
| | 2123 | pub const NonUniformEXT = Decoration.NonUniform; |
| | 2124 | pub const RestrictPointerEXT = Decoration.RestrictPointer; |
| | 2125 | pub const AliasedPointerEXT = Decoration.AliasedPointer; |
| | 2126 | pub const HlslCounterBufferGOOGLE = Decoration.CounterBuffer; |
| | 2127 | pub const HlslSemanticGOOGLE = Decoration.UserSemantic; |
| | 2128 | |
| | 2129 | pub const Extended = union(Decoration) { |
| | 2130 | RelaxedPrecision, |
| | 2131 | SpecId: struct { specialization_constant_id: LiteralInteger }, |
| | 2132 | Block, |
| | 2133 | BufferBlock, |
| | 2134 | RowMajor, |
| | 2135 | ColMajor, |
| | 2136 | ArrayStride: struct { array_stride: LiteralInteger }, |
| | 2137 | MatrixStride: struct { matrix_stride: LiteralInteger }, |
| | 2138 | GLSLShared, |
| | 2139 | GLSLPacked, |
| | 2140 | CPacked, |
| | 2141 | BuiltIn: struct { built_in: BuiltIn }, |
| | 2142 | NoPerspective, |
| | 2143 | Flat, |
| | 2144 | Patch, |
| | 2145 | Centroid, |
| | 2146 | Sample, |
| | 2147 | Invariant, |
| | 2148 | Restrict, |
| | 2149 | Aliased, |
| | 2150 | Volatile, |
| | 2151 | Constant, |
| | 2152 | Coherent, |
| | 2153 | NonWritable, |
| | 2154 | NonReadable, |
| | 2155 | Uniform, |
| | 2156 | UniformId: struct { execution: IdScope }, |
| | 2157 | SaturatedConversion, |
| | 2158 | Stream: struct { stream_number: LiteralInteger }, |
| | 2159 | Location: struct { location: LiteralInteger }, |
| | 2160 | Component: struct { component: LiteralInteger }, |
| | 2161 | Index: struct { index: LiteralInteger }, |
| | 2162 | Binding: struct { binding_point: LiteralInteger }, |
| | 2163 | DescriptorSet: struct { descriptor_set: LiteralInteger }, |
| | 2164 | Offset: struct { byte_offset: LiteralInteger }, |
| | 2165 | XfbBuffer: struct { xfb_buffer_number: LiteralInteger }, |
| | 2166 | XfbStride: struct { xfb_stride: LiteralInteger }, |
| | 2167 | FuncParamAttr: struct { function_parameter_attribute: FunctionParameterAttribute }, |
| | 2168 | FPRoundingMode: struct { fprounding_mode: FPRoundingMode }, |
| | 2169 | FPFastMathMode: struct { fpfast_math_mode: FPFastMathMode }, |
| | 2170 | LinkageAttributes: struct { name: LiteralString, linkage_type: LinkageType }, |
| | 2171 | NoContraction, |
| | 2172 | InputAttachmentIndex: struct { attachment_index: LiteralInteger }, |
| | 2173 | Alignment: struct { alignment: LiteralInteger }, |
| | 2174 | MaxByteOffset: struct { max_byte_offset: LiteralInteger }, |
| | 2175 | AlignmentId: struct { alignment: IdRef }, |
| | 2176 | MaxByteOffsetId: struct { max_byte_offset: IdRef }, |
| | 2177 | NoSignedWrap, |
| | 2178 | NoUnsignedWrap, |
| | 2179 | ExplicitInterpAMD, |
| | 2180 | OverrideCoverageNV, |
| | 2181 | PassthroughNV, |
| | 2182 | ViewportRelativeNV, |
| | 2183 | SecondaryViewportRelativeNV: struct { offset: LiteralInteger }, |
| | 2184 | PerPrimitiveNV, |
| | 2185 | PerViewNV, |
| | 2186 | PerTaskNV, |
| | 2187 | PerVertexNV, |
| | 2188 | NonUniform, |
| | 2189 | RestrictPointer, |
| | 2190 | AliasedPointer, |
| | 2191 | SIMTCallINTEL: struct { n: LiteralInteger }, |
| | 2192 | ReferencedIndirectlyINTEL, |
| | 2193 | ClobberINTEL: struct { register: LiteralString }, |
| | 2194 | SideEffectsINTEL, |
| | 2195 | VectorComputeVariableINTEL, |
| | 2196 | FuncParamIOKindINTEL: struct { kind: LiteralInteger }, |
| | 2197 | VectorComputeFunctionINTEL, |
| | 2198 | StackCallINTEL, |
| | 2199 | GlobalVariableOffsetINTEL: struct { offset: LiteralInteger }, |
| | 2200 | CounterBuffer: struct { counter_buffer: IdRef }, |
| | 2201 | UserSemantic: struct { semantic: LiteralString }, |
| | 2202 | UserTypeGOOGLE: struct { user_type: LiteralString }, |
| | 2203 | FunctionRoundingModeINTEL: struct { target_width: LiteralInteger, fp_rounding_mode: FPRoundingMode }, |
| | 2204 | FunctionDenormModeINTEL: struct { target_width: LiteralInteger, fp_denorm_mode: FPDenormMode }, |
| | 2205 | RegisterINTEL, |
| | 2206 | MemoryINTEL: struct { memory_type: LiteralString }, |
| | 2207 | NumbanksINTEL: struct { banks: LiteralInteger }, |
| | 2208 | BankwidthINTEL: struct { bank_width: LiteralInteger }, |
| | 2209 | MaxPrivateCopiesINTEL: struct { maximum_copies: LiteralInteger }, |
| | 2210 | SinglepumpINTEL, |
| | 2211 | DoublepumpINTEL, |
| | 2212 | MaxReplicatesINTEL: struct { maximum_replicates: LiteralInteger }, |
| | 2213 | SimpleDualPortINTEL, |
| | 2214 | MergeINTEL: struct { merge_key: LiteralString, merge_type: LiteralString }, |
| | 2215 | BankBitsINTEL: struct { bank_bits: []const LiteralInteger = &.{} }, |
| | 2216 | ForcePow2DepthINTEL: struct { force_key: LiteralInteger }, |
| | 2217 | BurstCoalesceINTEL, |
| | 2218 | CacheSizeINTEL: struct { cache_size_in_bytes: LiteralInteger }, |
| | 2219 | DontStaticallyCoalesceINTEL, |
| | 2220 | PrefetchINTEL: struct { prefetcher_size_in_bytes: LiteralInteger }, |
| | 2221 | StallEnableINTEL, |
| | 2222 | FuseLoopsInFunctionINTEL, |
| | 2223 | BufferLocationINTEL: struct { buffer_location_id: LiteralInteger }, |
| | 2224 | IOPipeStorageINTEL: struct { io_pipe_id: LiteralInteger }, |
| | 2225 | FunctionFloatingPointModeINTEL: struct { target_width: LiteralInteger, fp_operation_mode: FPOperationMode }, |
| | 2226 | SingleElementVectorINTEL, |
| | 2227 | VectorComputeCallableFunctionINTEL, |
| | 2228 | }; |
| 1326 | }; | 2229 | }; |
| 1327 | pub const BuiltIn = enum(u32) { | 2230 | pub const BuiltIn = enum(u32) { |
| 1328 | Position = 0, | 2231 | Position = 0, |
| ... | @@ -1367,15 +2270,10 @@ pub const BuiltIn = enum(u32) { | ... | @@ -1367,15 +2270,10 @@ pub const BuiltIn = enum(u32) { |
| 1367 | VertexIndex = 42, | 2270 | VertexIndex = 42, |
| 1368 | InstanceIndex = 43, | 2271 | InstanceIndex = 43, |
| 1369 | SubgroupEqMask = 4416, | 2272 | SubgroupEqMask = 4416, |
| 1370 | SubgroupEqMaskKHR = 4416, | | |
| 1371 | SubgroupGeMask = 4417, | 2273 | SubgroupGeMask = 4417, |
| 1372 | SubgroupGeMaskKHR = 4417, | | |
| 1373 | SubgroupGtMask = 4418, | 2274 | SubgroupGtMask = 4418, |
| 1374 | SubgroupGtMaskKHR = 4418, | | |
| 1375 | SubgroupLeMask = 4419, | 2275 | SubgroupLeMask = 4419, |
| 1376 | SubgroupLeMaskKHR = 4419, | | |
| 1377 | SubgroupLtMask = 4420, | 2276 | SubgroupLtMask = 4420, |
| 1378 | SubgroupLtMaskKHR = 4420, | | |
| 1379 | BaseVertex = 4424, | 2277 | BaseVertex = 4424, |
| 1380 | BaseInstance = 4425, | 2278 | BaseInstance = 4425, |
| 1381 | DrawIndex = 4426, | 2279 | DrawIndex = 4426, |
| ... | @@ -1408,42 +2306,47 @@ pub const BuiltIn = enum(u32) { | ... | @@ -1408,42 +2306,47 @@ pub const BuiltIn = enum(u32) { |
| 1408 | BaryCoordNV = 5286, | 2306 | BaryCoordNV = 5286, |
| 1409 | BaryCoordNoPerspNV = 5287, | 2307 | BaryCoordNoPerspNV = 5287, |
| 1410 | FragSizeEXT = 5292, | 2308 | FragSizeEXT = 5292, |
| 1411 | FragmentSizeNV = 5292, | | |
| 1412 | FragInvocationCountEXT = 5293, | 2309 | FragInvocationCountEXT = 5293, |
| 1413 | InvocationsPerPixelNV = 5293, | | |
| 1414 | LaunchIdNV = 5319, | | |
| 1415 | LaunchIdKHR = 5319, | 2310 | LaunchIdKHR = 5319, |
| 1416 | LaunchSizeNV = 5320, | | |
| 1417 | LaunchSizeKHR = 5320, | 2311 | LaunchSizeKHR = 5320, |
| 1418 | WorldRayOriginNV = 5321, | | |
| 1419 | WorldRayOriginKHR = 5321, | 2312 | WorldRayOriginKHR = 5321, |
| 1420 | WorldRayDirectionNV = 5322, | | |
| 1421 | WorldRayDirectionKHR = 5322, | 2313 | WorldRayDirectionKHR = 5322, |
| 1422 | ObjectRayOriginNV = 5323, | | |
| 1423 | ObjectRayOriginKHR = 5323, | 2314 | ObjectRayOriginKHR = 5323, |
| 1424 | ObjectRayDirectionNV = 5324, | | |
| 1425 | ObjectRayDirectionKHR = 5324, | 2315 | ObjectRayDirectionKHR = 5324, |
| 1426 | RayTminNV = 5325, | | |
| 1427 | RayTminKHR = 5325, | 2316 | RayTminKHR = 5325, |
| 1428 | RayTmaxNV = 5326, | | |
| 1429 | RayTmaxKHR = 5326, | 2317 | RayTmaxKHR = 5326, |
| 1430 | InstanceCustomIndexNV = 5327, | | |
| 1431 | InstanceCustomIndexKHR = 5327, | 2318 | InstanceCustomIndexKHR = 5327, |
| 1432 | ObjectToWorldNV = 5330, | | |
| 1433 | ObjectToWorldKHR = 5330, | 2319 | ObjectToWorldKHR = 5330, |
| 1434 | WorldToObjectNV = 5331, | | |
| 1435 | WorldToObjectKHR = 5331, | 2320 | WorldToObjectKHR = 5331, |
| 1436 | HitTNV = 5332, | 2321 | HitTNV = 5332, |
| 1437 | HitKindNV = 5333, | | |
| 1438 | HitKindKHR = 5333, | 2322 | HitKindKHR = 5333, |
| 1439 | IncomingRayFlagsNV = 5351, | | |
| 1440 | IncomingRayFlagsKHR = 5351, | 2323 | IncomingRayFlagsKHR = 5351, |
| 1441 | RayGeometryIndexKHR = 5352, | 2324 | RayGeometryIndexKHR = 5352, |
| 1442 | WarpsPerSMNV = 5374, | 2325 | WarpsPerSMNV = 5374, |
| 1443 | SMCountNV = 5375, | 2326 | SMCountNV = 5375, |
| 1444 | WarpIDNV = 5376, | 2327 | WarpIDNV = 5376, |
| 1445 | SMIDNV = 5377, | 2328 | SMIDNV = 5377, |
| 1446 | _, | 2329 | |
| | 2330 | pub const SubgroupEqMaskKHR = BuiltIn.SubgroupEqMask; |
| | 2331 | pub const SubgroupGeMaskKHR = BuiltIn.SubgroupGeMask; |
| | 2332 | pub const SubgroupGtMaskKHR = BuiltIn.SubgroupGtMask; |
| | 2333 | pub const SubgroupLeMaskKHR = BuiltIn.SubgroupLeMask; |
| | 2334 | pub const SubgroupLtMaskKHR = BuiltIn.SubgroupLtMask; |
| | 2335 | pub const FragmentSizeNV = BuiltIn.FragSizeEXT; |
| | 2336 | pub const InvocationsPerPixelNV = BuiltIn.FragInvocationCountEXT; |
| | 2337 | pub const LaunchIdNV = BuiltIn.LaunchIdKHR; |
| | 2338 | pub const LaunchSizeNV = BuiltIn.LaunchSizeKHR; |
| | 2339 | pub const WorldRayOriginNV = BuiltIn.WorldRayOriginKHR; |
| | 2340 | pub const WorldRayDirectionNV = BuiltIn.WorldRayDirectionKHR; |
| | 2341 | pub const ObjectRayOriginNV = BuiltIn.ObjectRayOriginKHR; |
| | 2342 | pub const ObjectRayDirectionNV = BuiltIn.ObjectRayDirectionKHR; |
| | 2343 | pub const RayTminNV = BuiltIn.RayTminKHR; |
| | 2344 | pub const RayTmaxNV = BuiltIn.RayTmaxKHR; |
| | 2345 | pub const InstanceCustomIndexNV = BuiltIn.InstanceCustomIndexKHR; |
| | 2346 | pub const ObjectToWorldNV = BuiltIn.ObjectToWorldKHR; |
| | 2347 | pub const WorldToObjectNV = BuiltIn.WorldToObjectKHR; |
| | 2348 | pub const HitKindNV = BuiltIn.HitKindKHR; |
| | 2349 | pub const IncomingRayFlagsNV = BuiltIn.IncomingRayFlagsKHR; |
| 1447 | }; | 2350 | }; |
| 1448 | pub const Scope = enum(u32) { | 2351 | pub const Scope = enum(u32) { |
| 1449 | CrossDevice = 0, | 2352 | CrossDevice = 0, |
| ... | @@ -1452,9 +2355,9 @@ pub const Scope = enum(u32) { | ... | @@ -1452,9 +2355,9 @@ pub const Scope = enum(u32) { |
| 1452 | Subgroup = 3, | 2355 | Subgroup = 3, |
| 1453 | Invocation = 4, | 2356 | Invocation = 4, |
| 1454 | QueueFamily = 5, | 2357 | QueueFamily = 5, |
| 1455 | QueueFamilyKHR = 5, | | |
| 1456 | ShaderCallKHR = 6, | 2358 | ShaderCallKHR = 6, |
| 1457 | _, | 2359 | |
| | 2360 | pub const QueueFamilyKHR = Scope.QueueFamily; |
| 1458 | }; | 2361 | }; |
| 1459 | pub const GroupOperation = enum(u32) { | 2362 | pub const GroupOperation = enum(u32) { |
| 1460 | Reduce = 0, | 2363 | Reduce = 0, |
| ... | @@ -1464,13 +2367,11 @@ pub const GroupOperation = enum(u32) { | ... | @@ -1464,13 +2367,11 @@ pub const GroupOperation = enum(u32) { |
| 1464 | PartitionedReduceNV = 6, | 2367 | PartitionedReduceNV = 6, |
| 1465 | PartitionedInclusiveScanNV = 7, | 2368 | PartitionedInclusiveScanNV = 7, |
| 1466 | PartitionedExclusiveScanNV = 8, | 2369 | PartitionedExclusiveScanNV = 8, |
| 1467 | _, | | |
| 1468 | }; | 2370 | }; |
| 1469 | pub const KernelEnqueueFlags = enum(u32) { | 2371 | pub const KernelEnqueueFlags = enum(u32) { |
| 1470 | NoWait = 0, | 2372 | NoWait = 0, |
| 1471 | WaitKernel = 1, | 2373 | WaitKernel = 1, |
| 1472 | WaitWorkGroup = 2, | 2374 | WaitWorkGroup = 2, |
| 1473 | _, | | |
| 1474 | }; | 2375 | }; |
| 1475 | pub const Capability = enum(u32) { | 2376 | pub const Capability = enum(u32) { |
| 1476 | Matrix = 0, | 2377 | Matrix = 0, |
| ... | @@ -1550,7 +2451,7 @@ pub const Capability = enum(u32) { | ... | @@ -1550,7 +2451,7 @@ pub const Capability = enum(u32) { |
| 1550 | WorkgroupMemoryExplicitLayout16BitAccessKHR = 4430, | 2451 | WorkgroupMemoryExplicitLayout16BitAccessKHR = 4430, |
| 1551 | SubgroupVoteKHR = 4431, | 2452 | SubgroupVoteKHR = 4431, |
| 1552 | StorageBuffer16BitAccess = 4433, | 2453 | StorageBuffer16BitAccess = 4433, |
| 1553 | StorageUniform16 = 4434, | 2454 | UniformAndStorageBuffer16BitAccess = 4434, |
| 1554 | StoragePushConstant16 = 4435, | 2455 | StoragePushConstant16 = 4435, |
| 1555 | StorageInputOutput16 = 4436, | 2456 | StorageInputOutput16 = 4436, |
| 1556 | DeviceGroup = 4437, | 2457 | DeviceGroup = 4437, |
| ... | @@ -1580,7 +2481,7 @@ pub const Capability = enum(u32) { | ... | @@ -1580,7 +2481,7 @@ pub const Capability = enum(u32) { |
| 1580 | ShaderClockKHR = 5055, | 2481 | ShaderClockKHR = 5055, |
| 1581 | SampleMaskOverrideCoverageNV = 5249, | 2482 | SampleMaskOverrideCoverageNV = 5249, |
| 1582 | GeometryShaderPassthroughNV = 5251, | 2483 | GeometryShaderPassthroughNV = 5251, |
| 1583 | ShaderViewportIndexLayerNV = 5254, | 2484 | ShaderViewportIndexLayerEXT = 5254, |
| 1584 | ShaderViewportMaskNV = 5255, | 2485 | ShaderViewportMaskNV = 5255, |
| 1585 | ShaderStereoViewNV = 5259, | 2486 | ShaderStereoViewNV = 5259, |
| 1586 | PerViewAttributesNV = 5260, | 2487 | PerViewAttributesNV = 5260, |
| ... | @@ -1589,7 +2490,7 @@ pub const Capability = enum(u32) { | ... | @@ -1589,7 +2490,7 @@ pub const Capability = enum(u32) { |
| 1589 | ImageFootprintNV = 5282, | 2490 | ImageFootprintNV = 5282, |
| 1590 | FragmentBarycentricNV = 5284, | 2491 | FragmentBarycentricNV = 5284, |
| 1591 | ComputeDerivativeGroupQuadsNV = 5288, | 2492 | ComputeDerivativeGroupQuadsNV = 5288, |
| 1592 | ShadingRateNV = 5291, | 2493 | FragmentDensityEXT = 5291, |
| 1593 | GroupNonUniformPartitionedNV = 5297, | 2494 | GroupNonUniformPartitionedNV = 5297, |
| 1594 | ShaderNonUniform = 5301, | 2495 | ShaderNonUniform = 5301, |
| 1595 | RuntimeDescriptorArray = 5302, | 2496 | RuntimeDescriptorArray = 5302, |
| ... | @@ -1654,21 +2555,37 @@ pub const Capability = enum(u32) { | ... | @@ -1654,21 +2555,37 @@ pub const Capability = enum(u32) { |
| 1654 | AtomicFloat32AddEXT = 6033, | 2555 | AtomicFloat32AddEXT = 6033, |
| 1655 | AtomicFloat64AddEXT = 6034, | 2556 | AtomicFloat64AddEXT = 6034, |
| 1656 | LongConstantCompositeINTEL = 6089, | 2557 | LongConstantCompositeINTEL = 6089, |
| 1657 | _, | 2558 | |
| | 2559 | pub const StorageUniformBufferBlock16 = Capability.StorageBuffer16BitAccess; |
| | 2560 | pub const StorageUniform16 = Capability.UniformAndStorageBuffer16BitAccess; |
| | 2561 | pub const ShaderViewportIndexLayerNV = Capability.ShaderViewportIndexLayerEXT; |
| | 2562 | pub const ShadingRateNV = Capability.FragmentDensityEXT; |
| | 2563 | pub const ShaderNonUniformEXT = Capability.ShaderNonUniform; |
| | 2564 | pub const RuntimeDescriptorArrayEXT = Capability.RuntimeDescriptorArray; |
| | 2565 | pub const InputAttachmentArrayDynamicIndexingEXT = Capability.InputAttachmentArrayDynamicIndexing; |
| | 2566 | pub const UniformTexelBufferArrayDynamicIndexingEXT = Capability.UniformTexelBufferArrayDynamicIndexing; |
| | 2567 | pub const StorageTexelBufferArrayDynamicIndexingEXT = Capability.StorageTexelBufferArrayDynamicIndexing; |
| | 2568 | pub const UniformBufferArrayNonUniformIndexingEXT = Capability.UniformBufferArrayNonUniformIndexing; |
| | 2569 | pub const SampledImageArrayNonUniformIndexingEXT = Capability.SampledImageArrayNonUniformIndexing; |
| | 2570 | pub const StorageBufferArrayNonUniformIndexingEXT = Capability.StorageBufferArrayNonUniformIndexing; |
| | 2571 | pub const StorageImageArrayNonUniformIndexingEXT = Capability.StorageImageArrayNonUniformIndexing; |
| | 2572 | pub const InputAttachmentArrayNonUniformIndexingEXT = Capability.InputAttachmentArrayNonUniformIndexing; |
| | 2573 | pub const UniformTexelBufferArrayNonUniformIndexingEXT = Capability.UniformTexelBufferArrayNonUniformIndexing; |
| | 2574 | pub const StorageTexelBufferArrayNonUniformIndexingEXT = Capability.StorageTexelBufferArrayNonUniformIndexing; |
| | 2575 | pub const VulkanMemoryModelKHR = Capability.VulkanMemoryModel; |
| | 2576 | pub const VulkanMemoryModelDeviceScopeKHR = Capability.VulkanMemoryModelDeviceScope; |
| | 2577 | pub const PhysicalStorageBufferAddressesEXT = Capability.PhysicalStorageBufferAddresses; |
| 1658 | }; | 2578 | }; |
| 1659 | pub const RayQueryIntersection = enum(u32) { | 2579 | pub const RayQueryIntersection = enum(u32) { |
| 1660 | RayQueryCandidateIntersectionKHR = 0, | 2580 | RayQueryCandidateIntersectionKHR = 0, |
| 1661 | RayQueryCommittedIntersectionKHR = 1, | 2581 | RayQueryCommittedIntersectionKHR = 1, |
| 1662 | _, | | |
| 1663 | }; | 2582 | }; |
| 1664 | pub const RayQueryCommittedIntersectionType = enum(u32) { | 2583 | pub const RayQueryCommittedIntersectionType = enum(u32) { |
| 1665 | RayQueryCommittedIntersectionNoneKHR = 0, | 2584 | RayQueryCommittedIntersectionNoneKHR = 0, |
| 1666 | RayQueryCommittedIntersectionTriangleKHR = 1, | 2585 | RayQueryCommittedIntersectionTriangleKHR = 1, |
| 1667 | RayQueryCommittedIntersectionGeneratedKHR = 2, | 2586 | RayQueryCommittedIntersectionGeneratedKHR = 2, |
| 1668 | _, | | |
| 1669 | }; | 2587 | }; |
| 1670 | pub const RayQueryCandidateIntersectionType = enum(u32) { | 2588 | pub const RayQueryCandidateIntersectionType = enum(u32) { |
| 1671 | RayQueryCandidateIntersectionTriangleKHR = 0, | 2589 | RayQueryCandidateIntersectionTriangleKHR = 0, |
| 1672 | RayQueryCandidateIntersectionAABBKHR = 1, | 2590 | RayQueryCandidateIntersectionAABBKHR = 1, |
| 1673 | _, | | |
| 1674 | }; | 2591 | }; |