aboutsummaryrefslogtreecommitdiff
path: root/src/codegen/spirv/spec.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/codegen/spirv/spec.zig')
-rw-r--r--src/codegen/spirv/spec.zig18418
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 },
- },
- },
- },
- };
- }
-};