diff options
Diffstat (limited to 'src/codegen/spirv/spec.zig')
| -rw-r--r-- | src/codegen/spirv/spec.zig | 18418 |
1 files changed, 0 insertions, 18418 deletions
diff --git a/src/codegen/spirv/spec.zig b/src/codegen/spirv/spec.zig deleted file mode 100644 index a2b18d4db0..0000000000 --- a/src/codegen/spirv/spec.zig +++ /dev/null @@ -1,18418 +0,0 @@ -//! This file is auto-generated by tools/gen_spirv_spec.zig. - -const std = @import("std"); - -pub const Version = packed struct(Word) { - padding: u8 = 0, - minor: u8, - major: u8, - padding0: u8 = 0, - - pub fn toWord(self: @This()) Word { - return @bitCast(self); - } -}; - -pub const Word = u32; -pub const Id = enum(Word) { - none, - _, - - pub fn format(self: Id, writer: *std.io.Writer) std.io.Writer.Error!void { - switch (self) { - .none => try writer.writeAll("(none)"), - else => try writer.print("%{d}", .{@intFromEnum(self)}), - } - } -}; - -pub const LiteralInteger = Word; -pub const LiteralFloat = Word; -pub const LiteralString = []const u8; -pub const LiteralContextDependentNumber = union(enum) { - int32: i32, - uint32: u32, - int64: i64, - uint64: u64, - float32: f32, - float64: f64, -}; -pub const LiteralExtInstInteger = struct { inst: Word }; -pub const LiteralSpecConstantOpInteger = struct { opcode: Opcode }; -pub const PairLiteralIntegerIdRef = struct { value: LiteralInteger, label: Id }; -pub const PairIdRefLiteralInteger = struct { target: Id, member: LiteralInteger }; -pub const PairIdRefIdRef = [2]Id; - -pub const Quantifier = enum { - required, - optional, - variadic, -}; - -pub const Operand = struct { - kind: OperandKind, - quantifier: Quantifier, -}; - -pub const OperandCategory = enum { - bit_enum, - value_enum, - id, - literal, - composite, -}; - -pub const Enumerant = struct { - name: []const u8, - value: Word, - parameters: []const OperandKind, -}; - -pub const Instruction = struct { - name: []const u8, - opcode: Word, - operands: []const Operand, -}; - -pub const zig_generator_id: Word = 41; -pub const version: Version = .{ .major = 1, .minor = 6, .patch = 4 }; -pub const magic_number: Word = 0x07230203; - -pub const Class = enum { - miscellaneous, - debug, - extension, - mode_setting, - type_declaration, - constant_creation, - function, - memory, - annotation, - composite, - image, - conversion, - arithmetic, - relational_and_logical, - bit, - derivative, - primitive, - barrier, - atomic, - control_flow, - group, - pipe, - device_side_enqueue, - non_uniform, - tensor, - graph, - reserved, -}; - -pub const OperandKind = enum { - opcode, - image_operands, - fp_fast_math_mode, - selection_control, - loop_control, - function_control, - memory_semantics, - memory_access, - kernel_profiling_info, - ray_flags, - fragment_shading_rate, - raw_access_chain_operands, - source_language, - execution_model, - addressing_model, - memory_model, - execution_mode, - storage_class, - dim, - sampler_addressing_mode, - sampler_filter_mode, - image_format, - image_channel_order, - image_channel_data_type, - fp_rounding_mode, - fp_denorm_mode, - quantization_modes, - fp_operation_mode, - overflow_modes, - linkage_type, - access_qualifier, - host_access_qualifier, - function_parameter_attribute, - decoration, - built_in, - scope, - group_operation, - kernel_enqueue_flags, - capability, - ray_query_intersection, - ray_query_committed_intersection_type, - ray_query_candidate_intersection_type, - packed_vector_format, - cooperative_matrix_operands, - cooperative_matrix_layout, - cooperative_matrix_use, - cooperative_matrix_reduce, - tensor_clamp_mode, - tensor_addressing_operands, - initialization_mode_qualifier, - load_cache_control, - store_cache_control, - named_maximum_number_of_registers, - matrix_multiply_accumulate_operands, - fp_encoding, - cooperative_vector_matrix_layout, - component_type, - id_result_type, - id_result, - id_memory_semantics, - id_scope, - id_ref, - literal_integer, - literal_string, - literal_float, - literal_context_dependent_number, - literal_ext_inst_integer, - literal_spec_constant_op_integer, - pair_literal_integer_id_ref, - pair_id_ref_literal_integer, - pair_id_ref_id_ref, - tensor_operands, - debug_info_debug_info_flags, - debug_info_debug_base_type_attribute_encoding, - debug_info_debug_composite_type, - debug_info_debug_type_qualifier, - debug_info_debug_operation, - open_cl_debug_info_100_debug_info_flags, - open_cl_debug_info_100_debug_base_type_attribute_encoding, - open_cl_debug_info_100_debug_composite_type, - open_cl_debug_info_100_debug_type_qualifier, - open_cl_debug_info_100_debug_operation, - open_cl_debug_info_100_debug_imported_entity, - non_semantic_clspv_reflection_6_kernel_property_flags, - non_semantic_shader_debug_info_100_debug_info_flags, - non_semantic_shader_debug_info_100_build_identifier_flags, - non_semantic_shader_debug_info_100_debug_base_type_attribute_encoding, - non_semantic_shader_debug_info_100_debug_composite_type, - non_semantic_shader_debug_info_100_debug_type_qualifier, - non_semantic_shader_debug_info_100_debug_operation, - non_semantic_shader_debug_info_100_debug_imported_entity, - - pub fn category(self: OperandKind) OperandCategory { - return switch (self) { - .opcode => .literal, - .image_operands => .bit_enum, - .fp_fast_math_mode => .bit_enum, - .selection_control => .bit_enum, - .loop_control => .bit_enum, - .function_control => .bit_enum, - .memory_semantics => .bit_enum, - .memory_access => .bit_enum, - .kernel_profiling_info => .bit_enum, - .ray_flags => .bit_enum, - .fragment_shading_rate => .bit_enum, - .raw_access_chain_operands => .bit_enum, - .source_language => .value_enum, - .execution_model => .value_enum, - .addressing_model => .value_enum, - .memory_model => .value_enum, - .execution_mode => .value_enum, - .storage_class => .value_enum, - .dim => .value_enum, - .sampler_addressing_mode => .value_enum, - .sampler_filter_mode => .value_enum, - .image_format => .value_enum, - .image_channel_order => .value_enum, - .image_channel_data_type => .value_enum, - .fp_rounding_mode => .value_enum, - .fp_denorm_mode => .value_enum, - .quantization_modes => .value_enum, - .fp_operation_mode => .value_enum, - .overflow_modes => .value_enum, - .linkage_type => .value_enum, - .access_qualifier => .value_enum, - .host_access_qualifier => .value_enum, - .function_parameter_attribute => .value_enum, - .decoration => .value_enum, - .built_in => .value_enum, - .scope => .value_enum, - .group_operation => .value_enum, - .kernel_enqueue_flags => .value_enum, - .capability => .value_enum, - .ray_query_intersection => .value_enum, - .ray_query_committed_intersection_type => .value_enum, - .ray_query_candidate_intersection_type => .value_enum, - .packed_vector_format => .value_enum, - .cooperative_matrix_operands => .bit_enum, - .cooperative_matrix_layout => .value_enum, - .cooperative_matrix_use => .value_enum, - .cooperative_matrix_reduce => .bit_enum, - .tensor_clamp_mode => .value_enum, - .tensor_addressing_operands => .bit_enum, - .initialization_mode_qualifier => .value_enum, - .load_cache_control => .value_enum, - .store_cache_control => .value_enum, - .named_maximum_number_of_registers => .value_enum, - .matrix_multiply_accumulate_operands => .bit_enum, - .fp_encoding => .value_enum, - .cooperative_vector_matrix_layout => .value_enum, - .component_type => .value_enum, - .id_result_type => .id, - .id_result => .id, - .id_memory_semantics => .id, - .id_scope => .id, - .id_ref => .id, - .literal_integer => .literal, - .literal_string => .literal, - .literal_float => .literal, - .literal_context_dependent_number => .literal, - .literal_ext_inst_integer => .literal, - .literal_spec_constant_op_integer => .literal, - .pair_literal_integer_id_ref => .composite, - .pair_id_ref_literal_integer => .composite, - .pair_id_ref_id_ref => .composite, - .tensor_operands => .bit_enum, - .debug_info_debug_info_flags => .bit_enum, - .debug_info_debug_base_type_attribute_encoding => .value_enum, - .debug_info_debug_composite_type => .value_enum, - .debug_info_debug_type_qualifier => .value_enum, - .debug_info_debug_operation => .value_enum, - .open_cl_debug_info_100_debug_info_flags => .bit_enum, - .open_cl_debug_info_100_debug_base_type_attribute_encoding => .value_enum, - .open_cl_debug_info_100_debug_composite_type => .value_enum, - .open_cl_debug_info_100_debug_type_qualifier => .value_enum, - .open_cl_debug_info_100_debug_operation => .value_enum, - .open_cl_debug_info_100_debug_imported_entity => .value_enum, - .non_semantic_clspv_reflection_6_kernel_property_flags => .bit_enum, - .non_semantic_shader_debug_info_100_debug_info_flags => .bit_enum, - .non_semantic_shader_debug_info_100_build_identifier_flags => .bit_enum, - .non_semantic_shader_debug_info_100_debug_base_type_attribute_encoding => .value_enum, - .non_semantic_shader_debug_info_100_debug_composite_type => .value_enum, - .non_semantic_shader_debug_info_100_debug_type_qualifier => .value_enum, - .non_semantic_shader_debug_info_100_debug_operation => .value_enum, - .non_semantic_shader_debug_info_100_debug_imported_entity => .value_enum, - }; - } - pub fn enumerants(self: OperandKind) []const Enumerant { - return switch (self) { - .opcode => unreachable, - .image_operands => &.{ - .{ .name = "Bias", .value = 0x0001, .parameters = &.{.id_ref} }, - .{ .name = "Lod", .value = 0x0002, .parameters = &.{.id_ref} }, - .{ .name = "Grad", .value = 0x0004, .parameters = &.{ .id_ref, .id_ref } }, - .{ .name = "ConstOffset", .value = 0x0008, .parameters = &.{.id_ref} }, - .{ .name = "Offset", .value = 0x0010, .parameters = &.{.id_ref} }, - .{ .name = "ConstOffsets", .value = 0x0020, .parameters = &.{.id_ref} }, - .{ .name = "Sample", .value = 0x0040, .parameters = &.{.id_ref} }, - .{ .name = "MinLod", .value = 0x0080, .parameters = &.{.id_ref} }, - .{ .name = "MakeTexelAvailable", .value = 0x0100, .parameters = &.{.id_scope} }, - .{ .name = "MakeTexelVisible", .value = 0x0200, .parameters = &.{.id_scope} }, - .{ .name = "NonPrivateTexel", .value = 0x0400, .parameters = &.{} }, - .{ .name = "VolatileTexel", .value = 0x0800, .parameters = &.{} }, - .{ .name = "SignExtend", .value = 0x1000, .parameters = &.{} }, - .{ .name = "ZeroExtend", .value = 0x2000, .parameters = &.{} }, - .{ .name = "Nontemporal", .value = 0x4000, .parameters = &.{} }, - .{ .name = "Offsets", .value = 0x10000, .parameters = &.{.id_ref} }, - }, - .fp_fast_math_mode => &.{ - .{ .name = "NotNaN", .value = 0x0001, .parameters = &.{} }, - .{ .name = "NotInf", .value = 0x0002, .parameters = &.{} }, - .{ .name = "NSZ", .value = 0x0004, .parameters = &.{} }, - .{ .name = "AllowRecip", .value = 0x0008, .parameters = &.{} }, - .{ .name = "Fast", .value = 0x0010, .parameters = &.{} }, - .{ .name = "AllowContract", .value = 0x10000, .parameters = &.{} }, - .{ .name = "AllowReassoc", .value = 0x20000, .parameters = &.{} }, - .{ .name = "AllowTransform", .value = 0x40000, .parameters = &.{} }, - }, - .selection_control => &.{ - .{ .name = "Flatten", .value = 0x0001, .parameters = &.{} }, - .{ .name = "DontFlatten", .value = 0x0002, .parameters = &.{} }, - }, - .loop_control => &.{ - .{ .name = "Unroll", .value = 0x0001, .parameters = &.{} }, - .{ .name = "DontUnroll", .value = 0x0002, .parameters = &.{} }, - .{ .name = "DependencyInfinite", .value = 0x0004, .parameters = &.{} }, - .{ .name = "DependencyLength", .value = 0x0008, .parameters = &.{.literal_integer} }, - .{ .name = "MinIterations", .value = 0x0010, .parameters = &.{.literal_integer} }, - .{ .name = "MaxIterations", .value = 0x0020, .parameters = &.{.literal_integer} }, - .{ .name = "IterationMultiple", .value = 0x0040, .parameters = &.{.literal_integer} }, - .{ .name = "PeelCount", .value = 0x0080, .parameters = &.{.literal_integer} }, - .{ .name = "PartialCount", .value = 0x0100, .parameters = &.{.literal_integer} }, - .{ .name = "InitiationIntervalINTEL", .value = 0x10000, .parameters = &.{.literal_integer} }, - .{ .name = "MaxConcurrencyINTEL", .value = 0x20000, .parameters = &.{.literal_integer} }, - .{ .name = "DependencyArrayINTEL", .value = 0x40000, .parameters = &.{.literal_integer} }, - .{ .name = "PipelineEnableINTEL", .value = 0x80000, .parameters = &.{.literal_integer} }, - .{ .name = "LoopCoalesceINTEL", .value = 0x100000, .parameters = &.{.literal_integer} }, - .{ .name = "MaxInterleavingINTEL", .value = 0x200000, .parameters = &.{.literal_integer} }, - .{ .name = "SpeculatedIterationsINTEL", .value = 0x400000, .parameters = &.{.literal_integer} }, - .{ .name = "NoFusionINTEL", .value = 0x800000, .parameters = &.{} }, - .{ .name = "LoopCountINTEL", .value = 0x1000000, .parameters = &.{.literal_integer} }, - .{ .name = "MaxReinvocationDelayINTEL", .value = 0x2000000, .parameters = &.{.literal_integer} }, - }, - .function_control => &.{ - .{ .name = "Inline", .value = 0x0001, .parameters = &.{} }, - .{ .name = "DontInline", .value = 0x0002, .parameters = &.{} }, - .{ .name = "Pure", .value = 0x0004, .parameters = &.{} }, - .{ .name = "Const", .value = 0x0008, .parameters = &.{} }, - .{ .name = "OptNoneEXT", .value = 0x10000, .parameters = &.{} }, - }, - .memory_semantics => &.{ - .{ .name = "Relaxed", .value = 0x0000, .parameters = &.{} }, - .{ .name = "Acquire", .value = 0x0002, .parameters = &.{} }, - .{ .name = "Release", .value = 0x0004, .parameters = &.{} }, - .{ .name = "AcquireRelease", .value = 0x0008, .parameters = &.{} }, - .{ .name = "SequentiallyConsistent", .value = 0x0010, .parameters = &.{} }, - .{ .name = "UniformMemory", .value = 0x0040, .parameters = &.{} }, - .{ .name = "SubgroupMemory", .value = 0x0080, .parameters = &.{} }, - .{ .name = "WorkgroupMemory", .value = 0x0100, .parameters = &.{} }, - .{ .name = "CrossWorkgroupMemory", .value = 0x0200, .parameters = &.{} }, - .{ .name = "AtomicCounterMemory", .value = 0x0400, .parameters = &.{} }, - .{ .name = "ImageMemory", .value = 0x0800, .parameters = &.{} }, - .{ .name = "OutputMemory", .value = 0x1000, .parameters = &.{} }, - .{ .name = "MakeAvailable", .value = 0x2000, .parameters = &.{} }, - .{ .name = "MakeVisible", .value = 0x4000, .parameters = &.{} }, - .{ .name = "Volatile", .value = 0x8000, .parameters = &.{} }, - }, - .memory_access => &.{ - .{ .name = "Volatile", .value = 0x0001, .parameters = &.{} }, - .{ .name = "Aligned", .value = 0x0002, .parameters = &.{.literal_integer} }, - .{ .name = "Nontemporal", .value = 0x0004, .parameters = &.{} }, - .{ .name = "MakePointerAvailable", .value = 0x0008, .parameters = &.{.id_scope} }, - .{ .name = "MakePointerVisible", .value = 0x0010, .parameters = &.{.id_scope} }, - .{ .name = "NonPrivatePointer", .value = 0x0020, .parameters = &.{} }, - .{ .name = "AliasScopeINTELMask", .value = 0x10000, .parameters = &.{.id_ref} }, - .{ .name = "NoAliasINTELMask", .value = 0x20000, .parameters = &.{.id_ref} }, - }, - .kernel_profiling_info => &.{ - .{ .name = "CmdExecTime", .value = 0x0001, .parameters = &.{} }, - }, - .ray_flags => &.{ - .{ .name = "NoneKHR", .value = 0x0000, .parameters = &.{} }, - .{ .name = "OpaqueKHR", .value = 0x0001, .parameters = &.{} }, - .{ .name = "NoOpaqueKHR", .value = 0x0002, .parameters = &.{} }, - .{ .name = "TerminateOnFirstHitKHR", .value = 0x0004, .parameters = &.{} }, - .{ .name = "SkipClosestHitShaderKHR", .value = 0x0008, .parameters = &.{} }, - .{ .name = "CullBackFacingTrianglesKHR", .value = 0x0010, .parameters = &.{} }, - .{ .name = "CullFrontFacingTrianglesKHR", .value = 0x0020, .parameters = &.{} }, - .{ .name = "CullOpaqueKHR", .value = 0x0040, .parameters = &.{} }, - .{ .name = "CullNoOpaqueKHR", .value = 0x0080, .parameters = &.{} }, - .{ .name = "SkipTrianglesKHR", .value = 0x0100, .parameters = &.{} }, - .{ .name = "SkipAABBsKHR", .value = 0x0200, .parameters = &.{} }, - .{ .name = "ForceOpacityMicromap2StateEXT", .value = 0x0400, .parameters = &.{} }, - }, - .fragment_shading_rate => &.{ - .{ .name = "Vertical2Pixels", .value = 0x0001, .parameters = &.{} }, - .{ .name = "Vertical4Pixels", .value = 0x0002, .parameters = &.{} }, - .{ .name = "Horizontal2Pixels", .value = 0x0004, .parameters = &.{} }, - .{ .name = "Horizontal4Pixels", .value = 0x0008, .parameters = &.{} }, - }, - .raw_access_chain_operands => &.{ - .{ .name = "RobustnessPerComponentNV", .value = 0x0001, .parameters = &.{} }, - .{ .name = "RobustnessPerElementNV", .value = 0x0002, .parameters = &.{} }, - }, - .source_language => &.{ - .{ .name = "Unknown", .value = 0, .parameters = &.{} }, - .{ .name = "ESSL", .value = 1, .parameters = &.{} }, - .{ .name = "GLSL", .value = 2, .parameters = &.{} }, - .{ .name = "OpenCL_C", .value = 3, .parameters = &.{} }, - .{ .name = "OpenCL_CPP", .value = 4, .parameters = &.{} }, - .{ .name = "HLSL", .value = 5, .parameters = &.{} }, - .{ .name = "CPP_for_OpenCL", .value = 6, .parameters = &.{} }, - .{ .name = "SYCL", .value = 7, .parameters = &.{} }, - .{ .name = "HERO_C", .value = 8, .parameters = &.{} }, - .{ .name = "NZSL", .value = 9, .parameters = &.{} }, - .{ .name = "WGSL", .value = 10, .parameters = &.{} }, - .{ .name = "Slang", .value = 11, .parameters = &.{} }, - .{ .name = "Zig", .value = 12, .parameters = &.{} }, - .{ .name = "Rust", .value = 13, .parameters = &.{} }, - }, - .execution_model => &.{ - .{ .name = "Vertex", .value = 0, .parameters = &.{} }, - .{ .name = "TessellationControl", .value = 1, .parameters = &.{} }, - .{ .name = "TessellationEvaluation", .value = 2, .parameters = &.{} }, - .{ .name = "Geometry", .value = 3, .parameters = &.{} }, - .{ .name = "Fragment", .value = 4, .parameters = &.{} }, - .{ .name = "GLCompute", .value = 5, .parameters = &.{} }, - .{ .name = "Kernel", .value = 6, .parameters = &.{} }, - .{ .name = "TaskNV", .value = 5267, .parameters = &.{} }, - .{ .name = "MeshNV", .value = 5268, .parameters = &.{} }, - .{ .name = "RayGenerationKHR", .value = 5313, .parameters = &.{} }, - .{ .name = "IntersectionKHR", .value = 5314, .parameters = &.{} }, - .{ .name = "AnyHitKHR", .value = 5315, .parameters = &.{} }, - .{ .name = "ClosestHitKHR", .value = 5316, .parameters = &.{} }, - .{ .name = "MissKHR", .value = 5317, .parameters = &.{} }, - .{ .name = "CallableKHR", .value = 5318, .parameters = &.{} }, - .{ .name = "TaskEXT", .value = 5364, .parameters = &.{} }, - .{ .name = "MeshEXT", .value = 5365, .parameters = &.{} }, - }, - .addressing_model => &.{ - .{ .name = "Logical", .value = 0, .parameters = &.{} }, - .{ .name = "Physical32", .value = 1, .parameters = &.{} }, - .{ .name = "Physical64", .value = 2, .parameters = &.{} }, - .{ .name = "PhysicalStorageBuffer64", .value = 5348, .parameters = &.{} }, - }, - .memory_model => &.{ - .{ .name = "Simple", .value = 0, .parameters = &.{} }, - .{ .name = "GLSL450", .value = 1, .parameters = &.{} }, - .{ .name = "OpenCL", .value = 2, .parameters = &.{} }, - .{ .name = "Vulkan", .value = 3, .parameters = &.{} }, - }, - .execution_mode => &.{ - .{ .name = "Invocations", .value = 0, .parameters = &.{.literal_integer} }, - .{ .name = "SpacingEqual", .value = 1, .parameters = &.{} }, - .{ .name = "SpacingFractionalEven", .value = 2, .parameters = &.{} }, - .{ .name = "SpacingFractionalOdd", .value = 3, .parameters = &.{} }, - .{ .name = "VertexOrderCw", .value = 4, .parameters = &.{} }, - .{ .name = "VertexOrderCcw", .value = 5, .parameters = &.{} }, - .{ .name = "PixelCenterInteger", .value = 6, .parameters = &.{} }, - .{ .name = "OriginUpperLeft", .value = 7, .parameters = &.{} }, - .{ .name = "OriginLowerLeft", .value = 8, .parameters = &.{} }, - .{ .name = "EarlyFragmentTests", .value = 9, .parameters = &.{} }, - .{ .name = "PointMode", .value = 10, .parameters = &.{} }, - .{ .name = "Xfb", .value = 11, .parameters = &.{} }, - .{ .name = "DepthReplacing", .value = 12, .parameters = &.{} }, - .{ .name = "DepthGreater", .value = 14, .parameters = &.{} }, - .{ .name = "DepthLess", .value = 15, .parameters = &.{} }, - .{ .name = "DepthUnchanged", .value = 16, .parameters = &.{} }, - .{ .name = "LocalSize", .value = 17, .parameters = &.{ .literal_integer, .literal_integer, .literal_integer } }, - .{ .name = "LocalSizeHint", .value = 18, .parameters = &.{ .literal_integer, .literal_integer, .literal_integer } }, - .{ .name = "InputPoints", .value = 19, .parameters = &.{} }, - .{ .name = "InputLines", .value = 20, .parameters = &.{} }, - .{ .name = "InputLinesAdjacency", .value = 21, .parameters = &.{} }, - .{ .name = "Triangles", .value = 22, .parameters = &.{} }, - .{ .name = "InputTrianglesAdjacency", .value = 23, .parameters = &.{} }, - .{ .name = "Quads", .value = 24, .parameters = &.{} }, - .{ .name = "Isolines", .value = 25, .parameters = &.{} }, - .{ .name = "OutputVertices", .value = 26, .parameters = &.{.literal_integer} }, - .{ .name = "OutputPoints", .value = 27, .parameters = &.{} }, - .{ .name = "OutputLineStrip", .value = 28, .parameters = &.{} }, - .{ .name = "OutputTriangleStrip", .value = 29, .parameters = &.{} }, - .{ .name = "VecTypeHint", .value = 30, .parameters = &.{.literal_integer} }, - .{ .name = "ContractionOff", .value = 31, .parameters = &.{} }, - .{ .name = "Initializer", .value = 33, .parameters = &.{} }, - .{ .name = "Finalizer", .value = 34, .parameters = &.{} }, - .{ .name = "SubgroupSize", .value = 35, .parameters = &.{.literal_integer} }, - .{ .name = "SubgroupsPerWorkgroup", .value = 36, .parameters = &.{.literal_integer} }, - .{ .name = "SubgroupsPerWorkgroupId", .value = 37, .parameters = &.{.id_ref} }, - .{ .name = "LocalSizeId", .value = 38, .parameters = &.{ .id_ref, .id_ref, .id_ref } }, - .{ .name = "LocalSizeHintId", .value = 39, .parameters = &.{ .id_ref, .id_ref, .id_ref } }, - .{ .name = "NonCoherentColorAttachmentReadEXT", .value = 4169, .parameters = &.{} }, - .{ .name = "NonCoherentDepthAttachmentReadEXT", .value = 4170, .parameters = &.{} }, - .{ .name = "NonCoherentStencilAttachmentReadEXT", .value = 4171, .parameters = &.{} }, - .{ .name = "SubgroupUniformControlFlowKHR", .value = 4421, .parameters = &.{} }, - .{ .name = "PostDepthCoverage", .value = 4446, .parameters = &.{} }, - .{ .name = "DenormPreserve", .value = 4459, .parameters = &.{.literal_integer} }, - .{ .name = "DenormFlushToZero", .value = 4460, .parameters = &.{.literal_integer} }, - .{ .name = "SignedZeroInfNanPreserve", .value = 4461, .parameters = &.{.literal_integer} }, - .{ .name = "RoundingModeRTE", .value = 4462, .parameters = &.{.literal_integer} }, - .{ .name = "RoundingModeRTZ", .value = 4463, .parameters = &.{.literal_integer} }, - .{ .name = "NonCoherentTileAttachmentReadQCOM", .value = 4489, .parameters = &.{} }, - .{ .name = "TileShadingRateQCOM", .value = 4490, .parameters = &.{ .literal_integer, .literal_integer, .literal_integer } }, - .{ .name = "EarlyAndLateFragmentTestsAMD", .value = 5017, .parameters = &.{} }, - .{ .name = "StencilRefReplacingEXT", .value = 5027, .parameters = &.{} }, - .{ .name = "CoalescingAMDX", .value = 5069, .parameters = &.{} }, - .{ .name = "IsApiEntryAMDX", .value = 5070, .parameters = &.{.id_ref} }, - .{ .name = "MaxNodeRecursionAMDX", .value = 5071, .parameters = &.{.id_ref} }, - .{ .name = "StaticNumWorkgroupsAMDX", .value = 5072, .parameters = &.{ .id_ref, .id_ref, .id_ref } }, - .{ .name = "ShaderIndexAMDX", .value = 5073, .parameters = &.{.id_ref} }, - .{ .name = "MaxNumWorkgroupsAMDX", .value = 5077, .parameters = &.{ .id_ref, .id_ref, .id_ref } }, - .{ .name = "StencilRefUnchangedFrontAMD", .value = 5079, .parameters = &.{} }, - .{ .name = "StencilRefGreaterFrontAMD", .value = 5080, .parameters = &.{} }, - .{ .name = "StencilRefLessFrontAMD", .value = 5081, .parameters = &.{} }, - .{ .name = "StencilRefUnchangedBackAMD", .value = 5082, .parameters = &.{} }, - .{ .name = "StencilRefGreaterBackAMD", .value = 5083, .parameters = &.{} }, - .{ .name = "StencilRefLessBackAMD", .value = 5084, .parameters = &.{} }, - .{ .name = "QuadDerivativesKHR", .value = 5088, .parameters = &.{} }, - .{ .name = "RequireFullQuadsKHR", .value = 5089, .parameters = &.{} }, - .{ .name = "SharesInputWithAMDX", .value = 5102, .parameters = &.{ .id_ref, .id_ref } }, - .{ .name = "OutputLinesEXT", .value = 5269, .parameters = &.{} }, - .{ .name = "OutputPrimitivesEXT", .value = 5270, .parameters = &.{.literal_integer} }, - .{ .name = "DerivativeGroupQuadsKHR", .value = 5289, .parameters = &.{} }, - .{ .name = "DerivativeGroupLinearKHR", .value = 5290, .parameters = &.{} }, - .{ .name = "OutputTrianglesEXT", .value = 5298, .parameters = &.{} }, - .{ .name = "PixelInterlockOrderedEXT", .value = 5366, .parameters = &.{} }, - .{ .name = "PixelInterlockUnorderedEXT", .value = 5367, .parameters = &.{} }, - .{ .name = "SampleInterlockOrderedEXT", .value = 5368, .parameters = &.{} }, - .{ .name = "SampleInterlockUnorderedEXT", .value = 5369, .parameters = &.{} }, - .{ .name = "ShadingRateInterlockOrderedEXT", .value = 5370, .parameters = &.{} }, - .{ .name = "ShadingRateInterlockUnorderedEXT", .value = 5371, .parameters = &.{} }, - .{ .name = "SharedLocalMemorySizeINTEL", .value = 5618, .parameters = &.{.literal_integer} }, - .{ .name = "RoundingModeRTPINTEL", .value = 5620, .parameters = &.{.literal_integer} }, - .{ .name = "RoundingModeRTNINTEL", .value = 5621, .parameters = &.{.literal_integer} }, - .{ .name = "FloatingPointModeALTINTEL", .value = 5622, .parameters = &.{.literal_integer} }, - .{ .name = "FloatingPointModeIEEEINTEL", .value = 5623, .parameters = &.{.literal_integer} }, - .{ .name = "MaxWorkgroupSizeINTEL", .value = 5893, .parameters = &.{ .literal_integer, .literal_integer, .literal_integer } }, - .{ .name = "MaxWorkDimINTEL", .value = 5894, .parameters = &.{.literal_integer} }, - .{ .name = "NoGlobalOffsetINTEL", .value = 5895, .parameters = &.{} }, - .{ .name = "NumSIMDWorkitemsINTEL", .value = 5896, .parameters = &.{.literal_integer} }, - .{ .name = "SchedulerTargetFmaxMhzINTEL", .value = 5903, .parameters = &.{.literal_integer} }, - .{ .name = "MaximallyReconvergesKHR", .value = 6023, .parameters = &.{} }, - .{ .name = "FPFastMathDefault", .value = 6028, .parameters = &.{ .id_ref, .id_ref } }, - .{ .name = "StreamingInterfaceINTEL", .value = 6154, .parameters = &.{.literal_integer} }, - .{ .name = "RegisterMapInterfaceINTEL", .value = 6160, .parameters = &.{.literal_integer} }, - .{ .name = "NamedBarrierCountINTEL", .value = 6417, .parameters = &.{.literal_integer} }, - .{ .name = "MaximumRegistersINTEL", .value = 6461, .parameters = &.{.literal_integer} }, - .{ .name = "MaximumRegistersIdINTEL", .value = 6462, .parameters = &.{.id_ref} }, - .{ .name = "NamedMaximumRegistersINTEL", .value = 6463, .parameters = &.{.named_maximum_number_of_registers} }, - }, - .storage_class => &.{ - .{ .name = "UniformConstant", .value = 0, .parameters = &.{} }, - .{ .name = "Input", .value = 1, .parameters = &.{} }, - .{ .name = "Uniform", .value = 2, .parameters = &.{} }, - .{ .name = "Output", .value = 3, .parameters = &.{} }, - .{ .name = "Workgroup", .value = 4, .parameters = &.{} }, - .{ .name = "CrossWorkgroup", .value = 5, .parameters = &.{} }, - .{ .name = "Private", .value = 6, .parameters = &.{} }, - .{ .name = "Function", .value = 7, .parameters = &.{} }, - .{ .name = "Generic", .value = 8, .parameters = &.{} }, - .{ .name = "PushConstant", .value = 9, .parameters = &.{} }, - .{ .name = "AtomicCounter", .value = 10, .parameters = &.{} }, - .{ .name = "Image", .value = 11, .parameters = &.{} }, - .{ .name = "StorageBuffer", .value = 12, .parameters = &.{} }, - .{ .name = "TileImageEXT", .value = 4172, .parameters = &.{} }, - .{ .name = "TileAttachmentQCOM", .value = 4491, .parameters = &.{} }, - .{ .name = "NodePayloadAMDX", .value = 5068, .parameters = &.{} }, - .{ .name = "CallableDataKHR", .value = 5328, .parameters = &.{} }, - .{ .name = "IncomingCallableDataKHR", .value = 5329, .parameters = &.{} }, - .{ .name = "RayPayloadKHR", .value = 5338, .parameters = &.{} }, - .{ .name = "HitAttributeKHR", .value = 5339, .parameters = &.{} }, - .{ .name = "IncomingRayPayloadKHR", .value = 5342, .parameters = &.{} }, - .{ .name = "ShaderRecordBufferKHR", .value = 5343, .parameters = &.{} }, - .{ .name = "PhysicalStorageBuffer", .value = 5349, .parameters = &.{} }, - .{ .name = "HitObjectAttributeNV", .value = 5385, .parameters = &.{} }, - .{ .name = "TaskPayloadWorkgroupEXT", .value = 5402, .parameters = &.{} }, - .{ .name = "CodeSectionINTEL", .value = 5605, .parameters = &.{} }, - .{ .name = "DeviceOnlyINTEL", .value = 5936, .parameters = &.{} }, - .{ .name = "HostOnlyINTEL", .value = 5937, .parameters = &.{} }, - }, - .dim => &.{ - .{ .name = "1D", .value = 0, .parameters = &.{} }, - .{ .name = "2D", .value = 1, .parameters = &.{} }, - .{ .name = "3D", .value = 2, .parameters = &.{} }, - .{ .name = "Cube", .value = 3, .parameters = &.{} }, - .{ .name = "Rect", .value = 4, .parameters = &.{} }, - .{ .name = "Buffer", .value = 5, .parameters = &.{} }, - .{ .name = "SubpassData", .value = 6, .parameters = &.{} }, - .{ .name = "TileImageDataEXT", .value = 4173, .parameters = &.{} }, - }, - .sampler_addressing_mode => &.{ - .{ .name = "None", .value = 0, .parameters = &.{} }, - .{ .name = "ClampToEdge", .value = 1, .parameters = &.{} }, - .{ .name = "Clamp", .value = 2, .parameters = &.{} }, - .{ .name = "Repeat", .value = 3, .parameters = &.{} }, - .{ .name = "RepeatMirrored", .value = 4, .parameters = &.{} }, - }, - .sampler_filter_mode => &.{ - .{ .name = "Nearest", .value = 0, .parameters = &.{} }, - .{ .name = "Linear", .value = 1, .parameters = &.{} }, - }, - .image_format => &.{ - .{ .name = "Unknown", .value = 0, .parameters = &.{} }, - .{ .name = "Rgba32f", .value = 1, .parameters = &.{} }, - .{ .name = "Rgba16f", .value = 2, .parameters = &.{} }, - .{ .name = "R32f", .value = 3, .parameters = &.{} }, - .{ .name = "Rgba8", .value = 4, .parameters = &.{} }, - .{ .name = "Rgba8Snorm", .value = 5, .parameters = &.{} }, - .{ .name = "Rg32f", .value = 6, .parameters = &.{} }, - .{ .name = "Rg16f", .value = 7, .parameters = &.{} }, - .{ .name = "R11fG11fB10f", .value = 8, .parameters = &.{} }, - .{ .name = "R16f", .value = 9, .parameters = &.{} }, - .{ .name = "Rgba16", .value = 10, .parameters = &.{} }, - .{ .name = "Rgb10A2", .value = 11, .parameters = &.{} }, - .{ .name = "Rg16", .value = 12, .parameters = &.{} }, - .{ .name = "Rg8", .value = 13, .parameters = &.{} }, - .{ .name = "R16", .value = 14, .parameters = &.{} }, - .{ .name = "R8", .value = 15, .parameters = &.{} }, - .{ .name = "Rgba16Snorm", .value = 16, .parameters = &.{} }, - .{ .name = "Rg16Snorm", .value = 17, .parameters = &.{} }, - .{ .name = "Rg8Snorm", .value = 18, .parameters = &.{} }, - .{ .name = "R16Snorm", .value = 19, .parameters = &.{} }, - .{ .name = "R8Snorm", .value = 20, .parameters = &.{} }, - .{ .name = "Rgba32i", .value = 21, .parameters = &.{} }, - .{ .name = "Rgba16i", .value = 22, .parameters = &.{} }, - .{ .name = "Rgba8i", .value = 23, .parameters = &.{} }, - .{ .name = "R32i", .value = 24, .parameters = &.{} }, - .{ .name = "Rg32i", .value = 25, .parameters = &.{} }, - .{ .name = "Rg16i", .value = 26, .parameters = &.{} }, - .{ .name = "Rg8i", .value = 27, .parameters = &.{} }, - .{ .name = "R16i", .value = 28, .parameters = &.{} }, - .{ .name = "R8i", .value = 29, .parameters = &.{} }, - .{ .name = "Rgba32ui", .value = 30, .parameters = &.{} }, - .{ .name = "Rgba16ui", .value = 31, .parameters = &.{} }, - .{ .name = "Rgba8ui", .value = 32, .parameters = &.{} }, - .{ .name = "R32ui", .value = 33, .parameters = &.{} }, - .{ .name = "Rgb10a2ui", .value = 34, .parameters = &.{} }, - .{ .name = "Rg32ui", .value = 35, .parameters = &.{} }, - .{ .name = "Rg16ui", .value = 36, .parameters = &.{} }, - .{ .name = "Rg8ui", .value = 37, .parameters = &.{} }, - .{ .name = "R16ui", .value = 38, .parameters = &.{} }, - .{ .name = "R8ui", .value = 39, .parameters = &.{} }, - .{ .name = "R64ui", .value = 40, .parameters = &.{} }, - .{ .name = "R64i", .value = 41, .parameters = &.{} }, - }, - .image_channel_order => &.{ - .{ .name = "R", .value = 0, .parameters = &.{} }, - .{ .name = "A", .value = 1, .parameters = &.{} }, - .{ .name = "RG", .value = 2, .parameters = &.{} }, - .{ .name = "RA", .value = 3, .parameters = &.{} }, - .{ .name = "RGB", .value = 4, .parameters = &.{} }, - .{ .name = "RGBA", .value = 5, .parameters = &.{} }, - .{ .name = "BGRA", .value = 6, .parameters = &.{} }, - .{ .name = "ARGB", .value = 7, .parameters = &.{} }, - .{ .name = "Intensity", .value = 8, .parameters = &.{} }, - .{ .name = "Luminance", .value = 9, .parameters = &.{} }, - .{ .name = "Rx", .value = 10, .parameters = &.{} }, - .{ .name = "RGx", .value = 11, .parameters = &.{} }, - .{ .name = "RGBx", .value = 12, .parameters = &.{} }, - .{ .name = "Depth", .value = 13, .parameters = &.{} }, - .{ .name = "DepthStencil", .value = 14, .parameters = &.{} }, - .{ .name = "sRGB", .value = 15, .parameters = &.{} }, - .{ .name = "sRGBx", .value = 16, .parameters = &.{} }, - .{ .name = "sRGBA", .value = 17, .parameters = &.{} }, - .{ .name = "sBGRA", .value = 18, .parameters = &.{} }, - .{ .name = "ABGR", .value = 19, .parameters = &.{} }, - }, - .image_channel_data_type => &.{ - .{ .name = "SnormInt8", .value = 0, .parameters = &.{} }, - .{ .name = "SnormInt16", .value = 1, .parameters = &.{} }, - .{ .name = "UnormInt8", .value = 2, .parameters = &.{} }, - .{ .name = "UnormInt16", .value = 3, .parameters = &.{} }, - .{ .name = "UnormShort565", .value = 4, .parameters = &.{} }, - .{ .name = "UnormShort555", .value = 5, .parameters = &.{} }, - .{ .name = "UnormInt101010", .value = 6, .parameters = &.{} }, - .{ .name = "SignedInt8", .value = 7, .parameters = &.{} }, - .{ .name = "SignedInt16", .value = 8, .parameters = &.{} }, - .{ .name = "SignedInt32", .value = 9, .parameters = &.{} }, - .{ .name = "UnsignedInt8", .value = 10, .parameters = &.{} }, - .{ .name = "UnsignedInt16", .value = 11, .parameters = &.{} }, - .{ .name = "UnsignedInt32", .value = 12, .parameters = &.{} }, - .{ .name = "HalfFloat", .value = 13, .parameters = &.{} }, - .{ .name = "Float", .value = 14, .parameters = &.{} }, - .{ .name = "UnormInt24", .value = 15, .parameters = &.{} }, - .{ .name = "UnormInt101010_2", .value = 16, .parameters = &.{} }, - .{ .name = "UnormInt10X6EXT", .value = 17, .parameters = &.{} }, - .{ .name = "UnsignedIntRaw10EXT", .value = 19, .parameters = &.{} }, - .{ .name = "UnsignedIntRaw12EXT", .value = 20, .parameters = &.{} }, - .{ .name = "UnormInt2_101010EXT", .value = 21, .parameters = &.{} }, - .{ .name = "UnsignedInt10X6EXT", .value = 22, .parameters = &.{} }, - .{ .name = "UnsignedInt12X4EXT", .value = 23, .parameters = &.{} }, - .{ .name = "UnsignedInt14X2EXT", .value = 24, .parameters = &.{} }, - .{ .name = "UnormInt12X4EXT", .value = 25, .parameters = &.{} }, - .{ .name = "UnormInt14X2EXT", .value = 26, .parameters = &.{} }, - }, - .fp_rounding_mode => &.{ - .{ .name = "RTE", .value = 0, .parameters = &.{} }, - .{ .name = "RTZ", .value = 1, .parameters = &.{} }, - .{ .name = "RTP", .value = 2, .parameters = &.{} }, - .{ .name = "RTN", .value = 3, .parameters = &.{} }, - }, - .fp_denorm_mode => &.{ - .{ .name = "Preserve", .value = 0, .parameters = &.{} }, - .{ .name = "FlushToZero", .value = 1, .parameters = &.{} }, - }, - .quantization_modes => &.{ - .{ .name = "TRN", .value = 0, .parameters = &.{} }, - .{ .name = "TRN_ZERO", .value = 1, .parameters = &.{} }, - .{ .name = "RND", .value = 2, .parameters = &.{} }, - .{ .name = "RND_ZERO", .value = 3, .parameters = &.{} }, - .{ .name = "RND_INF", .value = 4, .parameters = &.{} }, - .{ .name = "RND_MIN_INF", .value = 5, .parameters = &.{} }, - .{ .name = "RND_CONV", .value = 6, .parameters = &.{} }, - .{ .name = "RND_CONV_ODD", .value = 7, .parameters = &.{} }, - }, - .fp_operation_mode => &.{ - .{ .name = "IEEE", .value = 0, .parameters = &.{} }, - .{ .name = "ALT", .value = 1, .parameters = &.{} }, - }, - .overflow_modes => &.{ - .{ .name = "WRAP", .value = 0, .parameters = &.{} }, - .{ .name = "SAT", .value = 1, .parameters = &.{} }, - .{ .name = "SAT_ZERO", .value = 2, .parameters = &.{} }, - .{ .name = "SAT_SYM", .value = 3, .parameters = &.{} }, - }, - .linkage_type => &.{ - .{ .name = "Export", .value = 0, .parameters = &.{} }, - .{ .name = "Import", .value = 1, .parameters = &.{} }, - .{ .name = "LinkOnceODR", .value = 2, .parameters = &.{} }, - }, - .access_qualifier => &.{ - .{ .name = "ReadOnly", .value = 0, .parameters = &.{} }, - .{ .name = "WriteOnly", .value = 1, .parameters = &.{} }, - .{ .name = "ReadWrite", .value = 2, .parameters = &.{} }, - }, - .host_access_qualifier => &.{ - .{ .name = "NoneINTEL", .value = 0, .parameters = &.{} }, - .{ .name = "ReadINTEL", .value = 1, .parameters = &.{} }, - .{ .name = "WriteINTEL", .value = 2, .parameters = &.{} }, - .{ .name = "ReadWriteINTEL", .value = 3, .parameters = &.{} }, - }, - .function_parameter_attribute => &.{ - .{ .name = "Zext", .value = 0, .parameters = &.{} }, - .{ .name = "Sext", .value = 1, .parameters = &.{} }, - .{ .name = "ByVal", .value = 2, .parameters = &.{} }, - .{ .name = "Sret", .value = 3, .parameters = &.{} }, - .{ .name = "NoAlias", .value = 4, .parameters = &.{} }, - .{ .name = "NoCapture", .value = 5, .parameters = &.{} }, - .{ .name = "NoWrite", .value = 6, .parameters = &.{} }, - .{ .name = "NoReadWrite", .value = 7, .parameters = &.{} }, - .{ .name = "RuntimeAlignedINTEL", .value = 5940, .parameters = &.{} }, - }, - .decoration => &.{ - .{ .name = "RelaxedPrecision", .value = 0, .parameters = &.{} }, - .{ .name = "SpecId", .value = 1, .parameters = &.{.literal_integer} }, - .{ .name = "Block", .value = 2, .parameters = &.{} }, - .{ .name = "BufferBlock", .value = 3, .parameters = &.{} }, - .{ .name = "RowMajor", .value = 4, .parameters = &.{} }, - .{ .name = "ColMajor", .value = 5, .parameters = &.{} }, - .{ .name = "ArrayStride", .value = 6, .parameters = &.{.literal_integer} }, - .{ .name = "MatrixStride", .value = 7, .parameters = &.{.literal_integer} }, - .{ .name = "GLSLShared", .value = 8, .parameters = &.{} }, - .{ .name = "GLSLPacked", .value = 9, .parameters = &.{} }, - .{ .name = "CPacked", .value = 10, .parameters = &.{} }, - .{ .name = "BuiltIn", .value = 11, .parameters = &.{.built_in} }, - .{ .name = "NoPerspective", .value = 13, .parameters = &.{} }, - .{ .name = "Flat", .value = 14, .parameters = &.{} }, - .{ .name = "Patch", .value = 15, .parameters = &.{} }, - .{ .name = "Centroid", .value = 16, .parameters = &.{} }, - .{ .name = "Sample", .value = 17, .parameters = &.{} }, - .{ .name = "Invariant", .value = 18, .parameters = &.{} }, - .{ .name = "Restrict", .value = 19, .parameters = &.{} }, - .{ .name = "Aliased", .value = 20, .parameters = &.{} }, - .{ .name = "Volatile", .value = 21, .parameters = &.{} }, - .{ .name = "Constant", .value = 22, .parameters = &.{} }, - .{ .name = "Coherent", .value = 23, .parameters = &.{} }, - .{ .name = "NonWritable", .value = 24, .parameters = &.{} }, - .{ .name = "NonReadable", .value = 25, .parameters = &.{} }, - .{ .name = "Uniform", .value = 26, .parameters = &.{} }, - .{ .name = "UniformId", .value = 27, .parameters = &.{.id_scope} }, - .{ .name = "SaturatedConversion", .value = 28, .parameters = &.{} }, - .{ .name = "Stream", .value = 29, .parameters = &.{.literal_integer} }, - .{ .name = "Location", .value = 30, .parameters = &.{.literal_integer} }, - .{ .name = "Component", .value = 31, .parameters = &.{.literal_integer} }, - .{ .name = "Index", .value = 32, .parameters = &.{.literal_integer} }, - .{ .name = "Binding", .value = 33, .parameters = &.{.literal_integer} }, - .{ .name = "DescriptorSet", .value = 34, .parameters = &.{.literal_integer} }, - .{ .name = "Offset", .value = 35, .parameters = &.{.literal_integer} }, - .{ .name = "XfbBuffer", .value = 36, .parameters = &.{.literal_integer} }, - .{ .name = "XfbStride", .value = 37, .parameters = &.{.literal_integer} }, - .{ .name = "FuncParamAttr", .value = 38, .parameters = &.{.function_parameter_attribute} }, - .{ .name = "FPRoundingMode", .value = 39, .parameters = &.{.fp_rounding_mode} }, - .{ .name = "FPFastMathMode", .value = 40, .parameters = &.{.fp_fast_math_mode} }, - .{ .name = "LinkageAttributes", .value = 41, .parameters = &.{ .literal_string, .linkage_type } }, - .{ .name = "NoContraction", .value = 42, .parameters = &.{} }, - .{ .name = "InputAttachmentIndex", .value = 43, .parameters = &.{.literal_integer} }, - .{ .name = "Alignment", .value = 44, .parameters = &.{.literal_integer} }, - .{ .name = "MaxByteOffset", .value = 45, .parameters = &.{.literal_integer} }, - .{ .name = "AlignmentId", .value = 46, .parameters = &.{.id_ref} }, - .{ .name = "MaxByteOffsetId", .value = 47, .parameters = &.{.id_ref} }, - .{ .name = "SaturatedToLargestFloat8NormalConversionEXT", .value = 4216, .parameters = &.{} }, - .{ .name = "NoSignedWrap", .value = 4469, .parameters = &.{} }, - .{ .name = "NoUnsignedWrap", .value = 4470, .parameters = &.{} }, - .{ .name = "WeightTextureQCOM", .value = 4487, .parameters = &.{} }, - .{ .name = "BlockMatchTextureQCOM", .value = 4488, .parameters = &.{} }, - .{ .name = "BlockMatchSamplerQCOM", .value = 4499, .parameters = &.{} }, - .{ .name = "ExplicitInterpAMD", .value = 4999, .parameters = &.{} }, - .{ .name = "NodeSharesPayloadLimitsWithAMDX", .value = 5019, .parameters = &.{.id_ref} }, - .{ .name = "NodeMaxPayloadsAMDX", .value = 5020, .parameters = &.{.id_ref} }, - .{ .name = "TrackFinishWritingAMDX", .value = 5078, .parameters = &.{} }, - .{ .name = "PayloadNodeNameAMDX", .value = 5091, .parameters = &.{.id_ref} }, - .{ .name = "PayloadNodeBaseIndexAMDX", .value = 5098, .parameters = &.{.id_ref} }, - .{ .name = "PayloadNodeSparseArrayAMDX", .value = 5099, .parameters = &.{} }, - .{ .name = "PayloadNodeArraySizeAMDX", .value = 5100, .parameters = &.{.id_ref} }, - .{ .name = "PayloadDispatchIndirectAMDX", .value = 5105, .parameters = &.{} }, - .{ .name = "OverrideCoverageNV", .value = 5248, .parameters = &.{} }, - .{ .name = "PassthroughNV", .value = 5250, .parameters = &.{} }, - .{ .name = "ViewportRelativeNV", .value = 5252, .parameters = &.{} }, - .{ .name = "SecondaryViewportRelativeNV", .value = 5256, .parameters = &.{.literal_integer} }, - .{ .name = "PerPrimitiveEXT", .value = 5271, .parameters = &.{} }, - .{ .name = "PerViewNV", .value = 5272, .parameters = &.{} }, - .{ .name = "PerTaskNV", .value = 5273, .parameters = &.{} }, - .{ .name = "PerVertexKHR", .value = 5285, .parameters = &.{} }, - .{ .name = "NonUniform", .value = 5300, .parameters = &.{} }, - .{ .name = "RestrictPointer", .value = 5355, .parameters = &.{} }, - .{ .name = "AliasedPointer", .value = 5356, .parameters = &.{} }, - .{ .name = "HitObjectShaderRecordBufferNV", .value = 5386, .parameters = &.{} }, - .{ .name = "BindlessSamplerNV", .value = 5398, .parameters = &.{} }, - .{ .name = "BindlessImageNV", .value = 5399, .parameters = &.{} }, - .{ .name = "BoundSamplerNV", .value = 5400, .parameters = &.{} }, - .{ .name = "BoundImageNV", .value = 5401, .parameters = &.{} }, - .{ .name = "SIMTCallINTEL", .value = 5599, .parameters = &.{.literal_integer} }, - .{ .name = "ReferencedIndirectlyINTEL", .value = 5602, .parameters = &.{} }, - .{ .name = "ClobberINTEL", .value = 5607, .parameters = &.{.literal_string} }, - .{ .name = "SideEffectsINTEL", .value = 5608, .parameters = &.{} }, - .{ .name = "VectorComputeVariableINTEL", .value = 5624, .parameters = &.{} }, - .{ .name = "FuncParamIOKindINTEL", .value = 5625, .parameters = &.{.literal_integer} }, - .{ .name = "VectorComputeFunctionINTEL", .value = 5626, .parameters = &.{} }, - .{ .name = "StackCallINTEL", .value = 5627, .parameters = &.{} }, - .{ .name = "GlobalVariableOffsetINTEL", .value = 5628, .parameters = &.{.literal_integer} }, - .{ .name = "CounterBuffer", .value = 5634, .parameters = &.{.id_ref} }, - .{ .name = "UserSemantic", .value = 5635, .parameters = &.{.literal_string} }, - .{ .name = "UserTypeGOOGLE", .value = 5636, .parameters = &.{.literal_string} }, - .{ .name = "FunctionRoundingModeINTEL", .value = 5822, .parameters = &.{ .literal_integer, .fp_rounding_mode } }, - .{ .name = "FunctionDenormModeINTEL", .value = 5823, .parameters = &.{ .literal_integer, .fp_denorm_mode } }, - .{ .name = "RegisterINTEL", .value = 5825, .parameters = &.{} }, - .{ .name = "MemoryINTEL", .value = 5826, .parameters = &.{.literal_string} }, - .{ .name = "NumbanksINTEL", .value = 5827, .parameters = &.{.literal_integer} }, - .{ .name = "BankwidthINTEL", .value = 5828, .parameters = &.{.literal_integer} }, - .{ .name = "MaxPrivateCopiesINTEL", .value = 5829, .parameters = &.{.literal_integer} }, - .{ .name = "SinglepumpINTEL", .value = 5830, .parameters = &.{} }, - .{ .name = "DoublepumpINTEL", .value = 5831, .parameters = &.{} }, - .{ .name = "MaxReplicatesINTEL", .value = 5832, .parameters = &.{.literal_integer} }, - .{ .name = "SimpleDualPortINTEL", .value = 5833, .parameters = &.{} }, - .{ .name = "MergeINTEL", .value = 5834, .parameters = &.{ .literal_string, .literal_string } }, - .{ .name = "BankBitsINTEL", .value = 5835, .parameters = &.{.literal_integer} }, - .{ .name = "ForcePow2DepthINTEL", .value = 5836, .parameters = &.{.literal_integer} }, - .{ .name = "StridesizeINTEL", .value = 5883, .parameters = &.{.literal_integer} }, - .{ .name = "WordsizeINTEL", .value = 5884, .parameters = &.{.literal_integer} }, - .{ .name = "TrueDualPortINTEL", .value = 5885, .parameters = &.{} }, - .{ .name = "BurstCoalesceINTEL", .value = 5899, .parameters = &.{} }, - .{ .name = "CacheSizeINTEL", .value = 5900, .parameters = &.{.literal_integer} }, - .{ .name = "DontStaticallyCoalesceINTEL", .value = 5901, .parameters = &.{} }, - .{ .name = "PrefetchINTEL", .value = 5902, .parameters = &.{.literal_integer} }, - .{ .name = "StallEnableINTEL", .value = 5905, .parameters = &.{} }, - .{ .name = "FuseLoopsInFunctionINTEL", .value = 5907, .parameters = &.{} }, - .{ .name = "MathOpDSPModeINTEL", .value = 5909, .parameters = &.{ .literal_integer, .literal_integer } }, - .{ .name = "AliasScopeINTEL", .value = 5914, .parameters = &.{.id_ref} }, - .{ .name = "NoAliasINTEL", .value = 5915, .parameters = &.{.id_ref} }, - .{ .name = "InitiationIntervalINTEL", .value = 5917, .parameters = &.{.literal_integer} }, - .{ .name = "MaxConcurrencyINTEL", .value = 5918, .parameters = &.{.literal_integer} }, - .{ .name = "PipelineEnableINTEL", .value = 5919, .parameters = &.{.literal_integer} }, - .{ .name = "BufferLocationINTEL", .value = 5921, .parameters = &.{.literal_integer} }, - .{ .name = "IOPipeStorageINTEL", .value = 5944, .parameters = &.{.literal_integer} }, - .{ .name = "FunctionFloatingPointModeINTEL", .value = 6080, .parameters = &.{ .literal_integer, .fp_operation_mode } }, - .{ .name = "SingleElementVectorINTEL", .value = 6085, .parameters = &.{} }, - .{ .name = "VectorComputeCallableFunctionINTEL", .value = 6087, .parameters = &.{} }, - .{ .name = "MediaBlockIOINTEL", .value = 6140, .parameters = &.{} }, - .{ .name = "StallFreeINTEL", .value = 6151, .parameters = &.{} }, - .{ .name = "FPMaxErrorDecorationINTEL", .value = 6170, .parameters = &.{.literal_float} }, - .{ .name = "LatencyControlLabelINTEL", .value = 6172, .parameters = &.{.literal_integer} }, - .{ .name = "LatencyControlConstraintINTEL", .value = 6173, .parameters = &.{ .literal_integer, .literal_integer, .literal_integer } }, - .{ .name = "ConduitKernelArgumentINTEL", .value = 6175, .parameters = &.{} }, - .{ .name = "RegisterMapKernelArgumentINTEL", .value = 6176, .parameters = &.{} }, - .{ .name = "MMHostInterfaceAddressWidthINTEL", .value = 6177, .parameters = &.{.literal_integer} }, - .{ .name = "MMHostInterfaceDataWidthINTEL", .value = 6178, .parameters = &.{.literal_integer} }, - .{ .name = "MMHostInterfaceLatencyINTEL", .value = 6179, .parameters = &.{.literal_integer} }, - .{ .name = "MMHostInterfaceReadWriteModeINTEL", .value = 6180, .parameters = &.{.access_qualifier} }, - .{ .name = "MMHostInterfaceMaxBurstINTEL", .value = 6181, .parameters = &.{.literal_integer} }, - .{ .name = "MMHostInterfaceWaitRequestINTEL", .value = 6182, .parameters = &.{.literal_integer} }, - .{ .name = "StableKernelArgumentINTEL", .value = 6183, .parameters = &.{} }, - .{ .name = "HostAccessINTEL", .value = 6188, .parameters = &.{ .host_access_qualifier, .literal_string } }, - .{ .name = "InitModeINTEL", .value = 6190, .parameters = &.{.initialization_mode_qualifier} }, - .{ .name = "ImplementInRegisterMapINTEL", .value = 6191, .parameters = &.{.literal_integer} }, - .{ .name = "CacheControlLoadINTEL", .value = 6442, .parameters = &.{ .literal_integer, .load_cache_control } }, - .{ .name = "CacheControlStoreINTEL", .value = 6443, .parameters = &.{ .literal_integer, .store_cache_control } }, - }, - .built_in => &.{ - .{ .name = "Position", .value = 0, .parameters = &.{} }, - .{ .name = "PointSize", .value = 1, .parameters = &.{} }, - .{ .name = "ClipDistance", .value = 3, .parameters = &.{} }, - .{ .name = "CullDistance", .value = 4, .parameters = &.{} }, - .{ .name = "VertexId", .value = 5, .parameters = &.{} }, - .{ .name = "InstanceId", .value = 6, .parameters = &.{} }, - .{ .name = "PrimitiveId", .value = 7, .parameters = &.{} }, - .{ .name = "InvocationId", .value = 8, .parameters = &.{} }, - .{ .name = "Layer", .value = 9, .parameters = &.{} }, - .{ .name = "ViewportIndex", .value = 10, .parameters = &.{} }, - .{ .name = "TessLevelOuter", .value = 11, .parameters = &.{} }, - .{ .name = "TessLevelInner", .value = 12, .parameters = &.{} }, - .{ .name = "TessCoord", .value = 13, .parameters = &.{} }, - .{ .name = "PatchVertices", .value = 14, .parameters = &.{} }, - .{ .name = "FragCoord", .value = 15, .parameters = &.{} }, - .{ .name = "PointCoord", .value = 16, .parameters = &.{} }, - .{ .name = "FrontFacing", .value = 17, .parameters = &.{} }, - .{ .name = "SampleId", .value = 18, .parameters = &.{} }, - .{ .name = "SamplePosition", .value = 19, .parameters = &.{} }, - .{ .name = "SampleMask", .value = 20, .parameters = &.{} }, - .{ .name = "FragDepth", .value = 22, .parameters = &.{} }, - .{ .name = "HelperInvocation", .value = 23, .parameters = &.{} }, - .{ .name = "NumWorkgroups", .value = 24, .parameters = &.{} }, - .{ .name = "WorkgroupSize", .value = 25, .parameters = &.{} }, - .{ .name = "WorkgroupId", .value = 26, .parameters = &.{} }, - .{ .name = "LocalInvocationId", .value = 27, .parameters = &.{} }, - .{ .name = "GlobalInvocationId", .value = 28, .parameters = &.{} }, - .{ .name = "LocalInvocationIndex", .value = 29, .parameters = &.{} }, - .{ .name = "WorkDim", .value = 30, .parameters = &.{} }, - .{ .name = "GlobalSize", .value = 31, .parameters = &.{} }, - .{ .name = "EnqueuedWorkgroupSize", .value = 32, .parameters = &.{} }, - .{ .name = "GlobalOffset", .value = 33, .parameters = &.{} }, - .{ .name = "GlobalLinearId", .value = 34, .parameters = &.{} }, - .{ .name = "SubgroupSize", .value = 36, .parameters = &.{} }, - .{ .name = "SubgroupMaxSize", .value = 37, .parameters = &.{} }, - .{ .name = "NumSubgroups", .value = 38, .parameters = &.{} }, - .{ .name = "NumEnqueuedSubgroups", .value = 39, .parameters = &.{} }, - .{ .name = "SubgroupId", .value = 40, .parameters = &.{} }, - .{ .name = "SubgroupLocalInvocationId", .value = 41, .parameters = &.{} }, - .{ .name = "VertexIndex", .value = 42, .parameters = &.{} }, - .{ .name = "InstanceIndex", .value = 43, .parameters = &.{} }, - .{ .name = "CoreIDARM", .value = 4160, .parameters = &.{} }, - .{ .name = "CoreCountARM", .value = 4161, .parameters = &.{} }, - .{ .name = "CoreMaxIDARM", .value = 4162, .parameters = &.{} }, - .{ .name = "WarpIDARM", .value = 4163, .parameters = &.{} }, - .{ .name = "WarpMaxIDARM", .value = 4164, .parameters = &.{} }, - .{ .name = "SubgroupEqMask", .value = 4416, .parameters = &.{} }, - .{ .name = "SubgroupGeMask", .value = 4417, .parameters = &.{} }, - .{ .name = "SubgroupGtMask", .value = 4418, .parameters = &.{} }, - .{ .name = "SubgroupLeMask", .value = 4419, .parameters = &.{} }, - .{ .name = "SubgroupLtMask", .value = 4420, .parameters = &.{} }, - .{ .name = "BaseVertex", .value = 4424, .parameters = &.{} }, - .{ .name = "BaseInstance", .value = 4425, .parameters = &.{} }, - .{ .name = "DrawIndex", .value = 4426, .parameters = &.{} }, - .{ .name = "PrimitiveShadingRateKHR", .value = 4432, .parameters = &.{} }, - .{ .name = "DeviceIndex", .value = 4438, .parameters = &.{} }, - .{ .name = "ViewIndex", .value = 4440, .parameters = &.{} }, - .{ .name = "ShadingRateKHR", .value = 4444, .parameters = &.{} }, - .{ .name = "TileOffsetQCOM", .value = 4492, .parameters = &.{} }, - .{ .name = "TileDimensionQCOM", .value = 4493, .parameters = &.{} }, - .{ .name = "TileApronSizeQCOM", .value = 4494, .parameters = &.{} }, - .{ .name = "BaryCoordNoPerspAMD", .value = 4992, .parameters = &.{} }, - .{ .name = "BaryCoordNoPerspCentroidAMD", .value = 4993, .parameters = &.{} }, - .{ .name = "BaryCoordNoPerspSampleAMD", .value = 4994, .parameters = &.{} }, - .{ .name = "BaryCoordSmoothAMD", .value = 4995, .parameters = &.{} }, - .{ .name = "BaryCoordSmoothCentroidAMD", .value = 4996, .parameters = &.{} }, - .{ .name = "BaryCoordSmoothSampleAMD", .value = 4997, .parameters = &.{} }, - .{ .name = "BaryCoordPullModelAMD", .value = 4998, .parameters = &.{} }, - .{ .name = "FragStencilRefEXT", .value = 5014, .parameters = &.{} }, - .{ .name = "RemainingRecursionLevelsAMDX", .value = 5021, .parameters = &.{} }, - .{ .name = "ShaderIndexAMDX", .value = 5073, .parameters = &.{} }, - .{ .name = "ViewportMaskNV", .value = 5253, .parameters = &.{} }, - .{ .name = "SecondaryPositionNV", .value = 5257, .parameters = &.{} }, - .{ .name = "SecondaryViewportMaskNV", .value = 5258, .parameters = &.{} }, - .{ .name = "PositionPerViewNV", .value = 5261, .parameters = &.{} }, - .{ .name = "ViewportMaskPerViewNV", .value = 5262, .parameters = &.{} }, - .{ .name = "FullyCoveredEXT", .value = 5264, .parameters = &.{} }, - .{ .name = "TaskCountNV", .value = 5274, .parameters = &.{} }, - .{ .name = "PrimitiveCountNV", .value = 5275, .parameters = &.{} }, - .{ .name = "PrimitiveIndicesNV", .value = 5276, .parameters = &.{} }, - .{ .name = "ClipDistancePerViewNV", .value = 5277, .parameters = &.{} }, - .{ .name = "CullDistancePerViewNV", .value = 5278, .parameters = &.{} }, - .{ .name = "LayerPerViewNV", .value = 5279, .parameters = &.{} }, - .{ .name = "MeshViewCountNV", .value = 5280, .parameters = &.{} }, - .{ .name = "MeshViewIndicesNV", .value = 5281, .parameters = &.{} }, - .{ .name = "BaryCoordKHR", .value = 5286, .parameters = &.{} }, - .{ .name = "BaryCoordNoPerspKHR", .value = 5287, .parameters = &.{} }, - .{ .name = "FragSizeEXT", .value = 5292, .parameters = &.{} }, - .{ .name = "FragInvocationCountEXT", .value = 5293, .parameters = &.{} }, - .{ .name = "PrimitivePointIndicesEXT", .value = 5294, .parameters = &.{} }, - .{ .name = "PrimitiveLineIndicesEXT", .value = 5295, .parameters = &.{} }, - .{ .name = "PrimitiveTriangleIndicesEXT", .value = 5296, .parameters = &.{} }, - .{ .name = "CullPrimitiveEXT", .value = 5299, .parameters = &.{} }, - .{ .name = "LaunchIdKHR", .value = 5319, .parameters = &.{} }, - .{ .name = "LaunchSizeKHR", .value = 5320, .parameters = &.{} }, - .{ .name = "WorldRayOriginKHR", .value = 5321, .parameters = &.{} }, - .{ .name = "WorldRayDirectionKHR", .value = 5322, .parameters = &.{} }, - .{ .name = "ObjectRayOriginKHR", .value = 5323, .parameters = &.{} }, - .{ .name = "ObjectRayDirectionKHR", .value = 5324, .parameters = &.{} }, - .{ .name = "RayTminKHR", .value = 5325, .parameters = &.{} }, - .{ .name = "RayTmaxKHR", .value = 5326, .parameters = &.{} }, - .{ .name = "InstanceCustomIndexKHR", .value = 5327, .parameters = &.{} }, - .{ .name = "ObjectToWorldKHR", .value = 5330, .parameters = &.{} }, - .{ .name = "WorldToObjectKHR", .value = 5331, .parameters = &.{} }, - .{ .name = "HitTNV", .value = 5332, .parameters = &.{} }, - .{ .name = "HitKindKHR", .value = 5333, .parameters = &.{} }, - .{ .name = "CurrentRayTimeNV", .value = 5334, .parameters = &.{} }, - .{ .name = "HitTriangleVertexPositionsKHR", .value = 5335, .parameters = &.{} }, - .{ .name = "HitMicroTriangleVertexPositionsNV", .value = 5337, .parameters = &.{} }, - .{ .name = "HitMicroTriangleVertexBarycentricsNV", .value = 5344, .parameters = &.{} }, - .{ .name = "IncomingRayFlagsKHR", .value = 5351, .parameters = &.{} }, - .{ .name = "RayGeometryIndexKHR", .value = 5352, .parameters = &.{} }, - .{ .name = "HitIsSphereNV", .value = 5359, .parameters = &.{} }, - .{ .name = "HitIsLSSNV", .value = 5360, .parameters = &.{} }, - .{ .name = "HitSpherePositionNV", .value = 5361, .parameters = &.{} }, - .{ .name = "WarpsPerSMNV", .value = 5374, .parameters = &.{} }, - .{ .name = "SMCountNV", .value = 5375, .parameters = &.{} }, - .{ .name = "WarpIDNV", .value = 5376, .parameters = &.{} }, - .{ .name = "SMIDNV", .value = 5377, .parameters = &.{} }, - .{ .name = "HitLSSPositionsNV", .value = 5396, .parameters = &.{} }, - .{ .name = "HitKindFrontFacingMicroTriangleNV", .value = 5405, .parameters = &.{} }, - .{ .name = "HitKindBackFacingMicroTriangleNV", .value = 5406, .parameters = &.{} }, - .{ .name = "HitSphereRadiusNV", .value = 5420, .parameters = &.{} }, - .{ .name = "HitLSSRadiiNV", .value = 5421, .parameters = &.{} }, - .{ .name = "ClusterIDNV", .value = 5436, .parameters = &.{} }, - .{ .name = "CullMaskKHR", .value = 6021, .parameters = &.{} }, - }, - .scope => &.{ - .{ .name = "CrossDevice", .value = 0, .parameters = &.{} }, - .{ .name = "Device", .value = 1, .parameters = &.{} }, - .{ .name = "Workgroup", .value = 2, .parameters = &.{} }, - .{ .name = "Subgroup", .value = 3, .parameters = &.{} }, - .{ .name = "Invocation", .value = 4, .parameters = &.{} }, - .{ .name = "QueueFamily", .value = 5, .parameters = &.{} }, - .{ .name = "ShaderCallKHR", .value = 6, .parameters = &.{} }, - }, - .group_operation => &.{ - .{ .name = "Reduce", .value = 0, .parameters = &.{} }, - .{ .name = "InclusiveScan", .value = 1, .parameters = &.{} }, - .{ .name = "ExclusiveScan", .value = 2, .parameters = &.{} }, - .{ .name = "ClusteredReduce", .value = 3, .parameters = &.{} }, - .{ .name = "PartitionedReduceNV", .value = 6, .parameters = &.{} }, - .{ .name = "PartitionedInclusiveScanNV", .value = 7, .parameters = &.{} }, - .{ .name = "PartitionedExclusiveScanNV", .value = 8, .parameters = &.{} }, - }, - .kernel_enqueue_flags => &.{ - .{ .name = "NoWait", .value = 0, .parameters = &.{} }, - .{ .name = "WaitKernel", .value = 1, .parameters = &.{} }, - .{ .name = "WaitWorkGroup", .value = 2, .parameters = &.{} }, - }, - .capability => &.{ - .{ .name = "Matrix", .value = 0, .parameters = &.{} }, - .{ .name = "Shader", .value = 1, .parameters = &.{} }, - .{ .name = "Geometry", .value = 2, .parameters = &.{} }, - .{ .name = "Tessellation", .value = 3, .parameters = &.{} }, - .{ .name = "Addresses", .value = 4, .parameters = &.{} }, - .{ .name = "Linkage", .value = 5, .parameters = &.{} }, - .{ .name = "Kernel", .value = 6, .parameters = &.{} }, - .{ .name = "Vector16", .value = 7, .parameters = &.{} }, - .{ .name = "Float16Buffer", .value = 8, .parameters = &.{} }, - .{ .name = "Float16", .value = 9, .parameters = &.{} }, - .{ .name = "Float64", .value = 10, .parameters = &.{} }, - .{ .name = "Int64", .value = 11, .parameters = &.{} }, - .{ .name = "Int64Atomics", .value = 12, .parameters = &.{} }, - .{ .name = "ImageBasic", .value = 13, .parameters = &.{} }, - .{ .name = "ImageReadWrite", .value = 14, .parameters = &.{} }, - .{ .name = "ImageMipmap", .value = 15, .parameters = &.{} }, - .{ .name = "Pipes", .value = 17, .parameters = &.{} }, - .{ .name = "Groups", .value = 18, .parameters = &.{} }, - .{ .name = "DeviceEnqueue", .value = 19, .parameters = &.{} }, - .{ .name = "LiteralSampler", .value = 20, .parameters = &.{} }, - .{ .name = "AtomicStorage", .value = 21, .parameters = &.{} }, - .{ .name = "Int16", .value = 22, .parameters = &.{} }, - .{ .name = "TessellationPointSize", .value = 23, .parameters = &.{} }, - .{ .name = "GeometryPointSize", .value = 24, .parameters = &.{} }, - .{ .name = "ImageGatherExtended", .value = 25, .parameters = &.{} }, - .{ .name = "StorageImageMultisample", .value = 27, .parameters = &.{} }, - .{ .name = "UniformBufferArrayDynamicIndexing", .value = 28, .parameters = &.{} }, - .{ .name = "SampledImageArrayDynamicIndexing", .value = 29, .parameters = &.{} }, - .{ .name = "StorageBufferArrayDynamicIndexing", .value = 30, .parameters = &.{} }, - .{ .name = "StorageImageArrayDynamicIndexing", .value = 31, .parameters = &.{} }, - .{ .name = "ClipDistance", .value = 32, .parameters = &.{} }, - .{ .name = "CullDistance", .value = 33, .parameters = &.{} }, - .{ .name = "ImageCubeArray", .value = 34, .parameters = &.{} }, - .{ .name = "SampleRateShading", .value = 35, .parameters = &.{} }, - .{ .name = "ImageRect", .value = 36, .parameters = &.{} }, - .{ .name = "SampledRect", .value = 37, .parameters = &.{} }, - .{ .name = "GenericPointer", .value = 38, .parameters = &.{} }, - .{ .name = "Int8", .value = 39, .parameters = &.{} }, - .{ .name = "InputAttachment", .value = 40, .parameters = &.{} }, - .{ .name = "SparseResidency", .value = 41, .parameters = &.{} }, - .{ .name = "MinLod", .value = 42, .parameters = &.{} }, - .{ .name = "Sampled1D", .value = 43, .parameters = &.{} }, - .{ .name = "Image1D", .value = 44, .parameters = &.{} }, - .{ .name = "SampledCubeArray", .value = 45, .parameters = &.{} }, - .{ .name = "SampledBuffer", .value = 46, .parameters = &.{} }, - .{ .name = "ImageBuffer", .value = 47, .parameters = &.{} }, - .{ .name = "ImageMSArray", .value = 48, .parameters = &.{} }, - .{ .name = "StorageImageExtendedFormats", .value = 49, .parameters = &.{} }, - .{ .name = "ImageQuery", .value = 50, .parameters = &.{} }, - .{ .name = "DerivativeControl", .value = 51, .parameters = &.{} }, - .{ .name = "InterpolationFunction", .value = 52, .parameters = &.{} }, - .{ .name = "TransformFeedback", .value = 53, .parameters = &.{} }, - .{ .name = "GeometryStreams", .value = 54, .parameters = &.{} }, - .{ .name = "StorageImageReadWithoutFormat", .value = 55, .parameters = &.{} }, - .{ .name = "StorageImageWriteWithoutFormat", .value = 56, .parameters = &.{} }, - .{ .name = "MultiViewport", .value = 57, .parameters = &.{} }, - .{ .name = "SubgroupDispatch", .value = 58, .parameters = &.{} }, - .{ .name = "NamedBarrier", .value = 59, .parameters = &.{} }, - .{ .name = "PipeStorage", .value = 60, .parameters = &.{} }, - .{ .name = "GroupNonUniform", .value = 61, .parameters = &.{} }, - .{ .name = "GroupNonUniformVote", .value = 62, .parameters = &.{} }, - .{ .name = "GroupNonUniformArithmetic", .value = 63, .parameters = &.{} }, - .{ .name = "GroupNonUniformBallot", .value = 64, .parameters = &.{} }, - .{ .name = "GroupNonUniformShuffle", .value = 65, .parameters = &.{} }, - .{ .name = "GroupNonUniformShuffleRelative", .value = 66, .parameters = &.{} }, - .{ .name = "GroupNonUniformClustered", .value = 67, .parameters = &.{} }, - .{ .name = "GroupNonUniformQuad", .value = 68, .parameters = &.{} }, - .{ .name = "ShaderLayer", .value = 69, .parameters = &.{} }, - .{ .name = "ShaderViewportIndex", .value = 70, .parameters = &.{} }, - .{ .name = "UniformDecoration", .value = 71, .parameters = &.{} }, - .{ .name = "CoreBuiltinsARM", .value = 4165, .parameters = &.{} }, - .{ .name = "TileImageColorReadAccessEXT", .value = 4166, .parameters = &.{} }, - .{ .name = "TileImageDepthReadAccessEXT", .value = 4167, .parameters = &.{} }, - .{ .name = "TileImageStencilReadAccessEXT", .value = 4168, .parameters = &.{} }, - .{ .name = "TensorsARM", .value = 4174, .parameters = &.{} }, - .{ .name = "StorageTensorArrayDynamicIndexingARM", .value = 4175, .parameters = &.{} }, - .{ .name = "StorageTensorArrayNonUniformIndexingARM", .value = 4176, .parameters = &.{} }, - .{ .name = "GraphARM", .value = 4191, .parameters = &.{} }, - .{ .name = "CooperativeMatrixLayoutsARM", .value = 4201, .parameters = &.{} }, - .{ .name = "Float8EXT", .value = 4212, .parameters = &.{} }, - .{ .name = "Float8CooperativeMatrixEXT", .value = 4213, .parameters = &.{} }, - .{ .name = "FragmentShadingRateKHR", .value = 4422, .parameters = &.{} }, - .{ .name = "SubgroupBallotKHR", .value = 4423, .parameters = &.{} }, - .{ .name = "DrawParameters", .value = 4427, .parameters = &.{} }, - .{ .name = "WorkgroupMemoryExplicitLayoutKHR", .value = 4428, .parameters = &.{} }, - .{ .name = "WorkgroupMemoryExplicitLayout8BitAccessKHR", .value = 4429, .parameters = &.{} }, - .{ .name = "WorkgroupMemoryExplicitLayout16BitAccessKHR", .value = 4430, .parameters = &.{} }, - .{ .name = "SubgroupVoteKHR", .value = 4431, .parameters = &.{} }, - .{ .name = "StorageBuffer16BitAccess", .value = 4433, .parameters = &.{} }, - .{ .name = "UniformAndStorageBuffer16BitAccess", .value = 4434, .parameters = &.{} }, - .{ .name = "StoragePushConstant16", .value = 4435, .parameters = &.{} }, - .{ .name = "StorageInputOutput16", .value = 4436, .parameters = &.{} }, - .{ .name = "DeviceGroup", .value = 4437, .parameters = &.{} }, - .{ .name = "MultiView", .value = 4439, .parameters = &.{} }, - .{ .name = "VariablePointersStorageBuffer", .value = 4441, .parameters = &.{} }, - .{ .name = "VariablePointers", .value = 4442, .parameters = &.{} }, - .{ .name = "AtomicStorageOps", .value = 4445, .parameters = &.{} }, - .{ .name = "SampleMaskPostDepthCoverage", .value = 4447, .parameters = &.{} }, - .{ .name = "StorageBuffer8BitAccess", .value = 4448, .parameters = &.{} }, - .{ .name = "UniformAndStorageBuffer8BitAccess", .value = 4449, .parameters = &.{} }, - .{ .name = "StoragePushConstant8", .value = 4450, .parameters = &.{} }, - .{ .name = "DenormPreserve", .value = 4464, .parameters = &.{} }, - .{ .name = "DenormFlushToZero", .value = 4465, .parameters = &.{} }, - .{ .name = "SignedZeroInfNanPreserve", .value = 4466, .parameters = &.{} }, - .{ .name = "RoundingModeRTE", .value = 4467, .parameters = &.{} }, - .{ .name = "RoundingModeRTZ", .value = 4468, .parameters = &.{} }, - .{ .name = "RayQueryProvisionalKHR", .value = 4471, .parameters = &.{} }, - .{ .name = "RayQueryKHR", .value = 4472, .parameters = &.{} }, - .{ .name = "UntypedPointersKHR", .value = 4473, .parameters = &.{} }, - .{ .name = "RayTraversalPrimitiveCullingKHR", .value = 4478, .parameters = &.{} }, - .{ .name = "RayTracingKHR", .value = 4479, .parameters = &.{} }, - .{ .name = "TextureSampleWeightedQCOM", .value = 4484, .parameters = &.{} }, - .{ .name = "TextureBoxFilterQCOM", .value = 4485, .parameters = &.{} }, - .{ .name = "TextureBlockMatchQCOM", .value = 4486, .parameters = &.{} }, - .{ .name = "TileShadingQCOM", .value = 4495, .parameters = &.{} }, - .{ .name = "TextureBlockMatch2QCOM", .value = 4498, .parameters = &.{} }, - .{ .name = "Float16ImageAMD", .value = 5008, .parameters = &.{} }, - .{ .name = "ImageGatherBiasLodAMD", .value = 5009, .parameters = &.{} }, - .{ .name = "FragmentMaskAMD", .value = 5010, .parameters = &.{} }, - .{ .name = "StencilExportEXT", .value = 5013, .parameters = &.{} }, - .{ .name = "ImageReadWriteLodAMD", .value = 5015, .parameters = &.{} }, - .{ .name = "Int64ImageEXT", .value = 5016, .parameters = &.{} }, - .{ .name = "ShaderClockKHR", .value = 5055, .parameters = &.{} }, - .{ .name = "ShaderEnqueueAMDX", .value = 5067, .parameters = &.{} }, - .{ .name = "QuadControlKHR", .value = 5087, .parameters = &.{} }, - .{ .name = "Int4TypeINTEL", .value = 5112, .parameters = &.{} }, - .{ .name = "Int4CooperativeMatrixINTEL", .value = 5114, .parameters = &.{} }, - .{ .name = "BFloat16TypeKHR", .value = 5116, .parameters = &.{} }, - .{ .name = "BFloat16DotProductKHR", .value = 5117, .parameters = &.{} }, - .{ .name = "BFloat16CooperativeMatrixKHR", .value = 5118, .parameters = &.{} }, - .{ .name = "SampleMaskOverrideCoverageNV", .value = 5249, .parameters = &.{} }, - .{ .name = "GeometryShaderPassthroughNV", .value = 5251, .parameters = &.{} }, - .{ .name = "ShaderViewportIndexLayerEXT", .value = 5254, .parameters = &.{} }, - .{ .name = "ShaderViewportMaskNV", .value = 5255, .parameters = &.{} }, - .{ .name = "ShaderStereoViewNV", .value = 5259, .parameters = &.{} }, - .{ .name = "PerViewAttributesNV", .value = 5260, .parameters = &.{} }, - .{ .name = "FragmentFullyCoveredEXT", .value = 5265, .parameters = &.{} }, - .{ .name = "MeshShadingNV", .value = 5266, .parameters = &.{} }, - .{ .name = "ImageFootprintNV", .value = 5282, .parameters = &.{} }, - .{ .name = "MeshShadingEXT", .value = 5283, .parameters = &.{} }, - .{ .name = "FragmentBarycentricKHR", .value = 5284, .parameters = &.{} }, - .{ .name = "ComputeDerivativeGroupQuadsKHR", .value = 5288, .parameters = &.{} }, - .{ .name = "FragmentDensityEXT", .value = 5291, .parameters = &.{} }, - .{ .name = "GroupNonUniformPartitionedNV", .value = 5297, .parameters = &.{} }, - .{ .name = "ShaderNonUniform", .value = 5301, .parameters = &.{} }, - .{ .name = "RuntimeDescriptorArray", .value = 5302, .parameters = &.{} }, - .{ .name = "InputAttachmentArrayDynamicIndexing", .value = 5303, .parameters = &.{} }, - .{ .name = "UniformTexelBufferArrayDynamicIndexing", .value = 5304, .parameters = &.{} }, - .{ .name = "StorageTexelBufferArrayDynamicIndexing", .value = 5305, .parameters = &.{} }, - .{ .name = "UniformBufferArrayNonUniformIndexing", .value = 5306, .parameters = &.{} }, - .{ .name = "SampledImageArrayNonUniformIndexing", .value = 5307, .parameters = &.{} }, - .{ .name = "StorageBufferArrayNonUniformIndexing", .value = 5308, .parameters = &.{} }, - .{ .name = "StorageImageArrayNonUniformIndexing", .value = 5309, .parameters = &.{} }, - .{ .name = "InputAttachmentArrayNonUniformIndexing", .value = 5310, .parameters = &.{} }, - .{ .name = "UniformTexelBufferArrayNonUniformIndexing", .value = 5311, .parameters = &.{} }, - .{ .name = "StorageTexelBufferArrayNonUniformIndexing", .value = 5312, .parameters = &.{} }, - .{ .name = "RayTracingPositionFetchKHR", .value = 5336, .parameters = &.{} }, - .{ .name = "RayTracingNV", .value = 5340, .parameters = &.{} }, - .{ .name = "RayTracingMotionBlurNV", .value = 5341, .parameters = &.{} }, - .{ .name = "VulkanMemoryModel", .value = 5345, .parameters = &.{} }, - .{ .name = "VulkanMemoryModelDeviceScope", .value = 5346, .parameters = &.{} }, - .{ .name = "PhysicalStorageBufferAddresses", .value = 5347, .parameters = &.{} }, - .{ .name = "ComputeDerivativeGroupLinearKHR", .value = 5350, .parameters = &.{} }, - .{ .name = "RayTracingProvisionalKHR", .value = 5353, .parameters = &.{} }, - .{ .name = "CooperativeMatrixNV", .value = 5357, .parameters = &.{} }, - .{ .name = "FragmentShaderSampleInterlockEXT", .value = 5363, .parameters = &.{} }, - .{ .name = "FragmentShaderShadingRateInterlockEXT", .value = 5372, .parameters = &.{} }, - .{ .name = "ShaderSMBuiltinsNV", .value = 5373, .parameters = &.{} }, - .{ .name = "FragmentShaderPixelInterlockEXT", .value = 5378, .parameters = &.{} }, - .{ .name = "DemoteToHelperInvocation", .value = 5379, .parameters = &.{} }, - .{ .name = "DisplacementMicromapNV", .value = 5380, .parameters = &.{} }, - .{ .name = "RayTracingOpacityMicromapEXT", .value = 5381, .parameters = &.{} }, - .{ .name = "ShaderInvocationReorderNV", .value = 5383, .parameters = &.{} }, - .{ .name = "BindlessTextureNV", .value = 5390, .parameters = &.{} }, - .{ .name = "RayQueryPositionFetchKHR", .value = 5391, .parameters = &.{} }, - .{ .name = "CooperativeVectorNV", .value = 5394, .parameters = &.{} }, - .{ .name = "AtomicFloat16VectorNV", .value = 5404, .parameters = &.{} }, - .{ .name = "RayTracingDisplacementMicromapNV", .value = 5409, .parameters = &.{} }, - .{ .name = "RawAccessChainsNV", .value = 5414, .parameters = &.{} }, - .{ .name = "RayTracingSpheresGeometryNV", .value = 5418, .parameters = &.{} }, - .{ .name = "RayTracingLinearSweptSpheresGeometryNV", .value = 5419, .parameters = &.{} }, - .{ .name = "CooperativeMatrixReductionsNV", .value = 5430, .parameters = &.{} }, - .{ .name = "CooperativeMatrixConversionsNV", .value = 5431, .parameters = &.{} }, - .{ .name = "CooperativeMatrixPerElementOperationsNV", .value = 5432, .parameters = &.{} }, - .{ .name = "CooperativeMatrixTensorAddressingNV", .value = 5433, .parameters = &.{} }, - .{ .name = "CooperativeMatrixBlockLoadsNV", .value = 5434, .parameters = &.{} }, - .{ .name = "CooperativeVectorTrainingNV", .value = 5435, .parameters = &.{} }, - .{ .name = "RayTracingClusterAccelerationStructureNV", .value = 5437, .parameters = &.{} }, - .{ .name = "TensorAddressingNV", .value = 5439, .parameters = &.{} }, - .{ .name = "SubgroupShuffleINTEL", .value = 5568, .parameters = &.{} }, - .{ .name = "SubgroupBufferBlockIOINTEL", .value = 5569, .parameters = &.{} }, - .{ .name = "SubgroupImageBlockIOINTEL", .value = 5570, .parameters = &.{} }, - .{ .name = "SubgroupImageMediaBlockIOINTEL", .value = 5579, .parameters = &.{} }, - .{ .name = "RoundToInfinityINTEL", .value = 5582, .parameters = &.{} }, - .{ .name = "FloatingPointModeINTEL", .value = 5583, .parameters = &.{} }, - .{ .name = "IntegerFunctions2INTEL", .value = 5584, .parameters = &.{} }, - .{ .name = "FunctionPointersINTEL", .value = 5603, .parameters = &.{} }, - .{ .name = "IndirectReferencesINTEL", .value = 5604, .parameters = &.{} }, - .{ .name = "AsmINTEL", .value = 5606, .parameters = &.{} }, - .{ .name = "AtomicFloat32MinMaxEXT", .value = 5612, .parameters = &.{} }, - .{ .name = "AtomicFloat64MinMaxEXT", .value = 5613, .parameters = &.{} }, - .{ .name = "AtomicFloat16MinMaxEXT", .value = 5616, .parameters = &.{} }, - .{ .name = "VectorComputeINTEL", .value = 5617, .parameters = &.{} }, - .{ .name = "VectorAnyINTEL", .value = 5619, .parameters = &.{} }, - .{ .name = "ExpectAssumeKHR", .value = 5629, .parameters = &.{} }, - .{ .name = "SubgroupAvcMotionEstimationINTEL", .value = 5696, .parameters = &.{} }, - .{ .name = "SubgroupAvcMotionEstimationIntraINTEL", .value = 5697, .parameters = &.{} }, - .{ .name = "SubgroupAvcMotionEstimationChromaINTEL", .value = 5698, .parameters = &.{} }, - .{ .name = "VariableLengthArrayINTEL", .value = 5817, .parameters = &.{} }, - .{ .name = "FunctionFloatControlINTEL", .value = 5821, .parameters = &.{} }, - .{ .name = "FPGAMemoryAttributesINTEL", .value = 5824, .parameters = &.{} }, - .{ .name = "FPFastMathModeINTEL", .value = 5837, .parameters = &.{} }, - .{ .name = "ArbitraryPrecisionIntegersINTEL", .value = 5844, .parameters = &.{} }, - .{ .name = "ArbitraryPrecisionFloatingPointINTEL", .value = 5845, .parameters = &.{} }, - .{ .name = "UnstructuredLoopControlsINTEL", .value = 5886, .parameters = &.{} }, - .{ .name = "FPGALoopControlsINTEL", .value = 5888, .parameters = &.{} }, - .{ .name = "KernelAttributesINTEL", .value = 5892, .parameters = &.{} }, - .{ .name = "FPGAKernelAttributesINTEL", .value = 5897, .parameters = &.{} }, - .{ .name = "FPGAMemoryAccessesINTEL", .value = 5898, .parameters = &.{} }, - .{ .name = "FPGAClusterAttributesINTEL", .value = 5904, .parameters = &.{} }, - .{ .name = "LoopFuseINTEL", .value = 5906, .parameters = &.{} }, - .{ .name = "FPGADSPControlINTEL", .value = 5908, .parameters = &.{} }, - .{ .name = "MemoryAccessAliasingINTEL", .value = 5910, .parameters = &.{} }, - .{ .name = "FPGAInvocationPipeliningAttributesINTEL", .value = 5916, .parameters = &.{} }, - .{ .name = "FPGABufferLocationINTEL", .value = 5920, .parameters = &.{} }, - .{ .name = "ArbitraryPrecisionFixedPointINTEL", .value = 5922, .parameters = &.{} }, - .{ .name = "USMStorageClassesINTEL", .value = 5935, .parameters = &.{} }, - .{ .name = "RuntimeAlignedAttributeINTEL", .value = 5939, .parameters = &.{} }, - .{ .name = "IOPipesINTEL", .value = 5943, .parameters = &.{} }, - .{ .name = "BlockingPipesINTEL", .value = 5945, .parameters = &.{} }, - .{ .name = "FPGARegINTEL", .value = 5948, .parameters = &.{} }, - .{ .name = "DotProductInputAll", .value = 6016, .parameters = &.{} }, - .{ .name = "DotProductInput4x8Bit", .value = 6017, .parameters = &.{} }, - .{ .name = "DotProductInput4x8BitPacked", .value = 6018, .parameters = &.{} }, - .{ .name = "DotProduct", .value = 6019, .parameters = &.{} }, - .{ .name = "RayCullMaskKHR", .value = 6020, .parameters = &.{} }, - .{ .name = "CooperativeMatrixKHR", .value = 6022, .parameters = &.{} }, - .{ .name = "ReplicatedCompositesEXT", .value = 6024, .parameters = &.{} }, - .{ .name = "BitInstructions", .value = 6025, .parameters = &.{} }, - .{ .name = "GroupNonUniformRotateKHR", .value = 6026, .parameters = &.{} }, - .{ .name = "FloatControls2", .value = 6029, .parameters = &.{} }, - .{ .name = "AtomicFloat32AddEXT", .value = 6033, .parameters = &.{} }, - .{ .name = "AtomicFloat64AddEXT", .value = 6034, .parameters = &.{} }, - .{ .name = "LongCompositesINTEL", .value = 6089, .parameters = &.{} }, - .{ .name = "OptNoneEXT", .value = 6094, .parameters = &.{} }, - .{ .name = "AtomicFloat16AddEXT", .value = 6095, .parameters = &.{} }, - .{ .name = "DebugInfoModuleINTEL", .value = 6114, .parameters = &.{} }, - .{ .name = "BFloat16ConversionINTEL", .value = 6115, .parameters = &.{} }, - .{ .name = "SplitBarrierINTEL", .value = 6141, .parameters = &.{} }, - .{ .name = "ArithmeticFenceEXT", .value = 6144, .parameters = &.{} }, - .{ .name = "FPGAClusterAttributesV2INTEL", .value = 6150, .parameters = &.{} }, - .{ .name = "FPGAKernelAttributesv2INTEL", .value = 6161, .parameters = &.{} }, - .{ .name = "TaskSequenceINTEL", .value = 6162, .parameters = &.{} }, - .{ .name = "FPMaxErrorINTEL", .value = 6169, .parameters = &.{} }, - .{ .name = "FPGALatencyControlINTEL", .value = 6171, .parameters = &.{} }, - .{ .name = "FPGAArgumentInterfacesINTEL", .value = 6174, .parameters = &.{} }, - .{ .name = "GlobalVariableHostAccessINTEL", .value = 6187, .parameters = &.{} }, - .{ .name = "GlobalVariableFPGADecorationsINTEL", .value = 6189, .parameters = &.{} }, - .{ .name = "SubgroupBufferPrefetchINTEL", .value = 6220, .parameters = &.{} }, - .{ .name = "Subgroup2DBlockIOINTEL", .value = 6228, .parameters = &.{} }, - .{ .name = "Subgroup2DBlockTransformINTEL", .value = 6229, .parameters = &.{} }, - .{ .name = "Subgroup2DBlockTransposeINTEL", .value = 6230, .parameters = &.{} }, - .{ .name = "SubgroupMatrixMultiplyAccumulateINTEL", .value = 6236, .parameters = &.{} }, - .{ .name = "TernaryBitwiseFunctionINTEL", .value = 6241, .parameters = &.{} }, - .{ .name = "GroupUniformArithmeticKHR", .value = 6400, .parameters = &.{} }, - .{ .name = "TensorFloat32RoundingINTEL", .value = 6425, .parameters = &.{} }, - .{ .name = "MaskedGatherScatterINTEL", .value = 6427, .parameters = &.{} }, - .{ .name = "CacheControlsINTEL", .value = 6441, .parameters = &.{} }, - .{ .name = "RegisterLimitsINTEL", .value = 6460, .parameters = &.{} }, - .{ .name = "BindlessImagesINTEL", .value = 6528, .parameters = &.{} }, - }, - .ray_query_intersection => &.{ - .{ .name = "RayQueryCandidateIntersectionKHR", .value = 0, .parameters = &.{} }, - .{ .name = "RayQueryCommittedIntersectionKHR", .value = 1, .parameters = &.{} }, - }, - .ray_query_committed_intersection_type => &.{ - .{ .name = "RayQueryCommittedIntersectionNoneKHR", .value = 0, .parameters = &.{} }, - .{ .name = "RayQueryCommittedIntersectionTriangleKHR", .value = 1, .parameters = &.{} }, - .{ .name = "RayQueryCommittedIntersectionGeneratedKHR", .value = 2, .parameters = &.{} }, - }, - .ray_query_candidate_intersection_type => &.{ - .{ .name = "RayQueryCandidateIntersectionTriangleKHR", .value = 0, .parameters = &.{} }, - .{ .name = "RayQueryCandidateIntersectionAABBKHR", .value = 1, .parameters = &.{} }, - }, - .packed_vector_format => &.{ - .{ .name = "PackedVectorFormat4x8Bit", .value = 0, .parameters = &.{} }, - }, - .cooperative_matrix_operands => &.{ - .{ .name = "NoneKHR", .value = 0x0000, .parameters = &.{} }, - .{ .name = "MatrixASignedComponentsKHR", .value = 0x0001, .parameters = &.{} }, - .{ .name = "MatrixBSignedComponentsKHR", .value = 0x0002, .parameters = &.{} }, - .{ .name = "MatrixCSignedComponentsKHR", .value = 0x0004, .parameters = &.{} }, - .{ .name = "MatrixResultSignedComponentsKHR", .value = 0x0008, .parameters = &.{} }, - .{ .name = "SaturatingAccumulationKHR", .value = 0x0010, .parameters = &.{} }, - }, - .cooperative_matrix_layout => &.{ - .{ .name = "RowMajorKHR", .value = 0, .parameters = &.{} }, - .{ .name = "ColumnMajorKHR", .value = 1, .parameters = &.{} }, - .{ .name = "RowBlockedInterleavedARM", .value = 4202, .parameters = &.{} }, - .{ .name = "ColumnBlockedInterleavedARM", .value = 4203, .parameters = &.{} }, - }, - .cooperative_matrix_use => &.{ - .{ .name = "MatrixAKHR", .value = 0, .parameters = &.{} }, - .{ .name = "MatrixBKHR", .value = 1, .parameters = &.{} }, - .{ .name = "MatrixAccumulatorKHR", .value = 2, .parameters = &.{} }, - }, - .cooperative_matrix_reduce => &.{ - .{ .name = "Row", .value = 0x0001, .parameters = &.{} }, - .{ .name = "Column", .value = 0x0002, .parameters = &.{} }, - .{ .name = "2x2", .value = 0x0004, .parameters = &.{} }, - }, - .tensor_clamp_mode => &.{ - .{ .name = "Undefined", .value = 0, .parameters = &.{} }, - .{ .name = "Constant", .value = 1, .parameters = &.{} }, - .{ .name = "ClampToEdge", .value = 2, .parameters = &.{} }, - .{ .name = "Repeat", .value = 3, .parameters = &.{} }, - .{ .name = "RepeatMirrored", .value = 4, .parameters = &.{} }, - }, - .tensor_addressing_operands => &.{ - .{ .name = "TensorView", .value = 0x0001, .parameters = &.{.id_ref} }, - .{ .name = "DecodeFunc", .value = 0x0002, .parameters = &.{.id_ref} }, - }, - .initialization_mode_qualifier => &.{ - .{ .name = "InitOnDeviceReprogramINTEL", .value = 0, .parameters = &.{} }, - .{ .name = "InitOnDeviceResetINTEL", .value = 1, .parameters = &.{} }, - }, - .load_cache_control => &.{ - .{ .name = "UncachedINTEL", .value = 0, .parameters = &.{} }, - .{ .name = "CachedINTEL", .value = 1, .parameters = &.{} }, - .{ .name = "StreamingINTEL", .value = 2, .parameters = &.{} }, - .{ .name = "InvalidateAfterReadINTEL", .value = 3, .parameters = &.{} }, - .{ .name = "ConstCachedINTEL", .value = 4, .parameters = &.{} }, - }, - .store_cache_control => &.{ - .{ .name = "UncachedINTEL", .value = 0, .parameters = &.{} }, - .{ .name = "WriteThroughINTEL", .value = 1, .parameters = &.{} }, - .{ .name = "WriteBackINTEL", .value = 2, .parameters = &.{} }, - .{ .name = "StreamingINTEL", .value = 3, .parameters = &.{} }, - }, - .named_maximum_number_of_registers => &.{ - .{ .name = "AutoINTEL", .value = 0, .parameters = &.{} }, - }, - .matrix_multiply_accumulate_operands => &.{ - .{ .name = "MatrixASignedComponentsINTEL", .value = 0x1, .parameters = &.{} }, - .{ .name = "MatrixBSignedComponentsINTEL", .value = 0x2, .parameters = &.{} }, - .{ .name = "MatrixCBFloat16INTEL", .value = 0x4, .parameters = &.{} }, - .{ .name = "MatrixResultBFloat16INTEL", .value = 0x8, .parameters = &.{} }, - .{ .name = "MatrixAPackedInt8INTEL", .value = 0x10, .parameters = &.{} }, - .{ .name = "MatrixBPackedInt8INTEL", .value = 0x20, .parameters = &.{} }, - .{ .name = "MatrixAPackedInt4INTEL", .value = 0x40, .parameters = &.{} }, - .{ .name = "MatrixBPackedInt4INTEL", .value = 0x80, .parameters = &.{} }, - .{ .name = "MatrixATF32INTEL", .value = 0x100, .parameters = &.{} }, - .{ .name = "MatrixBTF32INTEL", .value = 0x200, .parameters = &.{} }, - .{ .name = "MatrixAPackedFloat16INTEL", .value = 0x400, .parameters = &.{} }, - .{ .name = "MatrixBPackedFloat16INTEL", .value = 0x800, .parameters = &.{} }, - .{ .name = "MatrixAPackedBFloat16INTEL", .value = 0x1000, .parameters = &.{} }, - .{ .name = "MatrixBPackedBFloat16INTEL", .value = 0x2000, .parameters = &.{} }, - }, - .fp_encoding => &.{ - .{ .name = "BFloat16KHR", .value = 0, .parameters = &.{} }, - .{ .name = "Float8E4M3EXT", .value = 4214, .parameters = &.{} }, - .{ .name = "Float8E5M2EXT", .value = 4215, .parameters = &.{} }, - }, - .cooperative_vector_matrix_layout => &.{ - .{ .name = "RowMajorNV", .value = 0, .parameters = &.{} }, - .{ .name = "ColumnMajorNV", .value = 1, .parameters = &.{} }, - .{ .name = "InferencingOptimalNV", .value = 2, .parameters = &.{} }, - .{ .name = "TrainingOptimalNV", .value = 3, .parameters = &.{} }, - }, - .component_type => &.{ - .{ .name = "Float16NV", .value = 0, .parameters = &.{} }, - .{ .name = "Float32NV", .value = 1, .parameters = &.{} }, - .{ .name = "Float64NV", .value = 2, .parameters = &.{} }, - .{ .name = "SignedInt8NV", .value = 3, .parameters = &.{} }, - .{ .name = "SignedInt16NV", .value = 4, .parameters = &.{} }, - .{ .name = "SignedInt32NV", .value = 5, .parameters = &.{} }, - .{ .name = "SignedInt64NV", .value = 6, .parameters = &.{} }, - .{ .name = "UnsignedInt8NV", .value = 7, .parameters = &.{} }, - .{ .name = "UnsignedInt16NV", .value = 8, .parameters = &.{} }, - .{ .name = "UnsignedInt32NV", .value = 9, .parameters = &.{} }, - .{ .name = "UnsignedInt64NV", .value = 10, .parameters = &.{} }, - .{ .name = "SignedInt8PackedNV", .value = 1000491000, .parameters = &.{} }, - .{ .name = "UnsignedInt8PackedNV", .value = 1000491001, .parameters = &.{} }, - .{ .name = "FloatE4M3NV", .value = 1000491002, .parameters = &.{} }, - .{ .name = "FloatE5M2NV", .value = 1000491003, .parameters = &.{} }, - }, - .id_result_type => unreachable, - .id_result => unreachable, - .id_memory_semantics => unreachable, - .id_scope => unreachable, - .id_ref => unreachable, - .literal_integer => unreachable, - .literal_string => unreachable, - .literal_float => unreachable, - .literal_context_dependent_number => unreachable, - .literal_ext_inst_integer => unreachable, - .literal_spec_constant_op_integer => unreachable, - .pair_literal_integer_id_ref => unreachable, - .pair_id_ref_literal_integer => unreachable, - .pair_id_ref_id_ref => unreachable, - .tensor_operands => &.{ - .{ .name = "NoneARM", .value = 0x0000, .parameters = &.{} }, - .{ .name = "NontemporalARM", .value = 0x0001, .parameters = &.{} }, - .{ .name = "OutOfBoundsValueARM", .value = 0x0002, .parameters = &.{.id_ref} }, - .{ .name = "MakeElementAvailableARM", .value = 0x0004, .parameters = &.{.id_ref} }, - .{ .name = "MakeElementVisibleARM", .value = 0x0008, .parameters = &.{.id_ref} }, - .{ .name = "NonPrivateElementARM", .value = 0x0010, .parameters = &.{} }, - }, - .debug_info_debug_info_flags => &.{ - .{ .name = "FlagIsProtected", .value = 0x01, .parameters = &.{} }, - .{ .name = "FlagIsPrivate", .value = 0x02, .parameters = &.{} }, - .{ .name = "FlagIsPublic", .value = 0x03, .parameters = &.{} }, - .{ .name = "FlagIsLocal", .value = 0x04, .parameters = &.{} }, - .{ .name = "FlagIsDefinition", .value = 0x08, .parameters = &.{} }, - .{ .name = "FlagFwdDecl", .value = 0x10, .parameters = &.{} }, - .{ .name = "FlagArtificial", .value = 0x20, .parameters = &.{} }, - .{ .name = "FlagExplicit", .value = 0x40, .parameters = &.{} }, - .{ .name = "FlagPrototyped", .value = 0x80, .parameters = &.{} }, - .{ .name = "FlagObjectPointer", .value = 0x100, .parameters = &.{} }, - .{ .name = "FlagStaticMember", .value = 0x200, .parameters = &.{} }, - .{ .name = "FlagIndirectVariable", .value = 0x400, .parameters = &.{} }, - .{ .name = "FlagLValueReference", .value = 0x800, .parameters = &.{} }, - .{ .name = "FlagRValueReference", .value = 0x1000, .parameters = &.{} }, - .{ .name = "FlagIsOptimized", .value = 0x2000, .parameters = &.{} }, - }, - .debug_info_debug_base_type_attribute_encoding => &.{ - .{ .name = "Unspecified", .value = 0, .parameters = &.{} }, - .{ .name = "Address", .value = 1, .parameters = &.{} }, - .{ .name = "Boolean", .value = 2, .parameters = &.{} }, - .{ .name = "Float", .value = 4, .parameters = &.{} }, - .{ .name = "Signed", .value = 5, .parameters = &.{} }, - .{ .name = "SignedChar", .value = 6, .parameters = &.{} }, - .{ .name = "Unsigned", .value = 7, .parameters = &.{} }, - .{ .name = "UnsignedChar", .value = 8, .parameters = &.{} }, - }, - .debug_info_debug_composite_type => &.{ - .{ .name = "Class", .value = 0, .parameters = &.{} }, - .{ .name = "Structure", .value = 1, .parameters = &.{} }, - .{ .name = "Union", .value = 2, .parameters = &.{} }, - }, - .debug_info_debug_type_qualifier => &.{ - .{ .name = "ConstType", .value = 0, .parameters = &.{} }, - .{ .name = "VolatileType", .value = 1, .parameters = &.{} }, - .{ .name = "RestrictType", .value = 2, .parameters = &.{} }, - }, - .debug_info_debug_operation => &.{ - .{ .name = "Deref", .value = 0, .parameters = &.{} }, - .{ .name = "Plus", .value = 1, .parameters = &.{} }, - .{ .name = "Minus", .value = 2, .parameters = &.{} }, - .{ .name = "PlusUconst", .value = 3, .parameters = &.{.literal_integer} }, - .{ .name = "BitPiece", .value = 4, .parameters = &.{ .literal_integer, .literal_integer } }, - .{ .name = "Swap", .value = 5, .parameters = &.{} }, - .{ .name = "Xderef", .value = 6, .parameters = &.{} }, - .{ .name = "StackValue", .value = 7, .parameters = &.{} }, - .{ .name = "Constu", .value = 8, .parameters = &.{.literal_integer} }, - }, - .open_cl_debug_info_100_debug_info_flags => &.{ - .{ .name = "FlagIsProtected", .value = 0x01, .parameters = &.{} }, - .{ .name = "FlagIsPrivate", .value = 0x02, .parameters = &.{} }, - .{ .name = "FlagIsPublic", .value = 0x03, .parameters = &.{} }, - .{ .name = "FlagIsLocal", .value = 0x04, .parameters = &.{} }, - .{ .name = "FlagIsDefinition", .value = 0x08, .parameters = &.{} }, - .{ .name = "FlagFwdDecl", .value = 0x10, .parameters = &.{} }, - .{ .name = "FlagArtificial", .value = 0x20, .parameters = &.{} }, - .{ .name = "FlagExplicit", .value = 0x40, .parameters = &.{} }, - .{ .name = "FlagPrototyped", .value = 0x80, .parameters = &.{} }, - .{ .name = "FlagObjectPointer", .value = 0x100, .parameters = &.{} }, - .{ .name = "FlagStaticMember", .value = 0x200, .parameters = &.{} }, - .{ .name = "FlagIndirectVariable", .value = 0x400, .parameters = &.{} }, - .{ .name = "FlagLValueReference", .value = 0x800, .parameters = &.{} }, - .{ .name = "FlagRValueReference", .value = 0x1000, .parameters = &.{} }, - .{ .name = "FlagIsOptimized", .value = 0x2000, .parameters = &.{} }, - .{ .name = "FlagIsEnumClass", .value = 0x4000, .parameters = &.{} }, - .{ .name = "FlagTypePassByValue", .value = 0x8000, .parameters = &.{} }, - .{ .name = "FlagTypePassByReference", .value = 0x10000, .parameters = &.{} }, - }, - .open_cl_debug_info_100_debug_base_type_attribute_encoding => &.{ - .{ .name = "Unspecified", .value = 0, .parameters = &.{} }, - .{ .name = "Address", .value = 1, .parameters = &.{} }, - .{ .name = "Boolean", .value = 2, .parameters = &.{} }, - .{ .name = "Float", .value = 3, .parameters = &.{} }, - .{ .name = "Signed", .value = 4, .parameters = &.{} }, - .{ .name = "SignedChar", .value = 5, .parameters = &.{} }, - .{ .name = "Unsigned", .value = 6, .parameters = &.{} }, - .{ .name = "UnsignedChar", .value = 7, .parameters = &.{} }, - }, - .open_cl_debug_info_100_debug_composite_type => &.{ - .{ .name = "Class", .value = 0, .parameters = &.{} }, - .{ .name = "Structure", .value = 1, .parameters = &.{} }, - .{ .name = "Union", .value = 2, .parameters = &.{} }, - }, - .open_cl_debug_info_100_debug_type_qualifier => &.{ - .{ .name = "ConstType", .value = 0, .parameters = &.{} }, - .{ .name = "VolatileType", .value = 1, .parameters = &.{} }, - .{ .name = "RestrictType", .value = 2, .parameters = &.{} }, - .{ .name = "AtomicType", .value = 3, .parameters = &.{} }, - }, - .open_cl_debug_info_100_debug_operation => &.{ - .{ .name = "Deref", .value = 0, .parameters = &.{} }, - .{ .name = "Plus", .value = 1, .parameters = &.{} }, - .{ .name = "Minus", .value = 2, .parameters = &.{} }, - .{ .name = "PlusUconst", .value = 3, .parameters = &.{.literal_integer} }, - .{ .name = "BitPiece", .value = 4, .parameters = &.{ .literal_integer, .literal_integer } }, - .{ .name = "Swap", .value = 5, .parameters = &.{} }, - .{ .name = "Xderef", .value = 6, .parameters = &.{} }, - .{ .name = "StackValue", .value = 7, .parameters = &.{} }, - .{ .name = "Constu", .value = 8, .parameters = &.{.literal_integer} }, - .{ .name = "Fragment", .value = 9, .parameters = &.{ .literal_integer, .literal_integer } }, - }, - .open_cl_debug_info_100_debug_imported_entity => &.{ - .{ .name = "ImportedModule", .value = 0, .parameters = &.{} }, - .{ .name = "ImportedDeclaration", .value = 1, .parameters = &.{} }, - }, - .non_semantic_clspv_reflection_6_kernel_property_flags => &.{ - .{ .name = "MayUsePrintf", .value = 0x1, .parameters = &.{} }, - }, - .non_semantic_shader_debug_info_100_debug_info_flags => &.{ - .{ .name = "FlagIsProtected", .value = 0x01, .parameters = &.{} }, - .{ .name = "FlagIsPrivate", .value = 0x02, .parameters = &.{} }, - .{ .name = "FlagIsPublic", .value = 0x03, .parameters = &.{} }, - .{ .name = "FlagIsLocal", .value = 0x04, .parameters = &.{} }, - .{ .name = "FlagIsDefinition", .value = 0x08, .parameters = &.{} }, - .{ .name = "FlagFwdDecl", .value = 0x10, .parameters = &.{} }, - .{ .name = "FlagArtificial", .value = 0x20, .parameters = &.{} }, - .{ .name = "FlagExplicit", .value = 0x40, .parameters = &.{} }, - .{ .name = "FlagPrototyped", .value = 0x80, .parameters = &.{} }, - .{ .name = "FlagObjectPointer", .value = 0x100, .parameters = &.{} }, - .{ .name = "FlagStaticMember", .value = 0x200, .parameters = &.{} }, - .{ .name = "FlagIndirectVariable", .value = 0x400, .parameters = &.{} }, - .{ .name = "FlagLValueReference", .value = 0x800, .parameters = &.{} }, - .{ .name = "FlagRValueReference", .value = 0x1000, .parameters = &.{} }, - .{ .name = "FlagIsOptimized", .value = 0x2000, .parameters = &.{} }, - .{ .name = "FlagIsEnumClass", .value = 0x4000, .parameters = &.{} }, - .{ .name = "FlagTypePassByValue", .value = 0x8000, .parameters = &.{} }, - .{ .name = "FlagTypePassByReference", .value = 0x10000, .parameters = &.{} }, - .{ .name = "FlagUnknownPhysicalLayout", .value = 0x20000, .parameters = &.{} }, - }, - .non_semantic_shader_debug_info_100_build_identifier_flags => &.{ - .{ .name = "IdentifierPossibleDuplicates", .value = 0x01, .parameters = &.{} }, - }, - .non_semantic_shader_debug_info_100_debug_base_type_attribute_encoding => &.{ - .{ .name = "Unspecified", .value = 0, .parameters = &.{} }, - .{ .name = "Address", .value = 1, .parameters = &.{} }, - .{ .name = "Boolean", .value = 2, .parameters = &.{} }, - .{ .name = "Float", .value = 3, .parameters = &.{} }, - .{ .name = "Signed", .value = 4, .parameters = &.{} }, - .{ .name = "SignedChar", .value = 5, .parameters = &.{} }, - .{ .name = "Unsigned", .value = 6, .parameters = &.{} }, - .{ .name = "UnsignedChar", .value = 7, .parameters = &.{} }, - }, - .non_semantic_shader_debug_info_100_debug_composite_type => &.{ - .{ .name = "Class", .value = 0, .parameters = &.{} }, - .{ .name = "Structure", .value = 1, .parameters = &.{} }, - .{ .name = "Union", .value = 2, .parameters = &.{} }, - }, - .non_semantic_shader_debug_info_100_debug_type_qualifier => &.{ - .{ .name = "ConstType", .value = 0, .parameters = &.{} }, - .{ .name = "VolatileType", .value = 1, .parameters = &.{} }, - .{ .name = "RestrictType", .value = 2, .parameters = &.{} }, - .{ .name = "AtomicType", .value = 3, .parameters = &.{} }, - }, - .non_semantic_shader_debug_info_100_debug_operation => &.{ - .{ .name = "Deref", .value = 0, .parameters = &.{} }, - .{ .name = "Plus", .value = 1, .parameters = &.{} }, - .{ .name = "Minus", .value = 2, .parameters = &.{} }, - .{ .name = "PlusUconst", .value = 3, .parameters = &.{.id_ref} }, - .{ .name = "BitPiece", .value = 4, .parameters = &.{ .id_ref, .id_ref } }, - .{ .name = "Swap", .value = 5, .parameters = &.{} }, - .{ .name = "Xderef", .value = 6, .parameters = &.{} }, - .{ .name = "StackValue", .value = 7, .parameters = &.{} }, - .{ .name = "Constu", .value = 8, .parameters = &.{.id_ref} }, - .{ .name = "Fragment", .value = 9, .parameters = &.{ .id_ref, .id_ref } }, - }, - .non_semantic_shader_debug_info_100_debug_imported_entity => &.{ - .{ .name = "ImportedModule", .value = 0, .parameters = &.{} }, - .{ .name = "ImportedDeclaration", .value = 1, .parameters = &.{} }, - }, - }; - } -}; -pub const Opcode = enum(u16) { - OpNop = 0, - OpUndef = 1, - OpSourceContinued = 2, - OpSource = 3, - OpSourceExtension = 4, - OpName = 5, - OpMemberName = 6, - OpString = 7, - OpLine = 8, - OpExtension = 10, - OpExtInstImport = 11, - OpExtInst = 12, - OpMemoryModel = 14, - OpEntryPoint = 15, - OpExecutionMode = 16, - OpCapability = 17, - OpTypeVoid = 19, - OpTypeBool = 20, - OpTypeInt = 21, - OpTypeFloat = 22, - OpTypeVector = 23, - OpTypeMatrix = 24, - OpTypeImage = 25, - OpTypeSampler = 26, - OpTypeSampledImage = 27, - OpTypeArray = 28, - OpTypeRuntimeArray = 29, - OpTypeStruct = 30, - OpTypeOpaque = 31, - OpTypePointer = 32, - OpTypeFunction = 33, - OpTypeEvent = 34, - OpTypeDeviceEvent = 35, - OpTypeReserveId = 36, - OpTypeQueue = 37, - OpTypePipe = 38, - OpTypeForwardPointer = 39, - OpConstantTrue = 41, - OpConstantFalse = 42, - OpConstant = 43, - OpConstantComposite = 44, - OpConstantSampler = 45, - OpConstantNull = 46, - OpSpecConstantTrue = 48, - OpSpecConstantFalse = 49, - OpSpecConstant = 50, - OpSpecConstantComposite = 51, - OpSpecConstantOp = 52, - OpFunction = 54, - OpFunctionParameter = 55, - OpFunctionEnd = 56, - OpFunctionCall = 57, - OpVariable = 59, - OpImageTexelPointer = 60, - OpLoad = 61, - OpStore = 62, - OpCopyMemory = 63, - OpCopyMemorySized = 64, - OpAccessChain = 65, - OpInBoundsAccessChain = 66, - OpPtrAccessChain = 67, - OpArrayLength = 68, - OpGenericPtrMemSemantics = 69, - OpInBoundsPtrAccessChain = 70, - OpDecorate = 71, - OpMemberDecorate = 72, - OpDecorationGroup = 73, - OpGroupDecorate = 74, - OpGroupMemberDecorate = 75, - OpVectorExtractDynamic = 77, - OpVectorInsertDynamic = 78, - OpVectorShuffle = 79, - OpCompositeConstruct = 80, - OpCompositeExtract = 81, - OpCompositeInsert = 82, - OpCopyObject = 83, - OpTranspose = 84, - OpSampledImage = 86, - OpImageSampleImplicitLod = 87, - OpImageSampleExplicitLod = 88, - OpImageSampleDrefImplicitLod = 89, - OpImageSampleDrefExplicitLod = 90, - OpImageSampleProjImplicitLod = 91, - OpImageSampleProjExplicitLod = 92, - OpImageSampleProjDrefImplicitLod = 93, - OpImageSampleProjDrefExplicitLod = 94, - OpImageFetch = 95, - OpImageGather = 96, - OpImageDrefGather = 97, - OpImageRead = 98, - OpImageWrite = 99, - OpImage = 100, - OpImageQueryFormat = 101, - OpImageQueryOrder = 102, - OpImageQuerySizeLod = 103, - OpImageQuerySize = 104, - OpImageQueryLod = 105, - OpImageQueryLevels = 106, - OpImageQuerySamples = 107, - OpConvertFToU = 109, - OpConvertFToS = 110, - OpConvertSToF = 111, - OpConvertUToF = 112, - OpUConvert = 113, - OpSConvert = 114, - OpFConvert = 115, - OpQuantizeToF16 = 116, - OpConvertPtrToU = 117, - OpSatConvertSToU = 118, - OpSatConvertUToS = 119, - OpConvertUToPtr = 120, - OpPtrCastToGeneric = 121, - OpGenericCastToPtr = 122, - OpGenericCastToPtrExplicit = 123, - OpBitcast = 124, - OpSNegate = 126, - OpFNegate = 127, - OpIAdd = 128, - OpFAdd = 129, - OpISub = 130, - OpFSub = 131, - OpIMul = 132, - OpFMul = 133, - OpUDiv = 134, - OpSDiv = 135, - OpFDiv = 136, - OpUMod = 137, - OpSRem = 138, - OpSMod = 139, - OpFRem = 140, - OpFMod = 141, - OpVectorTimesScalar = 142, - OpMatrixTimesScalar = 143, - OpVectorTimesMatrix = 144, - OpMatrixTimesVector = 145, - OpMatrixTimesMatrix = 146, - OpOuterProduct = 147, - OpDot = 148, - OpIAddCarry = 149, - OpISubBorrow = 150, - OpUMulExtended = 151, - OpSMulExtended = 152, - OpAny = 154, - OpAll = 155, - OpIsNan = 156, - OpIsInf = 157, - OpIsFinite = 158, - OpIsNormal = 159, - OpSignBitSet = 160, - OpLessOrGreater = 161, - OpOrdered = 162, - OpUnordered = 163, - OpLogicalEqual = 164, - OpLogicalNotEqual = 165, - OpLogicalOr = 166, - OpLogicalAnd = 167, - OpLogicalNot = 168, - OpSelect = 169, - OpIEqual = 170, - OpINotEqual = 171, - OpUGreaterThan = 172, - OpSGreaterThan = 173, - OpUGreaterThanEqual = 174, - OpSGreaterThanEqual = 175, - OpULessThan = 176, - OpSLessThan = 177, - OpULessThanEqual = 178, - OpSLessThanEqual = 179, - OpFOrdEqual = 180, - OpFUnordEqual = 181, - OpFOrdNotEqual = 182, - OpFUnordNotEqual = 183, - OpFOrdLessThan = 184, - OpFUnordLessThan = 185, - OpFOrdGreaterThan = 186, - OpFUnordGreaterThan = 187, - OpFOrdLessThanEqual = 188, - OpFUnordLessThanEqual = 189, - OpFOrdGreaterThanEqual = 190, - OpFUnordGreaterThanEqual = 191, - OpShiftRightLogical = 194, - OpShiftRightArithmetic = 195, - OpShiftLeftLogical = 196, - OpBitwiseOr = 197, - OpBitwiseXor = 198, - OpBitwiseAnd = 199, - OpNot = 200, - OpBitFieldInsert = 201, - OpBitFieldSExtract = 202, - OpBitFieldUExtract = 203, - OpBitReverse = 204, - OpBitCount = 205, - OpDPdx = 207, - OpDPdy = 208, - OpFwidth = 209, - OpDPdxFine = 210, - OpDPdyFine = 211, - OpFwidthFine = 212, - OpDPdxCoarse = 213, - OpDPdyCoarse = 214, - OpFwidthCoarse = 215, - OpEmitVertex = 218, - OpEndPrimitive = 219, - OpEmitStreamVertex = 220, - OpEndStreamPrimitive = 221, - OpControlBarrier = 224, - OpMemoryBarrier = 225, - OpAtomicLoad = 227, - OpAtomicStore = 228, - OpAtomicExchange = 229, - OpAtomicCompareExchange = 230, - OpAtomicCompareExchangeWeak = 231, - OpAtomicIIncrement = 232, - OpAtomicIDecrement = 233, - OpAtomicIAdd = 234, - OpAtomicISub = 235, - OpAtomicSMin = 236, - OpAtomicUMin = 237, - OpAtomicSMax = 238, - OpAtomicUMax = 239, - OpAtomicAnd = 240, - OpAtomicOr = 241, - OpAtomicXor = 242, - OpPhi = 245, - OpLoopMerge = 246, - OpSelectionMerge = 247, - OpLabel = 248, - OpBranch = 249, - OpBranchConditional = 250, - OpSwitch = 251, - OpKill = 252, - OpReturn = 253, - OpReturnValue = 254, - OpUnreachable = 255, - OpLifetimeStart = 256, - OpLifetimeStop = 257, - OpGroupAsyncCopy = 259, - OpGroupWaitEvents = 260, - OpGroupAll = 261, - OpGroupAny = 262, - OpGroupBroadcast = 263, - OpGroupIAdd = 264, - OpGroupFAdd = 265, - OpGroupFMin = 266, - OpGroupUMin = 267, - OpGroupSMin = 268, - OpGroupFMax = 269, - OpGroupUMax = 270, - OpGroupSMax = 271, - OpReadPipe = 274, - OpWritePipe = 275, - OpReservedReadPipe = 276, - OpReservedWritePipe = 277, - OpReserveReadPipePackets = 278, - OpReserveWritePipePackets = 279, - OpCommitReadPipe = 280, - OpCommitWritePipe = 281, - OpIsValidReserveId = 282, - OpGetNumPipePackets = 283, - OpGetMaxPipePackets = 284, - OpGroupReserveReadPipePackets = 285, - OpGroupReserveWritePipePackets = 286, - OpGroupCommitReadPipe = 287, - OpGroupCommitWritePipe = 288, - OpEnqueueMarker = 291, - OpEnqueueKernel = 292, - OpGetKernelNDrangeSubGroupCount = 293, - OpGetKernelNDrangeMaxSubGroupSize = 294, - OpGetKernelWorkGroupSize = 295, - OpGetKernelPreferredWorkGroupSizeMultiple = 296, - OpRetainEvent = 297, - OpReleaseEvent = 298, - OpCreateUserEvent = 299, - OpIsValidEvent = 300, - OpSetUserEventStatus = 301, - OpCaptureEventProfilingInfo = 302, - OpGetDefaultQueue = 303, - OpBuildNDRange = 304, - OpImageSparseSampleImplicitLod = 305, - OpImageSparseSampleExplicitLod = 306, - OpImageSparseSampleDrefImplicitLod = 307, - OpImageSparseSampleDrefExplicitLod = 308, - OpImageSparseSampleProjImplicitLod = 309, - OpImageSparseSampleProjExplicitLod = 310, - OpImageSparseSampleProjDrefImplicitLod = 311, - OpImageSparseSampleProjDrefExplicitLod = 312, - OpImageSparseFetch = 313, - OpImageSparseGather = 314, - OpImageSparseDrefGather = 315, - OpImageSparseTexelsResident = 316, - OpNoLine = 317, - OpAtomicFlagTestAndSet = 318, - OpAtomicFlagClear = 319, - OpImageSparseRead = 320, - OpSizeOf = 321, - OpTypePipeStorage = 322, - OpConstantPipeStorage = 323, - OpCreatePipeFromPipeStorage = 324, - OpGetKernelLocalSizeForSubgroupCount = 325, - OpGetKernelMaxNumSubgroups = 326, - OpTypeNamedBarrier = 327, - OpNamedBarrierInitialize = 328, - OpMemoryNamedBarrier = 329, - OpModuleProcessed = 330, - OpExecutionModeId = 331, - OpDecorateId = 332, - OpGroupNonUniformElect = 333, - OpGroupNonUniformAll = 334, - OpGroupNonUniformAny = 335, - OpGroupNonUniformAllEqual = 336, - OpGroupNonUniformBroadcast = 337, - OpGroupNonUniformBroadcastFirst = 338, - OpGroupNonUniformBallot = 339, - OpGroupNonUniformInverseBallot = 340, - OpGroupNonUniformBallotBitExtract = 341, - OpGroupNonUniformBallotBitCount = 342, - OpGroupNonUniformBallotFindLSB = 343, - OpGroupNonUniformBallotFindMSB = 344, - OpGroupNonUniformShuffle = 345, - OpGroupNonUniformShuffleXor = 346, - OpGroupNonUniformShuffleUp = 347, - OpGroupNonUniformShuffleDown = 348, - OpGroupNonUniformIAdd = 349, - OpGroupNonUniformFAdd = 350, - OpGroupNonUniformIMul = 351, - OpGroupNonUniformFMul = 352, - OpGroupNonUniformSMin = 353, - OpGroupNonUniformUMin = 354, - OpGroupNonUniformFMin = 355, - OpGroupNonUniformSMax = 356, - OpGroupNonUniformUMax = 357, - OpGroupNonUniformFMax = 358, - OpGroupNonUniformBitwiseAnd = 359, - OpGroupNonUniformBitwiseOr = 360, - OpGroupNonUniformBitwiseXor = 361, - OpGroupNonUniformLogicalAnd = 362, - OpGroupNonUniformLogicalOr = 363, - OpGroupNonUniformLogicalXor = 364, - OpGroupNonUniformQuadBroadcast = 365, - OpGroupNonUniformQuadSwap = 366, - OpCopyLogical = 400, - OpPtrEqual = 401, - OpPtrNotEqual = 402, - OpPtrDiff = 403, - OpColorAttachmentReadEXT = 4160, - OpDepthAttachmentReadEXT = 4161, - OpStencilAttachmentReadEXT = 4162, - OpTypeTensorARM = 4163, - OpTensorReadARM = 4164, - OpTensorWriteARM = 4165, - OpTensorQuerySizeARM = 4166, - OpGraphConstantARM = 4181, - OpGraphEntryPointARM = 4182, - OpGraphARM = 4183, - OpGraphInputARM = 4184, - OpGraphSetOutputARM = 4185, - OpGraphEndARM = 4186, - OpTypeGraphARM = 4190, - OpTerminateInvocation = 4416, - OpTypeUntypedPointerKHR = 4417, - OpUntypedVariableKHR = 4418, - OpUntypedAccessChainKHR = 4419, - OpUntypedInBoundsAccessChainKHR = 4420, - OpSubgroupBallotKHR = 4421, - OpSubgroupFirstInvocationKHR = 4422, - OpUntypedPtrAccessChainKHR = 4423, - OpUntypedInBoundsPtrAccessChainKHR = 4424, - OpUntypedArrayLengthKHR = 4425, - OpUntypedPrefetchKHR = 4426, - OpSubgroupAllKHR = 4428, - OpSubgroupAnyKHR = 4429, - OpSubgroupAllEqualKHR = 4430, - OpGroupNonUniformRotateKHR = 4431, - OpSubgroupReadInvocationKHR = 4432, - OpExtInstWithForwardRefsKHR = 4433, - OpTraceRayKHR = 4445, - OpExecuteCallableKHR = 4446, - OpConvertUToAccelerationStructureKHR = 4447, - OpIgnoreIntersectionKHR = 4448, - OpTerminateRayKHR = 4449, - OpSDot = 4450, - OpUDot = 4451, - OpSUDot = 4452, - OpSDotAccSat = 4453, - OpUDotAccSat = 4454, - OpSUDotAccSat = 4455, - OpTypeCooperativeMatrixKHR = 4456, - OpCooperativeMatrixLoadKHR = 4457, - OpCooperativeMatrixStoreKHR = 4458, - OpCooperativeMatrixMulAddKHR = 4459, - OpCooperativeMatrixLengthKHR = 4460, - OpConstantCompositeReplicateEXT = 4461, - OpSpecConstantCompositeReplicateEXT = 4462, - OpCompositeConstructReplicateEXT = 4463, - OpTypeRayQueryKHR = 4472, - OpRayQueryInitializeKHR = 4473, - OpRayQueryTerminateKHR = 4474, - OpRayQueryGenerateIntersectionKHR = 4475, - OpRayQueryConfirmIntersectionKHR = 4476, - OpRayQueryProceedKHR = 4477, - OpRayQueryGetIntersectionTypeKHR = 4479, - OpImageSampleWeightedQCOM = 4480, - OpImageBoxFilterQCOM = 4481, - OpImageBlockMatchSSDQCOM = 4482, - OpImageBlockMatchSADQCOM = 4483, - OpImageBlockMatchWindowSSDQCOM = 4500, - OpImageBlockMatchWindowSADQCOM = 4501, - OpImageBlockMatchGatherSSDQCOM = 4502, - OpImageBlockMatchGatherSADQCOM = 4503, - OpGroupIAddNonUniformAMD = 5000, - OpGroupFAddNonUniformAMD = 5001, - OpGroupFMinNonUniformAMD = 5002, - OpGroupUMinNonUniformAMD = 5003, - OpGroupSMinNonUniformAMD = 5004, - OpGroupFMaxNonUniformAMD = 5005, - OpGroupUMaxNonUniformAMD = 5006, - OpGroupSMaxNonUniformAMD = 5007, - OpFragmentMaskFetchAMD = 5011, - OpFragmentFetchAMD = 5012, - OpReadClockKHR = 5056, - OpAllocateNodePayloadsAMDX = 5074, - OpEnqueueNodePayloadsAMDX = 5075, - OpTypeNodePayloadArrayAMDX = 5076, - OpFinishWritingNodePayloadAMDX = 5078, - OpNodePayloadArrayLengthAMDX = 5090, - OpIsNodePayloadValidAMDX = 5101, - OpConstantStringAMDX = 5103, - OpSpecConstantStringAMDX = 5104, - OpGroupNonUniformQuadAllKHR = 5110, - OpGroupNonUniformQuadAnyKHR = 5111, - OpHitObjectRecordHitMotionNV = 5249, - OpHitObjectRecordHitWithIndexMotionNV = 5250, - OpHitObjectRecordMissMotionNV = 5251, - OpHitObjectGetWorldToObjectNV = 5252, - OpHitObjectGetObjectToWorldNV = 5253, - OpHitObjectGetObjectRayDirectionNV = 5254, - OpHitObjectGetObjectRayOriginNV = 5255, - OpHitObjectTraceRayMotionNV = 5256, - OpHitObjectGetShaderRecordBufferHandleNV = 5257, - OpHitObjectGetShaderBindingTableRecordIndexNV = 5258, - OpHitObjectRecordEmptyNV = 5259, - OpHitObjectTraceRayNV = 5260, - OpHitObjectRecordHitNV = 5261, - OpHitObjectRecordHitWithIndexNV = 5262, - OpHitObjectRecordMissNV = 5263, - OpHitObjectExecuteShaderNV = 5264, - OpHitObjectGetCurrentTimeNV = 5265, - OpHitObjectGetAttributesNV = 5266, - OpHitObjectGetHitKindNV = 5267, - OpHitObjectGetPrimitiveIndexNV = 5268, - OpHitObjectGetGeometryIndexNV = 5269, - OpHitObjectGetInstanceIdNV = 5270, - OpHitObjectGetInstanceCustomIndexNV = 5271, - OpHitObjectGetWorldRayDirectionNV = 5272, - OpHitObjectGetWorldRayOriginNV = 5273, - OpHitObjectGetRayTMaxNV = 5274, - OpHitObjectGetRayTMinNV = 5275, - OpHitObjectIsEmptyNV = 5276, - OpHitObjectIsHitNV = 5277, - OpHitObjectIsMissNV = 5278, - OpReorderThreadWithHitObjectNV = 5279, - OpReorderThreadWithHintNV = 5280, - OpTypeHitObjectNV = 5281, - OpImageSampleFootprintNV = 5283, - OpTypeCooperativeVectorNV = 5288, - OpCooperativeVectorMatrixMulNV = 5289, - OpCooperativeVectorOuterProductAccumulateNV = 5290, - OpCooperativeVectorReduceSumAccumulateNV = 5291, - OpCooperativeVectorMatrixMulAddNV = 5292, - OpCooperativeMatrixConvertNV = 5293, - OpEmitMeshTasksEXT = 5294, - OpSetMeshOutputsEXT = 5295, - OpGroupNonUniformPartitionNV = 5296, - OpWritePackedPrimitiveIndices4x8NV = 5299, - OpFetchMicroTriangleVertexPositionNV = 5300, - OpFetchMicroTriangleVertexBarycentricNV = 5301, - OpCooperativeVectorLoadNV = 5302, - OpCooperativeVectorStoreNV = 5303, - OpReportIntersectionKHR = 5334, - OpIgnoreIntersectionNV = 5335, - OpTerminateRayNV = 5336, - OpTraceNV = 5337, - OpTraceMotionNV = 5338, - OpTraceRayMotionNV = 5339, - OpRayQueryGetIntersectionTriangleVertexPositionsKHR = 5340, - OpTypeAccelerationStructureKHR = 5341, - OpExecuteCallableNV = 5344, - OpRayQueryGetClusterIdNV = 5345, - OpHitObjectGetClusterIdNV = 5346, - OpTypeCooperativeMatrixNV = 5358, - OpCooperativeMatrixLoadNV = 5359, - OpCooperativeMatrixStoreNV = 5360, - OpCooperativeMatrixMulAddNV = 5361, - OpCooperativeMatrixLengthNV = 5362, - OpBeginInvocationInterlockEXT = 5364, - OpEndInvocationInterlockEXT = 5365, - OpCooperativeMatrixReduceNV = 5366, - OpCooperativeMatrixLoadTensorNV = 5367, - OpCooperativeMatrixStoreTensorNV = 5368, - OpCooperativeMatrixPerElementOpNV = 5369, - OpTypeTensorLayoutNV = 5370, - OpTypeTensorViewNV = 5371, - OpCreateTensorLayoutNV = 5372, - OpTensorLayoutSetDimensionNV = 5373, - OpTensorLayoutSetStrideNV = 5374, - OpTensorLayoutSliceNV = 5375, - OpTensorLayoutSetClampValueNV = 5376, - OpCreateTensorViewNV = 5377, - OpTensorViewSetDimensionNV = 5378, - OpTensorViewSetStrideNV = 5379, - OpDemoteToHelperInvocation = 5380, - OpIsHelperInvocationEXT = 5381, - OpTensorViewSetClipNV = 5382, - OpTensorLayoutSetBlockSizeNV = 5384, - OpCooperativeMatrixTransposeNV = 5390, - OpConvertUToImageNV = 5391, - OpConvertUToSamplerNV = 5392, - OpConvertImageToUNV = 5393, - OpConvertSamplerToUNV = 5394, - OpConvertUToSampledImageNV = 5395, - OpConvertSampledImageToUNV = 5396, - OpSamplerImageAddressingModeNV = 5397, - OpRawAccessChainNV = 5398, - OpRayQueryGetIntersectionSpherePositionNV = 5427, - OpRayQueryGetIntersectionSphereRadiusNV = 5428, - OpRayQueryGetIntersectionLSSPositionsNV = 5429, - OpRayQueryGetIntersectionLSSRadiiNV = 5430, - OpRayQueryGetIntersectionLSSHitValueNV = 5431, - OpHitObjectGetSpherePositionNV = 5432, - OpHitObjectGetSphereRadiusNV = 5433, - OpHitObjectGetLSSPositionsNV = 5434, - OpHitObjectGetLSSRadiiNV = 5435, - OpHitObjectIsSphereHitNV = 5436, - OpHitObjectIsLSSHitNV = 5437, - OpRayQueryIsSphereHitNV = 5438, - OpRayQueryIsLSSHitNV = 5439, - OpSubgroupShuffleINTEL = 5571, - OpSubgroupShuffleDownINTEL = 5572, - OpSubgroupShuffleUpINTEL = 5573, - OpSubgroupShuffleXorINTEL = 5574, - OpSubgroupBlockReadINTEL = 5575, - OpSubgroupBlockWriteINTEL = 5576, - OpSubgroupImageBlockReadINTEL = 5577, - OpSubgroupImageBlockWriteINTEL = 5578, - OpSubgroupImageMediaBlockReadINTEL = 5580, - OpSubgroupImageMediaBlockWriteINTEL = 5581, - OpUCountLeadingZerosINTEL = 5585, - OpUCountTrailingZerosINTEL = 5586, - OpAbsISubINTEL = 5587, - OpAbsUSubINTEL = 5588, - OpIAddSatINTEL = 5589, - OpUAddSatINTEL = 5590, - OpIAverageINTEL = 5591, - OpUAverageINTEL = 5592, - OpIAverageRoundedINTEL = 5593, - OpUAverageRoundedINTEL = 5594, - OpISubSatINTEL = 5595, - OpUSubSatINTEL = 5596, - OpIMul32x16INTEL = 5597, - OpUMul32x16INTEL = 5598, - OpAtomicFMinEXT = 5614, - OpAtomicFMaxEXT = 5615, - OpAssumeTrueKHR = 5630, - OpExpectKHR = 5631, - OpDecorateString = 5632, - OpMemberDecorateString = 5633, - OpLoopControlINTEL = 5887, - OpReadPipeBlockingINTEL = 5946, - OpWritePipeBlockingINTEL = 5947, - OpFPGARegINTEL = 5949, - OpRayQueryGetRayTMinKHR = 6016, - OpRayQueryGetRayFlagsKHR = 6017, - OpRayQueryGetIntersectionTKHR = 6018, - OpRayQueryGetIntersectionInstanceCustomIndexKHR = 6019, - OpRayQueryGetIntersectionInstanceIdKHR = 6020, - OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = 6021, - OpRayQueryGetIntersectionGeometryIndexKHR = 6022, - OpRayQueryGetIntersectionPrimitiveIndexKHR = 6023, - OpRayQueryGetIntersectionBarycentricsKHR = 6024, - OpRayQueryGetIntersectionFrontFaceKHR = 6025, - OpRayQueryGetIntersectionCandidateAABBOpaqueKHR = 6026, - OpRayQueryGetIntersectionObjectRayDirectionKHR = 6027, - OpRayQueryGetIntersectionObjectRayOriginKHR = 6028, - OpRayQueryGetWorldRayDirectionKHR = 6029, - OpRayQueryGetWorldRayOriginKHR = 6030, - OpRayQueryGetIntersectionObjectToWorldKHR = 6031, - OpRayQueryGetIntersectionWorldToObjectKHR = 6032, - OpAtomicFAddEXT = 6035, - OpTypeBufferSurfaceINTEL = 6086, - OpTypeStructContinuedINTEL = 6090, - OpConstantCompositeContinuedINTEL = 6091, - OpSpecConstantCompositeContinuedINTEL = 6092, - OpCompositeConstructContinuedINTEL = 6096, - OpConvertFToBF16INTEL = 6116, - OpConvertBF16ToFINTEL = 6117, - OpControlBarrierArriveINTEL = 6142, - OpControlBarrierWaitINTEL = 6143, - OpArithmeticFenceEXT = 6145, - OpTaskSequenceCreateINTEL = 6163, - OpTaskSequenceAsyncINTEL = 6164, - OpTaskSequenceGetINTEL = 6165, - OpTaskSequenceReleaseINTEL = 6166, - OpTypeTaskSequenceINTEL = 6199, - OpSubgroupBlockPrefetchINTEL = 6221, - OpSubgroup2DBlockLoadINTEL = 6231, - OpSubgroup2DBlockLoadTransformINTEL = 6232, - OpSubgroup2DBlockLoadTransposeINTEL = 6233, - OpSubgroup2DBlockPrefetchINTEL = 6234, - OpSubgroup2DBlockStoreINTEL = 6235, - OpSubgroupMatrixMultiplyAccumulateINTEL = 6237, - OpBitwiseFunctionINTEL = 6242, - OpGroupIMulKHR = 6401, - OpGroupFMulKHR = 6402, - OpGroupBitwiseAndKHR = 6403, - OpGroupBitwiseOrKHR = 6404, - OpGroupBitwiseXorKHR = 6405, - OpGroupLogicalAndKHR = 6406, - OpGroupLogicalOrKHR = 6407, - OpGroupLogicalXorKHR = 6408, - OpRoundFToTF32INTEL = 6426, - OpMaskedGatherINTEL = 6428, - OpMaskedScatterINTEL = 6429, - OpConvertHandleToImageINTEL = 6529, - OpConvertHandleToSamplerINTEL = 6530, - OpConvertHandleToSampledImageINTEL = 6531, - - pub fn Operands(comptime self: Opcode) type { - return switch (self) { - .OpNop => void, - .OpUndef => struct { id_result_type: Id, id_result: Id }, - .OpSourceContinued => struct { continued_source: LiteralString }, - .OpSource => struct { source_language: SourceLanguage, version: LiteralInteger, file: ?Id = null, source: ?LiteralString = null }, - .OpSourceExtension => struct { extension: LiteralString }, - .OpName => struct { target: Id, name: LiteralString }, - .OpMemberName => struct { type: Id, member: LiteralInteger, name: LiteralString }, - .OpString => struct { id_result: Id, string: LiteralString }, - .OpLine => struct { file: Id, line: LiteralInteger, column: LiteralInteger }, - .OpExtension => struct { name: LiteralString }, - .OpExtInstImport => struct { id_result: Id, name: LiteralString }, - .OpExtInst => struct { id_result_type: Id, id_result: Id, set: Id, instruction: LiteralExtInstInteger, id_ref_4: []const Id = &.{} }, - .OpMemoryModel => struct { addressing_model: AddressingModel, memory_model: MemoryModel }, - .OpEntryPoint => struct { execution_model: ExecutionModel, entry_point: Id, name: LiteralString, interface: []const Id = &.{} }, - .OpExecutionMode => struct { entry_point: Id, mode: ExecutionMode.Extended }, - .OpCapability => struct { capability: Capability }, - .OpTypeVoid => struct { id_result: Id }, - .OpTypeBool => struct { id_result: Id }, - .OpTypeInt => struct { id_result: Id, width: LiteralInteger, signedness: LiteralInteger }, - .OpTypeFloat => struct { id_result: Id, width: LiteralInteger, floating_point_encoding: ?FPEncoding = null }, - .OpTypeVector => struct { id_result: Id, component_type: Id, component_count: LiteralInteger }, - .OpTypeMatrix => struct { id_result: Id, column_type: Id, column_count: LiteralInteger }, - .OpTypeImage => struct { id_result: Id, sampled_type: Id, dim: Dim, depth: LiteralInteger, arrayed: LiteralInteger, ms: LiteralInteger, sampled: LiteralInteger, image_format: ImageFormat, access_qualifier: ?AccessQualifier = null }, - .OpTypeSampler => struct { id_result: Id }, - .OpTypeSampledImage => struct { id_result: Id, image_type: Id }, - .OpTypeArray => struct { id_result: Id, element_type: Id, length: Id }, - .OpTypeRuntimeArray => struct { id_result: Id, element_type: Id }, - .OpTypeStruct => struct { id_result: Id, id_ref: []const Id = &.{} }, - .OpTypeOpaque => struct { id_result: Id, literal_string: LiteralString }, - .OpTypePointer => struct { id_result: Id, storage_class: StorageClass, type: Id }, - .OpTypeFunction => struct { id_result: Id, return_type: Id, id_ref_2: []const Id = &.{} }, - .OpTypeEvent => struct { id_result: Id }, - .OpTypeDeviceEvent => struct { id_result: Id }, - .OpTypeReserveId => struct { id_result: Id }, - .OpTypeQueue => struct { id_result: Id }, - .OpTypePipe => struct { id_result: Id, qualifier: AccessQualifier }, - .OpTypeForwardPointer => struct { pointer_type: Id, storage_class: StorageClass }, - .OpConstantTrue => struct { id_result_type: Id, id_result: Id }, - .OpConstantFalse => struct { id_result_type: Id, id_result: Id }, - .OpConstant => struct { id_result_type: Id, id_result: Id, value: LiteralContextDependentNumber }, - .OpConstantComposite => struct { id_result_type: Id, id_result: Id, constituents: []const Id = &.{} }, - .OpConstantSampler => struct { id_result_type: Id, id_result: Id, sampler_addressing_mode: SamplerAddressingMode, param: LiteralInteger, sampler_filter_mode: SamplerFilterMode }, - .OpConstantNull => struct { id_result_type: Id, id_result: Id }, - .OpSpecConstantTrue => struct { id_result_type: Id, id_result: Id }, - .OpSpecConstantFalse => struct { id_result_type: Id, id_result: Id }, - .OpSpecConstant => struct { id_result_type: Id, id_result: Id, value: LiteralContextDependentNumber }, - .OpSpecConstantComposite => struct { id_result_type: Id, id_result: Id, constituents: []const Id = &.{} }, - .OpSpecConstantOp => struct { id_result_type: Id, id_result: Id, opcode: LiteralSpecConstantOpInteger }, - .OpFunction => struct { id_result_type: Id, id_result: Id, function_control: FunctionControl, function_type: Id }, - .OpFunctionParameter => struct { id_result_type: Id, id_result: Id }, - .OpFunctionEnd => void, - .OpFunctionCall => struct { id_result_type: Id, id_result: Id, function: Id, id_ref_3: []const Id = &.{} }, - .OpVariable => struct { id_result_type: Id, id_result: Id, storage_class: StorageClass, initializer: ?Id = null }, - .OpImageTexelPointer => struct { id_result_type: Id, id_result: Id, image: Id, coordinate: Id, sample: Id }, - .OpLoad => struct { id_result_type: Id, id_result: Id, pointer: Id, memory_access: ?MemoryAccess.Extended = null }, - .OpStore => struct { pointer: Id, object: Id, memory_access: ?MemoryAccess.Extended = null }, - .OpCopyMemory => struct { target: Id, source: Id, memory_access_2: ?MemoryAccess.Extended = null, memory_access_3: ?MemoryAccess.Extended = null }, - .OpCopyMemorySized => struct { target: Id, source: Id, size: Id, memory_access_3: ?MemoryAccess.Extended = null, memory_access_4: ?MemoryAccess.Extended = null }, - .OpAccessChain => struct { id_result_type: Id, id_result: Id, base: Id, indexes: []const Id = &.{} }, - .OpInBoundsAccessChain => struct { id_result_type: Id, id_result: Id, base: Id, indexes: []const Id = &.{} }, - .OpPtrAccessChain => struct { id_result_type: Id, id_result: Id, base: Id, element: Id, indexes: []const Id = &.{} }, - .OpArrayLength => struct { id_result_type: Id, id_result: Id, structure: Id, array_member: LiteralInteger }, - .OpGenericPtrMemSemantics => struct { id_result_type: Id, id_result: Id, pointer: Id }, - .OpInBoundsPtrAccessChain => struct { id_result_type: Id, id_result: Id, base: Id, element: Id, indexes: []const Id = &.{} }, - .OpDecorate => struct { target: Id, decoration: Decoration.Extended }, - .OpMemberDecorate => struct { structure_type: Id, member: LiteralInteger, decoration: Decoration.Extended }, - .OpDecorationGroup => struct { id_result: Id }, - .OpGroupDecorate => struct { decoration_group: Id, targets: []const Id = &.{} }, - .OpGroupMemberDecorate => struct { decoration_group: Id, targets: []const PairIdRefLiteralInteger = &.{} }, - .OpVectorExtractDynamic => struct { id_result_type: Id, id_result: Id, vector: Id, index: Id }, - .OpVectorInsertDynamic => struct { id_result_type: Id, id_result: Id, vector: Id, component: Id, index: Id }, - .OpVectorShuffle => struct { id_result_type: Id, id_result: Id, vector_1: Id, vector_2: Id, components: []const LiteralInteger = &.{} }, - .OpCompositeConstruct => struct { id_result_type: Id, id_result: Id, constituents: []const Id = &.{} }, - .OpCompositeExtract => struct { id_result_type: Id, id_result: Id, composite: Id, indexes: []const LiteralInteger = &.{} }, - .OpCompositeInsert => struct { id_result_type: Id, id_result: Id, object: Id, composite: Id, indexes: []const LiteralInteger = &.{} }, - .OpCopyObject => struct { id_result_type: Id, id_result: Id, operand: Id }, - .OpTranspose => struct { id_result_type: Id, id_result: Id, matrix: Id }, - .OpSampledImage => struct { id_result_type: Id, id_result: Id, image: Id, sampler: Id }, - .OpImageSampleImplicitLod => struct { id_result_type: Id, id_result: Id, sampled_image: Id, coordinate: Id, image_operands: ?ImageOperands.Extended = null }, - .OpImageSampleExplicitLod => struct { id_result_type: Id, id_result: Id, sampled_image: Id, coordinate: Id, image_operands: ImageOperands.Extended }, - .OpImageSampleDrefImplicitLod => struct { id_result_type: Id, id_result: Id, sampled_image: Id, coordinate: Id, d_ref: Id, image_operands: ?ImageOperands.Extended = null }, - .OpImageSampleDrefExplicitLod => struct { id_result_type: Id, id_result: Id, sampled_image: Id, coordinate: Id, d_ref: Id, image_operands: ImageOperands.Extended }, - .OpImageSampleProjImplicitLod => struct { id_result_type: Id, id_result: Id, sampled_image: Id, coordinate: Id, image_operands: ?ImageOperands.Extended = null }, - .OpImageSampleProjExplicitLod => struct { id_result_type: Id, id_result: Id, sampled_image: Id, coordinate: Id, image_operands: ImageOperands.Extended }, - .OpImageSampleProjDrefImplicitLod => struct { id_result_type: Id, id_result: Id, sampled_image: Id, coordinate: Id, d_ref: Id, image_operands: ?ImageOperands.Extended = null }, - .OpImageSampleProjDrefExplicitLod => struct { id_result_type: Id, id_result: Id, sampled_image: Id, coordinate: Id, d_ref: Id, image_operands: ImageOperands.Extended }, - .OpImageFetch => struct { id_result_type: Id, id_result: Id, image: Id, coordinate: Id, image_operands: ?ImageOperands.Extended = null }, - .OpImageGather => struct { id_result_type: Id, id_result: Id, sampled_image: Id, coordinate: Id, component: Id, image_operands: ?ImageOperands.Extended = null }, - .OpImageDrefGather => struct { id_result_type: Id, id_result: Id, sampled_image: Id, coordinate: Id, d_ref: Id, image_operands: ?ImageOperands.Extended = null }, - .OpImageRead => struct { id_result_type: Id, id_result: Id, image: Id, coordinate: Id, image_operands: ?ImageOperands.Extended = null }, - .OpImageWrite => struct { image: Id, coordinate: Id, texel: Id, image_operands: ?ImageOperands.Extended = null }, - .OpImage => struct { id_result_type: Id, id_result: Id, sampled_image: Id }, - .OpImageQueryFormat => struct { id_result_type: Id, id_result: Id, image: Id }, - .OpImageQueryOrder => struct { id_result_type: Id, id_result: Id, image: Id }, - .OpImageQuerySizeLod => struct { id_result_type: Id, id_result: Id, image: Id, level_of_detail: Id }, - .OpImageQuerySize => struct { id_result_type: Id, id_result: Id, image: Id }, - .OpImageQueryLod => struct { id_result_type: Id, id_result: Id, sampled_image: Id, coordinate: Id }, - .OpImageQueryLevels => struct { id_result_type: Id, id_result: Id, image: Id }, - .OpImageQuerySamples => struct { id_result_type: Id, id_result: Id, image: Id }, - .OpConvertFToU => struct { id_result_type: Id, id_result: Id, float_value: Id }, - .OpConvertFToS => struct { id_result_type: Id, id_result: Id, float_value: Id }, - .OpConvertSToF => struct { id_result_type: Id, id_result: Id, signed_value: Id }, - .OpConvertUToF => struct { id_result_type: Id, id_result: Id, unsigned_value: Id }, - .OpUConvert => struct { id_result_type: Id, id_result: Id, unsigned_value: Id }, - .OpSConvert => struct { id_result_type: Id, id_result: Id, signed_value: Id }, - .OpFConvert => struct { id_result_type: Id, id_result: Id, float_value: Id }, - .OpQuantizeToF16 => struct { id_result_type: Id, id_result: Id, value: Id }, - .OpConvertPtrToU => struct { id_result_type: Id, id_result: Id, pointer: Id }, - .OpSatConvertSToU => struct { id_result_type: Id, id_result: Id, signed_value: Id }, - .OpSatConvertUToS => struct { id_result_type: Id, id_result: Id, unsigned_value: Id }, - .OpConvertUToPtr => struct { id_result_type: Id, id_result: Id, integer_value: Id }, - .OpPtrCastToGeneric => struct { id_result_type: Id, id_result: Id, pointer: Id }, - .OpGenericCastToPtr => struct { id_result_type: Id, id_result: Id, pointer: Id }, - .OpGenericCastToPtrExplicit => struct { id_result_type: Id, id_result: Id, pointer: Id, storage: StorageClass }, - .OpBitcast => struct { id_result_type: Id, id_result: Id, operand: Id }, - .OpSNegate => struct { id_result_type: Id, id_result: Id, operand: Id }, - .OpFNegate => struct { id_result_type: Id, id_result: Id, operand: Id }, - .OpIAdd => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpFAdd => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpISub => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpFSub => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpIMul => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpFMul => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpUDiv => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpSDiv => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpFDiv => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpUMod => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpSRem => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpSMod => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpFRem => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpFMod => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpVectorTimesScalar => struct { id_result_type: Id, id_result: Id, vector: Id, scalar: Id }, - .OpMatrixTimesScalar => struct { id_result_type: Id, id_result: Id, matrix: Id, scalar: Id }, - .OpVectorTimesMatrix => struct { id_result_type: Id, id_result: Id, vector: Id, matrix: Id }, - .OpMatrixTimesVector => struct { id_result_type: Id, id_result: Id, matrix: Id, vector: Id }, - .OpMatrixTimesMatrix => struct { id_result_type: Id, id_result: Id, left_matrix: Id, right_matrix: Id }, - .OpOuterProduct => struct { id_result_type: Id, id_result: Id, vector_1: Id, vector_2: Id }, - .OpDot => struct { id_result_type: Id, id_result: Id, vector_1: Id, vector_2: Id }, - .OpIAddCarry => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpISubBorrow => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpUMulExtended => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpSMulExtended => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpAny => struct { id_result_type: Id, id_result: Id, vector: Id }, - .OpAll => struct { id_result_type: Id, id_result: Id, vector: Id }, - .OpIsNan => struct { id_result_type: Id, id_result: Id, x: Id }, - .OpIsInf => struct { id_result_type: Id, id_result: Id, x: Id }, - .OpIsFinite => struct { id_result_type: Id, id_result: Id, x: Id }, - .OpIsNormal => struct { id_result_type: Id, id_result: Id, x: Id }, - .OpSignBitSet => struct { id_result_type: Id, id_result: Id, x: Id }, - .OpLessOrGreater => struct { id_result_type: Id, id_result: Id, x: Id, y: Id }, - .OpOrdered => struct { id_result_type: Id, id_result: Id, x: Id, y: Id }, - .OpUnordered => struct { id_result_type: Id, id_result: Id, x: Id, y: Id }, - .OpLogicalEqual => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpLogicalNotEqual => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpLogicalOr => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpLogicalAnd => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpLogicalNot => struct { id_result_type: Id, id_result: Id, operand: Id }, - .OpSelect => struct { id_result_type: Id, id_result: Id, condition: Id, object_1: Id, object_2: Id }, - .OpIEqual => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpINotEqual => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpUGreaterThan => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpSGreaterThan => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpUGreaterThanEqual => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpSGreaterThanEqual => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpULessThan => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpSLessThan => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpULessThanEqual => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpSLessThanEqual => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpFOrdEqual => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpFUnordEqual => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpFOrdNotEqual => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpFUnordNotEqual => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpFOrdLessThan => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpFUnordLessThan => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpFOrdGreaterThan => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpFUnordGreaterThan => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpFOrdLessThanEqual => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpFUnordLessThanEqual => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpFOrdGreaterThanEqual => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpFUnordGreaterThanEqual => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpShiftRightLogical => struct { id_result_type: Id, id_result: Id, base: Id, shift: Id }, - .OpShiftRightArithmetic => struct { id_result_type: Id, id_result: Id, base: Id, shift: Id }, - .OpShiftLeftLogical => struct { id_result_type: Id, id_result: Id, base: Id, shift: Id }, - .OpBitwiseOr => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpBitwiseXor => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpBitwiseAnd => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpNot => struct { id_result_type: Id, id_result: Id, operand: Id }, - .OpBitFieldInsert => struct { id_result_type: Id, id_result: Id, base: Id, insert: Id, offset: Id, count: Id }, - .OpBitFieldSExtract => struct { id_result_type: Id, id_result: Id, base: Id, offset: Id, count: Id }, - .OpBitFieldUExtract => struct { id_result_type: Id, id_result: Id, base: Id, offset: Id, count: Id }, - .OpBitReverse => struct { id_result_type: Id, id_result: Id, base: Id }, - .OpBitCount => struct { id_result_type: Id, id_result: Id, base: Id }, - .OpDPdx => struct { id_result_type: Id, id_result: Id, p: Id }, - .OpDPdy => struct { id_result_type: Id, id_result: Id, p: Id }, - .OpFwidth => struct { id_result_type: Id, id_result: Id, p: Id }, - .OpDPdxFine => struct { id_result_type: Id, id_result: Id, p: Id }, - .OpDPdyFine => struct { id_result_type: Id, id_result: Id, p: Id }, - .OpFwidthFine => struct { id_result_type: Id, id_result: Id, p: Id }, - .OpDPdxCoarse => struct { id_result_type: Id, id_result: Id, p: Id }, - .OpDPdyCoarse => struct { id_result_type: Id, id_result: Id, p: Id }, - .OpFwidthCoarse => struct { id_result_type: Id, id_result: Id, p: Id }, - .OpEmitVertex => void, - .OpEndPrimitive => void, - .OpEmitStreamVertex => struct { stream: Id }, - .OpEndStreamPrimitive => struct { stream: Id }, - .OpControlBarrier => struct { execution: Id, memory: Id, semantics: Id }, - .OpMemoryBarrier => struct { memory: Id, semantics: Id }, - .OpAtomicLoad => struct { id_result_type: Id, id_result: Id, pointer: Id, memory: Id, semantics: Id }, - .OpAtomicStore => struct { pointer: Id, memory: Id, semantics: Id, value: Id }, - .OpAtomicExchange => struct { id_result_type: Id, id_result: Id, pointer: Id, memory: Id, semantics: Id, value: Id }, - .OpAtomicCompareExchange => struct { id_result_type: Id, id_result: Id, pointer: Id, memory: Id, equal: Id, unequal: Id, value: Id, comparator: Id }, - .OpAtomicCompareExchangeWeak => struct { id_result_type: Id, id_result: Id, pointer: Id, memory: Id, equal: Id, unequal: Id, value: Id, comparator: Id }, - .OpAtomicIIncrement => struct { id_result_type: Id, id_result: Id, pointer: Id, memory: Id, semantics: Id }, - .OpAtomicIDecrement => struct { id_result_type: Id, id_result: Id, pointer: Id, memory: Id, semantics: Id }, - .OpAtomicIAdd => struct { id_result_type: Id, id_result: Id, pointer: Id, memory: Id, semantics: Id, value: Id }, - .OpAtomicISub => struct { id_result_type: Id, id_result: Id, pointer: Id, memory: Id, semantics: Id, value: Id }, - .OpAtomicSMin => struct { id_result_type: Id, id_result: Id, pointer: Id, memory: Id, semantics: Id, value: Id }, - .OpAtomicUMin => struct { id_result_type: Id, id_result: Id, pointer: Id, memory: Id, semantics: Id, value: Id }, - .OpAtomicSMax => struct { id_result_type: Id, id_result: Id, pointer: Id, memory: Id, semantics: Id, value: Id }, - .OpAtomicUMax => struct { id_result_type: Id, id_result: Id, pointer: Id, memory: Id, semantics: Id, value: Id }, - .OpAtomicAnd => struct { id_result_type: Id, id_result: Id, pointer: Id, memory: Id, semantics: Id, value: Id }, - .OpAtomicOr => struct { id_result_type: Id, id_result: Id, pointer: Id, memory: Id, semantics: Id, value: Id }, - .OpAtomicXor => struct { id_result_type: Id, id_result: Id, pointer: Id, memory: Id, semantics: Id, value: Id }, - .OpPhi => struct { id_result_type: Id, id_result: Id, pair_id_ref_id_ref: []const PairIdRefIdRef = &.{} }, - .OpLoopMerge => struct { merge_block: Id, continue_target: Id, loop_control: LoopControl.Extended }, - .OpSelectionMerge => struct { merge_block: Id, selection_control: SelectionControl }, - .OpLabel => struct { id_result: Id }, - .OpBranch => struct { target_label: Id }, - .OpBranchConditional => struct { condition: Id, true_label: Id, false_label: Id, branch_weights: []const LiteralInteger = &.{} }, - .OpSwitch => struct { selector: Id, default: Id, target: []const PairLiteralIntegerIdRef = &.{} }, - .OpKill => void, - .OpReturn => void, - .OpReturnValue => struct { value: Id }, - .OpUnreachable => void, - .OpLifetimeStart => struct { pointer: Id, size: LiteralInteger }, - .OpLifetimeStop => struct { pointer: Id, size: LiteralInteger }, - .OpGroupAsyncCopy => struct { id_result_type: Id, id_result: Id, execution: Id, destination: Id, source: Id, num_elements: Id, stride: Id, event: Id }, - .OpGroupWaitEvents => struct { execution: Id, num_events: Id, events_list: Id }, - .OpGroupAll => struct { id_result_type: Id, id_result: Id, execution: Id, predicate: Id }, - .OpGroupAny => struct { id_result_type: Id, id_result: Id, execution: Id, predicate: Id }, - .OpGroupBroadcast => struct { id_result_type: Id, id_result: Id, execution: Id, value: Id, local_id: Id }, - .OpGroupIAdd => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id }, - .OpGroupFAdd => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id }, - .OpGroupFMin => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id }, - .OpGroupUMin => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id }, - .OpGroupSMin => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id }, - .OpGroupFMax => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id }, - .OpGroupUMax => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id }, - .OpGroupSMax => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id }, - .OpReadPipe => struct { id_result_type: Id, id_result: Id, pipe: Id, pointer: Id, packet_size: Id, packet_alignment: Id }, - .OpWritePipe => struct { id_result_type: Id, id_result: Id, pipe: Id, pointer: Id, packet_size: Id, packet_alignment: Id }, - .OpReservedReadPipe => struct { id_result_type: Id, id_result: Id, pipe: Id, reserve_id: Id, index: Id, pointer: Id, packet_size: Id, packet_alignment: Id }, - .OpReservedWritePipe => struct { id_result_type: Id, id_result: Id, pipe: Id, reserve_id: Id, index: Id, pointer: Id, packet_size: Id, packet_alignment: Id }, - .OpReserveReadPipePackets => struct { id_result_type: Id, id_result: Id, pipe: Id, num_packets: Id, packet_size: Id, packet_alignment: Id }, - .OpReserveWritePipePackets => struct { id_result_type: Id, id_result: Id, pipe: Id, num_packets: Id, packet_size: Id, packet_alignment: Id }, - .OpCommitReadPipe => struct { pipe: Id, reserve_id: Id, packet_size: Id, packet_alignment: Id }, - .OpCommitWritePipe => struct { pipe: Id, reserve_id: Id, packet_size: Id, packet_alignment: Id }, - .OpIsValidReserveId => struct { id_result_type: Id, id_result: Id, reserve_id: Id }, - .OpGetNumPipePackets => struct { id_result_type: Id, id_result: Id, pipe: Id, packet_size: Id, packet_alignment: Id }, - .OpGetMaxPipePackets => struct { id_result_type: Id, id_result: Id, pipe: Id, packet_size: Id, packet_alignment: Id }, - .OpGroupReserveReadPipePackets => struct { id_result_type: Id, id_result: Id, execution: Id, pipe: Id, num_packets: Id, packet_size: Id, packet_alignment: Id }, - .OpGroupReserveWritePipePackets => struct { id_result_type: Id, id_result: Id, execution: Id, pipe: Id, num_packets: Id, packet_size: Id, packet_alignment: Id }, - .OpGroupCommitReadPipe => struct { execution: Id, pipe: Id, reserve_id: Id, packet_size: Id, packet_alignment: Id }, - .OpGroupCommitWritePipe => struct { execution: Id, pipe: Id, reserve_id: Id, packet_size: Id, packet_alignment: Id }, - .OpEnqueueMarker => struct { id_result_type: Id, id_result: Id, queue: Id, num_events: Id, wait_events: Id, ret_event: Id }, - .OpEnqueueKernel => struct { id_result_type: Id, id_result: Id, queue: Id, flags: Id, nd_range: Id, num_events: Id, wait_events: Id, ret_event: Id, invoke: Id, param: Id, param_size: Id, param_align: Id, local_size: []const Id = &.{} }, - .OpGetKernelNDrangeSubGroupCount => struct { id_result_type: Id, id_result: Id, nd_range: Id, invoke: Id, param: Id, param_size: Id, param_align: Id }, - .OpGetKernelNDrangeMaxSubGroupSize => struct { id_result_type: Id, id_result: Id, nd_range: Id, invoke: Id, param: Id, param_size: Id, param_align: Id }, - .OpGetKernelWorkGroupSize => struct { id_result_type: Id, id_result: Id, invoke: Id, param: Id, param_size: Id, param_align: Id }, - .OpGetKernelPreferredWorkGroupSizeMultiple => struct { id_result_type: Id, id_result: Id, invoke: Id, param: Id, param_size: Id, param_align: Id }, - .OpRetainEvent => struct { event: Id }, - .OpReleaseEvent => struct { event: Id }, - .OpCreateUserEvent => struct { id_result_type: Id, id_result: Id }, - .OpIsValidEvent => struct { id_result_type: Id, id_result: Id, event: Id }, - .OpSetUserEventStatus => struct { event: Id, status: Id }, - .OpCaptureEventProfilingInfo => struct { event: Id, profiling_info: Id, value: Id }, - .OpGetDefaultQueue => struct { id_result_type: Id, id_result: Id }, - .OpBuildNDRange => struct { id_result_type: Id, id_result: Id, global_work_size: Id, local_work_size: Id, global_work_offset: Id }, - .OpImageSparseSampleImplicitLod => struct { id_result_type: Id, id_result: Id, sampled_image: Id, coordinate: Id, image_operands: ?ImageOperands.Extended = null }, - .OpImageSparseSampleExplicitLod => struct { id_result_type: Id, id_result: Id, sampled_image: Id, coordinate: Id, image_operands: ImageOperands.Extended }, - .OpImageSparseSampleDrefImplicitLod => struct { id_result_type: Id, id_result: Id, sampled_image: Id, coordinate: Id, d_ref: Id, image_operands: ?ImageOperands.Extended = null }, - .OpImageSparseSampleDrefExplicitLod => struct { id_result_type: Id, id_result: Id, sampled_image: Id, coordinate: Id, d_ref: Id, image_operands: ImageOperands.Extended }, - .OpImageSparseSampleProjImplicitLod => struct { id_result_type: Id, id_result: Id, sampled_image: Id, coordinate: Id, image_operands: ?ImageOperands.Extended = null }, - .OpImageSparseSampleProjExplicitLod => struct { id_result_type: Id, id_result: Id, sampled_image: Id, coordinate: Id, image_operands: ImageOperands.Extended }, - .OpImageSparseSampleProjDrefImplicitLod => struct { id_result_type: Id, id_result: Id, sampled_image: Id, coordinate: Id, d_ref: Id, image_operands: ?ImageOperands.Extended = null }, - .OpImageSparseSampleProjDrefExplicitLod => struct { id_result_type: Id, id_result: Id, sampled_image: Id, coordinate: Id, d_ref: Id, image_operands: ImageOperands.Extended }, - .OpImageSparseFetch => struct { id_result_type: Id, id_result: Id, image: Id, coordinate: Id, image_operands: ?ImageOperands.Extended = null }, - .OpImageSparseGather => struct { id_result_type: Id, id_result: Id, sampled_image: Id, coordinate: Id, component: Id, image_operands: ?ImageOperands.Extended = null }, - .OpImageSparseDrefGather => struct { id_result_type: Id, id_result: Id, sampled_image: Id, coordinate: Id, d_ref: Id, image_operands: ?ImageOperands.Extended = null }, - .OpImageSparseTexelsResident => struct { id_result_type: Id, id_result: Id, resident_code: Id }, - .OpNoLine => void, - .OpAtomicFlagTestAndSet => struct { id_result_type: Id, id_result: Id, pointer: Id, memory: Id, semantics: Id }, - .OpAtomicFlagClear => struct { pointer: Id, memory: Id, semantics: Id }, - .OpImageSparseRead => struct { id_result_type: Id, id_result: Id, image: Id, coordinate: Id, image_operands: ?ImageOperands.Extended = null }, - .OpSizeOf => struct { id_result_type: Id, id_result: Id, pointer: Id }, - .OpTypePipeStorage => struct { id_result: Id }, - .OpConstantPipeStorage => struct { id_result_type: Id, id_result: Id, packet_size: LiteralInteger, packet_alignment: LiteralInteger, capacity: LiteralInteger }, - .OpCreatePipeFromPipeStorage => struct { id_result_type: Id, id_result: Id, pipe_storage: Id }, - .OpGetKernelLocalSizeForSubgroupCount => struct { id_result_type: Id, id_result: Id, subgroup_count: Id, invoke: Id, param: Id, param_size: Id, param_align: Id }, - .OpGetKernelMaxNumSubgroups => struct { id_result_type: Id, id_result: Id, invoke: Id, param: Id, param_size: Id, param_align: Id }, - .OpTypeNamedBarrier => struct { id_result: Id }, - .OpNamedBarrierInitialize => struct { id_result_type: Id, id_result: Id, subgroup_count: Id }, - .OpMemoryNamedBarrier => struct { named_barrier: Id, memory: Id, semantics: Id }, - .OpModuleProcessed => struct { process: LiteralString }, - .OpExecutionModeId => struct { entry_point: Id, mode: ExecutionMode.Extended }, - .OpDecorateId => struct { target: Id, decoration: Decoration.Extended }, - .OpGroupNonUniformElect => struct { id_result_type: Id, id_result: Id, execution: Id }, - .OpGroupNonUniformAll => struct { id_result_type: Id, id_result: Id, execution: Id, predicate: Id }, - .OpGroupNonUniformAny => struct { id_result_type: Id, id_result: Id, execution: Id, predicate: Id }, - .OpGroupNonUniformAllEqual => struct { id_result_type: Id, id_result: Id, execution: Id, value: Id }, - .OpGroupNonUniformBroadcast => struct { id_result_type: Id, id_result: Id, execution: Id, value: Id, id: Id }, - .OpGroupNonUniformBroadcastFirst => struct { id_result_type: Id, id_result: Id, execution: Id, value: Id }, - .OpGroupNonUniformBallot => struct { id_result_type: Id, id_result: Id, execution: Id, predicate: Id }, - .OpGroupNonUniformInverseBallot => struct { id_result_type: Id, id_result: Id, execution: Id, value: Id }, - .OpGroupNonUniformBallotBitExtract => struct { id_result_type: Id, id_result: Id, execution: Id, value: Id, index: Id }, - .OpGroupNonUniformBallotBitCount => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, value: Id }, - .OpGroupNonUniformBallotFindLSB => struct { id_result_type: Id, id_result: Id, execution: Id, value: Id }, - .OpGroupNonUniformBallotFindMSB => struct { id_result_type: Id, id_result: Id, execution: Id, value: Id }, - .OpGroupNonUniformShuffle => struct { id_result_type: Id, id_result: Id, execution: Id, value: Id, id: Id }, - .OpGroupNonUniformShuffleXor => struct { id_result_type: Id, id_result: Id, execution: Id, value: Id, mask: Id }, - .OpGroupNonUniformShuffleUp => struct { id_result_type: Id, id_result: Id, execution: Id, value: Id, delta: Id }, - .OpGroupNonUniformShuffleDown => struct { id_result_type: Id, id_result: Id, execution: Id, value: Id, delta: Id }, - .OpGroupNonUniformIAdd => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, value: Id, cluster_size: ?Id = null }, - .OpGroupNonUniformFAdd => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, value: Id, cluster_size: ?Id = null }, - .OpGroupNonUniformIMul => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, value: Id, cluster_size: ?Id = null }, - .OpGroupNonUniformFMul => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, value: Id, cluster_size: ?Id = null }, - .OpGroupNonUniformSMin => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, value: Id, cluster_size: ?Id = null }, - .OpGroupNonUniformUMin => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, value: Id, cluster_size: ?Id = null }, - .OpGroupNonUniformFMin => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, value: Id, cluster_size: ?Id = null }, - .OpGroupNonUniformSMax => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, value: Id, cluster_size: ?Id = null }, - .OpGroupNonUniformUMax => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, value: Id, cluster_size: ?Id = null }, - .OpGroupNonUniformFMax => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, value: Id, cluster_size: ?Id = null }, - .OpGroupNonUniformBitwiseAnd => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, value: Id, cluster_size: ?Id = null }, - .OpGroupNonUniformBitwiseOr => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, value: Id, cluster_size: ?Id = null }, - .OpGroupNonUniformBitwiseXor => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, value: Id, cluster_size: ?Id = null }, - .OpGroupNonUniformLogicalAnd => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, value: Id, cluster_size: ?Id = null }, - .OpGroupNonUniformLogicalOr => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, value: Id, cluster_size: ?Id = null }, - .OpGroupNonUniformLogicalXor => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, value: Id, cluster_size: ?Id = null }, - .OpGroupNonUniformQuadBroadcast => struct { id_result_type: Id, id_result: Id, execution: Id, value: Id, index: Id }, - .OpGroupNonUniformQuadSwap => struct { id_result_type: Id, id_result: Id, execution: Id, value: Id, direction: Id }, - .OpCopyLogical => struct { id_result_type: Id, id_result: Id, operand: Id }, - .OpPtrEqual => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpPtrNotEqual => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpPtrDiff => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpColorAttachmentReadEXT => struct { id_result_type: Id, id_result: Id, attachment: Id, sample: ?Id = null }, - .OpDepthAttachmentReadEXT => struct { id_result_type: Id, id_result: Id, sample: ?Id = null }, - .OpStencilAttachmentReadEXT => struct { id_result_type: Id, id_result: Id, sample: ?Id = null }, - .OpTypeTensorARM => struct { id_result: Id, element_type: Id, rank: ?Id = null, shape: ?Id = null }, - .OpTensorReadARM => struct { id_result_type: Id, id_result: Id, tensor: Id, coordinates: Id, tensor_operands: ?TensorOperands.Extended = null }, - .OpTensorWriteARM => struct { tensor: Id, coordinates: Id, object: Id, tensor_operands: ?TensorOperands.Extended = null }, - .OpTensorQuerySizeARM => struct { id_result_type: Id, id_result: Id, tensor: Id, dimension: Id }, - .OpGraphConstantARM => struct { id_result_type: Id, id_result: Id, graph_constant_id: LiteralInteger }, - .OpGraphEntryPointARM => struct { graph: Id, name: LiteralString, interface: []const Id = &.{} }, - .OpGraphARM => struct { id_result_type: Id, id_result: Id }, - .OpGraphInputARM => struct { id_result_type: Id, id_result: Id, input_index: Id, element_index: []const Id = &.{} }, - .OpGraphSetOutputARM => struct { value: Id, output_index: Id, element_index: []const Id = &.{} }, - .OpGraphEndARM => void, - .OpTypeGraphARM => struct { id_result: Id, num_inputs: LiteralInteger, in_out_types: []const Id = &.{} }, - .OpTerminateInvocation => void, - .OpTypeUntypedPointerKHR => struct { id_result: Id, storage_class: StorageClass }, - .OpUntypedVariableKHR => struct { id_result_type: Id, id_result: Id, storage_class: StorageClass, data_type: ?Id = null, initializer: ?Id = null }, - .OpUntypedAccessChainKHR => struct { id_result_type: Id, id_result: Id, base_type: Id, base: Id, indexes: []const Id = &.{} }, - .OpUntypedInBoundsAccessChainKHR => struct { id_result_type: Id, id_result: Id, base_type: Id, base: Id, indexes: []const Id = &.{} }, - .OpSubgroupBallotKHR => struct { id_result_type: Id, id_result: Id, predicate: Id }, - .OpSubgroupFirstInvocationKHR => struct { id_result_type: Id, id_result: Id, value: Id }, - .OpUntypedPtrAccessChainKHR => struct { id_result_type: Id, id_result: Id, base_type: Id, base: Id, element: Id, indexes: []const Id = &.{} }, - .OpUntypedInBoundsPtrAccessChainKHR => struct { id_result_type: Id, id_result: Id, base_type: Id, base: Id, element: Id, indexes: []const Id = &.{} }, - .OpUntypedArrayLengthKHR => struct { id_result_type: Id, id_result: Id, structure: Id, pointer: Id, array_member: LiteralInteger }, - .OpUntypedPrefetchKHR => struct { pointer_type: Id, num_bytes: Id, rw: ?Id = null, locality: ?Id = null, cache_type: ?Id = null }, - .OpSubgroupAllKHR => struct { id_result_type: Id, id_result: Id, predicate: Id }, - .OpSubgroupAnyKHR => struct { id_result_type: Id, id_result: Id, predicate: Id }, - .OpSubgroupAllEqualKHR => struct { id_result_type: Id, id_result: Id, predicate: Id }, - .OpGroupNonUniformRotateKHR => struct { id_result_type: Id, id_result: Id, execution: Id, value: Id, delta: Id, cluster_size: ?Id = null }, - .OpSubgroupReadInvocationKHR => struct { id_result_type: Id, id_result: Id, value: Id, index: Id }, - .OpExtInstWithForwardRefsKHR => struct { id_result_type: Id, id_result: Id, set: Id, instruction: LiteralExtInstInteger, id_ref_4: []const Id = &.{} }, - .OpTraceRayKHR => struct { accel: Id, ray_flags: Id, cull_mask: Id, sbt_offset: Id, sbt_stride: Id, miss_index: Id, ray_origin: Id, ray_tmin: Id, ray_direction: Id, ray_tmax: Id, payload: Id }, - .OpExecuteCallableKHR => struct { sbt_index: Id, callable_data: Id }, - .OpConvertUToAccelerationStructureKHR => struct { id_result_type: Id, id_result: Id, accel: Id }, - .OpIgnoreIntersectionKHR => void, - .OpTerminateRayKHR => void, - .OpSDot => struct { id_result_type: Id, id_result: Id, vector_1: Id, vector_2: Id, packed_vector_format: ?PackedVectorFormat = null }, - .OpUDot => struct { id_result_type: Id, id_result: Id, vector_1: Id, vector_2: Id, packed_vector_format: ?PackedVectorFormat = null }, - .OpSUDot => struct { id_result_type: Id, id_result: Id, vector_1: Id, vector_2: Id, packed_vector_format: ?PackedVectorFormat = null }, - .OpSDotAccSat => struct { id_result_type: Id, id_result: Id, vector_1: Id, vector_2: Id, accumulator: Id, packed_vector_format: ?PackedVectorFormat = null }, - .OpUDotAccSat => struct { id_result_type: Id, id_result: Id, vector_1: Id, vector_2: Id, accumulator: Id, packed_vector_format: ?PackedVectorFormat = null }, - .OpSUDotAccSat => struct { id_result_type: Id, id_result: Id, vector_1: Id, vector_2: Id, accumulator: Id, packed_vector_format: ?PackedVectorFormat = null }, - .OpTypeCooperativeMatrixKHR => struct { id_result: Id, component_type: Id, scope: Id, rows: Id, columns: Id, use: Id }, - .OpCooperativeMatrixLoadKHR => struct { id_result_type: Id, id_result: Id, pointer: Id, memory_layout: Id, stride: ?Id = null, memory_operand: ?MemoryAccess.Extended = null }, - .OpCooperativeMatrixStoreKHR => struct { pointer: Id, object: Id, memory_layout: Id, stride: ?Id = null, memory_operand: ?MemoryAccess.Extended = null }, - .OpCooperativeMatrixMulAddKHR => struct { id_result_type: Id, id_result: Id, a: Id, b: Id, c: Id, cooperative_matrix_operands: ?CooperativeMatrixOperands = null }, - .OpCooperativeMatrixLengthKHR => struct { id_result_type: Id, id_result: Id, type: Id }, - .OpConstantCompositeReplicateEXT => struct { id_result_type: Id, id_result: Id, value: Id }, - .OpSpecConstantCompositeReplicateEXT => struct { id_result_type: Id, id_result: Id, value: Id }, - .OpCompositeConstructReplicateEXT => struct { id_result_type: Id, id_result: Id, value: Id }, - .OpTypeRayQueryKHR => struct { id_result: Id }, - .OpRayQueryInitializeKHR => struct { ray_query: Id, accel: Id, ray_flags: Id, cull_mask: Id, ray_origin: Id, ray_t_min: Id, ray_direction: Id, ray_t_max: Id }, - .OpRayQueryTerminateKHR => struct { ray_query: Id }, - .OpRayQueryGenerateIntersectionKHR => struct { ray_query: Id, hit_t: Id }, - .OpRayQueryConfirmIntersectionKHR => struct { ray_query: Id }, - .OpRayQueryProceedKHR => struct { id_result_type: Id, id_result: Id, ray_query: Id }, - .OpRayQueryGetIntersectionTypeKHR => struct { id_result_type: Id, id_result: Id, ray_query: Id, intersection: Id }, - .OpImageSampleWeightedQCOM => struct { id_result_type: Id, id_result: Id, texture: Id, coordinates: Id, weights: Id }, - .OpImageBoxFilterQCOM => struct { id_result_type: Id, id_result: Id, texture: Id, coordinates: Id, box_size: Id }, - .OpImageBlockMatchSSDQCOM => struct { id_result_type: Id, id_result: Id, target: Id, target_coordinates: Id, reference: Id, reference_coordinates: Id, block_size: Id }, - .OpImageBlockMatchSADQCOM => struct { id_result_type: Id, id_result: Id, target: Id, target_coordinates: Id, reference: Id, reference_coordinates: Id, block_size: Id }, - .OpImageBlockMatchWindowSSDQCOM => struct { id_result_type: Id, id_result: Id, target_sampled_image: Id, target_coordinates: Id, reference_sampled_image: Id, reference_coordinates: Id, block_size: Id }, - .OpImageBlockMatchWindowSADQCOM => struct { id_result_type: Id, id_result: Id, target_sampled_image: Id, target_coordinates: Id, reference_sampled_image: Id, reference_coordinates: Id, block_size: Id }, - .OpImageBlockMatchGatherSSDQCOM => struct { id_result_type: Id, id_result: Id, target_sampled_image: Id, target_coordinates: Id, reference_sampled_image: Id, reference_coordinates: Id, block_size: Id }, - .OpImageBlockMatchGatherSADQCOM => struct { id_result_type: Id, id_result: Id, target_sampled_image: Id, target_coordinates: Id, reference_sampled_image: Id, reference_coordinates: Id, block_size: Id }, - .OpGroupIAddNonUniformAMD => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id }, - .OpGroupFAddNonUniformAMD => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id }, - .OpGroupFMinNonUniformAMD => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id }, - .OpGroupUMinNonUniformAMD => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id }, - .OpGroupSMinNonUniformAMD => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id }, - .OpGroupFMaxNonUniformAMD => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id }, - .OpGroupUMaxNonUniformAMD => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id }, - .OpGroupSMaxNonUniformAMD => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id }, - .OpFragmentMaskFetchAMD => struct { id_result_type: Id, id_result: Id, image: Id, coordinate: Id }, - .OpFragmentFetchAMD => struct { id_result_type: Id, id_result: Id, image: Id, coordinate: Id, fragment_index: Id }, - .OpReadClockKHR => struct { id_result_type: Id, id_result: Id, scope: Id }, - .OpAllocateNodePayloadsAMDX => struct { id_result_type: Id, id_result: Id, visibility: Id, payload_count: Id, node_index: Id }, - .OpEnqueueNodePayloadsAMDX => struct { payload_array: Id }, - .OpTypeNodePayloadArrayAMDX => struct { id_result: Id, payload_type: Id }, - .OpFinishWritingNodePayloadAMDX => struct { id_result_type: Id, id_result: Id, payload: Id }, - .OpNodePayloadArrayLengthAMDX => struct { id_result_type: Id, id_result: Id, payload_array: Id }, - .OpIsNodePayloadValidAMDX => struct { id_result_type: Id, id_result: Id, payload_type: Id, node_index: Id }, - .OpConstantStringAMDX => struct { id_result: Id, literal_string: LiteralString }, - .OpSpecConstantStringAMDX => struct { id_result: Id, literal_string: LiteralString }, - .OpGroupNonUniformQuadAllKHR => struct { id_result_type: Id, id_result: Id, predicate: Id }, - .OpGroupNonUniformQuadAnyKHR => struct { id_result_type: Id, id_result: Id, predicate: Id }, - .OpHitObjectRecordHitMotionNV => struct { hit_object: Id, acceleration_structure: Id, instance_id: Id, primitive_id: Id, geometry_index: Id, hit_kind: Id, sbt_record_offset: Id, sbt_record_stride: Id, origin: Id, t_min: Id, direction: Id, t_max: Id, current_time: Id, hit_object_attributes: Id }, - .OpHitObjectRecordHitWithIndexMotionNV => struct { hit_object: Id, acceleration_structure: Id, instance_id: Id, primitive_id: Id, geometry_index: Id, hit_kind: Id, sbt_record_index: Id, origin: Id, t_min: Id, direction: Id, t_max: Id, current_time: Id, hit_object_attributes: Id }, - .OpHitObjectRecordMissMotionNV => struct { hit_object: Id, sbt_index: Id, origin: Id, t_min: Id, direction: Id, t_max: Id, current_time: Id }, - .OpHitObjectGetWorldToObjectNV => struct { id_result_type: Id, id_result: Id, hit_object: Id }, - .OpHitObjectGetObjectToWorldNV => struct { id_result_type: Id, id_result: Id, hit_object: Id }, - .OpHitObjectGetObjectRayDirectionNV => struct { id_result_type: Id, id_result: Id, hit_object: Id }, - .OpHitObjectGetObjectRayOriginNV => struct { id_result_type: Id, id_result: Id, hit_object: Id }, - .OpHitObjectTraceRayMotionNV => struct { hit_object: Id, acceleration_structure: Id, ray_flags: Id, cullmask: Id, sbt_record_offset: Id, sbt_record_stride: Id, miss_index: Id, origin: Id, t_min: Id, direction: Id, t_max: Id, time: Id, payload: Id }, - .OpHitObjectGetShaderRecordBufferHandleNV => struct { id_result_type: Id, id_result: Id, hit_object: Id }, - .OpHitObjectGetShaderBindingTableRecordIndexNV => struct { id_result_type: Id, id_result: Id, hit_object: Id }, - .OpHitObjectRecordEmptyNV => struct { hit_object: Id }, - .OpHitObjectTraceRayNV => struct { hit_object: Id, acceleration_structure: Id, ray_flags: Id, cullmask: Id, sbt_record_offset: Id, sbt_record_stride: Id, miss_index: Id, origin: Id, t_min: Id, direction: Id, t_max: Id, payload: Id }, - .OpHitObjectRecordHitNV => struct { hit_object: Id, acceleration_structure: Id, instance_id: Id, primitive_id: Id, geometry_index: Id, hit_kind: Id, sbt_record_offset: Id, sbt_record_stride: Id, origin: Id, t_min: Id, direction: Id, t_max: Id, hit_object_attributes: Id }, - .OpHitObjectRecordHitWithIndexNV => struct { hit_object: Id, acceleration_structure: Id, instance_id: Id, primitive_id: Id, geometry_index: Id, hit_kind: Id, sbt_record_index: Id, origin: Id, t_min: Id, direction: Id, t_max: Id, hit_object_attributes: Id }, - .OpHitObjectRecordMissNV => struct { hit_object: Id, sbt_index: Id, origin: Id, t_min: Id, direction: Id, t_max: Id }, - .OpHitObjectExecuteShaderNV => struct { hit_object: Id, payload: Id }, - .OpHitObjectGetCurrentTimeNV => struct { id_result_type: Id, id_result: Id, hit_object: Id }, - .OpHitObjectGetAttributesNV => struct { hit_object: Id, hit_object_attribute: Id }, - .OpHitObjectGetHitKindNV => struct { id_result_type: Id, id_result: Id, hit_object: Id }, - .OpHitObjectGetPrimitiveIndexNV => struct { id_result_type: Id, id_result: Id, hit_object: Id }, - .OpHitObjectGetGeometryIndexNV => struct { id_result_type: Id, id_result: Id, hit_object: Id }, - .OpHitObjectGetInstanceIdNV => struct { id_result_type: Id, id_result: Id, hit_object: Id }, - .OpHitObjectGetInstanceCustomIndexNV => struct { id_result_type: Id, id_result: Id, hit_object: Id }, - .OpHitObjectGetWorldRayDirectionNV => struct { id_result_type: Id, id_result: Id, hit_object: Id }, - .OpHitObjectGetWorldRayOriginNV => struct { id_result_type: Id, id_result: Id, hit_object: Id }, - .OpHitObjectGetRayTMaxNV => struct { id_result_type: Id, id_result: Id, hit_object: Id }, - .OpHitObjectGetRayTMinNV => struct { id_result_type: Id, id_result: Id, hit_object: Id }, - .OpHitObjectIsEmptyNV => struct { id_result_type: Id, id_result: Id, hit_object: Id }, - .OpHitObjectIsHitNV => struct { id_result_type: Id, id_result: Id, hit_object: Id }, - .OpHitObjectIsMissNV => struct { id_result_type: Id, id_result: Id, hit_object: Id }, - .OpReorderThreadWithHitObjectNV => struct { hit_object: Id, hint: ?Id = null, bits: ?Id = null }, - .OpReorderThreadWithHintNV => struct { hint: Id, bits: Id }, - .OpTypeHitObjectNV => struct { id_result: Id }, - .OpImageSampleFootprintNV => struct { id_result_type: Id, id_result: Id, sampled_image: Id, coordinate: Id, granularity: Id, coarse: Id, image_operands: ?ImageOperands.Extended = null }, - .OpTypeCooperativeVectorNV => struct { id_result: Id, component_type: Id, component_count: Id }, - .OpCooperativeVectorMatrixMulNV => struct { id_result_type: Id, id_result: Id, input: Id, input_interpretation: Id, matrix: Id, matrix_offset: Id, matrix_interpretation: Id, m: Id, k: Id, memory_layout: Id, transpose: Id, matrix_stride: ?Id = null, cooperative_matrix_operands: ?CooperativeMatrixOperands = null }, - .OpCooperativeVectorOuterProductAccumulateNV => struct { pointer: Id, offset: Id, a: Id, b: Id, memory_layout: Id, matrix_interpretation: Id, matrix_stride: ?Id = null }, - .OpCooperativeVectorReduceSumAccumulateNV => struct { pointer: Id, offset: Id, v: Id }, - .OpCooperativeVectorMatrixMulAddNV => struct { id_result_type: Id, id_result: Id, input: Id, input_interpretation: Id, matrix: Id, matrix_offset: Id, matrix_interpretation: Id, bias: Id, bias_offset: Id, bias_interpretation: Id, m: Id, k: Id, memory_layout: Id, transpose: Id, matrix_stride: ?Id = null, cooperative_matrix_operands: ?CooperativeMatrixOperands = null }, - .OpCooperativeMatrixConvertNV => struct { id_result_type: Id, id_result: Id, matrix: Id }, - .OpEmitMeshTasksEXT => struct { group_count_x: Id, group_count_y: Id, group_count_z: Id, payload: ?Id = null }, - .OpSetMeshOutputsEXT => struct { vertex_count: Id, primitive_count: Id }, - .OpGroupNonUniformPartitionNV => struct { id_result_type: Id, id_result: Id, value: Id }, - .OpWritePackedPrimitiveIndices4x8NV => struct { index_offset: Id, packed_indices: Id }, - .OpFetchMicroTriangleVertexPositionNV => struct { id_result_type: Id, id_result: Id, accel: Id, instance_id: Id, geometry_index: Id, primitive_index: Id, barycentric: Id }, - .OpFetchMicroTriangleVertexBarycentricNV => struct { id_result_type: Id, id_result: Id, accel: Id, instance_id: Id, geometry_index: Id, primitive_index: Id, barycentric: Id }, - .OpCooperativeVectorLoadNV => struct { id_result_type: Id, id_result: Id, pointer: Id, offset: Id, memory_access: ?MemoryAccess.Extended = null }, - .OpCooperativeVectorStoreNV => struct { pointer: Id, offset: Id, object: Id, memory_access: ?MemoryAccess.Extended = null }, - .OpReportIntersectionKHR => struct { id_result_type: Id, id_result: Id, hit: Id, hit_kind: Id }, - .OpIgnoreIntersectionNV => void, - .OpTerminateRayNV => void, - .OpTraceNV => struct { accel: Id, ray_flags: Id, cull_mask: Id, sbt_offset: Id, sbt_stride: Id, miss_index: Id, ray_origin: Id, ray_tmin: Id, ray_direction: Id, ray_tmax: Id, payload_id: Id }, - .OpTraceMotionNV => struct { accel: Id, ray_flags: Id, cull_mask: Id, sbt_offset: Id, sbt_stride: Id, miss_index: Id, ray_origin: Id, ray_tmin: Id, ray_direction: Id, ray_tmax: Id, time: Id, payload_id: Id }, - .OpTraceRayMotionNV => struct { accel: Id, ray_flags: Id, cull_mask: Id, sbt_offset: Id, sbt_stride: Id, miss_index: Id, ray_origin: Id, ray_tmin: Id, ray_direction: Id, ray_tmax: Id, time: Id, payload: Id }, - .OpRayQueryGetIntersectionTriangleVertexPositionsKHR => struct { id_result_type: Id, id_result: Id, ray_query: Id, intersection: Id }, - .OpTypeAccelerationStructureKHR => struct { id_result: Id }, - .OpExecuteCallableNV => struct { sbt_index: Id, callable_data_id: Id }, - .OpRayQueryGetClusterIdNV => struct { id_result_type: Id, id_result: Id, ray_query: Id, intersection: Id }, - .OpHitObjectGetClusterIdNV => struct { id_result_type: Id, id_result: Id, hit_object: Id }, - .OpTypeCooperativeMatrixNV => struct { id_result: Id, component_type: Id, execution: Id, rows: Id, columns: Id }, - .OpCooperativeMatrixLoadNV => struct { id_result_type: Id, id_result: Id, pointer: Id, stride: Id, column_major: Id, memory_access: ?MemoryAccess.Extended = null }, - .OpCooperativeMatrixStoreNV => struct { pointer: Id, object: Id, stride: Id, column_major: Id, memory_access: ?MemoryAccess.Extended = null }, - .OpCooperativeMatrixMulAddNV => struct { id_result_type: Id, id_result: Id, a: Id, b: Id, c: Id }, - .OpCooperativeMatrixLengthNV => struct { id_result_type: Id, id_result: Id, type: Id }, - .OpBeginInvocationInterlockEXT => void, - .OpEndInvocationInterlockEXT => void, - .OpCooperativeMatrixReduceNV => struct { id_result_type: Id, id_result: Id, matrix: Id, reduce: CooperativeMatrixReduce, combine_func: Id }, - .OpCooperativeMatrixLoadTensorNV => struct { id_result_type: Id, id_result: Id, pointer: Id, object: Id, tensor_layout: Id, memory_operand: MemoryAccess.Extended, tensor_addressing_operands: TensorAddressingOperands.Extended }, - .OpCooperativeMatrixStoreTensorNV => struct { pointer: Id, object: Id, tensor_layout: Id, memory_operand: MemoryAccess.Extended, tensor_addressing_operands: TensorAddressingOperands.Extended }, - .OpCooperativeMatrixPerElementOpNV => struct { id_result_type: Id, id_result: Id, matrix: Id, func: Id, operands: []const Id = &.{} }, - .OpTypeTensorLayoutNV => struct { id_result: Id, dim: Id, clamp_mode: Id }, - .OpTypeTensorViewNV => struct { id_result: Id, dim: Id, has_dimensions: Id, p: []const Id = &.{} }, - .OpCreateTensorLayoutNV => struct { id_result_type: Id, id_result: Id }, - .OpTensorLayoutSetDimensionNV => struct { id_result_type: Id, id_result: Id, tensor_layout: Id, dim: []const Id = &.{} }, - .OpTensorLayoutSetStrideNV => struct { id_result_type: Id, id_result: Id, tensor_layout: Id, stride: []const Id = &.{} }, - .OpTensorLayoutSliceNV => struct { id_result_type: Id, id_result: Id, tensor_layout: Id, operands: []const Id = &.{} }, - .OpTensorLayoutSetClampValueNV => struct { id_result_type: Id, id_result: Id, tensor_layout: Id, value: Id }, - .OpCreateTensorViewNV => struct { id_result_type: Id, id_result: Id }, - .OpTensorViewSetDimensionNV => struct { id_result_type: Id, id_result: Id, tensor_view: Id, dim: []const Id = &.{} }, - .OpTensorViewSetStrideNV => struct { id_result_type: Id, id_result: Id, tensor_view: Id, stride: []const Id = &.{} }, - .OpDemoteToHelperInvocation => void, - .OpIsHelperInvocationEXT => struct { id_result_type: Id, id_result: Id }, - .OpTensorViewSetClipNV => struct { id_result_type: Id, id_result: Id, tensor_view: Id, clip_row_offset: Id, clip_row_span: Id, clip_col_offset: Id, clip_col_span: Id }, - .OpTensorLayoutSetBlockSizeNV => struct { id_result_type: Id, id_result: Id, tensor_layout: Id, block_size: []const Id = &.{} }, - .OpCooperativeMatrixTransposeNV => struct { id_result_type: Id, id_result: Id, matrix: Id }, - .OpConvertUToImageNV => struct { id_result_type: Id, id_result: Id, operand: Id }, - .OpConvertUToSamplerNV => struct { id_result_type: Id, id_result: Id, operand: Id }, - .OpConvertImageToUNV => struct { id_result_type: Id, id_result: Id, operand: Id }, - .OpConvertSamplerToUNV => struct { id_result_type: Id, id_result: Id, operand: Id }, - .OpConvertUToSampledImageNV => struct { id_result_type: Id, id_result: Id, operand: Id }, - .OpConvertSampledImageToUNV => struct { id_result_type: Id, id_result: Id, operand: Id }, - .OpSamplerImageAddressingModeNV => struct { bit_width: LiteralInteger }, - .OpRawAccessChainNV => struct { id_result_type: Id, id_result: Id, base: Id, byte_stride: Id, element_index: Id, byte_offset: Id, raw_access_chain_operands: ?RawAccessChainOperands = null }, - .OpRayQueryGetIntersectionSpherePositionNV => struct { id_result_type: Id, id_result: Id, ray_query: Id, intersection: Id }, - .OpRayQueryGetIntersectionSphereRadiusNV => struct { id_result_type: Id, id_result: Id, ray_query: Id, intersection: Id }, - .OpRayQueryGetIntersectionLSSPositionsNV => struct { id_result_type: Id, id_result: Id, ray_query: Id, intersection: Id }, - .OpRayQueryGetIntersectionLSSRadiiNV => struct { id_result_type: Id, id_result: Id, ray_query: Id, intersection: Id }, - .OpRayQueryGetIntersectionLSSHitValueNV => struct { id_result_type: Id, id_result: Id, ray_query: Id, intersection: Id }, - .OpHitObjectGetSpherePositionNV => struct { id_result_type: Id, id_result: Id, hit_object: Id }, - .OpHitObjectGetSphereRadiusNV => struct { id_result_type: Id, id_result: Id, hit_object: Id }, - .OpHitObjectGetLSSPositionsNV => struct { id_result_type: Id, id_result: Id, hit_object: Id }, - .OpHitObjectGetLSSRadiiNV => struct { id_result_type: Id, id_result: Id, hit_object: Id }, - .OpHitObjectIsSphereHitNV => struct { id_result_type: Id, id_result: Id, hit_object: Id }, - .OpHitObjectIsLSSHitNV => struct { id_result_type: Id, id_result: Id, hit_object: Id }, - .OpRayQueryIsSphereHitNV => struct { id_result_type: Id, id_result: Id, ray_query: Id, intersection: Id }, - .OpRayQueryIsLSSHitNV => struct { id_result_type: Id, id_result: Id, ray_query: Id, intersection: Id }, - .OpSubgroupShuffleINTEL => struct { id_result_type: Id, id_result: Id, data: Id, invocation_id: Id }, - .OpSubgroupShuffleDownINTEL => struct { id_result_type: Id, id_result: Id, current: Id, next: Id, delta: Id }, - .OpSubgroupShuffleUpINTEL => struct { id_result_type: Id, id_result: Id, previous: Id, current: Id, delta: Id }, - .OpSubgroupShuffleXorINTEL => struct { id_result_type: Id, id_result: Id, data: Id, value: Id }, - .OpSubgroupBlockReadINTEL => struct { id_result_type: Id, id_result: Id, ptr: Id }, - .OpSubgroupBlockWriteINTEL => struct { ptr: Id, data: Id }, - .OpSubgroupImageBlockReadINTEL => struct { id_result_type: Id, id_result: Id, image: Id, coordinate: Id }, - .OpSubgroupImageBlockWriteINTEL => struct { image: Id, coordinate: Id, data: Id }, - .OpSubgroupImageMediaBlockReadINTEL => struct { id_result_type: Id, id_result: Id, image: Id, coordinate: Id, width: Id, height: Id }, - .OpSubgroupImageMediaBlockWriteINTEL => struct { image: Id, coordinate: Id, width: Id, height: Id, data: Id }, - .OpUCountLeadingZerosINTEL => struct { id_result_type: Id, id_result: Id, operand: Id }, - .OpUCountTrailingZerosINTEL => struct { id_result_type: Id, id_result: Id, operand: Id }, - .OpAbsISubINTEL => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpAbsUSubINTEL => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpIAddSatINTEL => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpUAddSatINTEL => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpIAverageINTEL => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpUAverageINTEL => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpIAverageRoundedINTEL => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpUAverageRoundedINTEL => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpISubSatINTEL => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpUSubSatINTEL => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpIMul32x16INTEL => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpUMul32x16INTEL => struct { id_result_type: Id, id_result: Id, operand_1: Id, operand_2: Id }, - .OpAtomicFMinEXT => struct { id_result_type: Id, id_result: Id, pointer: Id, memory: Id, semantics: Id, value: Id }, - .OpAtomicFMaxEXT => struct { id_result_type: Id, id_result: Id, pointer: Id, memory: Id, semantics: Id, value: Id }, - .OpAssumeTrueKHR => struct { condition: Id }, - .OpExpectKHR => struct { id_result_type: Id, id_result: Id, value: Id, expected_value: Id }, - .OpDecorateString => struct { target: Id, decoration: Decoration.Extended }, - .OpMemberDecorateString => struct { struct_type: Id, member: LiteralInteger, decoration: Decoration.Extended }, - .OpLoopControlINTEL => struct { loop_control_parameters: []const LiteralInteger = &.{} }, - .OpReadPipeBlockingINTEL => struct { id_result_type: Id, id_result: Id, packet_size: Id, packet_alignment: Id }, - .OpWritePipeBlockingINTEL => struct { id_result_type: Id, id_result: Id, packet_size: Id, packet_alignment: Id }, - .OpFPGARegINTEL => struct { id_result_type: Id, id_result: Id, input: Id }, - .OpRayQueryGetRayTMinKHR => struct { id_result_type: Id, id_result: Id, ray_query: Id }, - .OpRayQueryGetRayFlagsKHR => struct { id_result_type: Id, id_result: Id, ray_query: Id }, - .OpRayQueryGetIntersectionTKHR => struct { id_result_type: Id, id_result: Id, ray_query: Id, intersection: Id }, - .OpRayQueryGetIntersectionInstanceCustomIndexKHR => struct { id_result_type: Id, id_result: Id, ray_query: Id, intersection: Id }, - .OpRayQueryGetIntersectionInstanceIdKHR => struct { id_result_type: Id, id_result: Id, ray_query: Id, intersection: Id }, - .OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR => struct { id_result_type: Id, id_result: Id, ray_query: Id, intersection: Id }, - .OpRayQueryGetIntersectionGeometryIndexKHR => struct { id_result_type: Id, id_result: Id, ray_query: Id, intersection: Id }, - .OpRayQueryGetIntersectionPrimitiveIndexKHR => struct { id_result_type: Id, id_result: Id, ray_query: Id, intersection: Id }, - .OpRayQueryGetIntersectionBarycentricsKHR => struct { id_result_type: Id, id_result: Id, ray_query: Id, intersection: Id }, - .OpRayQueryGetIntersectionFrontFaceKHR => struct { id_result_type: Id, id_result: Id, ray_query: Id, intersection: Id }, - .OpRayQueryGetIntersectionCandidateAABBOpaqueKHR => struct { id_result_type: Id, id_result: Id, ray_query: Id }, - .OpRayQueryGetIntersectionObjectRayDirectionKHR => struct { id_result_type: Id, id_result: Id, ray_query: Id, intersection: Id }, - .OpRayQueryGetIntersectionObjectRayOriginKHR => struct { id_result_type: Id, id_result: Id, ray_query: Id, intersection: Id }, - .OpRayQueryGetWorldRayDirectionKHR => struct { id_result_type: Id, id_result: Id, ray_query: Id }, - .OpRayQueryGetWorldRayOriginKHR => struct { id_result_type: Id, id_result: Id, ray_query: Id }, - .OpRayQueryGetIntersectionObjectToWorldKHR => struct { id_result_type: Id, id_result: Id, ray_query: Id, intersection: Id }, - .OpRayQueryGetIntersectionWorldToObjectKHR => struct { id_result_type: Id, id_result: Id, ray_query: Id, intersection: Id }, - .OpAtomicFAddEXT => struct { id_result_type: Id, id_result: Id, pointer: Id, memory: Id, semantics: Id, value: Id }, - .OpTypeBufferSurfaceINTEL => struct { id_result: Id, access_qualifier: AccessQualifier }, - .OpTypeStructContinuedINTEL => struct { id_ref: []const Id = &.{} }, - .OpConstantCompositeContinuedINTEL => struct { constituents: []const Id = &.{} }, - .OpSpecConstantCompositeContinuedINTEL => struct { constituents: []const Id = &.{} }, - .OpCompositeConstructContinuedINTEL => struct { id_result_type: Id, id_result: Id, constituents: []const Id = &.{} }, - .OpConvertFToBF16INTEL => struct { id_result_type: Id, id_result: Id, float_value: Id }, - .OpConvertBF16ToFINTEL => struct { id_result_type: Id, id_result: Id, b_float16_value: Id }, - .OpControlBarrierArriveINTEL => struct { execution: Id, memory: Id, semantics: Id }, - .OpControlBarrierWaitINTEL => struct { execution: Id, memory: Id, semantics: Id }, - .OpArithmeticFenceEXT => struct { id_result_type: Id, id_result: Id, target: Id }, - .OpTaskSequenceCreateINTEL => struct { id_result_type: Id, id_result: Id, function: Id, pipelined: LiteralInteger, use_stall_enable_clusters: LiteralInteger, get_capacity: LiteralInteger, async_capacity: LiteralInteger }, - .OpTaskSequenceAsyncINTEL => struct { sequence: Id, arguments: []const Id = &.{} }, - .OpTaskSequenceGetINTEL => struct { id_result_type: Id, id_result: Id, sequence: Id }, - .OpTaskSequenceReleaseINTEL => struct { sequence: Id }, - .OpTypeTaskSequenceINTEL => struct { id_result: Id }, - .OpSubgroupBlockPrefetchINTEL => struct { ptr: Id, num_bytes: Id, memory_access: ?MemoryAccess.Extended = null }, - .OpSubgroup2DBlockLoadINTEL => struct { element_size: Id, block_width: Id, block_height: Id, block_count: Id, src_base_pointer: Id, memory_width: Id, memory_height: Id, memory_pitch: Id, coordinate: Id, dst_pointer: Id }, - .OpSubgroup2DBlockLoadTransformINTEL => struct { element_size: Id, block_width: Id, block_height: Id, block_count: Id, src_base_pointer: Id, memory_width: Id, memory_height: Id, memory_pitch: Id, coordinate: Id, dst_pointer: Id }, - .OpSubgroup2DBlockLoadTransposeINTEL => struct { element_size: Id, block_width: Id, block_height: Id, block_count: Id, src_base_pointer: Id, memory_width: Id, memory_height: Id, memory_pitch: Id, coordinate: Id, dst_pointer: Id }, - .OpSubgroup2DBlockPrefetchINTEL => struct { element_size: Id, block_width: Id, block_height: Id, block_count: Id, src_base_pointer: Id, memory_width: Id, memory_height: Id, memory_pitch: Id, coordinate: Id }, - .OpSubgroup2DBlockStoreINTEL => struct { element_size: Id, block_width: Id, block_height: Id, block_count: Id, src_pointer: Id, dst_base_pointer: Id, memory_width: Id, memory_height: Id, memory_pitch: Id, coordinate: Id }, - .OpSubgroupMatrixMultiplyAccumulateINTEL => struct { id_result_type: Id, id_result: Id, k_dim: Id, matrix_a: Id, matrix_b: Id, matrix_c: Id, matrix_multiply_accumulate_operands: ?MatrixMultiplyAccumulateOperands = null }, - .OpBitwiseFunctionINTEL => struct { id_result_type: Id, id_result: Id, a: Id, b: Id, c: Id, lut_index: Id }, - .OpGroupIMulKHR => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id }, - .OpGroupFMulKHR => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id }, - .OpGroupBitwiseAndKHR => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id }, - .OpGroupBitwiseOrKHR => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id }, - .OpGroupBitwiseXorKHR => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id }, - .OpGroupLogicalAndKHR => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id }, - .OpGroupLogicalOrKHR => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id }, - .OpGroupLogicalXorKHR => struct { id_result_type: Id, id_result: Id, execution: Id, operation: GroupOperation, x: Id }, - .OpRoundFToTF32INTEL => struct { id_result_type: Id, id_result: Id, float_value: Id }, - .OpMaskedGatherINTEL => struct { id_result_type: Id, id_result: Id, ptr_vector: Id, alignment: LiteralInteger, mask: Id, fill_empty: Id }, - .OpMaskedScatterINTEL => struct { input_vector: Id, ptr_vector: Id, alignment: LiteralInteger, mask: Id }, - .OpConvertHandleToImageINTEL => struct { id_result_type: Id, id_result: Id, operand: Id }, - .OpConvertHandleToSamplerINTEL => struct { id_result_type: Id, id_result: Id, operand: Id }, - .OpConvertHandleToSampledImageINTEL => struct { id_result_type: Id, id_result: Id, operand: Id }, - }; - } - pub fn class(self: Opcode) Class { - return switch (self) { - .OpNop => .miscellaneous, - .OpUndef => .miscellaneous, - .OpSourceContinued => .debug, - .OpSource => .debug, - .OpSourceExtension => .debug, - .OpName => .debug, - .OpMemberName => .debug, - .OpString => .debug, - .OpLine => .debug, - .OpExtension => .extension, - .OpExtInstImport => .extension, - .OpExtInst => .extension, - .OpMemoryModel => .mode_setting, - .OpEntryPoint => .mode_setting, - .OpExecutionMode => .mode_setting, - .OpCapability => .mode_setting, - .OpTypeVoid => .type_declaration, - .OpTypeBool => .type_declaration, - .OpTypeInt => .type_declaration, - .OpTypeFloat => .type_declaration, - .OpTypeVector => .type_declaration, - .OpTypeMatrix => .type_declaration, - .OpTypeImage => .type_declaration, - .OpTypeSampler => .type_declaration, - .OpTypeSampledImage => .type_declaration, - .OpTypeArray => .type_declaration, - .OpTypeRuntimeArray => .type_declaration, - .OpTypeStruct => .type_declaration, - .OpTypeOpaque => .type_declaration, - .OpTypePointer => .type_declaration, - .OpTypeFunction => .type_declaration, - .OpTypeEvent => .type_declaration, - .OpTypeDeviceEvent => .type_declaration, - .OpTypeReserveId => .type_declaration, - .OpTypeQueue => .type_declaration, - .OpTypePipe => .type_declaration, - .OpTypeForwardPointer => .type_declaration, - .OpConstantTrue => .constant_creation, - .OpConstantFalse => .constant_creation, - .OpConstant => .constant_creation, - .OpConstantComposite => .constant_creation, - .OpConstantSampler => .constant_creation, - .OpConstantNull => .constant_creation, - .OpSpecConstantTrue => .constant_creation, - .OpSpecConstantFalse => .constant_creation, - .OpSpecConstant => .constant_creation, - .OpSpecConstantComposite => .constant_creation, - .OpSpecConstantOp => .constant_creation, - .OpFunction => .function, - .OpFunctionParameter => .function, - .OpFunctionEnd => .function, - .OpFunctionCall => .function, - .OpVariable => .memory, - .OpImageTexelPointer => .memory, - .OpLoad => .memory, - .OpStore => .memory, - .OpCopyMemory => .memory, - .OpCopyMemorySized => .memory, - .OpAccessChain => .memory, - .OpInBoundsAccessChain => .memory, - .OpPtrAccessChain => .memory, - .OpArrayLength => .memory, - .OpGenericPtrMemSemantics => .memory, - .OpInBoundsPtrAccessChain => .memory, - .OpDecorate => .annotation, - .OpMemberDecorate => .annotation, - .OpDecorationGroup => .annotation, - .OpGroupDecorate => .annotation, - .OpGroupMemberDecorate => .annotation, - .OpVectorExtractDynamic => .composite, - .OpVectorInsertDynamic => .composite, - .OpVectorShuffle => .composite, - .OpCompositeConstruct => .composite, - .OpCompositeExtract => .composite, - .OpCompositeInsert => .composite, - .OpCopyObject => .composite, - .OpTranspose => .composite, - .OpSampledImage => .image, - .OpImageSampleImplicitLod => .image, - .OpImageSampleExplicitLod => .image, - .OpImageSampleDrefImplicitLod => .image, - .OpImageSampleDrefExplicitLod => .image, - .OpImageSampleProjImplicitLod => .image, - .OpImageSampleProjExplicitLod => .image, - .OpImageSampleProjDrefImplicitLod => .image, - .OpImageSampleProjDrefExplicitLod => .image, - .OpImageFetch => .image, - .OpImageGather => .image, - .OpImageDrefGather => .image, - .OpImageRead => .image, - .OpImageWrite => .image, - .OpImage => .image, - .OpImageQueryFormat => .image, - .OpImageQueryOrder => .image, - .OpImageQuerySizeLod => .image, - .OpImageQuerySize => .image, - .OpImageQueryLod => .image, - .OpImageQueryLevels => .image, - .OpImageQuerySamples => .image, - .OpConvertFToU => .conversion, - .OpConvertFToS => .conversion, - .OpConvertSToF => .conversion, - .OpConvertUToF => .conversion, - .OpUConvert => .conversion, - .OpSConvert => .conversion, - .OpFConvert => .conversion, - .OpQuantizeToF16 => .conversion, - .OpConvertPtrToU => .conversion, - .OpSatConvertSToU => .conversion, - .OpSatConvertUToS => .conversion, - .OpConvertUToPtr => .conversion, - .OpPtrCastToGeneric => .conversion, - .OpGenericCastToPtr => .conversion, - .OpGenericCastToPtrExplicit => .conversion, - .OpBitcast => .conversion, - .OpSNegate => .arithmetic, - .OpFNegate => .arithmetic, - .OpIAdd => .arithmetic, - .OpFAdd => .arithmetic, - .OpISub => .arithmetic, - .OpFSub => .arithmetic, - .OpIMul => .arithmetic, - .OpFMul => .arithmetic, - .OpUDiv => .arithmetic, - .OpSDiv => .arithmetic, - .OpFDiv => .arithmetic, - .OpUMod => .arithmetic, - .OpSRem => .arithmetic, - .OpSMod => .arithmetic, - .OpFRem => .arithmetic, - .OpFMod => .arithmetic, - .OpVectorTimesScalar => .arithmetic, - .OpMatrixTimesScalar => .arithmetic, - .OpVectorTimesMatrix => .arithmetic, - .OpMatrixTimesVector => .arithmetic, - .OpMatrixTimesMatrix => .arithmetic, - .OpOuterProduct => .arithmetic, - .OpDot => .arithmetic, - .OpIAddCarry => .arithmetic, - .OpISubBorrow => .arithmetic, - .OpUMulExtended => .arithmetic, - .OpSMulExtended => .arithmetic, - .OpAny => .relational_and_logical, - .OpAll => .relational_and_logical, - .OpIsNan => .relational_and_logical, - .OpIsInf => .relational_and_logical, - .OpIsFinite => .relational_and_logical, - .OpIsNormal => .relational_and_logical, - .OpSignBitSet => .relational_and_logical, - .OpLessOrGreater => .relational_and_logical, - .OpOrdered => .relational_and_logical, - .OpUnordered => .relational_and_logical, - .OpLogicalEqual => .relational_and_logical, - .OpLogicalNotEqual => .relational_and_logical, - .OpLogicalOr => .relational_and_logical, - .OpLogicalAnd => .relational_and_logical, - .OpLogicalNot => .relational_and_logical, - .OpSelect => .relational_and_logical, - .OpIEqual => .relational_and_logical, - .OpINotEqual => .relational_and_logical, - .OpUGreaterThan => .relational_and_logical, - .OpSGreaterThan => .relational_and_logical, - .OpUGreaterThanEqual => .relational_and_logical, - .OpSGreaterThanEqual => .relational_and_logical, - .OpULessThan => .relational_and_logical, - .OpSLessThan => .relational_and_logical, - .OpULessThanEqual => .relational_and_logical, - .OpSLessThanEqual => .relational_and_logical, - .OpFOrdEqual => .relational_and_logical, - .OpFUnordEqual => .relational_and_logical, - .OpFOrdNotEqual => .relational_and_logical, - .OpFUnordNotEqual => .relational_and_logical, - .OpFOrdLessThan => .relational_and_logical, - .OpFUnordLessThan => .relational_and_logical, - .OpFOrdGreaterThan => .relational_and_logical, - .OpFUnordGreaterThan => .relational_and_logical, - .OpFOrdLessThanEqual => .relational_and_logical, - .OpFUnordLessThanEqual => .relational_and_logical, - .OpFOrdGreaterThanEqual => .relational_and_logical, - .OpFUnordGreaterThanEqual => .relational_and_logical, - .OpShiftRightLogical => .bit, - .OpShiftRightArithmetic => .bit, - .OpShiftLeftLogical => .bit, - .OpBitwiseOr => .bit, - .OpBitwiseXor => .bit, - .OpBitwiseAnd => .bit, - .OpNot => .bit, - .OpBitFieldInsert => .bit, - .OpBitFieldSExtract => .bit, - .OpBitFieldUExtract => .bit, - .OpBitReverse => .bit, - .OpBitCount => .bit, - .OpDPdx => .derivative, - .OpDPdy => .derivative, - .OpFwidth => .derivative, - .OpDPdxFine => .derivative, - .OpDPdyFine => .derivative, - .OpFwidthFine => .derivative, - .OpDPdxCoarse => .derivative, - .OpDPdyCoarse => .derivative, - .OpFwidthCoarse => .derivative, - .OpEmitVertex => .primitive, - .OpEndPrimitive => .primitive, - .OpEmitStreamVertex => .primitive, - .OpEndStreamPrimitive => .primitive, - .OpControlBarrier => .barrier, - .OpMemoryBarrier => .barrier, - .OpAtomicLoad => .atomic, - .OpAtomicStore => .atomic, - .OpAtomicExchange => .atomic, - .OpAtomicCompareExchange => .atomic, - .OpAtomicCompareExchangeWeak => .atomic, - .OpAtomicIIncrement => .atomic, - .OpAtomicIDecrement => .atomic, - .OpAtomicIAdd => .atomic, - .OpAtomicISub => .atomic, - .OpAtomicSMin => .atomic, - .OpAtomicUMin => .atomic, - .OpAtomicSMax => .atomic, - .OpAtomicUMax => .atomic, - .OpAtomicAnd => .atomic, - .OpAtomicOr => .atomic, - .OpAtomicXor => .atomic, - .OpPhi => .control_flow, - .OpLoopMerge => .control_flow, - .OpSelectionMerge => .control_flow, - .OpLabel => .control_flow, - .OpBranch => .control_flow, - .OpBranchConditional => .control_flow, - .OpSwitch => .control_flow, - .OpKill => .control_flow, - .OpReturn => .control_flow, - .OpReturnValue => .control_flow, - .OpUnreachable => .control_flow, - .OpLifetimeStart => .control_flow, - .OpLifetimeStop => .control_flow, - .OpGroupAsyncCopy => .group, - .OpGroupWaitEvents => .group, - .OpGroupAll => .group, - .OpGroupAny => .group, - .OpGroupBroadcast => .group, - .OpGroupIAdd => .group, - .OpGroupFAdd => .group, - .OpGroupFMin => .group, - .OpGroupUMin => .group, - .OpGroupSMin => .group, - .OpGroupFMax => .group, - .OpGroupUMax => .group, - .OpGroupSMax => .group, - .OpReadPipe => .pipe, - .OpWritePipe => .pipe, - .OpReservedReadPipe => .pipe, - .OpReservedWritePipe => .pipe, - .OpReserveReadPipePackets => .pipe, - .OpReserveWritePipePackets => .pipe, - .OpCommitReadPipe => .pipe, - .OpCommitWritePipe => .pipe, - .OpIsValidReserveId => .pipe, - .OpGetNumPipePackets => .pipe, - .OpGetMaxPipePackets => .pipe, - .OpGroupReserveReadPipePackets => .pipe, - .OpGroupReserveWritePipePackets => .pipe, - .OpGroupCommitReadPipe => .pipe, - .OpGroupCommitWritePipe => .pipe, - .OpEnqueueMarker => .device_side_enqueue, - .OpEnqueueKernel => .device_side_enqueue, - .OpGetKernelNDrangeSubGroupCount => .device_side_enqueue, - .OpGetKernelNDrangeMaxSubGroupSize => .device_side_enqueue, - .OpGetKernelWorkGroupSize => .device_side_enqueue, - .OpGetKernelPreferredWorkGroupSizeMultiple => .device_side_enqueue, - .OpRetainEvent => .device_side_enqueue, - .OpReleaseEvent => .device_side_enqueue, - .OpCreateUserEvent => .device_side_enqueue, - .OpIsValidEvent => .device_side_enqueue, - .OpSetUserEventStatus => .device_side_enqueue, - .OpCaptureEventProfilingInfo => .device_side_enqueue, - .OpGetDefaultQueue => .device_side_enqueue, - .OpBuildNDRange => .device_side_enqueue, - .OpImageSparseSampleImplicitLod => .image, - .OpImageSparseSampleExplicitLod => .image, - .OpImageSparseSampleDrefImplicitLod => .image, - .OpImageSparseSampleDrefExplicitLod => .image, - .OpImageSparseSampleProjImplicitLod => .image, - .OpImageSparseSampleProjExplicitLod => .image, - .OpImageSparseSampleProjDrefImplicitLod => .image, - .OpImageSparseSampleProjDrefExplicitLod => .image, - .OpImageSparseFetch => .image, - .OpImageSparseGather => .image, - .OpImageSparseDrefGather => .image, - .OpImageSparseTexelsResident => .image, - .OpNoLine => .debug, - .OpAtomicFlagTestAndSet => .atomic, - .OpAtomicFlagClear => .atomic, - .OpImageSparseRead => .image, - .OpSizeOf => .miscellaneous, - .OpTypePipeStorage => .type_declaration, - .OpConstantPipeStorage => .pipe, - .OpCreatePipeFromPipeStorage => .pipe, - .OpGetKernelLocalSizeForSubgroupCount => .device_side_enqueue, - .OpGetKernelMaxNumSubgroups => .device_side_enqueue, - .OpTypeNamedBarrier => .type_declaration, - .OpNamedBarrierInitialize => .barrier, - .OpMemoryNamedBarrier => .barrier, - .OpModuleProcessed => .debug, - .OpExecutionModeId => .mode_setting, - .OpDecorateId => .annotation, - .OpGroupNonUniformElect => .non_uniform, - .OpGroupNonUniformAll => .non_uniform, - .OpGroupNonUniformAny => .non_uniform, - .OpGroupNonUniformAllEqual => .non_uniform, - .OpGroupNonUniformBroadcast => .non_uniform, - .OpGroupNonUniformBroadcastFirst => .non_uniform, - .OpGroupNonUniformBallot => .non_uniform, - .OpGroupNonUniformInverseBallot => .non_uniform, - .OpGroupNonUniformBallotBitExtract => .non_uniform, - .OpGroupNonUniformBallotBitCount => .non_uniform, - .OpGroupNonUniformBallotFindLSB => .non_uniform, - .OpGroupNonUniformBallotFindMSB => .non_uniform, - .OpGroupNonUniformShuffle => .non_uniform, - .OpGroupNonUniformShuffleXor => .non_uniform, - .OpGroupNonUniformShuffleUp => .non_uniform, - .OpGroupNonUniformShuffleDown => .non_uniform, - .OpGroupNonUniformIAdd => .non_uniform, - .OpGroupNonUniformFAdd => .non_uniform, - .OpGroupNonUniformIMul => .non_uniform, - .OpGroupNonUniformFMul => .non_uniform, - .OpGroupNonUniformSMin => .non_uniform, - .OpGroupNonUniformUMin => .non_uniform, - .OpGroupNonUniformFMin => .non_uniform, - .OpGroupNonUniformSMax => .non_uniform, - .OpGroupNonUniformUMax => .non_uniform, - .OpGroupNonUniformFMax => .non_uniform, - .OpGroupNonUniformBitwiseAnd => .non_uniform, - .OpGroupNonUniformBitwiseOr => .non_uniform, - .OpGroupNonUniformBitwiseXor => .non_uniform, - .OpGroupNonUniformLogicalAnd => .non_uniform, - .OpGroupNonUniformLogicalOr => .non_uniform, - .OpGroupNonUniformLogicalXor => .non_uniform, - .OpGroupNonUniformQuadBroadcast => .non_uniform, - .OpGroupNonUniformQuadSwap => .non_uniform, - .OpCopyLogical => .composite, - .OpPtrEqual => .memory, - .OpPtrNotEqual => .memory, - .OpPtrDiff => .memory, - .OpColorAttachmentReadEXT => .image, - .OpDepthAttachmentReadEXT => .image, - .OpStencilAttachmentReadEXT => .image, - .OpTypeTensorARM => .type_declaration, - .OpTensorReadARM => .tensor, - .OpTensorWriteARM => .tensor, - .OpTensorQuerySizeARM => .tensor, - .OpGraphConstantARM => .graph, - .OpGraphEntryPointARM => .graph, - .OpGraphARM => .graph, - .OpGraphInputARM => .graph, - .OpGraphSetOutputARM => .graph, - .OpGraphEndARM => .graph, - .OpTypeGraphARM => .type_declaration, - .OpTerminateInvocation => .control_flow, - .OpTypeUntypedPointerKHR => .type_declaration, - .OpUntypedVariableKHR => .memory, - .OpUntypedAccessChainKHR => .memory, - .OpUntypedInBoundsAccessChainKHR => .memory, - .OpSubgroupBallotKHR => .group, - .OpSubgroupFirstInvocationKHR => .group, - .OpUntypedPtrAccessChainKHR => .memory, - .OpUntypedInBoundsPtrAccessChainKHR => .memory, - .OpUntypedArrayLengthKHR => .memory, - .OpUntypedPrefetchKHR => .memory, - .OpSubgroupAllKHR => .group, - .OpSubgroupAnyKHR => .group, - .OpSubgroupAllEqualKHR => .group, - .OpGroupNonUniformRotateKHR => .group, - .OpSubgroupReadInvocationKHR => .group, - .OpExtInstWithForwardRefsKHR => .extension, - .OpTraceRayKHR => .reserved, - .OpExecuteCallableKHR => .reserved, - .OpConvertUToAccelerationStructureKHR => .reserved, - .OpIgnoreIntersectionKHR => .reserved, - .OpTerminateRayKHR => .reserved, - .OpSDot => .arithmetic, - .OpUDot => .arithmetic, - .OpSUDot => .arithmetic, - .OpSDotAccSat => .arithmetic, - .OpUDotAccSat => .arithmetic, - .OpSUDotAccSat => .arithmetic, - .OpTypeCooperativeMatrixKHR => .type_declaration, - .OpCooperativeMatrixLoadKHR => .memory, - .OpCooperativeMatrixStoreKHR => .memory, - .OpCooperativeMatrixMulAddKHR => .arithmetic, - .OpCooperativeMatrixLengthKHR => .miscellaneous, - .OpConstantCompositeReplicateEXT => .constant_creation, - .OpSpecConstantCompositeReplicateEXT => .constant_creation, - .OpCompositeConstructReplicateEXT => .composite, - .OpTypeRayQueryKHR => .type_declaration, - .OpRayQueryInitializeKHR => .reserved, - .OpRayQueryTerminateKHR => .reserved, - .OpRayQueryGenerateIntersectionKHR => .reserved, - .OpRayQueryConfirmIntersectionKHR => .reserved, - .OpRayQueryProceedKHR => .reserved, - .OpRayQueryGetIntersectionTypeKHR => .reserved, - .OpImageSampleWeightedQCOM => .image, - .OpImageBoxFilterQCOM => .image, - .OpImageBlockMatchSSDQCOM => .image, - .OpImageBlockMatchSADQCOM => .image, - .OpImageBlockMatchWindowSSDQCOM => .image, - .OpImageBlockMatchWindowSADQCOM => .image, - .OpImageBlockMatchGatherSSDQCOM => .image, - .OpImageBlockMatchGatherSADQCOM => .image, - .OpGroupIAddNonUniformAMD => .group, - .OpGroupFAddNonUniformAMD => .group, - .OpGroupFMinNonUniformAMD => .group, - .OpGroupUMinNonUniformAMD => .group, - .OpGroupSMinNonUniformAMD => .group, - .OpGroupFMaxNonUniformAMD => .group, - .OpGroupUMaxNonUniformAMD => .group, - .OpGroupSMaxNonUniformAMD => .group, - .OpFragmentMaskFetchAMD => .reserved, - .OpFragmentFetchAMD => .reserved, - .OpReadClockKHR => .reserved, - .OpAllocateNodePayloadsAMDX => .reserved, - .OpEnqueueNodePayloadsAMDX => .reserved, - .OpTypeNodePayloadArrayAMDX => .reserved, - .OpFinishWritingNodePayloadAMDX => .reserved, - .OpNodePayloadArrayLengthAMDX => .reserved, - .OpIsNodePayloadValidAMDX => .reserved, - .OpConstantStringAMDX => .reserved, - .OpSpecConstantStringAMDX => .reserved, - .OpGroupNonUniformQuadAllKHR => .non_uniform, - .OpGroupNonUniformQuadAnyKHR => .non_uniform, - .OpHitObjectRecordHitMotionNV => .reserved, - .OpHitObjectRecordHitWithIndexMotionNV => .reserved, - .OpHitObjectRecordMissMotionNV => .reserved, - .OpHitObjectGetWorldToObjectNV => .reserved, - .OpHitObjectGetObjectToWorldNV => .reserved, - .OpHitObjectGetObjectRayDirectionNV => .reserved, - .OpHitObjectGetObjectRayOriginNV => .reserved, - .OpHitObjectTraceRayMotionNV => .reserved, - .OpHitObjectGetShaderRecordBufferHandleNV => .reserved, - .OpHitObjectGetShaderBindingTableRecordIndexNV => .reserved, - .OpHitObjectRecordEmptyNV => .reserved, - .OpHitObjectTraceRayNV => .reserved, - .OpHitObjectRecordHitNV => .reserved, - .OpHitObjectRecordHitWithIndexNV => .reserved, - .OpHitObjectRecordMissNV => .reserved, - .OpHitObjectExecuteShaderNV => .reserved, - .OpHitObjectGetCurrentTimeNV => .reserved, - .OpHitObjectGetAttributesNV => .reserved, - .OpHitObjectGetHitKindNV => .reserved, - .OpHitObjectGetPrimitiveIndexNV => .reserved, - .OpHitObjectGetGeometryIndexNV => .reserved, - .OpHitObjectGetInstanceIdNV => .reserved, - .OpHitObjectGetInstanceCustomIndexNV => .reserved, - .OpHitObjectGetWorldRayDirectionNV => .reserved, - .OpHitObjectGetWorldRayOriginNV => .reserved, - .OpHitObjectGetRayTMaxNV => .reserved, - .OpHitObjectGetRayTMinNV => .reserved, - .OpHitObjectIsEmptyNV => .reserved, - .OpHitObjectIsHitNV => .reserved, - .OpHitObjectIsMissNV => .reserved, - .OpReorderThreadWithHitObjectNV => .reserved, - .OpReorderThreadWithHintNV => .reserved, - .OpTypeHitObjectNV => .type_declaration, - .OpImageSampleFootprintNV => .image, - .OpTypeCooperativeVectorNV => .type_declaration, - .OpCooperativeVectorMatrixMulNV => .reserved, - .OpCooperativeVectorOuterProductAccumulateNV => .reserved, - .OpCooperativeVectorReduceSumAccumulateNV => .reserved, - .OpCooperativeVectorMatrixMulAddNV => .reserved, - .OpCooperativeMatrixConvertNV => .conversion, - .OpEmitMeshTasksEXT => .reserved, - .OpSetMeshOutputsEXT => .reserved, - .OpGroupNonUniformPartitionNV => .non_uniform, - .OpWritePackedPrimitiveIndices4x8NV => .reserved, - .OpFetchMicroTriangleVertexPositionNV => .reserved, - .OpFetchMicroTriangleVertexBarycentricNV => .reserved, - .OpCooperativeVectorLoadNV => .memory, - .OpCooperativeVectorStoreNV => .memory, - .OpReportIntersectionKHR => .reserved, - .OpIgnoreIntersectionNV => .reserved, - .OpTerminateRayNV => .reserved, - .OpTraceNV => .reserved, - .OpTraceMotionNV => .reserved, - .OpTraceRayMotionNV => .reserved, - .OpRayQueryGetIntersectionTriangleVertexPositionsKHR => .reserved, - .OpTypeAccelerationStructureKHR => .type_declaration, - .OpExecuteCallableNV => .reserved, - .OpRayQueryGetClusterIdNV => .reserved, - .OpHitObjectGetClusterIdNV => .reserved, - .OpTypeCooperativeMatrixNV => .type_declaration, - .OpCooperativeMatrixLoadNV => .reserved, - .OpCooperativeMatrixStoreNV => .reserved, - .OpCooperativeMatrixMulAddNV => .reserved, - .OpCooperativeMatrixLengthNV => .reserved, - .OpBeginInvocationInterlockEXT => .reserved, - .OpEndInvocationInterlockEXT => .reserved, - .OpCooperativeMatrixReduceNV => .arithmetic, - .OpCooperativeMatrixLoadTensorNV => .memory, - .OpCooperativeMatrixStoreTensorNV => .memory, - .OpCooperativeMatrixPerElementOpNV => .function, - .OpTypeTensorLayoutNV => .type_declaration, - .OpTypeTensorViewNV => .type_declaration, - .OpCreateTensorLayoutNV => .reserved, - .OpTensorLayoutSetDimensionNV => .reserved, - .OpTensorLayoutSetStrideNV => .reserved, - .OpTensorLayoutSliceNV => .reserved, - .OpTensorLayoutSetClampValueNV => .reserved, - .OpCreateTensorViewNV => .reserved, - .OpTensorViewSetDimensionNV => .reserved, - .OpTensorViewSetStrideNV => .reserved, - .OpDemoteToHelperInvocation => .control_flow, - .OpIsHelperInvocationEXT => .reserved, - .OpTensorViewSetClipNV => .reserved, - .OpTensorLayoutSetBlockSizeNV => .reserved, - .OpCooperativeMatrixTransposeNV => .conversion, - .OpConvertUToImageNV => .reserved, - .OpConvertUToSamplerNV => .reserved, - .OpConvertImageToUNV => .reserved, - .OpConvertSamplerToUNV => .reserved, - .OpConvertUToSampledImageNV => .reserved, - .OpConvertSampledImageToUNV => .reserved, - .OpSamplerImageAddressingModeNV => .reserved, - .OpRawAccessChainNV => .memory, - .OpRayQueryGetIntersectionSpherePositionNV => .reserved, - .OpRayQueryGetIntersectionSphereRadiusNV => .reserved, - .OpRayQueryGetIntersectionLSSPositionsNV => .reserved, - .OpRayQueryGetIntersectionLSSRadiiNV => .reserved, - .OpRayQueryGetIntersectionLSSHitValueNV => .reserved, - .OpHitObjectGetSpherePositionNV => .reserved, - .OpHitObjectGetSphereRadiusNV => .reserved, - .OpHitObjectGetLSSPositionsNV => .reserved, - .OpHitObjectGetLSSRadiiNV => .reserved, - .OpHitObjectIsSphereHitNV => .reserved, - .OpHitObjectIsLSSHitNV => .reserved, - .OpRayQueryIsSphereHitNV => .reserved, - .OpRayQueryIsLSSHitNV => .reserved, - .OpSubgroupShuffleINTEL => .group, - .OpSubgroupShuffleDownINTEL => .group, - .OpSubgroupShuffleUpINTEL => .group, - .OpSubgroupShuffleXorINTEL => .group, - .OpSubgroupBlockReadINTEL => .group, - .OpSubgroupBlockWriteINTEL => .group, - .OpSubgroupImageBlockReadINTEL => .group, - .OpSubgroupImageBlockWriteINTEL => .group, - .OpSubgroupImageMediaBlockReadINTEL => .group, - .OpSubgroupImageMediaBlockWriteINTEL => .group, - .OpUCountLeadingZerosINTEL => .reserved, - .OpUCountTrailingZerosINTEL => .reserved, - .OpAbsISubINTEL => .reserved, - .OpAbsUSubINTEL => .reserved, - .OpIAddSatINTEL => .reserved, - .OpUAddSatINTEL => .reserved, - .OpIAverageINTEL => .reserved, - .OpUAverageINTEL => .reserved, - .OpIAverageRoundedINTEL => .reserved, - .OpUAverageRoundedINTEL => .reserved, - .OpISubSatINTEL => .reserved, - .OpUSubSatINTEL => .reserved, - .OpIMul32x16INTEL => .reserved, - .OpUMul32x16INTEL => .reserved, - .OpAtomicFMinEXT => .atomic, - .OpAtomicFMaxEXT => .atomic, - .OpAssumeTrueKHR => .miscellaneous, - .OpExpectKHR => .miscellaneous, - .OpDecorateString => .annotation, - .OpMemberDecorateString => .annotation, - .OpLoopControlINTEL => .reserved, - .OpReadPipeBlockingINTEL => .pipe, - .OpWritePipeBlockingINTEL => .pipe, - .OpFPGARegINTEL => .reserved, - .OpRayQueryGetRayTMinKHR => .reserved, - .OpRayQueryGetRayFlagsKHR => .reserved, - .OpRayQueryGetIntersectionTKHR => .reserved, - .OpRayQueryGetIntersectionInstanceCustomIndexKHR => .reserved, - .OpRayQueryGetIntersectionInstanceIdKHR => .reserved, - .OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR => .reserved, - .OpRayQueryGetIntersectionGeometryIndexKHR => .reserved, - .OpRayQueryGetIntersectionPrimitiveIndexKHR => .reserved, - .OpRayQueryGetIntersectionBarycentricsKHR => .reserved, - .OpRayQueryGetIntersectionFrontFaceKHR => .reserved, - .OpRayQueryGetIntersectionCandidateAABBOpaqueKHR => .reserved, - .OpRayQueryGetIntersectionObjectRayDirectionKHR => .reserved, - .OpRayQueryGetIntersectionObjectRayOriginKHR => .reserved, - .OpRayQueryGetWorldRayDirectionKHR => .reserved, - .OpRayQueryGetWorldRayOriginKHR => .reserved, - .OpRayQueryGetIntersectionObjectToWorldKHR => .reserved, - .OpRayQueryGetIntersectionWorldToObjectKHR => .reserved, - .OpAtomicFAddEXT => .atomic, - .OpTypeBufferSurfaceINTEL => .type_declaration, - .OpTypeStructContinuedINTEL => .type_declaration, - .OpConstantCompositeContinuedINTEL => .constant_creation, - .OpSpecConstantCompositeContinuedINTEL => .constant_creation, - .OpCompositeConstructContinuedINTEL => .composite, - .OpConvertFToBF16INTEL => .conversion, - .OpConvertBF16ToFINTEL => .conversion, - .OpControlBarrierArriveINTEL => .barrier, - .OpControlBarrierWaitINTEL => .barrier, - .OpArithmeticFenceEXT => .miscellaneous, - .OpTaskSequenceCreateINTEL => .reserved, - .OpTaskSequenceAsyncINTEL => .reserved, - .OpTaskSequenceGetINTEL => .reserved, - .OpTaskSequenceReleaseINTEL => .reserved, - .OpTypeTaskSequenceINTEL => .type_declaration, - .OpSubgroupBlockPrefetchINTEL => .group, - .OpSubgroup2DBlockLoadINTEL => .group, - .OpSubgroup2DBlockLoadTransformINTEL => .group, - .OpSubgroup2DBlockLoadTransposeINTEL => .group, - .OpSubgroup2DBlockPrefetchINTEL => .group, - .OpSubgroup2DBlockStoreINTEL => .group, - .OpSubgroupMatrixMultiplyAccumulateINTEL => .group, - .OpBitwiseFunctionINTEL => .bit, - .OpGroupIMulKHR => .group, - .OpGroupFMulKHR => .group, - .OpGroupBitwiseAndKHR => .group, - .OpGroupBitwiseOrKHR => .group, - .OpGroupBitwiseXorKHR => .group, - .OpGroupLogicalAndKHR => .group, - .OpGroupLogicalOrKHR => .group, - .OpGroupLogicalXorKHR => .group, - .OpRoundFToTF32INTEL => .conversion, - .OpMaskedGatherINTEL => .memory, - .OpMaskedScatterINTEL => .memory, - .OpConvertHandleToImageINTEL => .image, - .OpConvertHandleToSamplerINTEL => .image, - .OpConvertHandleToSampledImageINTEL => .image, - }; - } -}; -pub const ImageOperands = packed struct { - bias: bool = false, - lod: bool = false, - grad: bool = false, - const_offset: bool = false, - offset: bool = false, - const_offsets: bool = false, - sample: bool = false, - min_lod: bool = false, - make_texel_available: bool = false, - make_texel_visible: bool = false, - non_private_texel: bool = false, - volatile_texel: bool = false, - sign_extend: bool = false, - zero_extend: bool = false, - nontemporal: bool = false, - _reserved_bit_15: bool = false, - offsets: bool = false, - _reserved_bit_17: bool = false, - _reserved_bit_18: bool = false, - _reserved_bit_19: bool = false, - _reserved_bit_20: bool = false, - _reserved_bit_21: bool = false, - _reserved_bit_22: bool = false, - _reserved_bit_23: bool = false, - _reserved_bit_24: bool = false, - _reserved_bit_25: bool = false, - _reserved_bit_26: bool = false, - _reserved_bit_27: bool = false, - _reserved_bit_28: bool = false, - _reserved_bit_29: bool = false, - _reserved_bit_30: bool = false, - _reserved_bit_31: bool = false, - - pub const Extended = struct { - bias: ?struct { id_ref: Id } = null, - lod: ?struct { id_ref: Id } = null, - grad: ?struct { id_ref_0: Id, id_ref_1: Id } = null, - const_offset: ?struct { id_ref: Id } = null, - offset: ?struct { id_ref: Id } = null, - const_offsets: ?struct { id_ref: Id } = null, - sample: ?struct { id_ref: Id } = null, - min_lod: ?struct { id_ref: Id } = null, - make_texel_available: ?struct { id_scope: Id } = null, - make_texel_visible: ?struct { id_scope: Id } = null, - non_private_texel: bool = false, - volatile_texel: bool = false, - sign_extend: bool = false, - zero_extend: bool = false, - nontemporal: bool = false, - _reserved_bit_15: bool = false, - offsets: ?struct { id_ref: Id } = null, - _reserved_bit_17: bool = false, - _reserved_bit_18: bool = false, - _reserved_bit_19: bool = false, - _reserved_bit_20: bool = false, - _reserved_bit_21: bool = false, - _reserved_bit_22: bool = false, - _reserved_bit_23: bool = false, - _reserved_bit_24: bool = false, - _reserved_bit_25: bool = false, - _reserved_bit_26: bool = false, - _reserved_bit_27: bool = false, - _reserved_bit_28: bool = false, - _reserved_bit_29: bool = false, - _reserved_bit_30: bool = false, - _reserved_bit_31: bool = false, - }; -}; -pub const FPFastMathMode = packed struct { - not_na_n: bool = false, - not_inf: bool = false, - nsz: bool = false, - allow_recip: bool = false, - fast: bool = false, - _reserved_bit_5: bool = false, - _reserved_bit_6: bool = false, - _reserved_bit_7: bool = false, - _reserved_bit_8: bool = false, - _reserved_bit_9: bool = false, - _reserved_bit_10: bool = false, - _reserved_bit_11: bool = false, - _reserved_bit_12: bool = false, - _reserved_bit_13: bool = false, - _reserved_bit_14: bool = false, - _reserved_bit_15: bool = false, - allow_contract: bool = false, - allow_reassoc: bool = false, - allow_transform: bool = false, - _reserved_bit_19: bool = false, - _reserved_bit_20: bool = false, - _reserved_bit_21: bool = false, - _reserved_bit_22: bool = false, - _reserved_bit_23: bool = false, - _reserved_bit_24: bool = false, - _reserved_bit_25: bool = false, - _reserved_bit_26: bool = false, - _reserved_bit_27: bool = false, - _reserved_bit_28: bool = false, - _reserved_bit_29: bool = false, - _reserved_bit_30: bool = false, - _reserved_bit_31: bool = false, -}; -pub const SelectionControl = packed struct { - flatten: bool = false, - dont_flatten: bool = false, - _reserved_bit_2: bool = false, - _reserved_bit_3: bool = false, - _reserved_bit_4: bool = false, - _reserved_bit_5: bool = false, - _reserved_bit_6: bool = false, - _reserved_bit_7: bool = false, - _reserved_bit_8: bool = false, - _reserved_bit_9: bool = false, - _reserved_bit_10: bool = false, - _reserved_bit_11: bool = false, - _reserved_bit_12: bool = false, - _reserved_bit_13: bool = false, - _reserved_bit_14: bool = false, - _reserved_bit_15: bool = false, - _reserved_bit_16: bool = false, - _reserved_bit_17: bool = false, - _reserved_bit_18: bool = false, - _reserved_bit_19: bool = false, - _reserved_bit_20: bool = false, - _reserved_bit_21: bool = false, - _reserved_bit_22: bool = false, - _reserved_bit_23: bool = false, - _reserved_bit_24: bool = false, - _reserved_bit_25: bool = false, - _reserved_bit_26: bool = false, - _reserved_bit_27: bool = false, - _reserved_bit_28: bool = false, - _reserved_bit_29: bool = false, - _reserved_bit_30: bool = false, - _reserved_bit_31: bool = false, -}; -pub const LoopControl = packed struct { - unroll: bool = false, - dont_unroll: bool = false, - dependency_infinite: bool = false, - dependency_length: bool = false, - min_iterations: bool = false, - max_iterations: bool = false, - iteration_multiple: bool = false, - peel_count: bool = false, - partial_count: bool = false, - _reserved_bit_9: bool = false, - _reserved_bit_10: bool = false, - _reserved_bit_11: bool = false, - _reserved_bit_12: bool = false, - _reserved_bit_13: bool = false, - _reserved_bit_14: bool = false, - _reserved_bit_15: bool = false, - initiation_interval_intel: bool = false, - max_concurrency_intel: bool = false, - dependency_array_intel: bool = false, - pipeline_enable_intel: bool = false, - loop_coalesce_intel: bool = false, - max_interleaving_intel: bool = false, - speculated_iterations_intel: bool = false, - no_fusion_intel: bool = false, - loop_count_intel: bool = false, - max_reinvocation_delay_intel: bool = false, - _reserved_bit_26: bool = false, - _reserved_bit_27: bool = false, - _reserved_bit_28: bool = false, - _reserved_bit_29: bool = false, - _reserved_bit_30: bool = false, - _reserved_bit_31: bool = false, - - pub const Extended = struct { - unroll: bool = false, - dont_unroll: bool = false, - dependency_infinite: bool = false, - dependency_length: ?struct { literal_integer: LiteralInteger } = null, - min_iterations: ?struct { literal_integer: LiteralInteger } = null, - max_iterations: ?struct { literal_integer: LiteralInteger } = null, - iteration_multiple: ?struct { literal_integer: LiteralInteger } = null, - peel_count: ?struct { literal_integer: LiteralInteger } = null, - partial_count: ?struct { literal_integer: LiteralInteger } = null, - _reserved_bit_9: bool = false, - _reserved_bit_10: bool = false, - _reserved_bit_11: bool = false, - _reserved_bit_12: bool = false, - _reserved_bit_13: bool = false, - _reserved_bit_14: bool = false, - _reserved_bit_15: bool = false, - initiation_interval_intel: ?struct { literal_integer: LiteralInteger } = null, - max_concurrency_intel: ?struct { literal_integer: LiteralInteger } = null, - dependency_array_intel: ?struct { literal_integer: LiteralInteger } = null, - pipeline_enable_intel: ?struct { literal_integer: LiteralInteger } = null, - loop_coalesce_intel: ?struct { literal_integer: LiteralInteger } = null, - max_interleaving_intel: ?struct { literal_integer: LiteralInteger } = null, - speculated_iterations_intel: ?struct { literal_integer: LiteralInteger } = null, - no_fusion_intel: bool = false, - loop_count_intel: ?struct { literal_integer: LiteralInteger } = null, - max_reinvocation_delay_intel: ?struct { literal_integer: LiteralInteger } = null, - _reserved_bit_26: bool = false, - _reserved_bit_27: bool = false, - _reserved_bit_28: bool = false, - _reserved_bit_29: bool = false, - _reserved_bit_30: bool = false, - _reserved_bit_31: bool = false, - }; -}; -pub const FunctionControl = packed struct { - @"inline": bool = false, - dont_inline: bool = false, - pure: bool = false, - @"const": bool = false, - _reserved_bit_4: bool = false, - _reserved_bit_5: bool = false, - _reserved_bit_6: bool = false, - _reserved_bit_7: bool = false, - _reserved_bit_8: bool = false, - _reserved_bit_9: bool = false, - _reserved_bit_10: bool = false, - _reserved_bit_11: bool = false, - _reserved_bit_12: bool = false, - _reserved_bit_13: bool = false, - _reserved_bit_14: bool = false, - _reserved_bit_15: bool = false, - opt_none_ext: bool = false, - _reserved_bit_17: bool = false, - _reserved_bit_18: bool = false, - _reserved_bit_19: bool = false, - _reserved_bit_20: bool = false, - _reserved_bit_21: bool = false, - _reserved_bit_22: bool = false, - _reserved_bit_23: bool = false, - _reserved_bit_24: bool = false, - _reserved_bit_25: bool = false, - _reserved_bit_26: bool = false, - _reserved_bit_27: bool = false, - _reserved_bit_28: bool = false, - _reserved_bit_29: bool = false, - _reserved_bit_30: bool = false, - _reserved_bit_31: bool = false, -}; -pub const MemorySemantics = packed struct { - _reserved_bit_0: bool = false, - acquire: bool = false, - release: bool = false, - acquire_release: bool = false, - sequentially_consistent: bool = false, - _reserved_bit_5: bool = false, - uniform_memory: bool = false, - subgroup_memory: bool = false, - workgroup_memory: bool = false, - cross_workgroup_memory: bool = false, - atomic_counter_memory: bool = false, - image_memory: bool = false, - output_memory: bool = false, - make_available: bool = false, - make_visible: bool = false, - @"volatile": bool = false, - _reserved_bit_16: bool = false, - _reserved_bit_17: bool = false, - _reserved_bit_18: bool = false, - _reserved_bit_19: bool = false, - _reserved_bit_20: bool = false, - _reserved_bit_21: bool = false, - _reserved_bit_22: bool = false, - _reserved_bit_23: bool = false, - _reserved_bit_24: bool = false, - _reserved_bit_25: bool = false, - _reserved_bit_26: bool = false, - _reserved_bit_27: bool = false, - _reserved_bit_28: bool = false, - _reserved_bit_29: bool = false, - _reserved_bit_30: bool = false, - _reserved_bit_31: bool = false, -}; -pub const MemoryAccess = packed struct { - @"volatile": bool = false, - aligned: bool = false, - nontemporal: bool = false, - make_pointer_available: bool = false, - make_pointer_visible: bool = false, - non_private_pointer: bool = false, - _reserved_bit_6: bool = false, - _reserved_bit_7: bool = false, - _reserved_bit_8: bool = false, - _reserved_bit_9: bool = false, - _reserved_bit_10: bool = false, - _reserved_bit_11: bool = false, - _reserved_bit_12: bool = false, - _reserved_bit_13: bool = false, - _reserved_bit_14: bool = false, - _reserved_bit_15: bool = false, - alias_scope_intel_mask: bool = false, - no_alias_intel_mask: bool = false, - _reserved_bit_18: bool = false, - _reserved_bit_19: bool = false, - _reserved_bit_20: bool = false, - _reserved_bit_21: bool = false, - _reserved_bit_22: bool = false, - _reserved_bit_23: bool = false, - _reserved_bit_24: bool = false, - _reserved_bit_25: bool = false, - _reserved_bit_26: bool = false, - _reserved_bit_27: bool = false, - _reserved_bit_28: bool = false, - _reserved_bit_29: bool = false, - _reserved_bit_30: bool = false, - _reserved_bit_31: bool = false, - - pub const Extended = struct { - @"volatile": bool = false, - aligned: ?struct { literal_integer: LiteralInteger } = null, - nontemporal: bool = false, - make_pointer_available: ?struct { id_scope: Id } = null, - make_pointer_visible: ?struct { id_scope: Id } = null, - non_private_pointer: bool = false, - _reserved_bit_6: bool = false, - _reserved_bit_7: bool = false, - _reserved_bit_8: bool = false, - _reserved_bit_9: bool = false, - _reserved_bit_10: bool = false, - _reserved_bit_11: bool = false, - _reserved_bit_12: bool = false, - _reserved_bit_13: bool = false, - _reserved_bit_14: bool = false, - _reserved_bit_15: bool = false, - alias_scope_intel_mask: ?struct { id_ref: Id } = null, - no_alias_intel_mask: ?struct { id_ref: Id } = null, - _reserved_bit_18: bool = false, - _reserved_bit_19: bool = false, - _reserved_bit_20: bool = false, - _reserved_bit_21: bool = false, - _reserved_bit_22: bool = false, - _reserved_bit_23: bool = false, - _reserved_bit_24: bool = false, - _reserved_bit_25: bool = false, - _reserved_bit_26: bool = false, - _reserved_bit_27: bool = false, - _reserved_bit_28: bool = false, - _reserved_bit_29: bool = false, - _reserved_bit_30: bool = false, - _reserved_bit_31: bool = false, - }; -}; -pub const KernelProfilingInfo = packed struct { - cmd_exec_time: bool = false, - _reserved_bit_1: bool = false, - _reserved_bit_2: bool = false, - _reserved_bit_3: bool = false, - _reserved_bit_4: bool = false, - _reserved_bit_5: bool = false, - _reserved_bit_6: bool = false, - _reserved_bit_7: bool = false, - _reserved_bit_8: bool = false, - _reserved_bit_9: bool = false, - _reserved_bit_10: bool = false, - _reserved_bit_11: bool = false, - _reserved_bit_12: bool = false, - _reserved_bit_13: bool = false, - _reserved_bit_14: bool = false, - _reserved_bit_15: bool = false, - _reserved_bit_16: bool = false, - _reserved_bit_17: bool = false, - _reserved_bit_18: bool = false, - _reserved_bit_19: bool = false, - _reserved_bit_20: bool = false, - _reserved_bit_21: bool = false, - _reserved_bit_22: bool = false, - _reserved_bit_23: bool = false, - _reserved_bit_24: bool = false, - _reserved_bit_25: bool = false, - _reserved_bit_26: bool = false, - _reserved_bit_27: bool = false, - _reserved_bit_28: bool = false, - _reserved_bit_29: bool = false, - _reserved_bit_30: bool = false, - _reserved_bit_31: bool = false, -}; -pub const RayFlags = packed struct { - opaque_khr: bool = false, - no_opaque_khr: bool = false, - terminate_on_first_hit_khr: bool = false, - skip_closest_hit_shader_khr: bool = false, - cull_back_facing_triangles_khr: bool = false, - cull_front_facing_triangles_khr: bool = false, - cull_opaque_khr: bool = false, - cull_no_opaque_khr: bool = false, - skip_triangles_khr: bool = false, - skip_aab_bs_khr: bool = false, - force_opacity_micromap2state_ext: bool = false, - _reserved_bit_11: bool = false, - _reserved_bit_12: bool = false, - _reserved_bit_13: bool = false, - _reserved_bit_14: bool = false, - _reserved_bit_15: bool = false, - _reserved_bit_16: bool = false, - _reserved_bit_17: bool = false, - _reserved_bit_18: bool = false, - _reserved_bit_19: bool = false, - _reserved_bit_20: bool = false, - _reserved_bit_21: bool = false, - _reserved_bit_22: bool = false, - _reserved_bit_23: bool = false, - _reserved_bit_24: bool = false, - _reserved_bit_25: bool = false, - _reserved_bit_26: bool = false, - _reserved_bit_27: bool = false, - _reserved_bit_28: bool = false, - _reserved_bit_29: bool = false, - _reserved_bit_30: bool = false, - _reserved_bit_31: bool = false, -}; -pub const FragmentShadingRate = packed struct { - vertical2pixels: bool = false, - vertical4pixels: bool = false, - horizontal2pixels: bool = false, - horizontal4pixels: bool = false, - _reserved_bit_4: bool = false, - _reserved_bit_5: bool = false, - _reserved_bit_6: bool = false, - _reserved_bit_7: bool = false, - _reserved_bit_8: bool = false, - _reserved_bit_9: bool = false, - _reserved_bit_10: bool = false, - _reserved_bit_11: bool = false, - _reserved_bit_12: bool = false, - _reserved_bit_13: bool = false, - _reserved_bit_14: bool = false, - _reserved_bit_15: bool = false, - _reserved_bit_16: bool = false, - _reserved_bit_17: bool = false, - _reserved_bit_18: bool = false, - _reserved_bit_19: bool = false, - _reserved_bit_20: bool = false, - _reserved_bit_21: bool = false, - _reserved_bit_22: bool = false, - _reserved_bit_23: bool = false, - _reserved_bit_24: bool = false, - _reserved_bit_25: bool = false, - _reserved_bit_26: bool = false, - _reserved_bit_27: bool = false, - _reserved_bit_28: bool = false, - _reserved_bit_29: bool = false, - _reserved_bit_30: bool = false, - _reserved_bit_31: bool = false, -}; -pub const RawAccessChainOperands = packed struct { - robustness_per_component_nv: bool = false, - robustness_per_element_nv: bool = false, - _reserved_bit_2: bool = false, - _reserved_bit_3: bool = false, - _reserved_bit_4: bool = false, - _reserved_bit_5: bool = false, - _reserved_bit_6: bool = false, - _reserved_bit_7: bool = false, - _reserved_bit_8: bool = false, - _reserved_bit_9: bool = false, - _reserved_bit_10: bool = false, - _reserved_bit_11: bool = false, - _reserved_bit_12: bool = false, - _reserved_bit_13: bool = false, - _reserved_bit_14: bool = false, - _reserved_bit_15: bool = false, - _reserved_bit_16: bool = false, - _reserved_bit_17: bool = false, - _reserved_bit_18: bool = false, - _reserved_bit_19: bool = false, - _reserved_bit_20: bool = false, - _reserved_bit_21: bool = false, - _reserved_bit_22: bool = false, - _reserved_bit_23: bool = false, - _reserved_bit_24: bool = false, - _reserved_bit_25: bool = false, - _reserved_bit_26: bool = false, - _reserved_bit_27: bool = false, - _reserved_bit_28: bool = false, - _reserved_bit_29: bool = false, - _reserved_bit_30: bool = false, - _reserved_bit_31: bool = false, -}; -pub const SourceLanguage = enum(u32) { - unknown = 0, - essl = 1, - glsl = 2, - open_cl_c = 3, - open_cl_cpp = 4, - hlsl = 5, - cpp_for_open_cl = 6, - sycl = 7, - hero_c = 8, - nzsl = 9, - wgsl = 10, - slang = 11, - zig = 12, - rust = 13, -}; -pub const ExecutionModel = enum(u32) { - vertex = 0, - tessellation_control = 1, - tessellation_evaluation = 2, - geometry = 3, - fragment = 4, - gl_compute = 5, - kernel = 6, - task_nv = 5267, - mesh_nv = 5268, - ray_generation_khr = 5313, - intersection_khr = 5314, - any_hit_khr = 5315, - closest_hit_khr = 5316, - miss_khr = 5317, - callable_khr = 5318, - task_ext = 5364, - mesh_ext = 5365, -}; -pub const AddressingModel = enum(u32) { - logical = 0, - physical32 = 1, - physical64 = 2, - physical_storage_buffer64 = 5348, -}; -pub const MemoryModel = enum(u32) { - simple = 0, - glsl450 = 1, - open_cl = 2, - vulkan = 3, -}; -pub const ExecutionMode = enum(u32) { - invocations = 0, - spacing_equal = 1, - spacing_fractional_even = 2, - spacing_fractional_odd = 3, - vertex_order_cw = 4, - vertex_order_ccw = 5, - pixel_center_integer = 6, - origin_upper_left = 7, - origin_lower_left = 8, - early_fragment_tests = 9, - point_mode = 10, - xfb = 11, - depth_replacing = 12, - depth_greater = 14, - depth_less = 15, - depth_unchanged = 16, - local_size = 17, - local_size_hint = 18, - input_points = 19, - input_lines = 20, - input_lines_adjacency = 21, - triangles = 22, - input_triangles_adjacency = 23, - quads = 24, - isolines = 25, - output_vertices = 26, - output_points = 27, - output_line_strip = 28, - output_triangle_strip = 29, - vec_type_hint = 30, - contraction_off = 31, - initializer = 33, - finalizer = 34, - subgroup_size = 35, - subgroups_per_workgroup = 36, - subgroups_per_workgroup_id = 37, - local_size_id = 38, - local_size_hint_id = 39, - non_coherent_color_attachment_read_ext = 4169, - non_coherent_depth_attachment_read_ext = 4170, - non_coherent_stencil_attachment_read_ext = 4171, - subgroup_uniform_control_flow_khr = 4421, - post_depth_coverage = 4446, - denorm_preserve = 4459, - denorm_flush_to_zero = 4460, - signed_zero_inf_nan_preserve = 4461, - rounding_mode_rte = 4462, - rounding_mode_rtz = 4463, - non_coherent_tile_attachment_read_qcom = 4489, - tile_shading_rate_qcom = 4490, - early_and_late_fragment_tests_amd = 5017, - stencil_ref_replacing_ext = 5027, - coalescing_amdx = 5069, - is_api_entry_amdx = 5070, - max_node_recursion_amdx = 5071, - static_num_workgroups_amdx = 5072, - shader_index_amdx = 5073, - max_num_workgroups_amdx = 5077, - stencil_ref_unchanged_front_amd = 5079, - stencil_ref_greater_front_amd = 5080, - stencil_ref_less_front_amd = 5081, - stencil_ref_unchanged_back_amd = 5082, - stencil_ref_greater_back_amd = 5083, - stencil_ref_less_back_amd = 5084, - quad_derivatives_khr = 5088, - require_full_quads_khr = 5089, - shares_input_with_amdx = 5102, - output_lines_ext = 5269, - output_primitives_ext = 5270, - derivative_group_quads_khr = 5289, - derivative_group_linear_khr = 5290, - output_triangles_ext = 5298, - pixel_interlock_ordered_ext = 5366, - pixel_interlock_unordered_ext = 5367, - sample_interlock_ordered_ext = 5368, - sample_interlock_unordered_ext = 5369, - shading_rate_interlock_ordered_ext = 5370, - shading_rate_interlock_unordered_ext = 5371, - shared_local_memory_size_intel = 5618, - rounding_mode_rtpintel = 5620, - rounding_mode_rtnintel = 5621, - floating_point_mode_altintel = 5622, - floating_point_mode_ieeeintel = 5623, - max_workgroup_size_intel = 5893, - max_work_dim_intel = 5894, - no_global_offset_intel = 5895, - num_simd_workitems_intel = 5896, - scheduler_target_fmax_mhz_intel = 5903, - maximally_reconverges_khr = 6023, - fp_fast_math_default = 6028, - streaming_interface_intel = 6154, - register_map_interface_intel = 6160, - named_barrier_count_intel = 6417, - maximum_registers_intel = 6461, - maximum_registers_id_intel = 6462, - named_maximum_registers_intel = 6463, - - pub const Extended = union(ExecutionMode) { - invocations: struct { literal_integer: LiteralInteger }, - spacing_equal, - spacing_fractional_even, - spacing_fractional_odd, - vertex_order_cw, - vertex_order_ccw, - pixel_center_integer, - origin_upper_left, - origin_lower_left, - early_fragment_tests, - point_mode, - xfb, - depth_replacing, - depth_greater, - depth_less, - depth_unchanged, - local_size: struct { x_size: LiteralInteger, y_size: LiteralInteger, z_size: LiteralInteger }, - local_size_hint: struct { x_size: LiteralInteger, y_size: LiteralInteger, z_size: LiteralInteger }, - input_points, - input_lines, - input_lines_adjacency, - triangles, - input_triangles_adjacency, - quads, - isolines, - output_vertices: struct { vertex_count: LiteralInteger }, - output_points, - output_line_strip, - output_triangle_strip, - vec_type_hint: struct { vector_type: LiteralInteger }, - contraction_off, - initializer, - finalizer, - subgroup_size: struct { subgroup_size: LiteralInteger }, - subgroups_per_workgroup: struct { subgroups_per_workgroup: LiteralInteger }, - subgroups_per_workgroup_id: struct { subgroups_per_workgroup: Id }, - local_size_id: struct { x_size: Id, y_size: Id, z_size: Id }, - local_size_hint_id: struct { x_size_hint: Id, y_size_hint: Id, z_size_hint: Id }, - non_coherent_color_attachment_read_ext, - non_coherent_depth_attachment_read_ext, - non_coherent_stencil_attachment_read_ext, - subgroup_uniform_control_flow_khr, - post_depth_coverage, - denorm_preserve: struct { target_width: LiteralInteger }, - denorm_flush_to_zero: struct { target_width: LiteralInteger }, - signed_zero_inf_nan_preserve: struct { target_width: LiteralInteger }, - rounding_mode_rte: struct { target_width: LiteralInteger }, - rounding_mode_rtz: struct { target_width: LiteralInteger }, - non_coherent_tile_attachment_read_qcom, - tile_shading_rate_qcom: struct { x_rate: LiteralInteger, y_rate: LiteralInteger, z_rate: LiteralInteger }, - early_and_late_fragment_tests_amd, - stencil_ref_replacing_ext, - coalescing_amdx, - is_api_entry_amdx: struct { is_entry: Id }, - max_node_recursion_amdx: struct { number_of_recursions: Id }, - static_num_workgroups_amdx: struct { x_size: Id, y_size: Id, z_size: Id }, - shader_index_amdx: struct { shader_index: Id }, - max_num_workgroups_amdx: struct { x_size: Id, y_size: Id, z_size: Id }, - stencil_ref_unchanged_front_amd, - stencil_ref_greater_front_amd, - stencil_ref_less_front_amd, - stencil_ref_unchanged_back_amd, - stencil_ref_greater_back_amd, - stencil_ref_less_back_amd, - quad_derivatives_khr, - require_full_quads_khr, - shares_input_with_amdx: struct { node_name: Id, shader_index: Id }, - output_lines_ext, - output_primitives_ext: struct { primitive_count: LiteralInteger }, - derivative_group_quads_khr, - derivative_group_linear_khr, - output_triangles_ext, - pixel_interlock_ordered_ext, - pixel_interlock_unordered_ext, - sample_interlock_ordered_ext, - sample_interlock_unordered_ext, - shading_rate_interlock_ordered_ext, - shading_rate_interlock_unordered_ext, - shared_local_memory_size_intel: struct { size: LiteralInteger }, - rounding_mode_rtpintel: struct { target_width: LiteralInteger }, - rounding_mode_rtnintel: struct { target_width: LiteralInteger }, - floating_point_mode_altintel: struct { target_width: LiteralInteger }, - floating_point_mode_ieeeintel: struct { target_width: LiteralInteger }, - max_workgroup_size_intel: struct { literal_integer_0: LiteralInteger, literal_integer_1: LiteralInteger, literal_integer_2: LiteralInteger }, - max_work_dim_intel: struct { literal_integer: LiteralInteger }, - no_global_offset_intel, - num_simd_workitems_intel: struct { literal_integer: LiteralInteger }, - scheduler_target_fmax_mhz_intel: struct { literal_integer: LiteralInteger }, - maximally_reconverges_khr, - fp_fast_math_default: struct { target_type: Id, id_ref_1: Id }, - streaming_interface_intel: struct { stall_free_return: LiteralInteger }, - register_map_interface_intel: struct { wait_for_done_write: LiteralInteger }, - named_barrier_count_intel: struct { barrier_count: LiteralInteger }, - maximum_registers_intel: struct { number_of_registers: LiteralInteger }, - maximum_registers_id_intel: struct { number_of_registers: Id }, - named_maximum_registers_intel: struct { named_maximum_number_of_registers: NamedMaximumNumberOfRegisters }, - }; -}; -pub const StorageClass = enum(u32) { - uniform_constant = 0, - input = 1, - uniform = 2, - output = 3, - workgroup = 4, - cross_workgroup = 5, - private = 6, - function = 7, - generic = 8, - push_constant = 9, - atomic_counter = 10, - image = 11, - storage_buffer = 12, - tile_image_ext = 4172, - tile_attachment_qcom = 4491, - node_payload_amdx = 5068, - callable_data_khr = 5328, - incoming_callable_data_khr = 5329, - ray_payload_khr = 5338, - hit_attribute_khr = 5339, - incoming_ray_payload_khr = 5342, - shader_record_buffer_khr = 5343, - physical_storage_buffer = 5349, - hit_object_attribute_nv = 5385, - task_payload_workgroup_ext = 5402, - code_section_intel = 5605, - device_only_intel = 5936, - host_only_intel = 5937, -}; -pub const Dim = enum(u32) { - @"1d" = 0, - @"2d" = 1, - @"3d" = 2, - cube = 3, - rect = 4, - buffer = 5, - subpass_data = 6, - tile_image_data_ext = 4173, -}; -pub const SamplerAddressingMode = enum(u32) { - none = 0, - clamp_to_edge = 1, - clamp = 2, - repeat = 3, - repeat_mirrored = 4, -}; -pub const SamplerFilterMode = enum(u32) { - nearest = 0, - linear = 1, -}; -pub const ImageFormat = enum(u32) { - unknown = 0, - rgba32f = 1, - rgba16f = 2, - r32f = 3, - rgba8 = 4, - rgba8snorm = 5, - rg32f = 6, - rg16f = 7, - r11f_g11f_b10f = 8, - r16f = 9, - rgba16 = 10, - rgb10a2 = 11, - rg16 = 12, - rg8 = 13, - r16 = 14, - r8 = 15, - rgba16snorm = 16, - rg16snorm = 17, - rg8snorm = 18, - r16snorm = 19, - r8snorm = 20, - rgba32i = 21, - rgba16i = 22, - rgba8i = 23, - r32i = 24, - rg32i = 25, - rg16i = 26, - rg8i = 27, - r16i = 28, - r8i = 29, - rgba32ui = 30, - rgba16ui = 31, - rgba8ui = 32, - r32ui = 33, - rgb10a2ui = 34, - rg32ui = 35, - rg16ui = 36, - rg8ui = 37, - r16ui = 38, - r8ui = 39, - r64ui = 40, - r64i = 41, -}; -pub const ImageChannelOrder = enum(u32) { - r = 0, - a = 1, - rg = 2, - ra = 3, - rgb = 4, - rgba = 5, - bgra = 6, - argb = 7, - intensity = 8, - luminance = 9, - rx = 10, - r_gx = 11, - rg_bx = 12, - depth = 13, - depth_stencil = 14, - s_rgb = 15, - s_rg_bx = 16, - s_rgba = 17, - s_bgra = 18, - abgr = 19, -}; -pub const ImageChannelDataType = enum(u32) { - snorm_int8 = 0, - snorm_int16 = 1, - unorm_int8 = 2, - unorm_int16 = 3, - unorm_short565 = 4, - unorm_short555 = 5, - unorm_int101010 = 6, - signed_int8 = 7, - signed_int16 = 8, - signed_int32 = 9, - unsigned_int8 = 10, - unsigned_int16 = 11, - unsigned_int32 = 12, - half_float = 13, - float = 14, - unorm_int24 = 15, - unorm_int101010_2 = 16, - unorm_int10x6ext = 17, - unsigned_int_raw10ext = 19, - unsigned_int_raw12ext = 20, - unorm_int2_101010ext = 21, - unsigned_int10x6ext = 22, - unsigned_int12x4ext = 23, - unsigned_int14x2ext = 24, - unorm_int12x4ext = 25, - unorm_int14x2ext = 26, -}; -pub const FPRoundingMode = enum(u32) { - rte = 0, - rtz = 1, - rtp = 2, - rtn = 3, -}; -pub const FPDenormMode = enum(u32) { - preserve = 0, - flush_to_zero = 1, -}; -pub const QuantizationModes = enum(u32) { - trn = 0, - trn_zero = 1, - rnd = 2, - rnd_zero = 3, - rnd_inf = 4, - rnd_min_inf = 5, - rnd_conv = 6, - rnd_conv_odd = 7, -}; -pub const FPOperationMode = enum(u32) { - ieee = 0, - alt = 1, -}; -pub const OverflowModes = enum(u32) { - wrap = 0, - sat = 1, - sat_zero = 2, - sat_sym = 3, -}; -pub const LinkageType = enum(u32) { - @"export" = 0, - import = 1, - link_once_odr = 2, -}; -pub const AccessQualifier = enum(u32) { - read_only = 0, - write_only = 1, - read_write = 2, -}; -pub const HostAccessQualifier = enum(u32) { - none_intel = 0, - read_intel = 1, - write_intel = 2, - read_write_intel = 3, -}; -pub const FunctionParameterAttribute = enum(u32) { - zext = 0, - sext = 1, - by_val = 2, - sret = 3, - no_alias = 4, - no_capture = 5, - no_write = 6, - no_read_write = 7, - runtime_aligned_intel = 5940, -}; -pub const Decoration = enum(u32) { - relaxed_precision = 0, - spec_id = 1, - block = 2, - buffer_block = 3, - row_major = 4, - col_major = 5, - array_stride = 6, - matrix_stride = 7, - glsl_shared = 8, - glsl_packed = 9, - c_packed = 10, - built_in = 11, - no_perspective = 13, - flat = 14, - patch = 15, - centroid = 16, - sample = 17, - invariant = 18, - restrict = 19, - aliased = 20, - @"volatile" = 21, - constant = 22, - coherent = 23, - non_writable = 24, - non_readable = 25, - uniform = 26, - uniform_id = 27, - saturated_conversion = 28, - stream = 29, - location = 30, - component = 31, - index = 32, - binding = 33, - descriptor_set = 34, - offset = 35, - xfb_buffer = 36, - xfb_stride = 37, - func_param_attr = 38, - fp_rounding_mode = 39, - fp_fast_math_mode = 40, - linkage_attributes = 41, - no_contraction = 42, - input_attachment_index = 43, - alignment = 44, - max_byte_offset = 45, - alignment_id = 46, - max_byte_offset_id = 47, - saturated_to_largest_float8normal_conversion_ext = 4216, - no_signed_wrap = 4469, - no_unsigned_wrap = 4470, - weight_texture_qcom = 4487, - block_match_texture_qcom = 4488, - block_match_sampler_qcom = 4499, - explicit_interp_amd = 4999, - node_shares_payload_limits_with_amdx = 5019, - node_max_payloads_amdx = 5020, - track_finish_writing_amdx = 5078, - payload_node_name_amdx = 5091, - payload_node_base_index_amdx = 5098, - payload_node_sparse_array_amdx = 5099, - payload_node_array_size_amdx = 5100, - payload_dispatch_indirect_amdx = 5105, - override_coverage_nv = 5248, - passthrough_nv = 5250, - viewport_relative_nv = 5252, - secondary_viewport_relative_nv = 5256, - per_primitive_ext = 5271, - per_view_nv = 5272, - per_task_nv = 5273, - per_vertex_khr = 5285, - non_uniform = 5300, - restrict_pointer = 5355, - aliased_pointer = 5356, - hit_object_shader_record_buffer_nv = 5386, - bindless_sampler_nv = 5398, - bindless_image_nv = 5399, - bound_sampler_nv = 5400, - bound_image_nv = 5401, - simt_call_intel = 5599, - referenced_indirectly_intel = 5602, - clobber_intel = 5607, - side_effects_intel = 5608, - vector_compute_variable_intel = 5624, - func_param_io_kind_intel = 5625, - vector_compute_function_intel = 5626, - stack_call_intel = 5627, - global_variable_offset_intel = 5628, - counter_buffer = 5634, - user_semantic = 5635, - user_type_google = 5636, - function_rounding_mode_intel = 5822, - function_denorm_mode_intel = 5823, - register_intel = 5825, - memory_intel = 5826, - numbanks_intel = 5827, - bankwidth_intel = 5828, - max_private_copies_intel = 5829, - singlepump_intel = 5830, - doublepump_intel = 5831, - max_replicates_intel = 5832, - simple_dual_port_intel = 5833, - merge_intel = 5834, - bank_bits_intel = 5835, - force_pow2depth_intel = 5836, - stridesize_intel = 5883, - wordsize_intel = 5884, - true_dual_port_intel = 5885, - burst_coalesce_intel = 5899, - cache_size_intel = 5900, - dont_statically_coalesce_intel = 5901, - prefetch_intel = 5902, - stall_enable_intel = 5905, - fuse_loops_in_function_intel = 5907, - math_op_dsp_mode_intel = 5909, - alias_scope_intel = 5914, - no_alias_intel = 5915, - initiation_interval_intel = 5917, - max_concurrency_intel = 5918, - pipeline_enable_intel = 5919, - buffer_location_intel = 5921, - io_pipe_storage_intel = 5944, - function_floating_point_mode_intel = 6080, - single_element_vector_intel = 6085, - vector_compute_callable_function_intel = 6087, - media_block_iointel = 6140, - stall_free_intel = 6151, - fp_max_error_decoration_intel = 6170, - latency_control_label_intel = 6172, - latency_control_constraint_intel = 6173, - conduit_kernel_argument_intel = 6175, - register_map_kernel_argument_intel = 6176, - mm_host_interface_address_width_intel = 6177, - mm_host_interface_data_width_intel = 6178, - mm_host_interface_latency_intel = 6179, - mm_host_interface_read_write_mode_intel = 6180, - mm_host_interface_max_burst_intel = 6181, - mm_host_interface_wait_request_intel = 6182, - stable_kernel_argument_intel = 6183, - host_access_intel = 6188, - init_mode_intel = 6190, - implement_in_register_map_intel = 6191, - cache_control_load_intel = 6442, - cache_control_store_intel = 6443, - - pub const Extended = union(Decoration) { - relaxed_precision, - spec_id: struct { specialization_constant_id: LiteralInteger }, - block, - buffer_block, - row_major, - col_major, - array_stride: struct { array_stride: LiteralInteger }, - matrix_stride: struct { matrix_stride: LiteralInteger }, - glsl_shared, - glsl_packed, - c_packed, - built_in: struct { built_in: BuiltIn }, - no_perspective, - flat, - patch, - centroid, - sample, - invariant, - restrict, - aliased, - @"volatile", - constant, - coherent, - non_writable, - non_readable, - uniform, - uniform_id: struct { execution: Id }, - saturated_conversion, - stream: struct { stream_number: LiteralInteger }, - location: struct { location: LiteralInteger }, - component: struct { component: LiteralInteger }, - index: struct { index: LiteralInteger }, - binding: struct { binding_point: LiteralInteger }, - descriptor_set: struct { descriptor_set: LiteralInteger }, - offset: struct { byte_offset: LiteralInteger }, - xfb_buffer: struct { xfb_buffer_number: LiteralInteger }, - xfb_stride: struct { xfb_stride: LiteralInteger }, - func_param_attr: struct { function_parameter_attribute: FunctionParameterAttribute }, - fp_rounding_mode: struct { fp_rounding_mode: FPRoundingMode }, - fp_fast_math_mode: struct { fp_fast_math_mode: FPFastMathMode }, - linkage_attributes: struct { name: LiteralString, linkage_type: LinkageType }, - no_contraction, - input_attachment_index: struct { attachment_index: LiteralInteger }, - alignment: struct { alignment: LiteralInteger }, - max_byte_offset: struct { max_byte_offset: LiteralInteger }, - alignment_id: struct { alignment: Id }, - max_byte_offset_id: struct { max_byte_offset: Id }, - saturated_to_largest_float8normal_conversion_ext, - no_signed_wrap, - no_unsigned_wrap, - weight_texture_qcom, - block_match_texture_qcom, - block_match_sampler_qcom, - explicit_interp_amd, - node_shares_payload_limits_with_amdx: struct { payload_type: Id }, - node_max_payloads_amdx: struct { max_number_of_payloads: Id }, - track_finish_writing_amdx, - payload_node_name_amdx: struct { node_name: Id }, - payload_node_base_index_amdx: struct { base_index: Id }, - payload_node_sparse_array_amdx, - payload_node_array_size_amdx: struct { array_size: Id }, - payload_dispatch_indirect_amdx, - override_coverage_nv, - passthrough_nv, - viewport_relative_nv, - secondary_viewport_relative_nv: struct { offset: LiteralInteger }, - per_primitive_ext, - per_view_nv, - per_task_nv, - per_vertex_khr, - non_uniform, - restrict_pointer, - aliased_pointer, - hit_object_shader_record_buffer_nv, - bindless_sampler_nv, - bindless_image_nv, - bound_sampler_nv, - bound_image_nv, - simt_call_intel: struct { n: LiteralInteger }, - referenced_indirectly_intel, - clobber_intel: struct { register: LiteralString }, - side_effects_intel, - vector_compute_variable_intel, - func_param_io_kind_intel: struct { kind: LiteralInteger }, - vector_compute_function_intel, - stack_call_intel, - global_variable_offset_intel: struct { offset: LiteralInteger }, - counter_buffer: struct { counter_buffer: Id }, - user_semantic: struct { semantic: LiteralString }, - user_type_google: struct { user_type: LiteralString }, - function_rounding_mode_intel: struct { target_width: LiteralInteger, fp_rounding_mode: FPRoundingMode }, - function_denorm_mode_intel: struct { target_width: LiteralInteger, fp_denorm_mode: FPDenormMode }, - register_intel, - memory_intel: struct { memory_type: LiteralString }, - numbanks_intel: struct { banks: LiteralInteger }, - bankwidth_intel: struct { bank_width: LiteralInteger }, - max_private_copies_intel: struct { maximum_copies: LiteralInteger }, - singlepump_intel, - doublepump_intel, - max_replicates_intel: struct { maximum_replicates: LiteralInteger }, - simple_dual_port_intel, - merge_intel: struct { merge_key: LiteralString, merge_type: LiteralString }, - bank_bits_intel: struct { bank_bits: []const LiteralInteger = &.{} }, - force_pow2depth_intel: struct { force_key: LiteralInteger }, - stridesize_intel: struct { stride_size: LiteralInteger }, - wordsize_intel: struct { word_size: LiteralInteger }, - true_dual_port_intel, - burst_coalesce_intel, - cache_size_intel: struct { cache_size_in_bytes: LiteralInteger }, - dont_statically_coalesce_intel, - prefetch_intel: struct { prefetcher_size_in_bytes: LiteralInteger }, - stall_enable_intel, - fuse_loops_in_function_intel, - math_op_dsp_mode_intel: struct { mode: LiteralInteger, propagate: LiteralInteger }, - alias_scope_intel: struct { aliasing_scopes_list: Id }, - no_alias_intel: struct { aliasing_scopes_list: Id }, - initiation_interval_intel: struct { cycles: LiteralInteger }, - max_concurrency_intel: struct { invocations: LiteralInteger }, - pipeline_enable_intel: struct { enable: LiteralInteger }, - buffer_location_intel: struct { buffer_location_id: LiteralInteger }, - io_pipe_storage_intel: struct { io_pipe_id: LiteralInteger }, - function_floating_point_mode_intel: struct { target_width: LiteralInteger, fp_operation_mode: FPOperationMode }, - single_element_vector_intel, - vector_compute_callable_function_intel, - media_block_iointel, - stall_free_intel, - fp_max_error_decoration_intel: struct { max_error: LiteralFloat }, - latency_control_label_intel: struct { latency_label: LiteralInteger }, - latency_control_constraint_intel: struct { relative_to: LiteralInteger, control_type: LiteralInteger, relative_cycle: LiteralInteger }, - conduit_kernel_argument_intel, - register_map_kernel_argument_intel, - mm_host_interface_address_width_intel: struct { address_width: LiteralInteger }, - mm_host_interface_data_width_intel: struct { data_width: LiteralInteger }, - mm_host_interface_latency_intel: struct { latency: LiteralInteger }, - mm_host_interface_read_write_mode_intel: struct { read_write_mode: AccessQualifier }, - mm_host_interface_max_burst_intel: struct { max_burst_count: LiteralInteger }, - mm_host_interface_wait_request_intel: struct { waitrequest: LiteralInteger }, - stable_kernel_argument_intel, - host_access_intel: struct { access: HostAccessQualifier, name: LiteralString }, - init_mode_intel: struct { trigger: InitializationModeQualifier }, - implement_in_register_map_intel: struct { value: LiteralInteger }, - cache_control_load_intel: struct { cache_level: LiteralInteger, cache_control: LoadCacheControl }, - cache_control_store_intel: struct { cache_level: LiteralInteger, cache_control: StoreCacheControl }, - }; -}; -pub const BuiltIn = enum(u32) { - position = 0, - point_size = 1, - clip_distance = 3, - cull_distance = 4, - vertex_id = 5, - instance_id = 6, - primitive_id = 7, - invocation_id = 8, - layer = 9, - viewport_index = 10, - tess_level_outer = 11, - tess_level_inner = 12, - tess_coord = 13, - patch_vertices = 14, - frag_coord = 15, - point_coord = 16, - front_facing = 17, - sample_id = 18, - sample_position = 19, - sample_mask = 20, - frag_depth = 22, - helper_invocation = 23, - num_workgroups = 24, - workgroup_size = 25, - workgroup_id = 26, - local_invocation_id = 27, - global_invocation_id = 28, - local_invocation_index = 29, - work_dim = 30, - global_size = 31, - enqueued_workgroup_size = 32, - global_offset = 33, - global_linear_id = 34, - subgroup_size = 36, - subgroup_max_size = 37, - num_subgroups = 38, - num_enqueued_subgroups = 39, - subgroup_id = 40, - subgroup_local_invocation_id = 41, - vertex_index = 42, - instance_index = 43, - core_idarm = 4160, - core_count_arm = 4161, - core_max_idarm = 4162, - warp_idarm = 4163, - warp_max_idarm = 4164, - subgroup_eq_mask = 4416, - subgroup_ge_mask = 4417, - subgroup_gt_mask = 4418, - subgroup_le_mask = 4419, - subgroup_lt_mask = 4420, - base_vertex = 4424, - base_instance = 4425, - draw_index = 4426, - primitive_shading_rate_khr = 4432, - device_index = 4438, - view_index = 4440, - shading_rate_khr = 4444, - tile_offset_qcom = 4492, - tile_dimension_qcom = 4493, - tile_apron_size_qcom = 4494, - bary_coord_no_persp_amd = 4992, - bary_coord_no_persp_centroid_amd = 4993, - bary_coord_no_persp_sample_amd = 4994, - bary_coord_smooth_amd = 4995, - bary_coord_smooth_centroid_amd = 4996, - bary_coord_smooth_sample_amd = 4997, - bary_coord_pull_model_amd = 4998, - frag_stencil_ref_ext = 5014, - remaining_recursion_levels_amdx = 5021, - shader_index_amdx = 5073, - viewport_mask_nv = 5253, - secondary_position_nv = 5257, - secondary_viewport_mask_nv = 5258, - position_per_view_nv = 5261, - viewport_mask_per_view_nv = 5262, - fully_covered_ext = 5264, - task_count_nv = 5274, - primitive_count_nv = 5275, - primitive_indices_nv = 5276, - clip_distance_per_view_nv = 5277, - cull_distance_per_view_nv = 5278, - layer_per_view_nv = 5279, - mesh_view_count_nv = 5280, - mesh_view_indices_nv = 5281, - bary_coord_khr = 5286, - bary_coord_no_persp_khr = 5287, - frag_size_ext = 5292, - frag_invocation_count_ext = 5293, - primitive_point_indices_ext = 5294, - primitive_line_indices_ext = 5295, - primitive_triangle_indices_ext = 5296, - cull_primitive_ext = 5299, - launch_id_khr = 5319, - launch_size_khr = 5320, - world_ray_origin_khr = 5321, - world_ray_direction_khr = 5322, - object_ray_origin_khr = 5323, - object_ray_direction_khr = 5324, - ray_tmin_khr = 5325, - ray_tmax_khr = 5326, - instance_custom_index_khr = 5327, - object_to_world_khr = 5330, - world_to_object_khr = 5331, - hit_tnv = 5332, - hit_kind_khr = 5333, - current_ray_time_nv = 5334, - hit_triangle_vertex_positions_khr = 5335, - hit_micro_triangle_vertex_positions_nv = 5337, - hit_micro_triangle_vertex_barycentrics_nv = 5344, - incoming_ray_flags_khr = 5351, - ray_geometry_index_khr = 5352, - hit_is_sphere_nv = 5359, - hit_is_lssnv = 5360, - hit_sphere_position_nv = 5361, - warps_per_smnv = 5374, - sm_count_nv = 5375, - warp_idnv = 5376, - smidnv = 5377, - hit_lss_positions_nv = 5396, - hit_kind_front_facing_micro_triangle_nv = 5405, - hit_kind_back_facing_micro_triangle_nv = 5406, - hit_sphere_radius_nv = 5420, - hit_lss_radii_nv = 5421, - cluster_idnv = 5436, - cull_mask_khr = 6021, -}; -pub const Scope = enum(u32) { - cross_device = 0, - device = 1, - workgroup = 2, - subgroup = 3, - invocation = 4, - queue_family = 5, - shader_call_khr = 6, -}; -pub const GroupOperation = enum(u32) { - reduce = 0, - inclusive_scan = 1, - exclusive_scan = 2, - clustered_reduce = 3, - partitioned_reduce_nv = 6, - partitioned_inclusive_scan_nv = 7, - partitioned_exclusive_scan_nv = 8, -}; -pub const KernelEnqueueFlags = enum(u32) { - no_wait = 0, - wait_kernel = 1, - wait_work_group = 2, -}; -pub const Capability = enum(u32) { - matrix = 0, - shader = 1, - geometry = 2, - tessellation = 3, - addresses = 4, - linkage = 5, - kernel = 6, - vector16 = 7, - float16buffer = 8, - float16 = 9, - float64 = 10, - int64 = 11, - int64atomics = 12, - image_basic = 13, - image_read_write = 14, - image_mipmap = 15, - pipes = 17, - groups = 18, - device_enqueue = 19, - literal_sampler = 20, - atomic_storage = 21, - int16 = 22, - tessellation_point_size = 23, - geometry_point_size = 24, - image_gather_extended = 25, - storage_image_multisample = 27, - uniform_buffer_array_dynamic_indexing = 28, - sampled_image_array_dynamic_indexing = 29, - storage_buffer_array_dynamic_indexing = 30, - storage_image_array_dynamic_indexing = 31, - clip_distance = 32, - cull_distance = 33, - image_cube_array = 34, - sample_rate_shading = 35, - image_rect = 36, - sampled_rect = 37, - generic_pointer = 38, - int8 = 39, - input_attachment = 40, - sparse_residency = 41, - min_lod = 42, - sampled1d = 43, - image1d = 44, - sampled_cube_array = 45, - sampled_buffer = 46, - image_buffer = 47, - image_ms_array = 48, - storage_image_extended_formats = 49, - image_query = 50, - derivative_control = 51, - interpolation_function = 52, - transform_feedback = 53, - geometry_streams = 54, - storage_image_read_without_format = 55, - storage_image_write_without_format = 56, - multi_viewport = 57, - subgroup_dispatch = 58, - named_barrier = 59, - pipe_storage = 60, - group_non_uniform = 61, - group_non_uniform_vote = 62, - group_non_uniform_arithmetic = 63, - group_non_uniform_ballot = 64, - group_non_uniform_shuffle = 65, - group_non_uniform_shuffle_relative = 66, - group_non_uniform_clustered = 67, - group_non_uniform_quad = 68, - shader_layer = 69, - shader_viewport_index = 70, - uniform_decoration = 71, - core_builtins_arm = 4165, - tile_image_color_read_access_ext = 4166, - tile_image_depth_read_access_ext = 4167, - tile_image_stencil_read_access_ext = 4168, - tensors_arm = 4174, - storage_tensor_array_dynamic_indexing_arm = 4175, - storage_tensor_array_non_uniform_indexing_arm = 4176, - graph_arm = 4191, - cooperative_matrix_layouts_arm = 4201, - float8ext = 4212, - float8cooperative_matrix_ext = 4213, - fragment_shading_rate_khr = 4422, - subgroup_ballot_khr = 4423, - draw_parameters = 4427, - workgroup_memory_explicit_layout_khr = 4428, - workgroup_memory_explicit_layout8bit_access_khr = 4429, - workgroup_memory_explicit_layout16bit_access_khr = 4430, - subgroup_vote_khr = 4431, - storage_buffer16bit_access = 4433, - uniform_and_storage_buffer16bit_access = 4434, - storage_push_constant16 = 4435, - storage_input_output16 = 4436, - device_group = 4437, - multi_view = 4439, - variable_pointers_storage_buffer = 4441, - variable_pointers = 4442, - atomic_storage_ops = 4445, - sample_mask_post_depth_coverage = 4447, - storage_buffer8bit_access = 4448, - uniform_and_storage_buffer8bit_access = 4449, - storage_push_constant8 = 4450, - denorm_preserve = 4464, - denorm_flush_to_zero = 4465, - signed_zero_inf_nan_preserve = 4466, - rounding_mode_rte = 4467, - rounding_mode_rtz = 4468, - ray_query_provisional_khr = 4471, - ray_query_khr = 4472, - untyped_pointers_khr = 4473, - ray_traversal_primitive_culling_khr = 4478, - ray_tracing_khr = 4479, - texture_sample_weighted_qcom = 4484, - texture_box_filter_qcom = 4485, - texture_block_match_qcom = 4486, - tile_shading_qcom = 4495, - texture_block_match2qcom = 4498, - float16image_amd = 5008, - image_gather_bias_lod_amd = 5009, - fragment_mask_amd = 5010, - stencil_export_ext = 5013, - image_read_write_lod_amd = 5015, - int64image_ext = 5016, - shader_clock_khr = 5055, - shader_enqueue_amdx = 5067, - quad_control_khr = 5087, - int4type_intel = 5112, - int4cooperative_matrix_intel = 5114, - b_float16type_khr = 5116, - b_float16dot_product_khr = 5117, - b_float16cooperative_matrix_khr = 5118, - sample_mask_override_coverage_nv = 5249, - geometry_shader_passthrough_nv = 5251, - shader_viewport_index_layer_ext = 5254, - shader_viewport_mask_nv = 5255, - shader_stereo_view_nv = 5259, - per_view_attributes_nv = 5260, - fragment_fully_covered_ext = 5265, - mesh_shading_nv = 5266, - image_footprint_nv = 5282, - mesh_shading_ext = 5283, - fragment_barycentric_khr = 5284, - compute_derivative_group_quads_khr = 5288, - fragment_density_ext = 5291, - group_non_uniform_partitioned_nv = 5297, - shader_non_uniform = 5301, - runtime_descriptor_array = 5302, - input_attachment_array_dynamic_indexing = 5303, - uniform_texel_buffer_array_dynamic_indexing = 5304, - storage_texel_buffer_array_dynamic_indexing = 5305, - uniform_buffer_array_non_uniform_indexing = 5306, - sampled_image_array_non_uniform_indexing = 5307, - storage_buffer_array_non_uniform_indexing = 5308, - storage_image_array_non_uniform_indexing = 5309, - input_attachment_array_non_uniform_indexing = 5310, - uniform_texel_buffer_array_non_uniform_indexing = 5311, - storage_texel_buffer_array_non_uniform_indexing = 5312, - ray_tracing_position_fetch_khr = 5336, - ray_tracing_nv = 5340, - ray_tracing_motion_blur_nv = 5341, - vulkan_memory_model = 5345, - vulkan_memory_model_device_scope = 5346, - physical_storage_buffer_addresses = 5347, - compute_derivative_group_linear_khr = 5350, - ray_tracing_provisional_khr = 5353, - cooperative_matrix_nv = 5357, - fragment_shader_sample_interlock_ext = 5363, - fragment_shader_shading_rate_interlock_ext = 5372, - shader_sm_builtins_nv = 5373, - fragment_shader_pixel_interlock_ext = 5378, - demote_to_helper_invocation = 5379, - displacement_micromap_nv = 5380, - ray_tracing_opacity_micromap_ext = 5381, - shader_invocation_reorder_nv = 5383, - bindless_texture_nv = 5390, - ray_query_position_fetch_khr = 5391, - cooperative_vector_nv = 5394, - atomic_float16vector_nv = 5404, - ray_tracing_displacement_micromap_nv = 5409, - raw_access_chains_nv = 5414, - ray_tracing_spheres_geometry_nv = 5418, - ray_tracing_linear_swept_spheres_geometry_nv = 5419, - cooperative_matrix_reductions_nv = 5430, - cooperative_matrix_conversions_nv = 5431, - cooperative_matrix_per_element_operations_nv = 5432, - cooperative_matrix_tensor_addressing_nv = 5433, - cooperative_matrix_block_loads_nv = 5434, - cooperative_vector_training_nv = 5435, - ray_tracing_cluster_acceleration_structure_nv = 5437, - tensor_addressing_nv = 5439, - subgroup_shuffle_intel = 5568, - subgroup_buffer_block_iointel = 5569, - subgroup_image_block_iointel = 5570, - subgroup_image_media_block_iointel = 5579, - round_to_infinity_intel = 5582, - floating_point_mode_intel = 5583, - integer_functions2intel = 5584, - function_pointers_intel = 5603, - indirect_references_intel = 5604, - asm_intel = 5606, - atomic_float32min_max_ext = 5612, - atomic_float64min_max_ext = 5613, - atomic_float16min_max_ext = 5616, - vector_compute_intel = 5617, - vector_any_intel = 5619, - expect_assume_khr = 5629, - subgroup_avc_motion_estimation_intel = 5696, - subgroup_avc_motion_estimation_intra_intel = 5697, - subgroup_avc_motion_estimation_chroma_intel = 5698, - variable_length_array_intel = 5817, - function_float_control_intel = 5821, - fpga_memory_attributes_intel = 5824, - fp_fast_math_mode_intel = 5837, - arbitrary_precision_integers_intel = 5844, - arbitrary_precision_floating_point_intel = 5845, - unstructured_loop_controls_intel = 5886, - fpga_loop_controls_intel = 5888, - kernel_attributes_intel = 5892, - fpga_kernel_attributes_intel = 5897, - fpga_memory_accesses_intel = 5898, - fpga_cluster_attributes_intel = 5904, - loop_fuse_intel = 5906, - fpgadsp_control_intel = 5908, - memory_access_aliasing_intel = 5910, - fpga_invocation_pipelining_attributes_intel = 5916, - fpga_buffer_location_intel = 5920, - arbitrary_precision_fixed_point_intel = 5922, - usm_storage_classes_intel = 5935, - runtime_aligned_attribute_intel = 5939, - io_pipes_intel = 5943, - blocking_pipes_intel = 5945, - fpga_reg_intel = 5948, - dot_product_input_all = 6016, - dot_product_input4x8bit = 6017, - dot_product_input4x8bit_packed = 6018, - dot_product = 6019, - ray_cull_mask_khr = 6020, - cooperative_matrix_khr = 6022, - replicated_composites_ext = 6024, - bit_instructions = 6025, - group_non_uniform_rotate_khr = 6026, - float_controls2 = 6029, - atomic_float32add_ext = 6033, - atomic_float64add_ext = 6034, - long_composites_intel = 6089, - opt_none_ext = 6094, - atomic_float16add_ext = 6095, - debug_info_module_intel = 6114, - b_float16conversion_intel = 6115, - split_barrier_intel = 6141, - arithmetic_fence_ext = 6144, - fpga_cluster_attributes_v2intel = 6150, - fpga_kernel_attributesv2intel = 6161, - task_sequence_intel = 6162, - fp_max_error_intel = 6169, - fpga_latency_control_intel = 6171, - fpga_argument_interfaces_intel = 6174, - global_variable_host_access_intel = 6187, - global_variable_fpga_decorations_intel = 6189, - subgroup_buffer_prefetch_intel = 6220, - subgroup2d_block_iointel = 6228, - subgroup2d_block_transform_intel = 6229, - subgroup2d_block_transpose_intel = 6230, - subgroup_matrix_multiply_accumulate_intel = 6236, - ternary_bitwise_function_intel = 6241, - group_uniform_arithmetic_khr = 6400, - tensor_float32rounding_intel = 6425, - masked_gather_scatter_intel = 6427, - cache_controls_intel = 6441, - register_limits_intel = 6460, - bindless_images_intel = 6528, -}; -pub const RayQueryIntersection = enum(u32) { - ray_query_candidate_intersection_khr = 0, - ray_query_committed_intersection_khr = 1, -}; -pub const RayQueryCommittedIntersectionType = enum(u32) { - ray_query_committed_intersection_none_khr = 0, - ray_query_committed_intersection_triangle_khr = 1, - ray_query_committed_intersection_generated_khr = 2, -}; -pub const RayQueryCandidateIntersectionType = enum(u32) { - ray_query_candidate_intersection_triangle_khr = 0, - ray_query_candidate_intersection_aabbkhr = 1, -}; -pub const PackedVectorFormat = enum(u32) { - packed_vector_format4x8bit = 0, -}; -pub const CooperativeMatrixOperands = packed struct { - matrix_a_signed_components_khr: bool = false, - matrix_b_signed_components_khr: bool = false, - matrix_c_signed_components_khr: bool = false, - matrix_result_signed_components_khr: bool = false, - saturating_accumulation_khr: bool = false, - _reserved_bit_5: bool = false, - _reserved_bit_6: bool = false, - _reserved_bit_7: bool = false, - _reserved_bit_8: bool = false, - _reserved_bit_9: bool = false, - _reserved_bit_10: bool = false, - _reserved_bit_11: bool = false, - _reserved_bit_12: bool = false, - _reserved_bit_13: bool = false, - _reserved_bit_14: bool = false, - _reserved_bit_15: bool = false, - _reserved_bit_16: bool = false, - _reserved_bit_17: bool = false, - _reserved_bit_18: bool = false, - _reserved_bit_19: bool = false, - _reserved_bit_20: bool = false, - _reserved_bit_21: bool = false, - _reserved_bit_22: bool = false, - _reserved_bit_23: bool = false, - _reserved_bit_24: bool = false, - _reserved_bit_25: bool = false, - _reserved_bit_26: bool = false, - _reserved_bit_27: bool = false, - _reserved_bit_28: bool = false, - _reserved_bit_29: bool = false, - _reserved_bit_30: bool = false, - _reserved_bit_31: bool = false, -}; -pub const CooperativeMatrixLayout = enum(u32) { - row_major_khr = 0, - column_major_khr = 1, - row_blocked_interleaved_arm = 4202, - column_blocked_interleaved_arm = 4203, -}; -pub const CooperativeMatrixUse = enum(u32) { - matrix_akhr = 0, - matrix_bkhr = 1, - matrix_accumulator_khr = 2, -}; -pub const CooperativeMatrixReduce = packed struct { - row: bool = false, - column: bool = false, - @"2x2": bool = false, - _reserved_bit_3: bool = false, - _reserved_bit_4: bool = false, - _reserved_bit_5: bool = false, - _reserved_bit_6: bool = false, - _reserved_bit_7: bool = false, - _reserved_bit_8: bool = false, - _reserved_bit_9: bool = false, - _reserved_bit_10: bool = false, - _reserved_bit_11: bool = false, - _reserved_bit_12: bool = false, - _reserved_bit_13: bool = false, - _reserved_bit_14: bool = false, - _reserved_bit_15: bool = false, - _reserved_bit_16: bool = false, - _reserved_bit_17: bool = false, - _reserved_bit_18: bool = false, - _reserved_bit_19: bool = false, - _reserved_bit_20: bool = false, - _reserved_bit_21: bool = false, - _reserved_bit_22: bool = false, - _reserved_bit_23: bool = false, - _reserved_bit_24: bool = false, - _reserved_bit_25: bool = false, - _reserved_bit_26: bool = false, - _reserved_bit_27: bool = false, - _reserved_bit_28: bool = false, - _reserved_bit_29: bool = false, - _reserved_bit_30: bool = false, - _reserved_bit_31: bool = false, -}; -pub const TensorClampMode = enum(u32) { - undefined = 0, - constant = 1, - clamp_to_edge = 2, - repeat = 3, - repeat_mirrored = 4, -}; -pub const TensorAddressingOperands = packed struct { - tensor_view: bool = false, - decode_func: bool = false, - _reserved_bit_2: bool = false, - _reserved_bit_3: bool = false, - _reserved_bit_4: bool = false, - _reserved_bit_5: bool = false, - _reserved_bit_6: bool = false, - _reserved_bit_7: bool = false, - _reserved_bit_8: bool = false, - _reserved_bit_9: bool = false, - _reserved_bit_10: bool = false, - _reserved_bit_11: bool = false, - _reserved_bit_12: bool = false, - _reserved_bit_13: bool = false, - _reserved_bit_14: bool = false, - _reserved_bit_15: bool = false, - _reserved_bit_16: bool = false, - _reserved_bit_17: bool = false, - _reserved_bit_18: bool = false, - _reserved_bit_19: bool = false, - _reserved_bit_20: bool = false, - _reserved_bit_21: bool = false, - _reserved_bit_22: bool = false, - _reserved_bit_23: bool = false, - _reserved_bit_24: bool = false, - _reserved_bit_25: bool = false, - _reserved_bit_26: bool = false, - _reserved_bit_27: bool = false, - _reserved_bit_28: bool = false, - _reserved_bit_29: bool = false, - _reserved_bit_30: bool = false, - _reserved_bit_31: bool = false, - - pub const Extended = struct { - tensor_view: ?struct { id_ref: Id } = null, - decode_func: ?struct { id_ref: Id } = null, - _reserved_bit_2: bool = false, - _reserved_bit_3: bool = false, - _reserved_bit_4: bool = false, - _reserved_bit_5: bool = false, - _reserved_bit_6: bool = false, - _reserved_bit_7: bool = false, - _reserved_bit_8: bool = false, - _reserved_bit_9: bool = false, - _reserved_bit_10: bool = false, - _reserved_bit_11: bool = false, - _reserved_bit_12: bool = false, - _reserved_bit_13: bool = false, - _reserved_bit_14: bool = false, - _reserved_bit_15: bool = false, - _reserved_bit_16: bool = false, - _reserved_bit_17: bool = false, - _reserved_bit_18: bool = false, - _reserved_bit_19: bool = false, - _reserved_bit_20: bool = false, - _reserved_bit_21: bool = false, - _reserved_bit_22: bool = false, - _reserved_bit_23: bool = false, - _reserved_bit_24: bool = false, - _reserved_bit_25: bool = false, - _reserved_bit_26: bool = false, - _reserved_bit_27: bool = false, - _reserved_bit_28: bool = false, - _reserved_bit_29: bool = false, - _reserved_bit_30: bool = false, - _reserved_bit_31: bool = false, - }; -}; -pub const InitializationModeQualifier = enum(u32) { - init_on_device_reprogram_intel = 0, - init_on_device_reset_intel = 1, -}; -pub const LoadCacheControl = enum(u32) { - uncached_intel = 0, - cached_intel = 1, - streaming_intel = 2, - invalidate_after_read_intel = 3, - const_cached_intel = 4, -}; -pub const StoreCacheControl = enum(u32) { - uncached_intel = 0, - write_through_intel = 1, - write_back_intel = 2, - streaming_intel = 3, -}; -pub const NamedMaximumNumberOfRegisters = enum(u32) { - auto_intel = 0, -}; -pub const MatrixMultiplyAccumulateOperands = packed struct { - matrix_a_signed_components_intel: bool = false, - matrix_b_signed_components_intel: bool = false, - matrix_cb_float16intel: bool = false, - matrix_result_b_float16intel: bool = false, - matrix_a_packed_int8intel: bool = false, - matrix_b_packed_int8intel: bool = false, - matrix_a_packed_int4intel: bool = false, - matrix_b_packed_int4intel: bool = false, - matrix_atf32intel: bool = false, - matrix_btf32intel: bool = false, - matrix_a_packed_float16intel: bool = false, - matrix_b_packed_float16intel: bool = false, - matrix_a_packed_b_float16intel: bool = false, - matrix_b_packed_b_float16intel: bool = false, - _reserved_bit_14: bool = false, - _reserved_bit_15: bool = false, - _reserved_bit_16: bool = false, - _reserved_bit_17: bool = false, - _reserved_bit_18: bool = false, - _reserved_bit_19: bool = false, - _reserved_bit_20: bool = false, - _reserved_bit_21: bool = false, - _reserved_bit_22: bool = false, - _reserved_bit_23: bool = false, - _reserved_bit_24: bool = false, - _reserved_bit_25: bool = false, - _reserved_bit_26: bool = false, - _reserved_bit_27: bool = false, - _reserved_bit_28: bool = false, - _reserved_bit_29: bool = false, - _reserved_bit_30: bool = false, - _reserved_bit_31: bool = false, -}; -pub const FPEncoding = enum(u32) { - b_float16khr = 0, - float8e4m3ext = 4214, - float8e5m2ext = 4215, -}; -pub const CooperativeVectorMatrixLayout = enum(u32) { - row_major_nv = 0, - column_major_nv = 1, - inferencing_optimal_nv = 2, - training_optimal_nv = 3, -}; -pub const ComponentType = enum(u32) { - float16nv = 0, - float32nv = 1, - float64nv = 2, - signed_int8nv = 3, - signed_int16nv = 4, - signed_int32nv = 5, - signed_int64nv = 6, - unsigned_int8nv = 7, - unsigned_int16nv = 8, - unsigned_int32nv = 9, - unsigned_int64nv = 10, - signed_int8packed_nv = 1000491000, - unsigned_int8packed_nv = 1000491001, - float_e4m3nv = 1000491002, - float_e5m2nv = 1000491003, -}; -pub const TensorOperands = packed struct { - nontemporal_arm: bool = false, - out_of_bounds_value_arm: bool = false, - make_element_available_arm: bool = false, - make_element_visible_arm: bool = false, - non_private_element_arm: bool = false, - _reserved_bit_5: bool = false, - _reserved_bit_6: bool = false, - _reserved_bit_7: bool = false, - _reserved_bit_8: bool = false, - _reserved_bit_9: bool = false, - _reserved_bit_10: bool = false, - _reserved_bit_11: bool = false, - _reserved_bit_12: bool = false, - _reserved_bit_13: bool = false, - _reserved_bit_14: bool = false, - _reserved_bit_15: bool = false, - _reserved_bit_16: bool = false, - _reserved_bit_17: bool = false, - _reserved_bit_18: bool = false, - _reserved_bit_19: bool = false, - _reserved_bit_20: bool = false, - _reserved_bit_21: bool = false, - _reserved_bit_22: bool = false, - _reserved_bit_23: bool = false, - _reserved_bit_24: bool = false, - _reserved_bit_25: bool = false, - _reserved_bit_26: bool = false, - _reserved_bit_27: bool = false, - _reserved_bit_28: bool = false, - _reserved_bit_29: bool = false, - _reserved_bit_30: bool = false, - _reserved_bit_31: bool = false, - - pub const Extended = struct { - nontemporal_arm: bool = false, - out_of_bounds_value_arm: ?struct { id_ref: Id } = null, - make_element_available_arm: ?struct { id_ref: Id } = null, - make_element_visible_arm: ?struct { id_ref: Id } = null, - non_private_element_arm: bool = false, - _reserved_bit_5: bool = false, - _reserved_bit_6: bool = false, - _reserved_bit_7: bool = false, - _reserved_bit_8: bool = false, - _reserved_bit_9: bool = false, - _reserved_bit_10: bool = false, - _reserved_bit_11: bool = false, - _reserved_bit_12: bool = false, - _reserved_bit_13: bool = false, - _reserved_bit_14: bool = false, - _reserved_bit_15: bool = false, - _reserved_bit_16: bool = false, - _reserved_bit_17: bool = false, - _reserved_bit_18: bool = false, - _reserved_bit_19: bool = false, - _reserved_bit_20: bool = false, - _reserved_bit_21: bool = false, - _reserved_bit_22: bool = false, - _reserved_bit_23: bool = false, - _reserved_bit_24: bool = false, - _reserved_bit_25: bool = false, - _reserved_bit_26: bool = false, - _reserved_bit_27: bool = false, - _reserved_bit_28: bool = false, - _reserved_bit_29: bool = false, - _reserved_bit_30: bool = false, - _reserved_bit_31: bool = false, - }; -}; -pub const @"DebugInfo.DebugInfoFlags" = packed struct { - flag_is_protected: bool = false, - flag_is_private: bool = false, - flag_is_local: bool = false, - flag_is_definition: bool = false, - flag_fwd_decl: bool = false, - flag_artificial: bool = false, - flag_explicit: bool = false, - flag_prototyped: bool = false, - flag_object_pointer: bool = false, - flag_static_member: bool = false, - flag_indirect_variable: bool = false, - flag_l_value_reference: bool = false, - flag_r_value_reference: bool = false, - flag_is_optimized: bool = false, - _reserved_bit_14: bool = false, - _reserved_bit_15: bool = false, - _reserved_bit_16: bool = false, - _reserved_bit_17: bool = false, - _reserved_bit_18: bool = false, - _reserved_bit_19: bool = false, - _reserved_bit_20: bool = false, - _reserved_bit_21: bool = false, - _reserved_bit_22: bool = false, - _reserved_bit_23: bool = false, - _reserved_bit_24: bool = false, - _reserved_bit_25: bool = false, - _reserved_bit_26: bool = false, - _reserved_bit_27: bool = false, - _reserved_bit_28: bool = false, - _reserved_bit_29: bool = false, - _reserved_bit_30: bool = false, - _reserved_bit_31: bool = false, -}; -pub const @"DebugInfo.DebugBaseTypeAttributeEncoding" = enum(u32) { - unspecified = 0, - address = 1, - boolean = 2, - float = 4, - signed = 5, - signed_char = 6, - unsigned = 7, - unsigned_char = 8, -}; -pub const @"DebugInfo.DebugCompositeType" = enum(u32) { - class = 0, - structure = 1, - @"union" = 2, -}; -pub const @"DebugInfo.DebugTypeQualifier" = enum(u32) { - const_type = 0, - volatile_type = 1, - restrict_type = 2, -}; -pub const @"DebugInfo.DebugOperation" = enum(u32) { - deref = 0, - plus = 1, - minus = 2, - plus_uconst = 3, - bit_piece = 4, - swap = 5, - xderef = 6, - stack_value = 7, - constu = 8, - - pub const Extended = union(@"DebugInfo.DebugOperation") { - deref, - plus, - minus, - plus_uconst: struct { literal_integer: LiteralInteger }, - bit_piece: struct { literal_integer_0: LiteralInteger, literal_integer_1: LiteralInteger }, - swap, - xderef, - stack_value, - constu: struct { literal_integer: LiteralInteger }, - }; -}; -pub const @"OpenCL.DebugInfo.100.DebugInfoFlags" = packed struct { - flag_is_protected: bool = false, - flag_is_private: bool = false, - flag_is_local: bool = false, - flag_is_definition: bool = false, - flag_fwd_decl: bool = false, - flag_artificial: bool = false, - flag_explicit: bool = false, - flag_prototyped: bool = false, - flag_object_pointer: bool = false, - flag_static_member: bool = false, - flag_indirect_variable: bool = false, - flag_l_value_reference: bool = false, - flag_r_value_reference: bool = false, - flag_is_optimized: bool = false, - flag_is_enum_class: bool = false, - flag_type_pass_by_value: bool = false, - flag_type_pass_by_reference: bool = false, - _reserved_bit_17: bool = false, - _reserved_bit_18: bool = false, - _reserved_bit_19: bool = false, - _reserved_bit_20: bool = false, - _reserved_bit_21: bool = false, - _reserved_bit_22: bool = false, - _reserved_bit_23: bool = false, - _reserved_bit_24: bool = false, - _reserved_bit_25: bool = false, - _reserved_bit_26: bool = false, - _reserved_bit_27: bool = false, - _reserved_bit_28: bool = false, - _reserved_bit_29: bool = false, - _reserved_bit_30: bool = false, - _reserved_bit_31: bool = false, -}; -pub const @"OpenCL.DebugInfo.100.DebugBaseTypeAttributeEncoding" = enum(u32) { - unspecified = 0, - address = 1, - boolean = 2, - float = 3, - signed = 4, - signed_char = 5, - unsigned = 6, - unsigned_char = 7, -}; -pub const @"OpenCL.DebugInfo.100.DebugCompositeType" = enum(u32) { - class = 0, - structure = 1, - @"union" = 2, -}; -pub const @"OpenCL.DebugInfo.100.DebugTypeQualifier" = enum(u32) { - const_type = 0, - volatile_type = 1, - restrict_type = 2, - atomic_type = 3, -}; -pub const @"OpenCL.DebugInfo.100.DebugOperation" = enum(u32) { - deref = 0, - plus = 1, - minus = 2, - plus_uconst = 3, - bit_piece = 4, - swap = 5, - xderef = 6, - stack_value = 7, - constu = 8, - fragment = 9, - - pub const Extended = union(@"OpenCL.DebugInfo.100.DebugOperation") { - deref, - plus, - minus, - plus_uconst: struct { literal_integer: LiteralInteger }, - bit_piece: struct { literal_integer_0: LiteralInteger, literal_integer_1: LiteralInteger }, - swap, - xderef, - stack_value, - constu: struct { literal_integer: LiteralInteger }, - fragment: struct { literal_integer_0: LiteralInteger, literal_integer_1: LiteralInteger }, - }; -}; -pub const @"OpenCL.DebugInfo.100.DebugImportedEntity" = enum(u32) { - imported_module = 0, - imported_declaration = 1, -}; -pub const @"NonSemantic.ClspvReflection.6.KernelPropertyFlags" = packed struct { - may_use_printf: bool = false, - _reserved_bit_1: bool = false, - _reserved_bit_2: bool = false, - _reserved_bit_3: bool = false, - _reserved_bit_4: bool = false, - _reserved_bit_5: bool = false, - _reserved_bit_6: bool = false, - _reserved_bit_7: bool = false, - _reserved_bit_8: bool = false, - _reserved_bit_9: bool = false, - _reserved_bit_10: bool = false, - _reserved_bit_11: bool = false, - _reserved_bit_12: bool = false, - _reserved_bit_13: bool = false, - _reserved_bit_14: bool = false, - _reserved_bit_15: bool = false, - _reserved_bit_16: bool = false, - _reserved_bit_17: bool = false, - _reserved_bit_18: bool = false, - _reserved_bit_19: bool = false, - _reserved_bit_20: bool = false, - _reserved_bit_21: bool = false, - _reserved_bit_22: bool = false, - _reserved_bit_23: bool = false, - _reserved_bit_24: bool = false, - _reserved_bit_25: bool = false, - _reserved_bit_26: bool = false, - _reserved_bit_27: bool = false, - _reserved_bit_28: bool = false, - _reserved_bit_29: bool = false, - _reserved_bit_30: bool = false, - _reserved_bit_31: bool = false, -}; -pub const @"NonSemantic.Shader.DebugInfo.100.DebugInfoFlags" = packed struct { - flag_is_protected: bool = false, - flag_is_private: bool = false, - flag_is_local: bool = false, - flag_is_definition: bool = false, - flag_fwd_decl: bool = false, - flag_artificial: bool = false, - flag_explicit: bool = false, - flag_prototyped: bool = false, - flag_object_pointer: bool = false, - flag_static_member: bool = false, - flag_indirect_variable: bool = false, - flag_l_value_reference: bool = false, - flag_r_value_reference: bool = false, - flag_is_optimized: bool = false, - flag_is_enum_class: bool = false, - flag_type_pass_by_value: bool = false, - flag_type_pass_by_reference: bool = false, - flag_unknown_physical_layout: bool = false, - _reserved_bit_18: bool = false, - _reserved_bit_19: bool = false, - _reserved_bit_20: bool = false, - _reserved_bit_21: bool = false, - _reserved_bit_22: bool = false, - _reserved_bit_23: bool = false, - _reserved_bit_24: bool = false, - _reserved_bit_25: bool = false, - _reserved_bit_26: bool = false, - _reserved_bit_27: bool = false, - _reserved_bit_28: bool = false, - _reserved_bit_29: bool = false, - _reserved_bit_30: bool = false, - _reserved_bit_31: bool = false, -}; -pub const @"NonSemantic.Shader.DebugInfo.100.BuildIdentifierFlags" = packed struct { - identifier_possible_duplicates: bool = false, - _reserved_bit_1: bool = false, - _reserved_bit_2: bool = false, - _reserved_bit_3: bool = false, - _reserved_bit_4: bool = false, - _reserved_bit_5: bool = false, - _reserved_bit_6: bool = false, - _reserved_bit_7: bool = false, - _reserved_bit_8: bool = false, - _reserved_bit_9: bool = false, - _reserved_bit_10: bool = false, - _reserved_bit_11: bool = false, - _reserved_bit_12: bool = false, - _reserved_bit_13: bool = false, - _reserved_bit_14: bool = false, - _reserved_bit_15: bool = false, - _reserved_bit_16: bool = false, - _reserved_bit_17: bool = false, - _reserved_bit_18: bool = false, - _reserved_bit_19: bool = false, - _reserved_bit_20: bool = false, - _reserved_bit_21: bool = false, - _reserved_bit_22: bool = false, - _reserved_bit_23: bool = false, - _reserved_bit_24: bool = false, - _reserved_bit_25: bool = false, - _reserved_bit_26: bool = false, - _reserved_bit_27: bool = false, - _reserved_bit_28: bool = false, - _reserved_bit_29: bool = false, - _reserved_bit_30: bool = false, - _reserved_bit_31: bool = false, -}; -pub const @"NonSemantic.Shader.DebugInfo.100.DebugBaseTypeAttributeEncoding" = enum(u32) { - unspecified = 0, - address = 1, - boolean = 2, - float = 3, - signed = 4, - signed_char = 5, - unsigned = 6, - unsigned_char = 7, -}; -pub const @"NonSemantic.Shader.DebugInfo.100.DebugCompositeType" = enum(u32) { - class = 0, - structure = 1, - @"union" = 2, -}; -pub const @"NonSemantic.Shader.DebugInfo.100.DebugTypeQualifier" = enum(u32) { - const_type = 0, - volatile_type = 1, - restrict_type = 2, - atomic_type = 3, -}; -pub const @"NonSemantic.Shader.DebugInfo.100.DebugOperation" = enum(u32) { - deref = 0, - plus = 1, - minus = 2, - plus_uconst = 3, - bit_piece = 4, - swap = 5, - xderef = 6, - stack_value = 7, - constu = 8, - fragment = 9, - - pub const Extended = union(@"NonSemantic.Shader.DebugInfo.100.DebugOperation") { - deref, - plus, - minus, - plus_uconst: struct { id_ref: Id }, - bit_piece: struct { id_ref_0: Id, id_ref_1: Id }, - swap, - xderef, - stack_value, - constu: struct { id_ref: Id }, - fragment: struct { id_ref_0: Id, id_ref_1: Id }, - }; -}; -pub const @"NonSemantic.Shader.DebugInfo.100.DebugImportedEntity" = enum(u32) { - imported_module = 0, - imported_declaration = 1, -}; -pub const InstructionSet = enum { - core, - spv_amd_shader_trinary_minmax, - spv_ext_inst_type_tosa_001000_1, - non_semantic_vksp_reflection, - spv_amd_shader_explicit_vertex_parameter, - debug_info, - non_semantic_debug_break, - open_cl_debug_info_100, - non_semantic_clspv_reflection_6, - glsl_std_450, - spv_amd_shader_ballot, - non_semantic_debug_printf, - spv_amd_gcn_shader, - open_cl_std, - non_semantic_shader_debug_info_100, - zig, - - pub fn instructions(self: InstructionSet) []const Instruction { - return switch (self) { - .core => &.{ - .{ - .name = "OpNop", - .opcode = 0, - .operands = &.{}, - }, - .{ - .name = "OpUndef", - .opcode = 1, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - }, - }, - .{ - .name = "OpSourceContinued", - .opcode = 2, - .operands = &.{ - .{ .kind = .literal_string, .quantifier = .required }, - }, - }, - .{ - .name = "OpSource", - .opcode = 3, - .operands = &.{ - .{ .kind = .source_language, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - .{ .kind = .literal_string, .quantifier = .optional }, - }, - }, - .{ - .name = "OpSourceExtension", - .opcode = 4, - .operands = &.{ - .{ .kind = .literal_string, .quantifier = .required }, - }, - }, - .{ - .name = "OpName", - .opcode = 5, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_string, .quantifier = .required }, - }, - }, - .{ - .name = "OpMemberName", - .opcode = 6, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_string, .quantifier = .required }, - }, - }, - .{ - .name = "OpString", - .opcode = 7, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .literal_string, .quantifier = .required }, - }, - }, - .{ - .name = "OpLine", - .opcode = 8, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpExtension", - .opcode = 10, - .operands = &.{ - .{ .kind = .literal_string, .quantifier = .required }, - }, - }, - .{ - .name = "OpExtInstImport", - .opcode = 11, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .literal_string, .quantifier = .required }, - }, - }, - .{ - .name = "OpExtInst", - .opcode = 12, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_ext_inst_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "OpMemoryModel", - .opcode = 14, - .operands = &.{ - .{ .kind = .addressing_model, .quantifier = .required }, - .{ .kind = .memory_model, .quantifier = .required }, - }, - }, - .{ - .name = "OpEntryPoint", - .opcode = 15, - .operands = &.{ - .{ .kind = .execution_model, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_string, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "OpExecutionMode", - .opcode = 16, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .execution_mode, .quantifier = .required }, - }, - }, - .{ - .name = "OpCapability", - .opcode = 17, - .operands = &.{ - .{ .kind = .capability, .quantifier = .required }, - }, - }, - .{ - .name = "OpTypeVoid", - .opcode = 19, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - }, - }, - .{ - .name = "OpTypeBool", - .opcode = 20, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - }, - }, - .{ - .name = "OpTypeInt", - .opcode = 21, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpTypeFloat", - .opcode = 22, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .fp_encoding, .quantifier = .optional }, - }, - }, - .{ - .name = "OpTypeVector", - .opcode = 23, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpTypeMatrix", - .opcode = 24, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpTypeImage", - .opcode = 25, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .dim, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .image_format, .quantifier = .required }, - .{ .kind = .access_qualifier, .quantifier = .optional }, - }, - }, - .{ - .name = "OpTypeSampler", - .opcode = 26, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - }, - }, - .{ - .name = "OpTypeSampledImage", - .opcode = 27, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpTypeArray", - .opcode = 28, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpTypeRuntimeArray", - .opcode = 29, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpTypeStruct", - .opcode = 30, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "OpTypeOpaque", - .opcode = 31, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .literal_string, .quantifier = .required }, - }, - }, - .{ - .name = "OpTypePointer", - .opcode = 32, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .storage_class, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpTypeFunction", - .opcode = 33, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "OpTypeEvent", - .opcode = 34, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - }, - }, - .{ - .name = "OpTypeDeviceEvent", - .opcode = 35, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - }, - }, - .{ - .name = "OpTypeReserveId", - .opcode = 36, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - }, - }, - .{ - .name = "OpTypeQueue", - .opcode = 37, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - }, - }, - .{ - .name = "OpTypePipe", - .opcode = 38, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .access_qualifier, .quantifier = .required }, - }, - }, - .{ - .name = "OpTypeForwardPointer", - .opcode = 39, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .storage_class, .quantifier = .required }, - }, - }, - .{ - .name = "OpConstantTrue", - .opcode = 41, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - }, - }, - .{ - .name = "OpConstantFalse", - .opcode = 42, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - }, - }, - .{ - .name = "OpConstant", - .opcode = 43, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .literal_context_dependent_number, .quantifier = .required }, - }, - }, - .{ - .name = "OpConstantComposite", - .opcode = 44, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "OpConstantSampler", - .opcode = 45, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .sampler_addressing_mode, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .sampler_filter_mode, .quantifier = .required }, - }, - }, - .{ - .name = "OpConstantNull", - .opcode = 46, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - }, - }, - .{ - .name = "OpSpecConstantTrue", - .opcode = 48, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - }, - }, - .{ - .name = "OpSpecConstantFalse", - .opcode = 49, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - }, - }, - .{ - .name = "OpSpecConstant", - .opcode = 50, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .literal_context_dependent_number, .quantifier = .required }, - }, - }, - .{ - .name = "OpSpecConstantComposite", - .opcode = 51, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "OpSpecConstantOp", - .opcode = 52, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .literal_spec_constant_op_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpFunction", - .opcode = 54, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .function_control, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpFunctionParameter", - .opcode = 55, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - }, - }, - .{ - .name = "OpFunctionEnd", - .opcode = 56, - .operands = &.{}, - }, - .{ - .name = "OpFunctionCall", - .opcode = 57, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "OpVariable", - .opcode = 59, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .storage_class, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "OpImageTexelPointer", - .opcode = 60, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpLoad", - .opcode = 61, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .memory_access, .quantifier = .optional }, - }, - }, - .{ - .name = "OpStore", - .opcode = 62, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .memory_access, .quantifier = .optional }, - }, - }, - .{ - .name = "OpCopyMemory", - .opcode = 63, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .memory_access, .quantifier = .optional }, - .{ .kind = .memory_access, .quantifier = .optional }, - }, - }, - .{ - .name = "OpCopyMemorySized", - .opcode = 64, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .memory_access, .quantifier = .optional }, - .{ .kind = .memory_access, .quantifier = .optional }, - }, - }, - .{ - .name = "OpAccessChain", - .opcode = 65, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "OpInBoundsAccessChain", - .opcode = 66, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "OpPtrAccessChain", - .opcode = 67, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "OpArrayLength", - .opcode = 68, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpGenericPtrMemSemantics", - .opcode = 69, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpInBoundsPtrAccessChain", - .opcode = 70, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "OpDecorate", - .opcode = 71, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .decoration, .quantifier = .required }, - }, - }, - .{ - .name = "OpMemberDecorate", - .opcode = 72, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .decoration, .quantifier = .required }, - }, - }, - .{ - .name = "OpDecorationGroup", - .opcode = 73, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupDecorate", - .opcode = 74, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "OpGroupMemberDecorate", - .opcode = 75, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .pair_id_ref_literal_integer, .quantifier = .variadic }, - }, - }, - .{ - .name = "OpVectorExtractDynamic", - .opcode = 77, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpVectorInsertDynamic", - .opcode = 78, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpVectorShuffle", - .opcode = 79, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .variadic }, - }, - }, - .{ - .name = "OpCompositeConstruct", - .opcode = 80, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "OpCompositeExtract", - .opcode = 81, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .variadic }, - }, - }, - .{ - .name = "OpCompositeInsert", - .opcode = 82, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .variadic }, - }, - }, - .{ - .name = "OpCopyObject", - .opcode = 83, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpTranspose", - .opcode = 84, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSampledImage", - .opcode = 86, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpImageSampleImplicitLod", - .opcode = 87, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .image_operands, .quantifier = .optional }, - }, - }, - .{ - .name = "OpImageSampleExplicitLod", - .opcode = 88, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .image_operands, .quantifier = .required }, - }, - }, - .{ - .name = "OpImageSampleDrefImplicitLod", - .opcode = 89, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .image_operands, .quantifier = .optional }, - }, - }, - .{ - .name = "OpImageSampleDrefExplicitLod", - .opcode = 90, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .image_operands, .quantifier = .required }, - }, - }, - .{ - .name = "OpImageSampleProjImplicitLod", - .opcode = 91, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .image_operands, .quantifier = .optional }, - }, - }, - .{ - .name = "OpImageSampleProjExplicitLod", - .opcode = 92, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .image_operands, .quantifier = .required }, - }, - }, - .{ - .name = "OpImageSampleProjDrefImplicitLod", - .opcode = 93, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .image_operands, .quantifier = .optional }, - }, - }, - .{ - .name = "OpImageSampleProjDrefExplicitLod", - .opcode = 94, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .image_operands, .quantifier = .required }, - }, - }, - .{ - .name = "OpImageFetch", - .opcode = 95, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .image_operands, .quantifier = .optional }, - }, - }, - .{ - .name = "OpImageGather", - .opcode = 96, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .image_operands, .quantifier = .optional }, - }, - }, - .{ - .name = "OpImageDrefGather", - .opcode = 97, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .image_operands, .quantifier = .optional }, - }, - }, - .{ - .name = "OpImageRead", - .opcode = 98, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .image_operands, .quantifier = .optional }, - }, - }, - .{ - .name = "OpImageWrite", - .opcode = 99, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .image_operands, .quantifier = .optional }, - }, - }, - .{ - .name = "OpImage", - .opcode = 100, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpImageQueryFormat", - .opcode = 101, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpImageQueryOrder", - .opcode = 102, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpImageQuerySizeLod", - .opcode = 103, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpImageQuerySize", - .opcode = 104, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpImageQueryLod", - .opcode = 105, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpImageQueryLevels", - .opcode = 106, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpImageQuerySamples", - .opcode = 107, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpConvertFToU", - .opcode = 109, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpConvertFToS", - .opcode = 110, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpConvertSToF", - .opcode = 111, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpConvertUToF", - .opcode = 112, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpUConvert", - .opcode = 113, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSConvert", - .opcode = 114, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpFConvert", - .opcode = 115, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpQuantizeToF16", - .opcode = 116, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpConvertPtrToU", - .opcode = 117, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSatConvertSToU", - .opcode = 118, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSatConvertUToS", - .opcode = 119, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpConvertUToPtr", - .opcode = 120, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpPtrCastToGeneric", - .opcode = 121, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGenericCastToPtr", - .opcode = 122, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGenericCastToPtrExplicit", - .opcode = 123, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .storage_class, .quantifier = .required }, - }, - }, - .{ - .name = "OpBitcast", - .opcode = 124, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSNegate", - .opcode = 126, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpFNegate", - .opcode = 127, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpIAdd", - .opcode = 128, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpFAdd", - .opcode = 129, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpISub", - .opcode = 130, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpFSub", - .opcode = 131, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpIMul", - .opcode = 132, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpFMul", - .opcode = 133, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpUDiv", - .opcode = 134, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSDiv", - .opcode = 135, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpFDiv", - .opcode = 136, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpUMod", - .opcode = 137, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSRem", - .opcode = 138, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSMod", - .opcode = 139, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpFRem", - .opcode = 140, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpFMod", - .opcode = 141, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpVectorTimesScalar", - .opcode = 142, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpMatrixTimesScalar", - .opcode = 143, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpVectorTimesMatrix", - .opcode = 144, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpMatrixTimesVector", - .opcode = 145, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpMatrixTimesMatrix", - .opcode = 146, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpOuterProduct", - .opcode = 147, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpDot", - .opcode = 148, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpIAddCarry", - .opcode = 149, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpISubBorrow", - .opcode = 150, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpUMulExtended", - .opcode = 151, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSMulExtended", - .opcode = 152, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpAny", - .opcode = 154, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpAll", - .opcode = 155, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpIsNan", - .opcode = 156, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpIsInf", - .opcode = 157, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpIsFinite", - .opcode = 158, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpIsNormal", - .opcode = 159, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSignBitSet", - .opcode = 160, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpLessOrGreater", - .opcode = 161, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpOrdered", - .opcode = 162, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpUnordered", - .opcode = 163, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpLogicalEqual", - .opcode = 164, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpLogicalNotEqual", - .opcode = 165, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpLogicalOr", - .opcode = 166, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpLogicalAnd", - .opcode = 167, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpLogicalNot", - .opcode = 168, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSelect", - .opcode = 169, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpIEqual", - .opcode = 170, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpINotEqual", - .opcode = 171, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpUGreaterThan", - .opcode = 172, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSGreaterThan", - .opcode = 173, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpUGreaterThanEqual", - .opcode = 174, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSGreaterThanEqual", - .opcode = 175, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpULessThan", - .opcode = 176, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSLessThan", - .opcode = 177, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpULessThanEqual", - .opcode = 178, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSLessThanEqual", - .opcode = 179, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpFOrdEqual", - .opcode = 180, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpFUnordEqual", - .opcode = 181, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpFOrdNotEqual", - .opcode = 182, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpFUnordNotEqual", - .opcode = 183, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpFOrdLessThan", - .opcode = 184, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpFUnordLessThan", - .opcode = 185, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpFOrdGreaterThan", - .opcode = 186, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpFUnordGreaterThan", - .opcode = 187, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpFOrdLessThanEqual", - .opcode = 188, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpFUnordLessThanEqual", - .opcode = 189, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpFOrdGreaterThanEqual", - .opcode = 190, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpFUnordGreaterThanEqual", - .opcode = 191, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpShiftRightLogical", - .opcode = 194, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpShiftRightArithmetic", - .opcode = 195, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpShiftLeftLogical", - .opcode = 196, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpBitwiseOr", - .opcode = 197, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpBitwiseXor", - .opcode = 198, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpBitwiseAnd", - .opcode = 199, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpNot", - .opcode = 200, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpBitFieldInsert", - .opcode = 201, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpBitFieldSExtract", - .opcode = 202, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpBitFieldUExtract", - .opcode = 203, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpBitReverse", - .opcode = 204, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpBitCount", - .opcode = 205, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpDPdx", - .opcode = 207, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpDPdy", - .opcode = 208, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpFwidth", - .opcode = 209, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpDPdxFine", - .opcode = 210, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpDPdyFine", - .opcode = 211, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpFwidthFine", - .opcode = 212, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpDPdxCoarse", - .opcode = 213, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpDPdyCoarse", - .opcode = 214, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpFwidthCoarse", - .opcode = 215, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpEmitVertex", - .opcode = 218, - .operands = &.{}, - }, - .{ - .name = "OpEndPrimitive", - .opcode = 219, - .operands = &.{}, - }, - .{ - .name = "OpEmitStreamVertex", - .opcode = 220, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpEndStreamPrimitive", - .opcode = 221, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpControlBarrier", - .opcode = 224, - .operands = &.{ - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_memory_semantics, .quantifier = .required }, - }, - }, - .{ - .name = "OpMemoryBarrier", - .opcode = 225, - .operands = &.{ - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_memory_semantics, .quantifier = .required }, - }, - }, - .{ - .name = "OpAtomicLoad", - .opcode = 227, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_memory_semantics, .quantifier = .required }, - }, - }, - .{ - .name = "OpAtomicStore", - .opcode = 228, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_memory_semantics, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpAtomicExchange", - .opcode = 229, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_memory_semantics, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpAtomicCompareExchange", - .opcode = 230, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_memory_semantics, .quantifier = .required }, - .{ .kind = .id_memory_semantics, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpAtomicCompareExchangeWeak", - .opcode = 231, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_memory_semantics, .quantifier = .required }, - .{ .kind = .id_memory_semantics, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpAtomicIIncrement", - .opcode = 232, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_memory_semantics, .quantifier = .required }, - }, - }, - .{ - .name = "OpAtomicIDecrement", - .opcode = 233, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_memory_semantics, .quantifier = .required }, - }, - }, - .{ - .name = "OpAtomicIAdd", - .opcode = 234, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_memory_semantics, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpAtomicISub", - .opcode = 235, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_memory_semantics, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpAtomicSMin", - .opcode = 236, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_memory_semantics, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpAtomicUMin", - .opcode = 237, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_memory_semantics, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpAtomicSMax", - .opcode = 238, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_memory_semantics, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpAtomicUMax", - .opcode = 239, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_memory_semantics, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpAtomicAnd", - .opcode = 240, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_memory_semantics, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpAtomicOr", - .opcode = 241, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_memory_semantics, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpAtomicXor", - .opcode = 242, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_memory_semantics, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpPhi", - .opcode = 245, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .pair_id_ref_id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "OpLoopMerge", - .opcode = 246, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .loop_control, .quantifier = .required }, - }, - }, - .{ - .name = "OpSelectionMerge", - .opcode = 247, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .selection_control, .quantifier = .required }, - }, - }, - .{ - .name = "OpLabel", - .opcode = 248, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - }, - }, - .{ - .name = "OpBranch", - .opcode = 249, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpBranchConditional", - .opcode = 250, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .variadic }, - }, - }, - .{ - .name = "OpSwitch", - .opcode = 251, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .pair_literal_integer_id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "OpKill", - .opcode = 252, - .operands = &.{}, - }, - .{ - .name = "OpReturn", - .opcode = 253, - .operands = &.{}, - }, - .{ - .name = "OpReturnValue", - .opcode = 254, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpUnreachable", - .opcode = 255, - .operands = &.{}, - }, - .{ - .name = "OpLifetimeStart", - .opcode = 256, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpLifetimeStop", - .opcode = 257, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupAsyncCopy", - .opcode = 259, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupWaitEvents", - .opcode = 260, - .operands = &.{ - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupAll", - .opcode = 261, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupAny", - .opcode = 262, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupBroadcast", - .opcode = 263, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupIAdd", - .opcode = 264, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .group_operation, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupFAdd", - .opcode = 265, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .group_operation, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupFMin", - .opcode = 266, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .group_operation, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupUMin", - .opcode = 267, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .group_operation, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupSMin", - .opcode = 268, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .group_operation, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupFMax", - .opcode = 269, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .group_operation, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupUMax", - .opcode = 270, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .group_operation, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupSMax", - .opcode = 271, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .group_operation, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpReadPipe", - .opcode = 274, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpWritePipe", - .opcode = 275, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpReservedReadPipe", - .opcode = 276, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpReservedWritePipe", - .opcode = 277, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpReserveReadPipePackets", - .opcode = 278, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpReserveWritePipePackets", - .opcode = 279, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpCommitReadPipe", - .opcode = 280, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpCommitWritePipe", - .opcode = 281, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpIsValidReserveId", - .opcode = 282, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGetNumPipePackets", - .opcode = 283, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGetMaxPipePackets", - .opcode = 284, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupReserveReadPipePackets", - .opcode = 285, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupReserveWritePipePackets", - .opcode = 286, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupCommitReadPipe", - .opcode = 287, - .operands = &.{ - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupCommitWritePipe", - .opcode = 288, - .operands = &.{ - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpEnqueueMarker", - .opcode = 291, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpEnqueueKernel", - .opcode = 292, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "OpGetKernelNDrangeSubGroupCount", - .opcode = 293, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGetKernelNDrangeMaxSubGroupSize", - .opcode = 294, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGetKernelWorkGroupSize", - .opcode = 295, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGetKernelPreferredWorkGroupSizeMultiple", - .opcode = 296, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpRetainEvent", - .opcode = 297, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpReleaseEvent", - .opcode = 298, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpCreateUserEvent", - .opcode = 299, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - }, - }, - .{ - .name = "OpIsValidEvent", - .opcode = 300, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSetUserEventStatus", - .opcode = 301, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpCaptureEventProfilingInfo", - .opcode = 302, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGetDefaultQueue", - .opcode = 303, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - }, - }, - .{ - .name = "OpBuildNDRange", - .opcode = 304, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpImageSparseSampleImplicitLod", - .opcode = 305, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .image_operands, .quantifier = .optional }, - }, - }, - .{ - .name = "OpImageSparseSampleExplicitLod", - .opcode = 306, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .image_operands, .quantifier = .required }, - }, - }, - .{ - .name = "OpImageSparseSampleDrefImplicitLod", - .opcode = 307, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .image_operands, .quantifier = .optional }, - }, - }, - .{ - .name = "OpImageSparseSampleDrefExplicitLod", - .opcode = 308, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .image_operands, .quantifier = .required }, - }, - }, - .{ - .name = "OpImageSparseSampleProjImplicitLod", - .opcode = 309, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .image_operands, .quantifier = .optional }, - }, - }, - .{ - .name = "OpImageSparseSampleProjExplicitLod", - .opcode = 310, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .image_operands, .quantifier = .required }, - }, - }, - .{ - .name = "OpImageSparseSampleProjDrefImplicitLod", - .opcode = 311, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .image_operands, .quantifier = .optional }, - }, - }, - .{ - .name = "OpImageSparseSampleProjDrefExplicitLod", - .opcode = 312, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .image_operands, .quantifier = .required }, - }, - }, - .{ - .name = "OpImageSparseFetch", - .opcode = 313, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .image_operands, .quantifier = .optional }, - }, - }, - .{ - .name = "OpImageSparseGather", - .opcode = 314, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .image_operands, .quantifier = .optional }, - }, - }, - .{ - .name = "OpImageSparseDrefGather", - .opcode = 315, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .image_operands, .quantifier = .optional }, - }, - }, - .{ - .name = "OpImageSparseTexelsResident", - .opcode = 316, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpNoLine", - .opcode = 317, - .operands = &.{}, - }, - .{ - .name = "OpAtomicFlagTestAndSet", - .opcode = 318, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_memory_semantics, .quantifier = .required }, - }, - }, - .{ - .name = "OpAtomicFlagClear", - .opcode = 319, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_memory_semantics, .quantifier = .required }, - }, - }, - .{ - .name = "OpImageSparseRead", - .opcode = 320, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .image_operands, .quantifier = .optional }, - }, - }, - .{ - .name = "OpSizeOf", - .opcode = 321, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpTypePipeStorage", - .opcode = 322, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - }, - }, - .{ - .name = "OpConstantPipeStorage", - .opcode = 323, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpCreatePipeFromPipeStorage", - .opcode = 324, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGetKernelLocalSizeForSubgroupCount", - .opcode = 325, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGetKernelMaxNumSubgroups", - .opcode = 326, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpTypeNamedBarrier", - .opcode = 327, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - }, - }, - .{ - .name = "OpNamedBarrierInitialize", - .opcode = 328, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpMemoryNamedBarrier", - .opcode = 329, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_memory_semantics, .quantifier = .required }, - }, - }, - .{ - .name = "OpModuleProcessed", - .opcode = 330, - .operands = &.{ - .{ .kind = .literal_string, .quantifier = .required }, - }, - }, - .{ - .name = "OpExecutionModeId", - .opcode = 331, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .execution_mode, .quantifier = .required }, - }, - }, - .{ - .name = "OpDecorateId", - .opcode = 332, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .decoration, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupNonUniformElect", - .opcode = 333, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupNonUniformAll", - .opcode = 334, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupNonUniformAny", - .opcode = 335, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupNonUniformAllEqual", - .opcode = 336, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupNonUniformBroadcast", - .opcode = 337, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupNonUniformBroadcastFirst", - .opcode = 338, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupNonUniformBallot", - .opcode = 339, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupNonUniformInverseBallot", - .opcode = 340, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupNonUniformBallotBitExtract", - .opcode = 341, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupNonUniformBallotBitCount", - .opcode = 342, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .group_operation, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupNonUniformBallotFindLSB", - .opcode = 343, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupNonUniformBallotFindMSB", - .opcode = 344, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupNonUniformShuffle", - .opcode = 345, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupNonUniformShuffleXor", - .opcode = 346, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupNonUniformShuffleUp", - .opcode = 347, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupNonUniformShuffleDown", - .opcode = 348, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupNonUniformIAdd", - .opcode = 349, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .group_operation, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "OpGroupNonUniformFAdd", - .opcode = 350, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .group_operation, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "OpGroupNonUniformIMul", - .opcode = 351, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .group_operation, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "OpGroupNonUniformFMul", - .opcode = 352, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .group_operation, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "OpGroupNonUniformSMin", - .opcode = 353, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .group_operation, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "OpGroupNonUniformUMin", - .opcode = 354, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .group_operation, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "OpGroupNonUniformFMin", - .opcode = 355, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .group_operation, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "OpGroupNonUniformSMax", - .opcode = 356, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .group_operation, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "OpGroupNonUniformUMax", - .opcode = 357, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .group_operation, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "OpGroupNonUniformFMax", - .opcode = 358, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .group_operation, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "OpGroupNonUniformBitwiseAnd", - .opcode = 359, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .group_operation, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "OpGroupNonUniformBitwiseOr", - .opcode = 360, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .group_operation, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "OpGroupNonUniformBitwiseXor", - .opcode = 361, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .group_operation, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "OpGroupNonUniformLogicalAnd", - .opcode = 362, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .group_operation, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "OpGroupNonUniformLogicalOr", - .opcode = 363, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .group_operation, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "OpGroupNonUniformLogicalXor", - .opcode = 364, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .group_operation, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "OpGroupNonUniformQuadBroadcast", - .opcode = 365, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupNonUniformQuadSwap", - .opcode = 366, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpCopyLogical", - .opcode = 400, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpPtrEqual", - .opcode = 401, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpPtrNotEqual", - .opcode = 402, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpPtrDiff", - .opcode = 403, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpColorAttachmentReadEXT", - .opcode = 4160, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "OpDepthAttachmentReadEXT", - .opcode = 4161, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "OpStencilAttachmentReadEXT", - .opcode = 4162, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "OpTypeTensorARM", - .opcode = 4163, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "OpTensorReadARM", - .opcode = 4164, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .tensor_operands, .quantifier = .optional }, - }, - }, - .{ - .name = "OpTensorWriteARM", - .opcode = 4165, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .tensor_operands, .quantifier = .optional }, - }, - }, - .{ - .name = "OpTensorQuerySizeARM", - .opcode = 4166, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGraphConstantARM", - .opcode = 4181, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpGraphEntryPointARM", - .opcode = 4182, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_string, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "OpGraphARM", - .opcode = 4183, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - }, - }, - .{ - .name = "OpGraphInputARM", - .opcode = 4184, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "OpGraphSetOutputARM", - .opcode = 4185, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "OpGraphEndARM", - .opcode = 4186, - .operands = &.{}, - }, - .{ - .name = "OpTypeGraphARM", - .opcode = 4190, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "OpTerminateInvocation", - .opcode = 4416, - .operands = &.{}, - }, - .{ - .name = "OpTypeUntypedPointerKHR", - .opcode = 4417, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .storage_class, .quantifier = .required }, - }, - }, - .{ - .name = "OpUntypedVariableKHR", - .opcode = 4418, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .storage_class, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "OpUntypedAccessChainKHR", - .opcode = 4419, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "OpUntypedInBoundsAccessChainKHR", - .opcode = 4420, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "OpSubgroupBallotKHR", - .opcode = 4421, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupFirstInvocationKHR", - .opcode = 4422, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpUntypedPtrAccessChainKHR", - .opcode = 4423, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "OpUntypedInBoundsPtrAccessChainKHR", - .opcode = 4424, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "OpUntypedArrayLengthKHR", - .opcode = 4425, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpUntypedPrefetchKHR", - .opcode = 4426, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - .{ .kind = .id_ref, .quantifier = .optional }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "OpSubgroupAllKHR", - .opcode = 4428, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAnyKHR", - .opcode = 4429, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAllEqualKHR", - .opcode = 4430, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupNonUniformRotateKHR", - .opcode = 4431, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "OpSubgroupReadInvocationKHR", - .opcode = 4432, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpExtInstWithForwardRefsKHR", - .opcode = 4433, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_ext_inst_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "OpTraceRayKHR", - .opcode = 4445, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpExecuteCallableKHR", - .opcode = 4446, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpConvertUToAccelerationStructureKHR", - .opcode = 4447, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpIgnoreIntersectionKHR", - .opcode = 4448, - .operands = &.{}, - }, - .{ - .name = "OpTerminateRayKHR", - .opcode = 4449, - .operands = &.{}, - }, - .{ - .name = "OpSDot", - .opcode = 4450, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .packed_vector_format, .quantifier = .optional }, - }, - }, - .{ - .name = "OpUDot", - .opcode = 4451, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .packed_vector_format, .quantifier = .optional }, - }, - }, - .{ - .name = "OpSUDot", - .opcode = 4452, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .packed_vector_format, .quantifier = .optional }, - }, - }, - .{ - .name = "OpSDotAccSat", - .opcode = 4453, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .packed_vector_format, .quantifier = .optional }, - }, - }, - .{ - .name = "OpUDotAccSat", - .opcode = 4454, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .packed_vector_format, .quantifier = .optional }, - }, - }, - .{ - .name = "OpSUDotAccSat", - .opcode = 4455, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .packed_vector_format, .quantifier = .optional }, - }, - }, - .{ - .name = "OpTypeCooperativeMatrixKHR", - .opcode = 4456, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpCooperativeMatrixLoadKHR", - .opcode = 4457, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - .{ .kind = .memory_access, .quantifier = .optional }, - }, - }, - .{ - .name = "OpCooperativeMatrixStoreKHR", - .opcode = 4458, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - .{ .kind = .memory_access, .quantifier = .optional }, - }, - }, - .{ - .name = "OpCooperativeMatrixMulAddKHR", - .opcode = 4459, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .cooperative_matrix_operands, .quantifier = .optional }, - }, - }, - .{ - .name = "OpCooperativeMatrixLengthKHR", - .opcode = 4460, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpConstantCompositeReplicateEXT", - .opcode = 4461, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSpecConstantCompositeReplicateEXT", - .opcode = 4462, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpCompositeConstructReplicateEXT", - .opcode = 4463, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpTypeRayQueryKHR", - .opcode = 4472, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - }, - }, - .{ - .name = "OpRayQueryInitializeKHR", - .opcode = 4473, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpRayQueryTerminateKHR", - .opcode = 4474, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpRayQueryGenerateIntersectionKHR", - .opcode = 4475, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpRayQueryConfirmIntersectionKHR", - .opcode = 4476, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpRayQueryProceedKHR", - .opcode = 4477, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpRayQueryGetIntersectionTypeKHR", - .opcode = 4479, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpImageSampleWeightedQCOM", - .opcode = 4480, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpImageBoxFilterQCOM", - .opcode = 4481, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpImageBlockMatchSSDQCOM", - .opcode = 4482, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpImageBlockMatchSADQCOM", - .opcode = 4483, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpImageBlockMatchWindowSSDQCOM", - .opcode = 4500, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpImageBlockMatchWindowSADQCOM", - .opcode = 4501, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpImageBlockMatchGatherSSDQCOM", - .opcode = 4502, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpImageBlockMatchGatherSADQCOM", - .opcode = 4503, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupIAddNonUniformAMD", - .opcode = 5000, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .group_operation, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupFAddNonUniformAMD", - .opcode = 5001, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .group_operation, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupFMinNonUniformAMD", - .opcode = 5002, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .group_operation, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupUMinNonUniformAMD", - .opcode = 5003, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .group_operation, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupSMinNonUniformAMD", - .opcode = 5004, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .group_operation, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupFMaxNonUniformAMD", - .opcode = 5005, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .group_operation, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupUMaxNonUniformAMD", - .opcode = 5006, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .group_operation, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupSMaxNonUniformAMD", - .opcode = 5007, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .group_operation, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpFragmentMaskFetchAMD", - .opcode = 5011, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpFragmentFetchAMD", - .opcode = 5012, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpReadClockKHR", - .opcode = 5056, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - }, - }, - .{ - .name = "OpAllocateNodePayloadsAMDX", - .opcode = 5074, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpEnqueueNodePayloadsAMDX", - .opcode = 5075, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpTypeNodePayloadArrayAMDX", - .opcode = 5076, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpFinishWritingNodePayloadAMDX", - .opcode = 5078, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpNodePayloadArrayLengthAMDX", - .opcode = 5090, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpIsNodePayloadValidAMDX", - .opcode = 5101, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpConstantStringAMDX", - .opcode = 5103, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .literal_string, .quantifier = .required }, - }, - }, - .{ - .name = "OpSpecConstantStringAMDX", - .opcode = 5104, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .literal_string, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupNonUniformQuadAllKHR", - .opcode = 5110, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupNonUniformQuadAnyKHR", - .opcode = 5111, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpHitObjectRecordHitMotionNV", - .opcode = 5249, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpHitObjectRecordHitWithIndexMotionNV", - .opcode = 5250, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpHitObjectRecordMissMotionNV", - .opcode = 5251, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpHitObjectGetWorldToObjectNV", - .opcode = 5252, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpHitObjectGetObjectToWorldNV", - .opcode = 5253, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpHitObjectGetObjectRayDirectionNV", - .opcode = 5254, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpHitObjectGetObjectRayOriginNV", - .opcode = 5255, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpHitObjectTraceRayMotionNV", - .opcode = 5256, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpHitObjectGetShaderRecordBufferHandleNV", - .opcode = 5257, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpHitObjectGetShaderBindingTableRecordIndexNV", - .opcode = 5258, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpHitObjectRecordEmptyNV", - .opcode = 5259, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpHitObjectTraceRayNV", - .opcode = 5260, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpHitObjectRecordHitNV", - .opcode = 5261, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpHitObjectRecordHitWithIndexNV", - .opcode = 5262, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpHitObjectRecordMissNV", - .opcode = 5263, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpHitObjectExecuteShaderNV", - .opcode = 5264, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpHitObjectGetCurrentTimeNV", - .opcode = 5265, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpHitObjectGetAttributesNV", - .opcode = 5266, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpHitObjectGetHitKindNV", - .opcode = 5267, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpHitObjectGetPrimitiveIndexNV", - .opcode = 5268, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpHitObjectGetGeometryIndexNV", - .opcode = 5269, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpHitObjectGetInstanceIdNV", - .opcode = 5270, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpHitObjectGetInstanceCustomIndexNV", - .opcode = 5271, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpHitObjectGetWorldRayDirectionNV", - .opcode = 5272, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpHitObjectGetWorldRayOriginNV", - .opcode = 5273, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpHitObjectGetRayTMaxNV", - .opcode = 5274, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpHitObjectGetRayTMinNV", - .opcode = 5275, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpHitObjectIsEmptyNV", - .opcode = 5276, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpHitObjectIsHitNV", - .opcode = 5277, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpHitObjectIsMissNV", - .opcode = 5278, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpReorderThreadWithHitObjectNV", - .opcode = 5279, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "OpReorderThreadWithHintNV", - .opcode = 5280, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpTypeHitObjectNV", - .opcode = 5281, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - }, - }, - .{ - .name = "OpImageSampleFootprintNV", - .opcode = 5283, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .image_operands, .quantifier = .optional }, - }, - }, - .{ - .name = "OpTypeCooperativeVectorNV", - .opcode = 5288, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpCooperativeVectorMatrixMulNV", - .opcode = 5289, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - .{ .kind = .cooperative_matrix_operands, .quantifier = .optional }, - }, - }, - .{ - .name = "OpCooperativeVectorOuterProductAccumulateNV", - .opcode = 5290, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "OpCooperativeVectorReduceSumAccumulateNV", - .opcode = 5291, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpCooperativeVectorMatrixMulAddNV", - .opcode = 5292, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - .{ .kind = .cooperative_matrix_operands, .quantifier = .optional }, - }, - }, - .{ - .name = "OpCooperativeMatrixConvertNV", - .opcode = 5293, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpEmitMeshTasksEXT", - .opcode = 5294, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "OpSetMeshOutputsEXT", - .opcode = 5295, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupNonUniformPartitionNV", - .opcode = 5296, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpWritePackedPrimitiveIndices4x8NV", - .opcode = 5299, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpFetchMicroTriangleVertexPositionNV", - .opcode = 5300, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpFetchMicroTriangleVertexBarycentricNV", - .opcode = 5301, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpCooperativeVectorLoadNV", - .opcode = 5302, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .memory_access, .quantifier = .optional }, - }, - }, - .{ - .name = "OpCooperativeVectorStoreNV", - .opcode = 5303, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .memory_access, .quantifier = .optional }, - }, - }, - .{ - .name = "OpReportIntersectionKHR", - .opcode = 5334, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpIgnoreIntersectionNV", - .opcode = 5335, - .operands = &.{}, - }, - .{ - .name = "OpTerminateRayNV", - .opcode = 5336, - .operands = &.{}, - }, - .{ - .name = "OpTraceNV", - .opcode = 5337, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpTraceMotionNV", - .opcode = 5338, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpTraceRayMotionNV", - .opcode = 5339, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpRayQueryGetIntersectionTriangleVertexPositionsKHR", - .opcode = 5340, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpTypeAccelerationStructureKHR", - .opcode = 5341, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - }, - }, - .{ - .name = "OpExecuteCallableNV", - .opcode = 5344, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpRayQueryGetClusterIdNV", - .opcode = 5345, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpHitObjectGetClusterIdNV", - .opcode = 5346, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpTypeCooperativeMatrixNV", - .opcode = 5358, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpCooperativeMatrixLoadNV", - .opcode = 5359, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .memory_access, .quantifier = .optional }, - }, - }, - .{ - .name = "OpCooperativeMatrixStoreNV", - .opcode = 5360, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .memory_access, .quantifier = .optional }, - }, - }, - .{ - .name = "OpCooperativeMatrixMulAddNV", - .opcode = 5361, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpCooperativeMatrixLengthNV", - .opcode = 5362, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpBeginInvocationInterlockEXT", - .opcode = 5364, - .operands = &.{}, - }, - .{ - .name = "OpEndInvocationInterlockEXT", - .opcode = 5365, - .operands = &.{}, - }, - .{ - .name = "OpCooperativeMatrixReduceNV", - .opcode = 5366, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .cooperative_matrix_reduce, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpCooperativeMatrixLoadTensorNV", - .opcode = 5367, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .memory_access, .quantifier = .required }, - .{ .kind = .tensor_addressing_operands, .quantifier = .required }, - }, - }, - .{ - .name = "OpCooperativeMatrixStoreTensorNV", - .opcode = 5368, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .memory_access, .quantifier = .required }, - .{ .kind = .tensor_addressing_operands, .quantifier = .required }, - }, - }, - .{ - .name = "OpCooperativeMatrixPerElementOpNV", - .opcode = 5369, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "OpTypeTensorLayoutNV", - .opcode = 5370, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpTypeTensorViewNV", - .opcode = 5371, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "OpCreateTensorLayoutNV", - .opcode = 5372, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - }, - }, - .{ - .name = "OpTensorLayoutSetDimensionNV", - .opcode = 5373, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "OpTensorLayoutSetStrideNV", - .opcode = 5374, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "OpTensorLayoutSliceNV", - .opcode = 5375, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "OpTensorLayoutSetClampValueNV", - .opcode = 5376, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpCreateTensorViewNV", - .opcode = 5377, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - }, - }, - .{ - .name = "OpTensorViewSetDimensionNV", - .opcode = 5378, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "OpTensorViewSetStrideNV", - .opcode = 5379, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "OpDemoteToHelperInvocation", - .opcode = 5380, - .operands = &.{}, - }, - .{ - .name = "OpIsHelperInvocationEXT", - .opcode = 5381, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - }, - }, - .{ - .name = "OpTensorViewSetClipNV", - .opcode = 5382, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpTensorLayoutSetBlockSizeNV", - .opcode = 5384, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "OpCooperativeMatrixTransposeNV", - .opcode = 5390, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpConvertUToImageNV", - .opcode = 5391, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpConvertUToSamplerNV", - .opcode = 5392, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpConvertImageToUNV", - .opcode = 5393, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpConvertSamplerToUNV", - .opcode = 5394, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpConvertUToSampledImageNV", - .opcode = 5395, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpConvertSampledImageToUNV", - .opcode = 5396, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSamplerImageAddressingModeNV", - .opcode = 5397, - .operands = &.{ - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpRawAccessChainNV", - .opcode = 5398, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .raw_access_chain_operands, .quantifier = .optional }, - }, - }, - .{ - .name = "OpRayQueryGetIntersectionSpherePositionNV", - .opcode = 5427, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpRayQueryGetIntersectionSphereRadiusNV", - .opcode = 5428, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpRayQueryGetIntersectionLSSPositionsNV", - .opcode = 5429, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpRayQueryGetIntersectionLSSRadiiNV", - .opcode = 5430, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpRayQueryGetIntersectionLSSHitValueNV", - .opcode = 5431, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpHitObjectGetSpherePositionNV", - .opcode = 5432, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpHitObjectGetSphereRadiusNV", - .opcode = 5433, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpHitObjectGetLSSPositionsNV", - .opcode = 5434, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpHitObjectGetLSSRadiiNV", - .opcode = 5435, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpHitObjectIsSphereHitNV", - .opcode = 5436, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpHitObjectIsLSSHitNV", - .opcode = 5437, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpRayQueryIsSphereHitNV", - .opcode = 5438, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpRayQueryIsLSSHitNV", - .opcode = 5439, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupShuffleINTEL", - .opcode = 5571, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupShuffleDownINTEL", - .opcode = 5572, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupShuffleUpINTEL", - .opcode = 5573, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupShuffleXorINTEL", - .opcode = 5574, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupBlockReadINTEL", - .opcode = 5575, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupBlockWriteINTEL", - .opcode = 5576, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupImageBlockReadINTEL", - .opcode = 5577, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupImageBlockWriteINTEL", - .opcode = 5578, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupImageMediaBlockReadINTEL", - .opcode = 5580, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupImageMediaBlockWriteINTEL", - .opcode = 5581, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpUCountLeadingZerosINTEL", - .opcode = 5585, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpUCountTrailingZerosINTEL", - .opcode = 5586, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpAbsISubINTEL", - .opcode = 5587, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpAbsUSubINTEL", - .opcode = 5588, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpIAddSatINTEL", - .opcode = 5589, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpUAddSatINTEL", - .opcode = 5590, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpIAverageINTEL", - .opcode = 5591, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpUAverageINTEL", - .opcode = 5592, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpIAverageRoundedINTEL", - .opcode = 5593, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpUAverageRoundedINTEL", - .opcode = 5594, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpISubSatINTEL", - .opcode = 5595, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpUSubSatINTEL", - .opcode = 5596, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpIMul32x16INTEL", - .opcode = 5597, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpUMul32x16INTEL", - .opcode = 5598, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpConstantFunctionPointerINTEL", - .opcode = 5600, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpFunctionPointerCallINTEL", - .opcode = 5601, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "OpAsmTargetINTEL", - .opcode = 5609, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .literal_string, .quantifier = .required }, - }, - }, - .{ - .name = "OpAsmINTEL", - .opcode = 5610, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_string, .quantifier = .required }, - .{ .kind = .literal_string, .quantifier = .required }, - }, - }, - .{ - .name = "OpAsmCallINTEL", - .opcode = 5611, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "OpAtomicFMinEXT", - .opcode = 5614, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_memory_semantics, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpAtomicFMaxEXT", - .opcode = 5615, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_memory_semantics, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpAssumeTrueKHR", - .opcode = 5630, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpExpectKHR", - .opcode = 5631, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpDecorateString", - .opcode = 5632, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .decoration, .quantifier = .required }, - }, - }, - .{ - .name = "OpMemberDecorateString", - .opcode = 5633, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .decoration, .quantifier = .required }, - }, - }, - .{ - .name = "OpVmeImageINTEL", - .opcode = 5699, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpTypeVmeImageINTEL", - .opcode = 5700, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpTypeAvcImePayloadINTEL", - .opcode = 5701, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - }, - }, - .{ - .name = "OpTypeAvcRefPayloadINTEL", - .opcode = 5702, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - }, - }, - .{ - .name = "OpTypeAvcSicPayloadINTEL", - .opcode = 5703, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - }, - }, - .{ - .name = "OpTypeAvcMcePayloadINTEL", - .opcode = 5704, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - }, - }, - .{ - .name = "OpTypeAvcMceResultINTEL", - .opcode = 5705, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - }, - }, - .{ - .name = "OpTypeAvcImeResultINTEL", - .opcode = 5706, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - }, - }, - .{ - .name = "OpTypeAvcImeResultSingleReferenceStreamoutINTEL", - .opcode = 5707, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - }, - }, - .{ - .name = "OpTypeAvcImeResultDualReferenceStreamoutINTEL", - .opcode = 5708, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - }, - }, - .{ - .name = "OpTypeAvcImeSingleReferenceStreaminINTEL", - .opcode = 5709, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - }, - }, - .{ - .name = "OpTypeAvcImeDualReferenceStreaminINTEL", - .opcode = 5710, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - }, - }, - .{ - .name = "OpTypeAvcRefResultINTEL", - .opcode = 5711, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - }, - }, - .{ - .name = "OpTypeAvcSicResultINTEL", - .opcode = 5712, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL", - .opcode = 5713, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL", - .opcode = 5714, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL", - .opcode = 5715, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcMceSetInterShapePenaltyINTEL", - .opcode = 5716, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL", - .opcode = 5717, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcMceSetInterDirectionPenaltyINTEL", - .opcode = 5718, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL", - .opcode = 5719, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL", - .opcode = 5720, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL", - .opcode = 5721, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL", - .opcode = 5722, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL", - .opcode = 5723, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL", - .opcode = 5724, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL", - .opcode = 5725, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL", - .opcode = 5726, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL", - .opcode = 5727, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcMceSetAcOnlyHaarINTEL", - .opcode = 5728, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL", - .opcode = 5729, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL", - .opcode = 5730, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL", - .opcode = 5731, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcMceConvertToImePayloadINTEL", - .opcode = 5732, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcMceConvertToImeResultINTEL", - .opcode = 5733, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcMceConvertToRefPayloadINTEL", - .opcode = 5734, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcMceConvertToRefResultINTEL", - .opcode = 5735, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcMceConvertToSicPayloadINTEL", - .opcode = 5736, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcMceConvertToSicResultINTEL", - .opcode = 5737, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcMceGetMotionVectorsINTEL", - .opcode = 5738, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcMceGetInterDistortionsINTEL", - .opcode = 5739, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcMceGetBestInterDistortionsINTEL", - .opcode = 5740, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcMceGetInterMajorShapeINTEL", - .opcode = 5741, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcMceGetInterMinorShapeINTEL", - .opcode = 5742, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcMceGetInterDirectionsINTEL", - .opcode = 5743, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcMceGetInterMotionVectorCountINTEL", - .opcode = 5744, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcMceGetInterReferenceIdsINTEL", - .opcode = 5745, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL", - .opcode = 5746, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcImeInitializeINTEL", - .opcode = 5747, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcImeSetSingleReferenceINTEL", - .opcode = 5748, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcImeSetDualReferenceINTEL", - .opcode = 5749, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcImeRefWindowSizeINTEL", - .opcode = 5750, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcImeAdjustRefOffsetINTEL", - .opcode = 5751, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcImeConvertToMcePayloadINTEL", - .opcode = 5752, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcImeSetMaxMotionVectorCountINTEL", - .opcode = 5753, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL", - .opcode = 5754, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL", - .opcode = 5755, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcImeSetWeightedSadINTEL", - .opcode = 5756, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL", - .opcode = 5757, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcImeEvaluateWithDualReferenceINTEL", - .opcode = 5758, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL", - .opcode = 5759, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL", - .opcode = 5760, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL", - .opcode = 5761, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL", - .opcode = 5762, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL", - .opcode = 5763, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL", - .opcode = 5764, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcImeConvertToMceResultINTEL", - .opcode = 5765, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcImeGetSingleReferenceStreaminINTEL", - .opcode = 5766, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcImeGetDualReferenceStreaminINTEL", - .opcode = 5767, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL", - .opcode = 5768, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcImeStripDualReferenceStreamoutINTEL", - .opcode = 5769, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL", - .opcode = 5770, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL", - .opcode = 5771, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL", - .opcode = 5772, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL", - .opcode = 5773, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL", - .opcode = 5774, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL", - .opcode = 5775, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcImeGetBorderReachedINTEL", - .opcode = 5776, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL", - .opcode = 5777, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL", - .opcode = 5778, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL", - .opcode = 5779, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL", - .opcode = 5780, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcFmeInitializeINTEL", - .opcode = 5781, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcBmeInitializeINTEL", - .opcode = 5782, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcRefConvertToMcePayloadINTEL", - .opcode = 5783, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcRefSetBidirectionalMixDisableINTEL", - .opcode = 5784, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcRefSetBilinearFilterEnableINTEL", - .opcode = 5785, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL", - .opcode = 5786, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcRefEvaluateWithDualReferenceINTEL", - .opcode = 5787, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL", - .opcode = 5788, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL", - .opcode = 5789, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcRefConvertToMceResultINTEL", - .opcode = 5790, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcSicInitializeINTEL", - .opcode = 5791, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcSicConfigureSkcINTEL", - .opcode = 5792, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcSicConfigureIpeLumaINTEL", - .opcode = 5793, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcSicConfigureIpeLumaChromaINTEL", - .opcode = 5794, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcSicGetMotionVectorMaskINTEL", - .opcode = 5795, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcSicConvertToMcePayloadINTEL", - .opcode = 5796, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL", - .opcode = 5797, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL", - .opcode = 5798, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL", - .opcode = 5799, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcSicSetBilinearFilterEnableINTEL", - .opcode = 5800, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL", - .opcode = 5801, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL", - .opcode = 5802, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcSicEvaluateIpeINTEL", - .opcode = 5803, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL", - .opcode = 5804, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcSicEvaluateWithDualReferenceINTEL", - .opcode = 5805, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL", - .opcode = 5806, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL", - .opcode = 5807, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcSicConvertToMceResultINTEL", - .opcode = 5808, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcSicGetIpeLumaShapeINTEL", - .opcode = 5809, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL", - .opcode = 5810, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL", - .opcode = 5811, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcSicGetPackedIpeLumaModesINTEL", - .opcode = 5812, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcSicGetIpeChromaModeINTEL", - .opcode = 5813, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL", - .opcode = 5814, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL", - .opcode = 5815, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupAvcSicGetInterRawSadsINTEL", - .opcode = 5816, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpVariableLengthArrayINTEL", - .opcode = 5818, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSaveMemoryINTEL", - .opcode = 5819, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - }, - }, - .{ - .name = "OpRestoreMemoryINTEL", - .opcode = 5820, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpArbitraryFloatSinCosPiINTEL", - .opcode = 5840, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpArbitraryFloatCastINTEL", - .opcode = 5841, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpArbitraryFloatCastFromIntINTEL", - .opcode = 5842, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpArbitraryFloatCastToIntINTEL", - .opcode = 5843, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpArbitraryFloatAddINTEL", - .opcode = 5846, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpArbitraryFloatSubINTEL", - .opcode = 5847, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpArbitraryFloatMulINTEL", - .opcode = 5848, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpArbitraryFloatDivINTEL", - .opcode = 5849, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpArbitraryFloatGTINTEL", - .opcode = 5850, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpArbitraryFloatGEINTEL", - .opcode = 5851, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpArbitraryFloatLTINTEL", - .opcode = 5852, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpArbitraryFloatLEINTEL", - .opcode = 5853, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpArbitraryFloatEQINTEL", - .opcode = 5854, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpArbitraryFloatRecipINTEL", - .opcode = 5855, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpArbitraryFloatRSqrtINTEL", - .opcode = 5856, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpArbitraryFloatCbrtINTEL", - .opcode = 5857, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpArbitraryFloatHypotINTEL", - .opcode = 5858, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpArbitraryFloatSqrtINTEL", - .opcode = 5859, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpArbitraryFloatLogINTEL", - .opcode = 5860, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpArbitraryFloatLog2INTEL", - .opcode = 5861, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpArbitraryFloatLog10INTEL", - .opcode = 5862, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpArbitraryFloatLog1pINTEL", - .opcode = 5863, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpArbitraryFloatExpINTEL", - .opcode = 5864, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpArbitraryFloatExp2INTEL", - .opcode = 5865, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpArbitraryFloatExp10INTEL", - .opcode = 5866, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpArbitraryFloatExpm1INTEL", - .opcode = 5867, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpArbitraryFloatSinINTEL", - .opcode = 5868, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpArbitraryFloatCosINTEL", - .opcode = 5869, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpArbitraryFloatSinCosINTEL", - .opcode = 5870, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpArbitraryFloatSinPiINTEL", - .opcode = 5871, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpArbitraryFloatCosPiINTEL", - .opcode = 5872, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpArbitraryFloatASinINTEL", - .opcode = 5873, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpArbitraryFloatASinPiINTEL", - .opcode = 5874, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpArbitraryFloatACosINTEL", - .opcode = 5875, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpArbitraryFloatACosPiINTEL", - .opcode = 5876, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpArbitraryFloatATanINTEL", - .opcode = 5877, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpArbitraryFloatATanPiINTEL", - .opcode = 5878, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpArbitraryFloatATan2INTEL", - .opcode = 5879, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpArbitraryFloatPowINTEL", - .opcode = 5880, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpArbitraryFloatPowRINTEL", - .opcode = 5881, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpArbitraryFloatPowNINTEL", - .opcode = 5882, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpLoopControlINTEL", - .opcode = 5887, - .operands = &.{ - .{ .kind = .literal_integer, .quantifier = .variadic }, - }, - }, - .{ - .name = "OpAliasDomainDeclINTEL", - .opcode = 5911, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "OpAliasScopeDeclINTEL", - .opcode = 5912, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "OpAliasScopeListDeclINTEL", - .opcode = 5913, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "OpFixedSqrtINTEL", - .opcode = 5923, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpFixedRecipINTEL", - .opcode = 5924, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpFixedRsqrtINTEL", - .opcode = 5925, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpFixedSinINTEL", - .opcode = 5926, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpFixedCosINTEL", - .opcode = 5927, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpFixedSinCosINTEL", - .opcode = 5928, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpFixedSinPiINTEL", - .opcode = 5929, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpFixedCosPiINTEL", - .opcode = 5930, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpFixedSinCosPiINTEL", - .opcode = 5931, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpFixedLogINTEL", - .opcode = 5932, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpFixedExpINTEL", - .opcode = 5933, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpPtrCastToCrossWorkgroupINTEL", - .opcode = 5934, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpCrossWorkgroupCastToPtrINTEL", - .opcode = 5938, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpReadPipeBlockingINTEL", - .opcode = 5946, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpWritePipeBlockingINTEL", - .opcode = 5947, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpFPGARegINTEL", - .opcode = 5949, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpRayQueryGetRayTMinKHR", - .opcode = 6016, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpRayQueryGetRayFlagsKHR", - .opcode = 6017, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpRayQueryGetIntersectionTKHR", - .opcode = 6018, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpRayQueryGetIntersectionInstanceCustomIndexKHR", - .opcode = 6019, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpRayQueryGetIntersectionInstanceIdKHR", - .opcode = 6020, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR", - .opcode = 6021, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpRayQueryGetIntersectionGeometryIndexKHR", - .opcode = 6022, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpRayQueryGetIntersectionPrimitiveIndexKHR", - .opcode = 6023, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpRayQueryGetIntersectionBarycentricsKHR", - .opcode = 6024, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpRayQueryGetIntersectionFrontFaceKHR", - .opcode = 6025, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpRayQueryGetIntersectionCandidateAABBOpaqueKHR", - .opcode = 6026, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpRayQueryGetIntersectionObjectRayDirectionKHR", - .opcode = 6027, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpRayQueryGetIntersectionObjectRayOriginKHR", - .opcode = 6028, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpRayQueryGetWorldRayDirectionKHR", - .opcode = 6029, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpRayQueryGetWorldRayOriginKHR", - .opcode = 6030, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpRayQueryGetIntersectionObjectToWorldKHR", - .opcode = 6031, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpRayQueryGetIntersectionWorldToObjectKHR", - .opcode = 6032, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpAtomicFAddEXT", - .opcode = 6035, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_memory_semantics, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpTypeBufferSurfaceINTEL", - .opcode = 6086, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .access_qualifier, .quantifier = .required }, - }, - }, - .{ - .name = "OpTypeStructContinuedINTEL", - .opcode = 6090, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "OpConstantCompositeContinuedINTEL", - .opcode = 6091, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "OpSpecConstantCompositeContinuedINTEL", - .opcode = 6092, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "OpCompositeConstructContinuedINTEL", - .opcode = 6096, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "OpConvertFToBF16INTEL", - .opcode = 6116, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpConvertBF16ToFINTEL", - .opcode = 6117, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpControlBarrierArriveINTEL", - .opcode = 6142, - .operands = &.{ - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_memory_semantics, .quantifier = .required }, - }, - }, - .{ - .name = "OpControlBarrierWaitINTEL", - .opcode = 6143, - .operands = &.{ - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .id_memory_semantics, .quantifier = .required }, - }, - }, - .{ - .name = "OpArithmeticFenceEXT", - .opcode = 6145, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpTaskSequenceCreateINTEL", - .opcode = 6163, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "OpTaskSequenceAsyncINTEL", - .opcode = 6164, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "OpTaskSequenceGetINTEL", - .opcode = 6165, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpTaskSequenceReleaseINTEL", - .opcode = 6166, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpTypeTaskSequenceINTEL", - .opcode = 6199, - .operands = &.{ - .{ .kind = .id_result, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupBlockPrefetchINTEL", - .opcode = 6221, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .memory_access, .quantifier = .optional }, - }, - }, - .{ - .name = "OpSubgroup2DBlockLoadINTEL", - .opcode = 6231, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroup2DBlockLoadTransformINTEL", - .opcode = 6232, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroup2DBlockLoadTransposeINTEL", - .opcode = 6233, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroup2DBlockPrefetchINTEL", - .opcode = 6234, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroup2DBlockStoreINTEL", - .opcode = 6235, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpSubgroupMatrixMultiplyAccumulateINTEL", - .opcode = 6237, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .matrix_multiply_accumulate_operands, .quantifier = .optional }, - }, - }, - .{ - .name = "OpBitwiseFunctionINTEL", - .opcode = 6242, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupIMulKHR", - .opcode = 6401, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .group_operation, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupFMulKHR", - .opcode = 6402, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .group_operation, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupBitwiseAndKHR", - .opcode = 6403, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .group_operation, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupBitwiseOrKHR", - .opcode = 6404, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .group_operation, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupBitwiseXorKHR", - .opcode = 6405, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .group_operation, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupLogicalAndKHR", - .opcode = 6406, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .group_operation, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupLogicalOrKHR", - .opcode = 6407, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .group_operation, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpGroupLogicalXorKHR", - .opcode = 6408, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_scope, .quantifier = .required }, - .{ .kind = .group_operation, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpRoundFToTF32INTEL", - .opcode = 6426, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpMaskedGatherINTEL", - .opcode = 6428, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpMaskedScatterINTEL", - .opcode = 6429, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpConvertHandleToImageINTEL", - .opcode = 6529, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpConvertHandleToSamplerINTEL", - .opcode = 6530, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "OpConvertHandleToSampledImageINTEL", - .opcode = 6531, - .operands = &.{ - .{ .kind = .id_result_type, .quantifier = .required }, - .{ .kind = .id_result, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - }, - .spv_amd_shader_trinary_minmax => &.{ - .{ - .name = "FMin3AMD", - .opcode = 1, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "UMin3AMD", - .opcode = 2, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "SMin3AMD", - .opcode = 3, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "FMax3AMD", - .opcode = 4, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "UMax3AMD", - .opcode = 5, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "SMax3AMD", - .opcode = 6, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "FMid3AMD", - .opcode = 7, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "UMid3AMD", - .opcode = 8, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "SMid3AMD", - .opcode = 9, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - }, - .spv_ext_inst_type_tosa_001000_1 => &.{ - .{ - .name = "ARGMAX", - .opcode = 0, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "AVG_POOL2D", - .opcode = 1, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "CONV2D", - .opcode = 2, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "CONV3D", - .opcode = 3, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "DEPTHWISE_CONV2D", - .opcode = 4, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "FFT2D", - .opcode = 5, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "MATMUL", - .opcode = 6, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "MAX_POOL2D", - .opcode = 7, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "RFFT2D", - .opcode = 8, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "TRANSPOSE_CONV2D", - .opcode = 9, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "CLAMP", - .opcode = 10, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "ERF", - .opcode = 11, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "SIGMOID", - .opcode = 12, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "TANH", - .opcode = 13, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "ADD", - .opcode = 14, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "ARITHMETIC_RIGHT_SHIFT", - .opcode = 15, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "BITWISE_AND", - .opcode = 16, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "BITWISE_OR", - .opcode = 17, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "BITWISE_XOR", - .opcode = 18, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "INTDIV", - .opcode = 19, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "LOGICAL_AND", - .opcode = 20, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "LOGICAL_LEFT_SHIFT", - .opcode = 21, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "LOGICAL_RIGHT_SHIFT", - .opcode = 22, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "LOGICAL_OR", - .opcode = 23, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "LOGICAL_XOR", - .opcode = 24, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "MAXIMUM", - .opcode = 25, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "MINIMUM", - .opcode = 26, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "MUL", - .opcode = 27, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "POW", - .opcode = 28, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "SUB", - .opcode = 29, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "TABLE", - .opcode = 30, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "ABS", - .opcode = 31, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "BITWISE_NOT", - .opcode = 32, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "CEIL", - .opcode = 33, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "CLZ", - .opcode = 34, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "COS", - .opcode = 35, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "EXP", - .opcode = 36, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "FLOOR", - .opcode = 37, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "LOG", - .opcode = 38, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "LOGICAL_NOT", - .opcode = 39, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "NEGATE", - .opcode = 40, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "RECIPROCAL", - .opcode = 41, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "RSQRT", - .opcode = 42, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "SIN", - .opcode = 43, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "SELECT", - .opcode = 44, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "EQUAL", - .opcode = 45, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "GREATER", - .opcode = 46, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "GREATER_EQUAL", - .opcode = 47, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "REDUCE_ALL", - .opcode = 48, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "REDUCE_ANY", - .opcode = 49, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "REDUCE_MAX", - .opcode = 50, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "REDUCE_MIN", - .opcode = 51, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "REDUCE_PRODUCT", - .opcode = 52, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "REDUCE_SUM", - .opcode = 53, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "CONCAT", - .opcode = 54, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "PAD", - .opcode = 55, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "RESHAPE", - .opcode = 56, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "REVERSE", - .opcode = 57, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "SLICE", - .opcode = 58, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "TILE", - .opcode = 59, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "TRANSPOSE", - .opcode = 60, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "GATHER", - .opcode = 61, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "SCATTER", - .opcode = 62, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "RESIZE", - .opcode = 63, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "CAST", - .opcode = 64, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "RESCALE", - .opcode = 65, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - }, - .non_semantic_vksp_reflection => &.{ - .{ - .name = "Configuration", - .opcode = 1, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "StartCounter", - .opcode = 2, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "StopCounter", - .opcode = 3, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "PushConstants", - .opcode = 4, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "SpecializationMapEntry", - .opcode = 5, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "DescriptorSetBuffer", - .opcode = 6, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "DescriptorSetImage", - .opcode = 7, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "DescriptorSetSampler", - .opcode = 8, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - }, - .spv_amd_shader_explicit_vertex_parameter => &.{ - .{ - .name = "InterpolateAtVertexAMD", - .opcode = 1, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - }, - .debug_info => &.{ - .{ - .name = "DebugInfoNone", - .opcode = 0, - .operands = &.{}, - }, - .{ - .name = "DebugCompilationUnit", - .opcode = 1, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "DebugTypeBasic", - .opcode = 2, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .debug_info_debug_base_type_attribute_encoding, .quantifier = .required }, - }, - }, - .{ - .name = "DebugTypePointer", - .opcode = 3, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .storage_class, .quantifier = .required }, - .{ .kind = .debug_info_debug_info_flags, .quantifier = .required }, - }, - }, - .{ - .name = "DebugTypeQualifier", - .opcode = 4, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .debug_info_debug_type_qualifier, .quantifier = .required }, - }, - }, - .{ - .name = "DebugTypeArray", - .opcode = 5, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "DebugTypeVector", - .opcode = 6, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "DebugTypedef", - .opcode = 7, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "DebugTypeFunction", - .opcode = 8, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "DebugTypeEnum", - .opcode = 9, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .debug_info_debug_info_flags, .quantifier = .required }, - .{ .kind = .pair_id_ref_id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "DebugTypeComposite", - .opcode = 10, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .debug_info_debug_composite_type, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .debug_info_debug_info_flags, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "DebugTypeMember", - .opcode = 11, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .debug_info_debug_info_flags, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "DebugTypeInheritance", - .opcode = 12, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .debug_info_debug_info_flags, .quantifier = .required }, - }, - }, - .{ - .name = "DebugTypePtrToMember", - .opcode = 13, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "DebugTypeTemplate", - .opcode = 14, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "DebugTypeTemplateParameter", - .opcode = 15, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "DebugTypeTemplateTemplateParameter", - .opcode = 16, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "DebugTypeTemplateParameterPack", - .opcode = 17, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "DebugGlobalVariable", - .opcode = 18, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .debug_info_debug_info_flags, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "DebugFunctionDeclaration", - .opcode = 19, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .debug_info_debug_info_flags, .quantifier = .required }, - }, - }, - .{ - .name = "DebugFunction", - .opcode = 20, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .debug_info_debug_info_flags, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "DebugLexicalBlock", - .opcode = 21, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "DebugLexicalBlockDiscriminator", - .opcode = 22, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "DebugScope", - .opcode = 23, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "DebugNoScope", - .opcode = 24, - .operands = &.{}, - }, - .{ - .name = "DebugInlinedAt", - .opcode = 25, - .operands = &.{ - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "DebugLocalVariable", - .opcode = 26, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .optional }, - }, - }, - .{ - .name = "DebugInlinedVariable", - .opcode = 27, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "DebugDeclare", - .opcode = 28, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "DebugValue", - .opcode = 29, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "DebugOperation", - .opcode = 30, - .operands = &.{ - .{ .kind = .debug_info_debug_operation, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .variadic }, - }, - }, - .{ - .name = "DebugExpression", - .opcode = 31, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "DebugMacroDef", - .opcode = 32, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "DebugMacroUndef", - .opcode = 33, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - }, - .non_semantic_debug_break => &.{ - .{ - .name = "DebugBreak", - .opcode = 1, - .operands = &.{}, - }, - }, - .open_cl_debug_info_100 => &.{ - .{ - .name = "DebugInfoNone", - .opcode = 0, - .operands = &.{}, - }, - .{ - .name = "DebugCompilationUnit", - .opcode = 1, - .operands = &.{ - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .source_language, .quantifier = .required }, - }, - }, - .{ - .name = "DebugTypeBasic", - .opcode = 2, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .open_cl_debug_info_100_debug_base_type_attribute_encoding, .quantifier = .required }, - }, - }, - .{ - .name = "DebugTypePointer", - .opcode = 3, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .storage_class, .quantifier = .required }, - .{ .kind = .open_cl_debug_info_100_debug_info_flags, .quantifier = .required }, - }, - }, - .{ - .name = "DebugTypeQualifier", - .opcode = 4, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .open_cl_debug_info_100_debug_type_qualifier, .quantifier = .required }, - }, - }, - .{ - .name = "DebugTypeArray", - .opcode = 5, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "DebugTypeVector", - .opcode = 6, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "DebugTypedef", - .opcode = 7, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "DebugTypeFunction", - .opcode = 8, - .operands = &.{ - .{ .kind = .open_cl_debug_info_100_debug_info_flags, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "DebugTypeEnum", - .opcode = 9, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .open_cl_debug_info_100_debug_info_flags, .quantifier = .required }, - .{ .kind = .pair_id_ref_id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "DebugTypeComposite", - .opcode = 10, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .open_cl_debug_info_100_debug_composite_type, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .open_cl_debug_info_100_debug_info_flags, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "DebugTypeMember", - .opcode = 11, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .open_cl_debug_info_100_debug_info_flags, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "DebugTypeInheritance", - .opcode = 12, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .open_cl_debug_info_100_debug_info_flags, .quantifier = .required }, - }, - }, - .{ - .name = "DebugTypePtrToMember", - .opcode = 13, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "DebugTypeTemplate", - .opcode = 14, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "DebugTypeTemplateParameter", - .opcode = 15, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "DebugTypeTemplateTemplateParameter", - .opcode = 16, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "DebugTypeTemplateParameterPack", - .opcode = 17, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "DebugGlobalVariable", - .opcode = 18, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .open_cl_debug_info_100_debug_info_flags, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "DebugFunctionDeclaration", - .opcode = 19, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .open_cl_debug_info_100_debug_info_flags, .quantifier = .required }, - }, - }, - .{ - .name = "DebugFunction", - .opcode = 20, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .open_cl_debug_info_100_debug_info_flags, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "DebugLexicalBlock", - .opcode = 21, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "DebugLexicalBlockDiscriminator", - .opcode = 22, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "DebugScope", - .opcode = 23, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "DebugNoScope", - .opcode = 24, - .operands = &.{}, - }, - .{ - .name = "DebugInlinedAt", - .opcode = 25, - .operands = &.{ - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "DebugLocalVariable", - .opcode = 26, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .open_cl_debug_info_100_debug_info_flags, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .optional }, - }, - }, - .{ - .name = "DebugInlinedVariable", - .opcode = 27, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "DebugDeclare", - .opcode = 28, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "DebugValue", - .opcode = 29, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "DebugOperation", - .opcode = 30, - .operands = &.{ - .{ .kind = .open_cl_debug_info_100_debug_operation, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .variadic }, - }, - }, - .{ - .name = "DebugExpression", - .opcode = 31, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "DebugMacroDef", - .opcode = 32, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "DebugMacroUndef", - .opcode = 33, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "DebugImportedEntity", - .opcode = 34, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .open_cl_debug_info_100_debug_imported_entity, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "DebugSource", - .opcode = 35, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "DebugModuleINTEL", - .opcode = 36, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - }, - .non_semantic_clspv_reflection_6 => &.{ - .{ - .name = "Kernel", - .opcode = 1, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - .{ .kind = .id_ref, .quantifier = .optional }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "ArgumentInfo", - .opcode = 2, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - .{ .kind = .id_ref, .quantifier = .optional }, - .{ .kind = .id_ref, .quantifier = .optional }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "ArgumentStorageBuffer", - .opcode = 3, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "ArgumentUniform", - .opcode = 4, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "ArgumentPodStorageBuffer", - .opcode = 5, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "ArgumentPodUniform", - .opcode = 6, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "ArgumentPodPushConstant", - .opcode = 7, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "ArgumentSampledImage", - .opcode = 8, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "ArgumentStorageImage", - .opcode = 9, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "ArgumentSampler", - .opcode = 10, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "ArgumentWorkgroup", - .opcode = 11, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "SpecConstantWorkgroupSize", - .opcode = 12, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "SpecConstantGlobalOffset", - .opcode = 13, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "SpecConstantWorkDim", - .opcode = 14, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "PushConstantGlobalOffset", - .opcode = 15, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "PushConstantEnqueuedLocalSize", - .opcode = 16, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "PushConstantGlobalSize", - .opcode = 17, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "PushConstantRegionOffset", - .opcode = 18, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "PushConstantNumWorkgroups", - .opcode = 19, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "PushConstantRegionGroupOffset", - .opcode = 20, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "ConstantDataStorageBuffer", - .opcode = 21, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "ConstantDataUniform", - .opcode = 22, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "LiteralSampler", - .opcode = 23, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "PropertyRequiredWorkgroupSize", - .opcode = 24, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "SpecConstantSubgroupMaxSize", - .opcode = 25, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "ArgumentPointerPushConstant", - .opcode = 26, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "ArgumentPointerUniform", - .opcode = 27, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "ProgramScopeVariablesStorageBuffer", - .opcode = 28, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "ProgramScopeVariablePointerRelocation", - .opcode = 29, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "ImageArgumentInfoChannelOrderPushConstant", - .opcode = 30, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "ImageArgumentInfoChannelDataTypePushConstant", - .opcode = 31, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "ImageArgumentInfoChannelOrderUniform", - .opcode = 32, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "ImageArgumentInfoChannelDataTypeUniform", - .opcode = 33, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "ArgumentStorageTexelBuffer", - .opcode = 34, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "ArgumentUniformTexelBuffer", - .opcode = 35, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "ConstantDataPointerPushConstant", - .opcode = 36, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "ProgramScopeVariablePointerPushConstant", - .opcode = 37, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "PrintfInfo", - .opcode = 38, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "PrintfBufferStorageBuffer", - .opcode = 39, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "PrintfBufferPointerPushConstant", - .opcode = 40, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "NormalizedSamplerMaskPushConstant", - .opcode = 41, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "WorkgroupVariableSize", - .opcode = 42, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - }, - .glsl_std_450 => &.{ - .{ - .name = "Round", - .opcode = 1, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "RoundEven", - .opcode = 2, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "Trunc", - .opcode = 3, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "FAbs", - .opcode = 4, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "SAbs", - .opcode = 5, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "FSign", - .opcode = 6, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "SSign", - .opcode = 7, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "Floor", - .opcode = 8, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "Ceil", - .opcode = 9, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "Fract", - .opcode = 10, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "Radians", - .opcode = 11, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "Degrees", - .opcode = 12, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "Sin", - .opcode = 13, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "Cos", - .opcode = 14, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "Tan", - .opcode = 15, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "Asin", - .opcode = 16, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "Acos", - .opcode = 17, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "Atan", - .opcode = 18, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "Sinh", - .opcode = 19, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "Cosh", - .opcode = 20, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "Tanh", - .opcode = 21, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "Asinh", - .opcode = 22, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "Acosh", - .opcode = 23, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "Atanh", - .opcode = 24, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "Atan2", - .opcode = 25, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "Pow", - .opcode = 26, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "Exp", - .opcode = 27, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "Log", - .opcode = 28, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "Exp2", - .opcode = 29, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "Log2", - .opcode = 30, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "Sqrt", - .opcode = 31, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "InverseSqrt", - .opcode = 32, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "Determinant", - .opcode = 33, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "MatrixInverse", - .opcode = 34, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "Modf", - .opcode = 35, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "ModfStruct", - .opcode = 36, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "FMin", - .opcode = 37, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "UMin", - .opcode = 38, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "SMin", - .opcode = 39, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "FMax", - .opcode = 40, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "UMax", - .opcode = 41, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "SMax", - .opcode = 42, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "FClamp", - .opcode = 43, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "UClamp", - .opcode = 44, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "SClamp", - .opcode = 45, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "FMix", - .opcode = 46, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "IMix", - .opcode = 47, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "Step", - .opcode = 48, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "SmoothStep", - .opcode = 49, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "Fma", - .opcode = 50, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "Frexp", - .opcode = 51, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "FrexpStruct", - .opcode = 52, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "Ldexp", - .opcode = 53, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "PackSnorm4x8", - .opcode = 54, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "PackUnorm4x8", - .opcode = 55, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "PackSnorm2x16", - .opcode = 56, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "PackUnorm2x16", - .opcode = 57, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "PackHalf2x16", - .opcode = 58, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "PackDouble2x32", - .opcode = 59, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "UnpackSnorm2x16", - .opcode = 60, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "UnpackUnorm2x16", - .opcode = 61, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "UnpackHalf2x16", - .opcode = 62, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "UnpackSnorm4x8", - .opcode = 63, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "UnpackUnorm4x8", - .opcode = 64, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "UnpackDouble2x32", - .opcode = 65, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "Length", - .opcode = 66, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "Distance", - .opcode = 67, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "Cross", - .opcode = 68, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "Normalize", - .opcode = 69, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "FaceForward", - .opcode = 70, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "Reflect", - .opcode = 71, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "Refract", - .opcode = 72, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "FindILsb", - .opcode = 73, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "FindSMsb", - .opcode = 74, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "FindUMsb", - .opcode = 75, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "InterpolateAtCentroid", - .opcode = 76, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "InterpolateAtSample", - .opcode = 77, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "InterpolateAtOffset", - .opcode = 78, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "NMin", - .opcode = 79, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "NMax", - .opcode = 80, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "NClamp", - .opcode = 81, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - }, - .spv_amd_shader_ballot => &.{ - .{ - .name = "SwizzleInvocationsAMD", - .opcode = 1, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "SwizzleInvocationsMaskedAMD", - .opcode = 2, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "WriteInvocationAMD", - .opcode = 3, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "MbcntAMD", - .opcode = 4, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - }, - .non_semantic_debug_printf => &.{ - .{ - .name = "DebugPrintf", - .opcode = 1, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - }, - .spv_amd_gcn_shader => &.{ - .{ - .name = "CubeFaceIndexAMD", - .opcode = 1, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "CubeFaceCoordAMD", - .opcode = 2, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "TimeAMD", - .opcode = 3, - .operands = &.{}, - }, - }, - .open_cl_std => &.{ - .{ - .name = "acos", - .opcode = 0, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "acosh", - .opcode = 1, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "acospi", - .opcode = 2, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "asin", - .opcode = 3, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "asinh", - .opcode = 4, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "asinpi", - .opcode = 5, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "atan", - .opcode = 6, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "atan2", - .opcode = 7, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "atanh", - .opcode = 8, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "atanpi", - .opcode = 9, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "atan2pi", - .opcode = 10, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "cbrt", - .opcode = 11, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "ceil", - .opcode = 12, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "copysign", - .opcode = 13, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "cos", - .opcode = 14, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "cosh", - .opcode = 15, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "cospi", - .opcode = 16, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "erfc", - .opcode = 17, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "erf", - .opcode = 18, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "exp", - .opcode = 19, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "exp2", - .opcode = 20, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "exp10", - .opcode = 21, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "expm1", - .opcode = 22, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "fabs", - .opcode = 23, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "fdim", - .opcode = 24, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "floor", - .opcode = 25, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "fma", - .opcode = 26, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "fmax", - .opcode = 27, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "fmin", - .opcode = 28, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "fmod", - .opcode = 29, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "fract", - .opcode = 30, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "frexp", - .opcode = 31, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "hypot", - .opcode = 32, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "ilogb", - .opcode = 33, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "ldexp", - .opcode = 34, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "lgamma", - .opcode = 35, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "lgamma_r", - .opcode = 36, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "log", - .opcode = 37, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "log2", - .opcode = 38, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "log10", - .opcode = 39, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "log1p", - .opcode = 40, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "logb", - .opcode = 41, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "mad", - .opcode = 42, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "maxmag", - .opcode = 43, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "minmag", - .opcode = 44, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "modf", - .opcode = 45, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "nan", - .opcode = 46, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "nextafter", - .opcode = 47, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "pow", - .opcode = 48, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "pown", - .opcode = 49, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "powr", - .opcode = 50, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "remainder", - .opcode = 51, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "remquo", - .opcode = 52, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "rint", - .opcode = 53, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "rootn", - .opcode = 54, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "round", - .opcode = 55, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "rsqrt", - .opcode = 56, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "sin", - .opcode = 57, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "sincos", - .opcode = 58, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "sinh", - .opcode = 59, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "sinpi", - .opcode = 60, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "sqrt", - .opcode = 61, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "tan", - .opcode = 62, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "tanh", - .opcode = 63, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "tanpi", - .opcode = 64, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "tgamma", - .opcode = 65, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "trunc", - .opcode = 66, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "half_cos", - .opcode = 67, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "half_divide", - .opcode = 68, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "half_exp", - .opcode = 69, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "half_exp2", - .opcode = 70, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "half_exp10", - .opcode = 71, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "half_log", - .opcode = 72, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "half_log2", - .opcode = 73, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "half_log10", - .opcode = 74, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "half_powr", - .opcode = 75, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "half_recip", - .opcode = 76, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "half_rsqrt", - .opcode = 77, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "half_sin", - .opcode = 78, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "half_sqrt", - .opcode = 79, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "half_tan", - .opcode = 80, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "native_cos", - .opcode = 81, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "native_divide", - .opcode = 82, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "native_exp", - .opcode = 83, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "native_exp2", - .opcode = 84, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "native_exp10", - .opcode = 85, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "native_log", - .opcode = 86, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "native_log2", - .opcode = 87, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "native_log10", - .opcode = 88, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "native_powr", - .opcode = 89, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "native_recip", - .opcode = 90, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "native_rsqrt", - .opcode = 91, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "native_sin", - .opcode = 92, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "native_sqrt", - .opcode = 93, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "native_tan", - .opcode = 94, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "fclamp", - .opcode = 95, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "degrees", - .opcode = 96, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "fmax_common", - .opcode = 97, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "fmin_common", - .opcode = 98, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "mix", - .opcode = 99, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "radians", - .opcode = 100, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "step", - .opcode = 101, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "smoothstep", - .opcode = 102, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "sign", - .opcode = 103, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "cross", - .opcode = 104, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "distance", - .opcode = 105, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "length", - .opcode = 106, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "normalize", - .opcode = 107, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "fast_distance", - .opcode = 108, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "fast_length", - .opcode = 109, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "fast_normalize", - .opcode = 110, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "s_abs", - .opcode = 141, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "s_abs_diff", - .opcode = 142, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "s_add_sat", - .opcode = 143, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "u_add_sat", - .opcode = 144, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "s_hadd", - .opcode = 145, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "u_hadd", - .opcode = 146, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "s_rhadd", - .opcode = 147, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "u_rhadd", - .opcode = 148, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "s_clamp", - .opcode = 149, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "u_clamp", - .opcode = 150, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "clz", - .opcode = 151, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "ctz", - .opcode = 152, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "s_mad_hi", - .opcode = 153, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "u_mad_sat", - .opcode = 154, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "s_mad_sat", - .opcode = 155, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "s_max", - .opcode = 156, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "u_max", - .opcode = 157, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "s_min", - .opcode = 158, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "u_min", - .opcode = 159, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "s_mul_hi", - .opcode = 160, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "rotate", - .opcode = 161, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "s_sub_sat", - .opcode = 162, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "u_sub_sat", - .opcode = 163, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "u_upsample", - .opcode = 164, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "s_upsample", - .opcode = 165, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "popcount", - .opcode = 166, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "s_mad24", - .opcode = 167, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "u_mad24", - .opcode = 168, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "s_mul24", - .opcode = 169, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "u_mul24", - .opcode = 170, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "vloadn", - .opcode = 171, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "vstoren", - .opcode = 172, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "vload_half", - .opcode = 173, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "vload_halfn", - .opcode = 174, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "vstore_half", - .opcode = 175, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "vstore_half_r", - .opcode = 176, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .fp_rounding_mode, .quantifier = .required }, - }, - }, - .{ - .name = "vstore_halfn", - .opcode = 177, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "vstore_halfn_r", - .opcode = 178, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .fp_rounding_mode, .quantifier = .required }, - }, - }, - .{ - .name = "vloada_halfn", - .opcode = 179, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .literal_integer, .quantifier = .required }, - }, - }, - .{ - .name = "vstorea_halfn", - .opcode = 180, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "vstorea_halfn_r", - .opcode = 181, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .fp_rounding_mode, .quantifier = .required }, - }, - }, - .{ - .name = "shuffle", - .opcode = 182, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "shuffle2", - .opcode = 183, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "printf", - .opcode = 184, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "prefetch", - .opcode = 185, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "bitselect", - .opcode = 186, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "select", - .opcode = 187, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "u_abs", - .opcode = 201, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "u_abs_diff", - .opcode = 202, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "u_mul_hi", - .opcode = 203, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "u_mad_hi", - .opcode = 204, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - }, - .non_semantic_shader_debug_info_100 => &.{ - .{ - .name = "DebugInfoNone", - .opcode = 0, - .operands = &.{}, - }, - .{ - .name = "DebugCompilationUnit", - .opcode = 1, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "DebugTypeBasic", - .opcode = 2, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "DebugTypePointer", - .opcode = 3, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "DebugTypeQualifier", - .opcode = 4, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "DebugTypeArray", - .opcode = 5, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "DebugTypeVector", - .opcode = 6, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "DebugTypedef", - .opcode = 7, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "DebugTypeFunction", - .opcode = 8, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "DebugTypeEnum", - .opcode = 9, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .pair_id_ref_id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "DebugTypeComposite", - .opcode = 10, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "DebugTypeMember", - .opcode = 11, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "DebugTypeInheritance", - .opcode = 12, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "DebugTypePtrToMember", - .opcode = 13, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "DebugTypeTemplate", - .opcode = 14, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "DebugTypeTemplateParameter", - .opcode = 15, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "DebugTypeTemplateTemplateParameter", - .opcode = 16, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "DebugTypeTemplateParameterPack", - .opcode = 17, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "DebugGlobalVariable", - .opcode = 18, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "DebugFunctionDeclaration", - .opcode = 19, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "DebugFunction", - .opcode = 20, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "DebugLexicalBlock", - .opcode = 21, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "DebugLexicalBlockDiscriminator", - .opcode = 22, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "DebugScope", - .opcode = 23, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "DebugNoScope", - .opcode = 24, - .operands = &.{}, - }, - .{ - .name = "DebugInlinedAt", - .opcode = 25, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "DebugLocalVariable", - .opcode = 26, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "DebugInlinedVariable", - .opcode = 27, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "DebugDeclare", - .opcode = 28, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "DebugValue", - .opcode = 29, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "DebugOperation", - .opcode = 30, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "DebugExpression", - .opcode = 31, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .variadic }, - }, - }, - .{ - .name = "DebugMacroDef", - .opcode = 32, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "DebugMacroUndef", - .opcode = 33, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "DebugImportedEntity", - .opcode = 34, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "DebugSource", - .opcode = 35, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .optional }, - }, - }, - .{ - .name = "DebugFunctionDefinition", - .opcode = 101, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "DebugSourceContinued", - .opcode = 102, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "DebugLine", - .opcode = 103, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "DebugNoLine", - .opcode = 104, - .operands = &.{}, - }, - .{ - .name = "DebugBuildIdentifier", - .opcode = 105, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "DebugStoragePath", - .opcode = 106, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "DebugEntryPoint", - .opcode = 107, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - .{ - .name = "DebugTypeMatrix", - .opcode = 108, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - }, - .zig => &.{ - .{ - .name = "InvocationGlobal", - .opcode = 0, - .operands = &.{ - .{ .kind = .id_ref, .quantifier = .required }, - }, - }, - }, - }; - } -}; |
