Commit f43f89a705
Changed files (13)
src/codegen/spirv/Assembler.zig
@@ -7,8 +7,7 @@ const assert = std.debug.assert;
const spec = @import("spec.zig");
const Opcode = spec.Opcode;
const Word = spec.Word;
-const IdRef = spec.IdRef;
-const IdResult = spec.IdResult;
+const Id = spec.Id;
const StorageClass = spec.StorageClass;
const SpvModule = @import("Module.zig");
@@ -127,10 +126,10 @@ const AsmValue = union(enum) {
unresolved_forward_reference,
/// This result-value is a normal result produced by a different instruction.
- value: IdRef,
+ value: Id,
/// This result-value represents a type registered into the module's type system.
- ty: IdRef,
+ ty: Id,
/// This is a pre-supplied constant integer value.
constant: u32,
@@ -141,7 +140,7 @@ const AsmValue = union(enum) {
/// Retrieve the result-id of this AsmValue. Asserts that this AsmValue
/// is of a variant that allows the result to be obtained (not an unresolved
/// forward declaration, not in the process of being declared, etc).
- pub fn resultId(self: AsmValue) IdRef {
+ pub fn resultId(self: AsmValue) Id {
return switch (self) {
.just_declared,
.unresolved_forward_reference,
@@ -314,7 +313,7 @@ fn processInstruction(self: *Assembler) !void {
return;
},
else => switch (self.inst.opcode.class()) {
- .TypeDeclaration => try self.processTypeInstruction(),
+ .type_declaration => try self.processTypeInstruction(),
else => (try self.processGenericInstruction()) orelse return,
},
};
@@ -392,7 +391,7 @@ fn processTypeInstruction(self: *Assembler) !AsmValue {
break :blk result_id;
},
.OpTypeStruct => blk: {
- const ids = try self.gpa.alloc(IdRef, operands[1..].len);
+ const ids = try self.gpa.alloc(Id, operands[1..].len);
defer self.gpa.free(ids);
for (operands[1..], ids) |op, *id| id.* = try self.resolveRefId(op.ref_id);
const result_id = self.spv.allocId();
@@ -429,7 +428,7 @@ fn processTypeInstruction(self: *Assembler) !AsmValue {
const param_operands = operands[2..];
const return_type = try self.resolveRefId(operands[1].ref_id);
- const param_types = try self.spv.gpa.alloc(IdRef, param_operands.len);
+ const param_types = try self.spv.gpa.alloc(Id, param_operands.len);
defer self.spv.gpa.free(param_types);
for (param_types, param_operands) |*param, operand| {
param.* = try self.resolveRefId(operand.ref_id);
@@ -457,17 +456,17 @@ fn processGenericInstruction(self: *Assembler) !?AsmValue {
const operands = self.inst.operands.items;
var maybe_spv_decl_index: ?SpvModule.Decl.Index = null;
const section = switch (self.inst.opcode.class()) {
- .ConstantCreation => &self.spv.sections.types_globals_constants,
- .Annotation => &self.spv.sections.annotations,
- .TypeDeclaration => unreachable, // Handled elsewhere.
+ .constant_creation => &self.spv.sections.types_globals_constants,
+ .annotation => &self.spv.sections.annotations,
+ .type_declaration => unreachable, // Handled elsewhere.
else => switch (self.inst.opcode) {
.OpEntryPoint => unreachable,
.OpExecutionMode, .OpExecutionModeId => &self.spv.sections.execution_modes,
.OpVariable => section: {
const storage_class: spec.StorageClass = @enumFromInt(operands[2].value);
- if (storage_class == .Function) break :section &self.func.prologue;
+ if (storage_class == .function) break :section &self.func.prologue;
maybe_spv_decl_index = try self.spv.allocDecl(.global);
- if (self.spv.version.minor < 4 and storage_class != .Input and storage_class != .Output) {
+ if (self.spv.version.minor < 4 and storage_class != .input and storage_class != .output) {
// Before version 1.4, the interface’s storage classes are limited to the Input and Output
break :section &self.spv.sections.types_globals_constants;
}
@@ -481,7 +480,7 @@ fn processGenericInstruction(self: *Assembler) !?AsmValue {
},
};
- var maybe_result_id: ?IdResult = null;
+ var maybe_result_id: ?Id = null;
const first_word = section.instructions.items.len;
// At this point we're not quite sure how many operands this instruction is going to have,
// so insert 0 and patch up the actual opcode word later.
@@ -504,12 +503,12 @@ fn processGenericInstruction(self: *Assembler) !?AsmValue {
else
self.spv.allocId();
try section.ensureUnusedCapacity(self.spv.gpa, 1);
- section.writeOperand(IdResult, maybe_result_id.?);
+ section.writeOperand(Id, maybe_result_id.?);
},
.ref_id => |index| {
const result = try self.resolveRef(index);
try section.ensureUnusedCapacity(self.spv.gpa, 1);
- section.writeOperand(spec.IdRef, result.resultId());
+ section.writeOperand(spec.Id, result.resultId());
},
.string => |offset| {
const text = std.mem.sliceTo(self.inst.string_bytes.items[offset..], 0);
@@ -558,7 +557,7 @@ fn resolveRef(self: *Assembler, ref: AsmValue.Ref) !AsmValue {
}
}
-fn resolveRefId(self: *Assembler, ref: AsmValue.Ref) !IdRef {
+fn resolveRefId(self: *Assembler, ref: AsmValue.Ref) !Id {
const value = try self.resolveRef(ref);
return value.resultId();
}
@@ -600,7 +599,7 @@ fn parseInstruction(self: *Assembler) !void {
const expected_operands = inst.operands;
// This is a loop because the result-id is not always the first operand.
const requires_lhs_result = for (expected_operands) |op| {
- if (op.kind == .IdResult) break true;
+ if (op.kind == .id_result) break true;
} else false;
if (requires_lhs_result and maybe_lhs_result == null) {
@@ -614,7 +613,7 @@ fn parseInstruction(self: *Assembler) !void {
}
for (expected_operands) |operand| {
- if (operand.kind == .IdResult) {
+ if (operand.kind == .id_result) {
try self.inst.operands.append(self.gpa, .{ .result_id = maybe_lhs_result.? });
continue;
}
@@ -646,11 +645,11 @@ fn parseOperand(self: *Assembler, kind: spec.OperandKind) Error!void {
.value_enum => try self.parseValueEnum(kind),
.id => try self.parseRefId(),
else => switch (kind) {
- .LiteralInteger => try self.parseLiteralInteger(),
- .LiteralString => try self.parseString(),
- .LiteralContextDependentNumber => try self.parseContextDependentNumber(),
- .LiteralExtInstInteger => try self.parseLiteralExtInstInteger(),
- .PairIdRefIdRef => try self.parsePhiSource(),
+ .literal_integer => try self.parseLiteralInteger(),
+ .literal_string => try self.parseString(),
+ .literal_context_dependent_number => try self.parseContextDependentNumber(),
+ .literal_ext_inst_integer => try self.parseLiteralExtInstInteger(),
+ .pair_id_ref_id_ref => try self.parsePhiSource(),
else => return self.todo("parse operand of type {s}", .{@tagName(kind)}),
},
}
src/codegen/spirv/extinst.zig.grammar.json
@@ -1,13 +1,11 @@
{
- "version": 0,
- "revision": 0,
- "instructions": [
- {
- "opname": "InvocationGlobal",
- "opcode": 0,
- "operands": [
- { "kind": "IdRef", "name": "initializer function" }
- ]
- }
- ]
+ "version": 0,
+ "revision": 0,
+ "instructions": [
+ {
+ "opname": "InvocationGlobal",
+ "opcode": 0,
+ "operands": [{ "kind": "IdRef", "name": "initializer function" }]
+ }
+ ]
}
src/codegen/spirv/Module.zig
@@ -15,9 +15,7 @@ const Wyhash = std.hash.Wyhash;
const spec = @import("spec.zig");
const Word = spec.Word;
-const IdRef = spec.IdRef;
-const IdResult = spec.IdResult;
-const IdResultType = spec.IdResultType;
+const Id = spec.Id;
const Section = @import("Section.zig");
@@ -82,7 +80,7 @@ pub const Decl = struct {
/// - For `func`, this is the result-id of the associated OpFunction instruction.
/// - For `global`, this is the result-id of the associated OpVariable instruction.
/// - For `invocation_global`, this is the result-id of the associated InvocationGlobal instruction.
- result_id: IdRef,
+ result_id: Id,
/// The offset of the first dependency of this decl in the `decl_deps` array.
begin_dep: u32,
/// The past-end offset of the dependencies of this decl in the `decl_deps` array.
@@ -150,7 +148,7 @@ sections: struct {
next_result_id: Word,
/// Cache for results of OpString instructions.
-strings: std.StringArrayHashMapUnmanaged(IdRef) = .empty,
+strings: std.StringArrayHashMapUnmanaged(Id) = .empty,
/// Some types shouldn't be emitted more than one time, but cannot be caught by
/// the `intern_map` during codegen. Sometimes, IDs are compared to check if
@@ -161,20 +159,20 @@ strings: std.StringArrayHashMapUnmanaged(IdRef) = .empty,
/// Additionally, this is used for other values which can be cached, for example,
/// built-in variables.
cache: struct {
- bool_type: ?IdRef = null,
- void_type: ?IdRef = null,
- int_types: std.AutoHashMapUnmanaged(std.builtin.Type.Int, IdRef) = .empty,
- float_types: std.AutoHashMapUnmanaged(std.builtin.Type.Float, IdRef) = .empty,
- vector_types: std.AutoHashMapUnmanaged(struct { IdRef, u32 }, IdRef) = .empty,
- array_types: std.AutoHashMapUnmanaged(struct { IdRef, IdRef }, IdRef) = .empty,
+ bool_type: ?Id = null,
+ void_type: ?Id = null,
+ int_types: std.AutoHashMapUnmanaged(std.builtin.Type.Int, Id) = .empty,
+ float_types: std.AutoHashMapUnmanaged(std.builtin.Type.Float, Id) = .empty,
+ vector_types: std.AutoHashMapUnmanaged(struct { Id, u32 }, Id) = .empty,
+ array_types: std.AutoHashMapUnmanaged(struct { Id, Id }, Id) = .empty,
capabilities: std.AutoHashMapUnmanaged(spec.Capability, void) = .empty,
extensions: std.StringHashMapUnmanaged(void) = .empty,
- extended_instruction_set: std.AutoHashMapUnmanaged(spec.InstructionSet, IdRef) = .empty,
- decorations: std.AutoHashMapUnmanaged(struct { IdRef, spec.Decoration }, void) = .empty,
- builtins: std.AutoHashMapUnmanaged(struct { IdRef, spec.BuiltIn }, Decl.Index) = .empty,
+ extended_instruction_set: std.AutoHashMapUnmanaged(spec.InstructionSet, Id) = .empty,
+ decorations: std.AutoHashMapUnmanaged(struct { Id, spec.Decoration }, void) = .empty,
+ builtins: std.AutoHashMapUnmanaged(struct { Id, spec.BuiltIn }, Decl.Index) = .empty,
- bool_const: [2]?IdRef = .{ null, null },
+ bool_const: [2]?Id = .{ null, null },
} = .{},
/// Set of Decls, referred to by Decl.Index.
@@ -185,7 +183,7 @@ decls: std.ArrayListUnmanaged(Decl) = .empty,
decl_deps: std.ArrayListUnmanaged(Decl.Index) = .empty,
/// The list of entry points that should be exported from this module.
-entry_points: std.AutoArrayHashMapUnmanaged(IdRef, EntryPoint) = .empty,
+entry_points: std.AutoArrayHashMapUnmanaged(Id, EntryPoint) = .empty,
pub fn init(gpa: Allocator, target: *const std.Target) Module {
const version_minor: u8 = blk: {
@@ -245,7 +243,7 @@ pub const IdRange = struct {
base: u32,
len: u32,
- pub fn at(range: IdRange, i: usize) IdResult {
+ pub fn at(range: IdRange, i: usize) Id {
assert(i < range.len);
return @enumFromInt(range.base + i);
}
@@ -259,7 +257,7 @@ pub fn allocIds(self: *Module, n: u32) IdRange {
};
}
-pub fn allocId(self: *Module) IdResult {
+pub fn allocId(self: *Module) Id {
return self.allocIds(1).at(0);
}
@@ -275,7 +273,7 @@ fn addEntryPointDeps(
self: *Module,
decl_index: Decl.Index,
seen: *std.DynamicBitSetUnmanaged,
- interface: *std.ArrayList(IdRef),
+ interface: *std.ArrayList(Id),
) !void {
const decl = self.declPtr(decl_index);
const deps = self.decl_deps.items[decl.begin_dep..decl.end_dep];
@@ -299,7 +297,7 @@ fn entryPoints(self: *Module) !Section {
var entry_points = Section{};
errdefer entry_points.deinit(self.gpa);
- var interface = std.ArrayList(IdRef).init(self.gpa);
+ var interface = std.ArrayList(Id).init(self.gpa);
defer interface.deinit();
var seen = try std.DynamicBitSetUnmanaged.initEmpty(self.gpa, self.decls.items.len);
@@ -317,12 +315,12 @@ fn entryPoints(self: *Module) !Section {
.interface = interface.items,
});
- if (entry_point.exec_mode == null and entry_point.exec_model == .Fragment) {
+ if (entry_point.exec_mode == null and entry_point.exec_model == .fragment) {
switch (self.target.os.tag) {
.vulkan, .opengl => |tag| {
try self.sections.execution_modes.emit(self.gpa, .OpExecutionMode, .{
.entry_point = entry_point_id,
- .mode = if (tag == .vulkan) .OriginUpperLeft else .OriginLowerLeft,
+ .mode = if (tag == .vulkan) .origin_upper_left else .origin_lower_left,
});
},
.opencl => {},
@@ -338,59 +336,59 @@ pub fn finalize(self: *Module, a: Allocator) ![]Word {
// Emit capabilities and extensions
switch (self.target.os.tag) {
.opengl => {
- try self.addCapability(.Shader);
- try self.addCapability(.Matrix);
+ try self.addCapability(.shader);
+ try self.addCapability(.matrix);
},
.vulkan => {
- try self.addCapability(.Shader);
- try self.addCapability(.Matrix);
+ try self.addCapability(.shader);
+ try self.addCapability(.matrix);
if (self.target.cpu.arch == .spirv64) {
try self.addExtension("SPV_KHR_physical_storage_buffer");
- try self.addCapability(.PhysicalStorageBufferAddresses);
+ try self.addCapability(.physical_storage_buffer_addresses);
}
},
.opencl, .amdhsa => {
- try self.addCapability(.Kernel);
- try self.addCapability(.Addresses);
+ try self.addCapability(.kernel);
+ try self.addCapability(.addresses);
},
else => unreachable,
}
- if (self.target.cpu.arch == .spirv64) try self.addCapability(.Int64);
- if (self.target.cpu.has(.spirv, .int64)) try self.addCapability(.Int64);
- if (self.target.cpu.has(.spirv, .float16)) try self.addCapability(.Float16);
- if (self.target.cpu.has(.spirv, .float64)) try self.addCapability(.Float64);
- if (self.target.cpu.has(.spirv, .generic_pointer)) try self.addCapability(.GenericPointer);
- if (self.target.cpu.has(.spirv, .vector16)) try self.addCapability(.Vector16);
+ if (self.target.cpu.arch == .spirv64) try self.addCapability(.int64);
+ if (self.target.cpu.has(.spirv, .int64)) try self.addCapability(.int64);
+ if (self.target.cpu.has(.spirv, .float16)) try self.addCapability(.float16);
+ if (self.target.cpu.has(.spirv, .float64)) try self.addCapability(.float64);
+ if (self.target.cpu.has(.spirv, .generic_pointer)) try self.addCapability(.generic_pointer);
+ if (self.target.cpu.has(.spirv, .vector16)) try self.addCapability(.vector16);
if (self.target.cpu.has(.spirv, .storage_push_constant16)) {
try self.addExtension("SPV_KHR_16bit_storage");
- try self.addCapability(.StoragePushConstant16);
+ try self.addCapability(.storage_push_constant16);
}
if (self.target.cpu.has(.spirv, .arbitrary_precision_integers)) {
try self.addExtension("SPV_INTEL_arbitrary_precision_integers");
- try self.addCapability(.ArbitraryPrecisionIntegersINTEL);
+ try self.addCapability(.arbitrary_precision_integers_intel);
}
if (self.target.cpu.has(.spirv, .variable_pointers)) {
try self.addExtension("SPV_KHR_variable_pointers");
- try self.addCapability(.VariablePointersStorageBuffer);
- try self.addCapability(.VariablePointers);
+ try self.addCapability(.variable_pointers_storage_buffer);
+ try self.addCapability(.variable_pointers);
}
// These are well supported
- try self.addCapability(.Int8);
- try self.addCapability(.Int16);
+ try self.addCapability(.int8);
+ try self.addCapability(.int16);
// Emit memory model
const addressing_model: spec.AddressingModel = switch (self.target.os.tag) {
- .opengl => .Logical,
- .vulkan => if (self.target.cpu.arch == .spirv32) .Logical else .PhysicalStorageBuffer64,
- .opencl => if (self.target.cpu.arch == .spirv32) .Physical32 else .Physical64,
- .amdhsa => .Physical64,
+ .opengl => .logical,
+ .vulkan => if (self.target.cpu.arch == .spirv32) .logical else .physical_storage_buffer64,
+ .opencl => if (self.target.cpu.arch == .spirv32) .physical32 else .physical64,
+ .amdhsa => .physical64,
else => unreachable,
};
try self.sections.memory_model.emit(self.gpa, .OpMemoryModel, .{
.addressing_model = addressing_model,
.memory_model = switch (self.target.os.tag) {
- .opencl => .OpenCL,
- .vulkan, .opengl => .GLSL450,
+ .opencl => .open_cl,
+ .vulkan, .opengl => .glsl450,
else => unreachable,
},
});
@@ -411,7 +409,7 @@ pub fn finalize(self: *Module, a: Allocator) ![]Word {
var source = Section{};
defer source.deinit(self.gpa);
try self.sections.debug_strings.emit(self.gpa, .OpSource, .{
- .source_language = .Zig,
+ .source_language = .zig,
.version = 0,
// We cannot emit these because the Khronos translator does not parse this instruction
// correctly.
@@ -473,7 +471,7 @@ pub fn addExtension(self: *Module, ext: []const u8) !void {
}
/// Imports or returns the existing id of an extended instruction set
-pub fn importInstructionSet(self: *Module, set: spec.InstructionSet) !IdRef {
+pub fn importInstructionSet(self: *Module, set: spec.InstructionSet) !Id {
assert(set != .core);
const gop = try self.cache.extended_instruction_set.getOrPut(self.gpa, set);
@@ -490,7 +488,7 @@ pub fn importInstructionSet(self: *Module, set: spec.InstructionSet) !IdRef {
}
/// Fetch the result-id of an instruction corresponding to a string.
-pub fn resolveString(self: *Module, string: []const u8) !IdRef {
+pub fn resolveString(self: *Module, string: []const u8) !Id {
if (self.strings.get(string)) |id| {
return id;
}
@@ -506,7 +504,7 @@ pub fn resolveString(self: *Module, string: []const u8) !IdRef {
return id;
}
-pub fn structType(self: *Module, result_id: IdResult, types: []const IdRef, maybe_names: ?[]const []const u8) !void {
+pub fn structType(self: *Module, result_id: Id, types: []const Id, maybe_names: ?[]const []const u8) !void {
try self.sections.types_globals_constants.emit(self.gpa, .OpTypeStruct, .{
.id_result = result_id,
.id_ref = types,
@@ -520,7 +518,7 @@ pub fn structType(self: *Module, result_id: IdResult, types: []const IdRef, mayb
}
}
-pub fn boolType(self: *Module) !IdRef {
+pub fn boolType(self: *Module) !Id {
if (self.cache.bool_type) |id| return id;
const result_id = self.allocId();
@@ -531,7 +529,7 @@ pub fn boolType(self: *Module) !IdRef {
return result_id;
}
-pub fn voidType(self: *Module) !IdRef {
+pub fn voidType(self: *Module) !Id {
if (self.cache.void_type) |id| return id;
const result_id = self.allocId();
@@ -543,7 +541,7 @@ pub fn voidType(self: *Module) !IdRef {
return result_id;
}
-pub fn intType(self: *Module, signedness: std.builtin.Signedness, bits: u16) !IdRef {
+pub fn intType(self: *Module, signedness: std.builtin.Signedness, bits: u16) !Id {
assert(bits > 0);
const entry = try self.cache.int_types.getOrPut(self.gpa, .{ .signedness = signedness, .bits = bits });
if (!entry.found_existing) {
@@ -566,7 +564,7 @@ pub fn intType(self: *Module, signedness: std.builtin.Signedness, bits: u16) !Id
return entry.value_ptr.*;
}
-pub fn floatType(self: *Module, bits: u16) !IdRef {
+pub fn floatType(self: *Module, bits: u16) !Id {
assert(bits > 0);
const entry = try self.cache.float_types.getOrPut(self.gpa, .{ .bits = bits });
if (!entry.found_existing) {
@@ -581,7 +579,7 @@ pub fn floatType(self: *Module, bits: u16) !IdRef {
return entry.value_ptr.*;
}
-pub fn vectorType(self: *Module, len: u32, child_ty_id: IdRef) !IdRef {
+pub fn vectorType(self: *Module, len: u32, child_ty_id: Id) !Id {
const entry = try self.cache.vector_types.getOrPut(self.gpa, .{ child_ty_id, len });
if (!entry.found_existing) {
const result_id = self.allocId();
@@ -595,7 +593,7 @@ pub fn vectorType(self: *Module, len: u32, child_ty_id: IdRef) !IdRef {
return entry.value_ptr.*;
}
-pub fn arrayType(self: *Module, len_id: IdRef, child_ty_id: IdRef) !IdRef {
+pub fn arrayType(self: *Module, len_id: Id, child_ty_id: Id) !Id {
const entry = try self.cache.array_types.getOrPut(self.gpa, .{ child_ty_id, len_id });
if (!entry.found_existing) {
const result_id = self.allocId();
@@ -609,7 +607,7 @@ pub fn arrayType(self: *Module, len_id: IdRef, child_ty_id: IdRef) !IdRef {
return entry.value_ptr.*;
}
-pub fn functionType(self: *Module, return_ty_id: IdRef, param_type_ids: []const IdRef) !IdRef {
+pub fn functionType(self: *Module, return_ty_id: Id, param_type_ids: []const Id) !Id {
const result_id = self.allocId();
try self.sections.types_globals_constants.emit(self.gpa, .OpTypeFunction, .{
.id_result = result_id,
@@ -619,7 +617,7 @@ pub fn functionType(self: *Module, return_ty_id: IdRef, param_type_ids: []const
return result_id;
}
-pub fn constant(self: *Module, result_ty_id: IdRef, value: spec.LiteralContextDependentNumber) !IdRef {
+pub fn constant(self: *Module, result_ty_id: Id, value: spec.LiteralContextDependentNumber) !Id {
const result_id = self.allocId();
const section = &self.sections.types_globals_constants;
try section.emit(self.gpa, .OpConstant, .{
@@ -630,7 +628,7 @@ pub fn constant(self: *Module, result_ty_id: IdRef, value: spec.LiteralContextDe
return result_id;
}
-pub fn constBool(self: *Module, value: bool) !IdRef {
+pub fn constBool(self: *Module, value: bool) !Id {
if (self.cache.bool_const[@intFromBool(value)]) |b| return b;
const result_ty_id = try self.boolType();
@@ -653,7 +651,7 @@ pub fn constBool(self: *Module, value: bool) !IdRef {
/// Return a pointer to a builtin variable. `result_ty_id` must be a **pointer**
/// with storage class `.Input`.
-pub fn builtin(self: *Module, result_ty_id: IdRef, spirv_builtin: spec.BuiltIn) !Decl.Index {
+pub fn builtin(self: *Module, result_ty_id: Id, spirv_builtin: spec.BuiltIn) !Decl.Index {
const entry = try self.cache.builtins.getOrPut(self.gpa, .{ result_ty_id, spirv_builtin });
if (!entry.found_existing) {
const decl_index = try self.allocDecl(.global);
@@ -662,15 +660,15 @@ pub fn builtin(self: *Module, result_ty_id: IdRef, spirv_builtin: spec.BuiltIn)
try self.sections.types_globals_constants.emit(self.gpa, .OpVariable, .{
.id_result_type = result_ty_id,
.id_result = result_id,
- .storage_class = .Input,
+ .storage_class = .input,
});
- try self.decorate(result_id, .{ .BuiltIn = .{ .built_in = spirv_builtin } });
+ try self.decorate(result_id, .{ .built_in = .{ .built_in = spirv_builtin } });
try self.declareDeclDeps(decl_index, &.{});
}
return entry.value_ptr.*;
}
-pub fn constUndef(self: *Module, ty_id: IdRef) !IdRef {
+pub fn constUndef(self: *Module, ty_id: Id) !Id {
const result_id = self.allocId();
try self.sections.types_globals_constants.emit(self.gpa, .OpUndef, .{
.id_result_type = ty_id,
@@ -679,7 +677,7 @@ pub fn constUndef(self: *Module, ty_id: IdRef) !IdRef {
return result_id;
}
-pub fn constNull(self: *Module, ty_id: IdRef) !IdRef {
+pub fn constNull(self: *Module, ty_id: Id) !Id {
const result_id = self.allocId();
try self.sections.types_globals_constants.emit(self.gpa, .OpConstantNull, .{
.id_result_type = ty_id,
@@ -691,7 +689,7 @@ pub fn constNull(self: *Module, ty_id: IdRef) !IdRef {
/// Decorate a result-id.
pub fn decorate(
self: *Module,
- target: IdRef,
+ target: Id,
decoration: spec.Decoration.Extended,
) !void {
const entry = try self.cache.decorations.getOrPut(self.gpa, .{ target, decoration });
@@ -707,7 +705,7 @@ pub fn decorate(
/// We really don't have to and shouldn't need to cache this.
pub fn decorateMember(
self: *Module,
- structure_type: IdRef,
+ structure_type: Id,
member: u32,
decoration: spec.Decoration.Extended,
) !void {
@@ -762,20 +760,20 @@ pub fn declareEntryPoint(
if (!gop.found_existing) gop.value_ptr.exec_mode = exec_mode;
}
-pub fn debugName(self: *Module, target: IdResult, name: []const u8) !void {
+pub fn debugName(self: *Module, target: Id, name: []const u8) !void {
try self.sections.debug_names.emit(self.gpa, .OpName, .{
.target = target,
.name = name,
});
}
-pub fn debugNameFmt(self: *Module, target: IdResult, comptime fmt: []const u8, args: anytype) !void {
+pub fn debugNameFmt(self: *Module, target: Id, comptime fmt: []const u8, args: anytype) !void {
const name = try std.fmt.allocPrint(self.gpa, fmt, args);
defer self.gpa.free(name);
try self.debugName(target, name);
}
-pub fn memberDebugName(self: *Module, target: IdResult, member: u32, name: []const u8) !void {
+pub fn memberDebugName(self: *Module, target: Id, member: u32, name: []const u8) !void {
try self.sections.debug_names.emit(self.gpa, .OpMemberName, .{
.type = target,
.member = member,
src/codegen/spirv/Section.zig
@@ -79,7 +79,7 @@ pub fn emit(
pub fn emitBranch(
section: *Section,
allocator: Allocator,
- target_label: spec.IdRef,
+ target_label: spec.Id,
) !void {
try section.emit(allocator, .OpBranch, .{
.target_label = target_label,
@@ -94,8 +94,8 @@ pub fn emitSpecConstantOp(
) !void {
const word_count = operandsSize(opcode.Operands(), operands);
try section.emitRaw(allocator, .OpSpecConstantOp, 1 + word_count);
- section.writeOperand(spec.IdRef, operands.id_result_type);
- section.writeOperand(spec.IdRef, operands.id_result);
+ section.writeOperand(spec.Id, operands.id_result_type);
+ section.writeOperand(spec.Id, operands.id_result);
section.writeOperand(Opcode, opcode);
const fields = @typeInfo(opcode.Operands()).@"struct".fields;
@@ -134,7 +134,7 @@ fn writeOperands(section: *Section, comptime Operands: type, operands: Operands)
pub fn writeOperand(section: *Section, comptime Operand: type, operand: Operand) void {
switch (Operand) {
- spec.IdResult => section.writeWord(@intFromEnum(operand)),
+ spec.Id => section.writeWord(@intFromEnum(operand)),
spec.LiteralInteger => section.writeWord(operand),
@@ -266,7 +266,7 @@ fn operandsSize(comptime Operands: type, operands: Operands) usize {
fn operandSize(comptime Operand: type, operand: Operand) usize {
return switch (Operand) {
- spec.IdResult,
+ spec.Id,
spec.LiteralInteger,
spec.LiteralExtInstInteger,
=> 1,
src/codegen/spirv/spec.zig
@@ -1,7 +1,6 @@
//! This file is auto-generated by tools/gen_spirv_spec.zig.
const std = @import("std");
-const assert = std.debug.assert;
pub const Version = packed struct(Word) {
padding: u8 = 0,
@@ -15,22 +14,17 @@ pub const Version = packed struct(Word) {
};
pub const Word = u32;
-pub const IdResult = enum(Word) {
+pub const Id = enum(Word) {
none,
_,
- pub fn format(self: IdResult, writer: *std.io.Writer) std.io.Writer.Error!void {
+ 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 IdResultType = IdResult;
-pub const IdRef = IdResult;
-
-pub const IdMemorySemantics = IdRef;
-pub const IdScope = IdRef;
pub const LiteralInteger = Word;
pub const LiteralFloat = Word;
@@ -45,9 +39,9 @@ pub const LiteralContextDependentNumber = union(enum) {
};
pub const LiteralExtInstInteger = struct { inst: Word };
pub const LiteralSpecConstantOpInteger = struct { opcode: Opcode };
-pub const PairLiteralIntegerIdRef = struct { value: LiteralInteger, label: IdRef };
-pub const PairIdRefLiteralInteger = struct { target: IdRef, member: LiteralInteger };
-pub const PairIdRefIdRef = [2]IdRef;
+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,
@@ -81,1499 +75,1564 @@ pub const Instruction = struct {
};
pub const zig_generator_id: Word = 41;
-pub const version = Version{ .major = 1, .minor = 6, .patch = 1 };
+pub const version: Version = .{ .major = 1, .minor = 6, .patch = 4 };
pub const magic_number: Word = 0x07230203;
pub const Class = enum {
- Miscellaneous,
- Debug,
- Extension,
- ModeSetting,
- TypeDeclaration,
- ConstantCreation,
- Function,
- Memory,
- Annotation,
- Composite,
- Image,
- Conversion,
- Arithmetic,
- RelationalAndLogical,
- Bit,
- Derivative,
- Primitive,
- Barrier,
- Atomic,
- ControlFlow,
- Group,
- Pipe,
- DeviceSideEnqueue,
- NonUniform,
- Reserved,
+ 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,
- ImageOperands,
- FPFastMathMode,
- SelectionControl,
- LoopControl,
- FunctionControl,
- MemorySemantics,
- MemoryAccess,
- KernelProfilingInfo,
- RayFlags,
- FragmentShadingRate,
- RawAccessChainOperands,
- SourceLanguage,
- ExecutionModel,
- AddressingModel,
- MemoryModel,
- ExecutionMode,
- StorageClass,
- Dim,
- SamplerAddressingMode,
- SamplerFilterMode,
- ImageFormat,
- ImageChannelOrder,
- ImageChannelDataType,
- FPRoundingMode,
- FPDenormMode,
- QuantizationModes,
- FPOperationMode,
- OverflowModes,
- LinkageType,
- AccessQualifier,
- HostAccessQualifier,
- FunctionParameterAttribute,
- Decoration,
- BuiltIn,
- Scope,
- GroupOperation,
- KernelEnqueueFlags,
- Capability,
- RayQueryIntersection,
- RayQueryCommittedIntersectionType,
- RayQueryCandidateIntersectionType,
- PackedVectorFormat,
- CooperativeMatrixOperands,
- CooperativeMatrixLayout,
- CooperativeMatrixUse,
- InitializationModeQualifier,
- LoadCacheControl,
- StoreCacheControl,
- NamedMaximumNumberOfRegisters,
- IdResultType,
- IdResult,
- IdMemorySemantics,
- IdScope,
- IdRef,
- LiteralInteger,
- LiteralString,
- LiteralFloat,
- LiteralContextDependentNumber,
- LiteralExtInstInteger,
- LiteralSpecConstantOpInteger,
- PairLiteralIntegerIdRef,
- PairIdRefLiteralInteger,
- PairIdRefIdRef,
- @"OpenCL.DebugInfo.100.DebugInfoFlags",
- @"OpenCL.DebugInfo.100.DebugBaseTypeAttributeEncoding",
- @"OpenCL.DebugInfo.100.DebugCompositeType",
- @"OpenCL.DebugInfo.100.DebugTypeQualifier",
- @"OpenCL.DebugInfo.100.DebugOperation",
- @"OpenCL.DebugInfo.100.DebugImportedEntity",
- @"NonSemantic.Shader.DebugInfo.100.DebugInfoFlags",
- @"NonSemantic.Shader.DebugInfo.100.BuildIdentifierFlags",
- @"NonSemantic.Shader.DebugInfo.100.DebugBaseTypeAttributeEncoding",
- @"NonSemantic.Shader.DebugInfo.100.DebugCompositeType",
- @"NonSemantic.Shader.DebugInfo.100.DebugTypeQualifier",
- @"NonSemantic.Shader.DebugInfo.100.DebugOperation",
- @"NonSemantic.Shader.DebugInfo.100.DebugImportedEntity",
- @"NonSemantic.ClspvReflection.6.KernelPropertyFlags",
- @"DebugInfo.DebugInfoFlags",
- @"DebugInfo.DebugBaseTypeAttributeEncoding",
- @"DebugInfo.DebugCompositeType",
- @"DebugInfo.DebugTypeQualifier",
- @"DebugInfo.DebugOperation",
+ 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,
- .ImageOperands => .bit_enum,
- .FPFastMathMode => .bit_enum,
- .SelectionControl => .bit_enum,
- .LoopControl => .bit_enum,
- .FunctionControl => .bit_enum,
- .MemorySemantics => .bit_enum,
- .MemoryAccess => .bit_enum,
- .KernelProfilingInfo => .bit_enum,
- .RayFlags => .bit_enum,
- .FragmentShadingRate => .bit_enum,
- .RawAccessChainOperands => .bit_enum,
- .SourceLanguage => .value_enum,
- .ExecutionModel => .value_enum,
- .AddressingModel => .value_enum,
- .MemoryModel => .value_enum,
- .ExecutionMode => .value_enum,
- .StorageClass => .value_enum,
- .Dim => .value_enum,
- .SamplerAddressingMode => .value_enum,
- .SamplerFilterMode => .value_enum,
- .ImageFormat => .value_enum,
- .ImageChannelOrder => .value_enum,
- .ImageChannelDataType => .value_enum,
- .FPRoundingMode => .value_enum,
- .FPDenormMode => .value_enum,
- .QuantizationModes => .value_enum,
- .FPOperationMode => .value_enum,
- .OverflowModes => .value_enum,
- .LinkageType => .value_enum,
- .AccessQualifier => .value_enum,
- .HostAccessQualifier => .value_enum,
- .FunctionParameterAttribute => .value_enum,
- .Decoration => .value_enum,
- .BuiltIn => .value_enum,
- .Scope => .value_enum,
- .GroupOperation => .value_enum,
- .KernelEnqueueFlags => .value_enum,
- .Capability => .value_enum,
- .RayQueryIntersection => .value_enum,
- .RayQueryCommittedIntersectionType => .value_enum,
- .RayQueryCandidateIntersectionType => .value_enum,
- .PackedVectorFormat => .value_enum,
- .CooperativeMatrixOperands => .bit_enum,
- .CooperativeMatrixLayout => .value_enum,
- .CooperativeMatrixUse => .value_enum,
- .InitializationModeQualifier => .value_enum,
- .LoadCacheControl => .value_enum,
- .StoreCacheControl => .value_enum,
- .NamedMaximumNumberOfRegisters => .value_enum,
- .IdResultType => .id,
- .IdResult => .id,
- .IdMemorySemantics => .id,
- .IdScope => .id,
- .IdRef => .id,
- .LiteralInteger => .literal,
- .LiteralString => .literal,
- .LiteralFloat => .literal,
- .LiteralContextDependentNumber => .literal,
- .LiteralExtInstInteger => .literal,
- .LiteralSpecConstantOpInteger => .literal,
- .PairLiteralIntegerIdRef => .composite,
- .PairIdRefLiteralInteger => .composite,
- .PairIdRefIdRef => .composite,
- .@"OpenCL.DebugInfo.100.DebugInfoFlags" => .bit_enum,
- .@"OpenCL.DebugInfo.100.DebugBaseTypeAttributeEncoding" => .value_enum,
- .@"OpenCL.DebugInfo.100.DebugCompositeType" => .value_enum,
- .@"OpenCL.DebugInfo.100.DebugTypeQualifier" => .value_enum,
- .@"OpenCL.DebugInfo.100.DebugOperation" => .value_enum,
- .@"OpenCL.DebugInfo.100.DebugImportedEntity" => .value_enum,
- .@"NonSemantic.Shader.DebugInfo.100.DebugInfoFlags" => .bit_enum,
- .@"NonSemantic.Shader.DebugInfo.100.BuildIdentifierFlags" => .bit_enum,
- .@"NonSemantic.Shader.DebugInfo.100.DebugBaseTypeAttributeEncoding" => .value_enum,
- .@"NonSemantic.Shader.DebugInfo.100.DebugCompositeType" => .value_enum,
- .@"NonSemantic.Shader.DebugInfo.100.DebugTypeQualifier" => .value_enum,
- .@"NonSemantic.Shader.DebugInfo.100.DebugOperation" => .value_enum,
- .@"NonSemantic.Shader.DebugInfo.100.DebugImportedEntity" => .value_enum,
- .@"NonSemantic.ClspvReflection.6.KernelPropertyFlags" => .bit_enum,
- .@"DebugInfo.DebugInfoFlags" => .bit_enum,
- .@"DebugInfo.DebugBaseTypeAttributeEncoding" => .value_enum,
- .@"DebugInfo.DebugCompositeType" => .value_enum,
- .@"DebugInfo.DebugTypeQualifier" => .value_enum,
- .@"DebugInfo.DebugOperation" => .value_enum,
+ .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,
- .ImageOperands => &[_]Enumerant{
- .{ .name = "Bias", .value = 0x0001, .parameters = &[_]OperandKind{.IdRef} },
- .{ .name = "Lod", .value = 0x0002, .parameters = &[_]OperandKind{.IdRef} },
- .{ .name = "Grad", .value = 0x0004, .parameters = &[_]OperandKind{ .IdRef, .IdRef } },
- .{ .name = "ConstOffset", .value = 0x0008, .parameters = &[_]OperandKind{.IdRef} },
- .{ .name = "Offset", .value = 0x0010, .parameters = &[_]OperandKind{.IdRef} },
- .{ .name = "ConstOffsets", .value = 0x0020, .parameters = &[_]OperandKind{.IdRef} },
- .{ .name = "Sample", .value = 0x0040, .parameters = &[_]OperandKind{.IdRef} },
- .{ .name = "MinLod", .value = 0x0080, .parameters = &[_]OperandKind{.IdRef} },
- .{ .name = "MakeTexelAvailable", .value = 0x0100, .parameters = &[_]OperandKind{.IdScope} },
- .{ .name = "MakeTexelAvailableKHR", .value = 0x0100, .parameters = &[_]OperandKind{.IdScope} },
- .{ .name = "MakeTexelVisible", .value = 0x0200, .parameters = &[_]OperandKind{.IdScope} },
- .{ .name = "MakeTexelVisibleKHR", .value = 0x0200, .parameters = &[_]OperandKind{.IdScope} },
- .{ .name = "NonPrivateTexel", .value = 0x0400, .parameters = &[_]OperandKind{} },
- .{ .name = "NonPrivateTexelKHR", .value = 0x0400, .parameters = &[_]OperandKind{} },
- .{ .name = "VolatileTexel", .value = 0x0800, .parameters = &[_]OperandKind{} },
- .{ .name = "VolatileTexelKHR", .value = 0x0800, .parameters = &[_]OperandKind{} },
- .{ .name = "SignExtend", .value = 0x1000, .parameters = &[_]OperandKind{} },
- .{ .name = "ZeroExtend", .value = 0x2000, .parameters = &[_]OperandKind{} },
- .{ .name = "Nontemporal", .value = 0x4000, .parameters = &[_]OperandKind{} },
- .{ .name = "Offsets", .value = 0x10000, .parameters = &[_]OperandKind{.IdRef} },
+ .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} },
},
- .FPFastMathMode => &[_]Enumerant{
- .{ .name = "NotNaN", .value = 0x0001, .parameters = &[_]OperandKind{} },
- .{ .name = "NotInf", .value = 0x0002, .parameters = &[_]OperandKind{} },
- .{ .name = "NSZ", .value = 0x0004, .parameters = &[_]OperandKind{} },
- .{ .name = "AllowRecip", .value = 0x0008, .parameters = &[_]OperandKind{} },
- .{ .name = "Fast", .value = 0x0010, .parameters = &[_]OperandKind{} },
- .{ .name = "AllowContract", .value = 0x10000, .parameters = &[_]OperandKind{} },
- .{ .name = "AllowContractFastINTEL", .value = 0x10000, .parameters = &[_]OperandKind{} },
- .{ .name = "AllowReassoc", .value = 0x20000, .parameters = &[_]OperandKind{} },
- .{ .name = "AllowReassocINTEL", .value = 0x20000, .parameters = &[_]OperandKind{} },
- .{ .name = "AllowTransform", .value = 0x40000, .parameters = &[_]OperandKind{} },
+ .kernel_profiling_info => &.{
+ .{ .name = "CmdExecTime", .value = 0x0001, .parameters = &.{} },
},
- .SelectionControl => &[_]Enumerant{
- .{ .name = "Flatten", .value = 0x0001, .parameters = &[_]OperandKind{} },
- .{ .name = "DontFlatten", .value = 0x0002, .parameters = &[_]OperandKind{} },
+ .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 = &.{} },
},
- .LoopControl => &[_]Enumerant{
- .{ .name = "Unroll", .value = 0x0001, .parameters = &[_]OperandKind{} },
- .{ .name = "DontUnroll", .value = 0x0002, .parameters = &[_]OperandKind{} },
- .{ .name = "DependencyInfinite", .value = 0x0004, .parameters = &[_]OperandKind{} },
- .{ .name = "DependencyLength", .value = 0x0008, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "MinIterations", .value = 0x0010, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "MaxIterations", .value = 0x0020, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "IterationMultiple", .value = 0x0040, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "PeelCount", .value = 0x0080, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "PartialCount", .value = 0x0100, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "InitiationIntervalINTEL", .value = 0x10000, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "MaxConcurrencyINTEL", .value = 0x20000, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "DependencyArrayINTEL", .value = 0x40000, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "PipelineEnableINTEL", .value = 0x80000, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "LoopCoalesceINTEL", .value = 0x100000, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "MaxInterleavingINTEL", .value = 0x200000, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "SpeculatedIterationsINTEL", .value = 0x400000, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "NoFusionINTEL", .value = 0x800000, .parameters = &[_]OperandKind{} },
- .{ .name = "LoopCountINTEL", .value = 0x1000000, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "MaxReinvocationDelayINTEL", .value = 0x2000000, .parameters = &[_]OperandKind{.LiteralInteger} },
+ .fragment_shading_rate => &.{
+ .{ .name = "Vertical2Pixels", .value = 0x0001, .parameters = &.{} },
+ .{ .name = "Vertical4Pixels", .value = 0x0002, .parameters = &.{} },
+ .{ .name = "Horizontal2Pixels", .value = 0x0004, .parameters = &.{} },
+ .{ .name = "Horizontal4Pixels", .value = 0x0008, .parameters = &.{} },
},
- .FunctionControl => &[_]Enumerant{
- .{ .name = "Inline", .value = 0x0001, .parameters = &[_]OperandKind{} },
- .{ .name = "DontInline", .value = 0x0002, .parameters = &[_]OperandKind{} },
- .{ .name = "Pure", .value = 0x0004, .parameters = &[_]OperandKind{} },
- .{ .name = "Const", .value = 0x0008, .parameters = &[_]OperandKind{} },
- .{ .name = "OptNoneINTEL", .value = 0x10000, .parameters = &[_]OperandKind{} },
+ .raw_access_chain_operands => &.{
+ .{ .name = "RobustnessPerComponentNV", .value = 0x0001, .parameters = &.{} },
+ .{ .name = "RobustnessPerElementNV", .value = 0x0002, .parameters = &.{} },
},
- .MemorySemantics => &[_]Enumerant{
- .{ .name = "Relaxed", .value = 0x0000, .parameters = &[_]OperandKind{} },
- .{ .name = "Acquire", .value = 0x0002, .parameters = &[_]OperandKind{} },
- .{ .name = "Release", .value = 0x0004, .parameters = &[_]OperandKind{} },
- .{ .name = "AcquireRelease", .value = 0x0008, .parameters = &[_]OperandKind{} },
- .{ .name = "SequentiallyConsistent", .value = 0x0010, .parameters = &[_]OperandKind{} },
- .{ .name = "UniformMemory", .value = 0x0040, .parameters = &[_]OperandKind{} },
- .{ .name = "SubgroupMemory", .value = 0x0080, .parameters = &[_]OperandKind{} },
- .{ .name = "WorkgroupMemory", .value = 0x0100, .parameters = &[_]OperandKind{} },
- .{ .name = "CrossWorkgroupMemory", .value = 0x0200, .parameters = &[_]OperandKind{} },
- .{ .name = "AtomicCounterMemory", .value = 0x0400, .parameters = &[_]OperandKind{} },
- .{ .name = "ImageMemory", .value = 0x0800, .parameters = &[_]OperandKind{} },
- .{ .name = "OutputMemory", .value = 0x1000, .parameters = &[_]OperandKind{} },
- .{ .name = "OutputMemoryKHR", .value = 0x1000, .parameters = &[_]OperandKind{} },
- .{ .name = "MakeAvailable", .value = 0x2000, .parameters = &[_]OperandKind{} },
- .{ .name = "MakeAvailableKHR", .value = 0x2000, .parameters = &[_]OperandKind{} },
- .{ .name = "MakeVisible", .value = 0x4000, .parameters = &[_]OperandKind{} },
- .{ .name = "MakeVisibleKHR", .value = 0x4000, .parameters = &[_]OperandKind{} },
- .{ .name = "Volatile", .value = 0x8000, .parameters = &[_]OperandKind{} },
+ .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 = &.{} },
},
- .MemoryAccess => &[_]Enumerant{
- .{ .name = "Volatile", .value = 0x0001, .parameters = &[_]OperandKind{} },
- .{ .name = "Aligned", .value = 0x0002, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "Nontemporal", .value = 0x0004, .parameters = &[_]OperandKind{} },
- .{ .name = "MakePointerAvailable", .value = 0x0008, .parameters = &[_]OperandKind{.IdScope} },
- .{ .name = "MakePointerAvailableKHR", .value = 0x0008, .parameters = &[_]OperandKind{.IdScope} },
- .{ .name = "MakePointerVisible", .value = 0x0010, .parameters = &[_]OperandKind{.IdScope} },
- .{ .name = "MakePointerVisibleKHR", .value = 0x0010, .parameters = &[_]OperandKind{.IdScope} },
- .{ .name = "NonPrivatePointer", .value = 0x0020, .parameters = &[_]OperandKind{} },
- .{ .name = "NonPrivatePointerKHR", .value = 0x0020, .parameters = &[_]OperandKind{} },
- .{ .name = "AliasScopeINTELMask", .value = 0x10000, .parameters = &[_]OperandKind{.IdRef} },
- .{ .name = "NoAliasINTELMask", .value = 0x20000, .parameters = &[_]OperandKind{.IdRef} },
+ .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 = &.{} },
},
- .KernelProfilingInfo => &[_]Enumerant{
- .{ .name = "CmdExecTime", .value = 0x0001, .parameters = &[_]OperandKind{} },
+ .addressing_model => &.{
+ .{ .name = "Logical", .value = 0, .parameters = &.{} },
+ .{ .name = "Physical32", .value = 1, .parameters = &.{} },
+ .{ .name = "Physical64", .value = 2, .parameters = &.{} },
+ .{ .name = "PhysicalStorageBuffer64", .value = 5348, .parameters = &.{} },
},
- .RayFlags => &[_]Enumerant{
- .{ .name = "NoneKHR", .value = 0x0000, .parameters = &[_]OperandKind{} },
- .{ .name = "OpaqueKHR", .value = 0x0001, .parameters = &[_]OperandKind{} },
- .{ .name = "NoOpaqueKHR", .value = 0x0002, .parameters = &[_]OperandKind{} },
- .{ .name = "TerminateOnFirstHitKHR", .value = 0x0004, .parameters = &[_]OperandKind{} },
- .{ .name = "SkipClosestHitShaderKHR", .value = 0x0008, .parameters = &[_]OperandKind{} },
- .{ .name = "CullBackFacingTrianglesKHR", .value = 0x0010, .parameters = &[_]OperandKind{} },
- .{ .name = "CullFrontFacingTrianglesKHR", .value = 0x0020, .parameters = &[_]OperandKind{} },
- .{ .name = "CullOpaqueKHR", .value = 0x0040, .parameters = &[_]OperandKind{} },
- .{ .name = "CullNoOpaqueKHR", .value = 0x0080, .parameters = &[_]OperandKind{} },
- .{ .name = "SkipTrianglesKHR", .value = 0x0100, .parameters = &[_]OperandKind{} },
- .{ .name = "SkipAABBsKHR", .value = 0x0200, .parameters = &[_]OperandKind{} },
- .{ .name = "ForceOpacityMicromap2StateEXT", .value = 0x0400, .parameters = &[_]OperandKind{} },
+ .memory_model => &.{
+ .{ .name = "Simple", .value = 0, .parameters = &.{} },
+ .{ .name = "GLSL450", .value = 1, .parameters = &.{} },
+ .{ .name = "OpenCL", .value = 2, .parameters = &.{} },
+ .{ .name = "Vulkan", .value = 3, .parameters = &.{} },
},
- .FragmentShadingRate => &[_]Enumerant{
- .{ .name = "Vertical2Pixels", .value = 0x0001, .parameters = &[_]OperandKind{} },
- .{ .name = "Vertical4Pixels", .value = 0x0002, .parameters = &[_]OperandKind{} },
- .{ .name = "Horizontal2Pixels", .value = 0x0004, .parameters = &[_]OperandKind{} },
- .{ .name = "Horizontal4Pixels", .value = 0x0008, .parameters = &[_]OperandKind{} },
+ .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} },
},
- .RawAccessChainOperands => &[_]Enumerant{
- .{ .name = "RobustnessPerComponentNV", .value = 0x0001, .parameters = &[_]OperandKind{} },
- .{ .name = "RobustnessPerElementNV", .value = 0x0002, .parameters = &[_]OperandKind{} },
+ .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 = &.{} },
},
- .SourceLanguage => &[_]Enumerant{
- .{ .name = "Unknown", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "ESSL", .value = 1, .parameters = &[_]OperandKind{} },
- .{ .name = "GLSL", .value = 2, .parameters = &[_]OperandKind{} },
- .{ .name = "OpenCL_C", .value = 3, .parameters = &[_]OperandKind{} },
- .{ .name = "OpenCL_CPP", .value = 4, .parameters = &[_]OperandKind{} },
- .{ .name = "HLSL", .value = 5, .parameters = &[_]OperandKind{} },
- .{ .name = "CPP_for_OpenCL", .value = 6, .parameters = &[_]OperandKind{} },
- .{ .name = "SYCL", .value = 7, .parameters = &[_]OperandKind{} },
- .{ .name = "HERO_C", .value = 8, .parameters = &[_]OperandKind{} },
- .{ .name = "NZSL", .value = 9, .parameters = &[_]OperandKind{} },
- .{ .name = "WGSL", .value = 10, .parameters = &[_]OperandKind{} },
- .{ .name = "Slang", .value = 11, .parameters = &[_]OperandKind{} },
- .{ .name = "Zig", .value = 12, .parameters = &[_]OperandKind{} },
+ .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 = &.{} },
},
- .ExecutionModel => &[_]Enumerant{
- .{ .name = "Vertex", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "TessellationControl", .value = 1, .parameters = &[_]OperandKind{} },
- .{ .name = "TessellationEvaluation", .value = 2, .parameters = &[_]OperandKind{} },
- .{ .name = "Geometry", .value = 3, .parameters = &[_]OperandKind{} },
- .{ .name = "Fragment", .value = 4, .parameters = &[_]OperandKind{} },
- .{ .name = "GLCompute", .value = 5, .parameters = &[_]OperandKind{} },
- .{ .name = "Kernel", .value = 6, .parameters = &[_]OperandKind{} },
- .{ .name = "TaskNV", .value = 5267, .parameters = &[_]OperandKind{} },
- .{ .name = "MeshNV", .value = 5268, .parameters = &[_]OperandKind{} },
- .{ .name = "RayGenerationNV", .value = 5313, .parameters = &[_]OperandKind{} },
- .{ .name = "RayGenerationKHR", .value = 5313, .parameters = &[_]OperandKind{} },
- .{ .name = "IntersectionNV", .value = 5314, .parameters = &[_]OperandKind{} },
- .{ .name = "IntersectionKHR", .value = 5314, .parameters = &[_]OperandKind{} },
- .{ .name = "AnyHitNV", .value = 5315, .parameters = &[_]OperandKind{} },
- .{ .name = "AnyHitKHR", .value = 5315, .parameters = &[_]OperandKind{} },
- .{ .name = "ClosestHitNV", .value = 5316, .parameters = &[_]OperandKind{} },
- .{ .name = "ClosestHitKHR", .value = 5316, .parameters = &[_]OperandKind{} },
- .{ .name = "MissNV", .value = 5317, .parameters = &[_]OperandKind{} },
- .{ .name = "MissKHR", .value = 5317, .parameters = &[_]OperandKind{} },
- .{ .name = "CallableNV", .value = 5318, .parameters = &[_]OperandKind{} },
- .{ .name = "CallableKHR", .value = 5318, .parameters = &[_]OperandKind{} },
- .{ .name = "TaskEXT", .value = 5364, .parameters = &[_]OperandKind{} },
- .{ .name = "MeshEXT", .value = 5365, .parameters = &[_]OperandKind{} },
+ .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 = &.{} },
},
- .AddressingModel => &[_]Enumerant{
- .{ .name = "Logical", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "Physical32", .value = 1, .parameters = &[_]OperandKind{} },
- .{ .name = "Physical64", .value = 2, .parameters = &[_]OperandKind{} },
- .{ .name = "PhysicalStorageBuffer64", .value = 5348, .parameters = &[_]OperandKind{} },
- .{ .name = "PhysicalStorageBuffer64EXT", .value = 5348, .parameters = &[_]OperandKind{} },
+ .sampler_filter_mode => &.{
+ .{ .name = "Nearest", .value = 0, .parameters = &.{} },
+ .{ .name = "Linear", .value = 1, .parameters = &.{} },
},
- .MemoryModel => &[_]Enumerant{
- .{ .name = "Simple", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "GLSL450", .value = 1, .parameters = &[_]OperandKind{} },
- .{ .name = "OpenCL", .value = 2, .parameters = &[_]OperandKind{} },
- .{ .name = "Vulkan", .value = 3, .parameters = &[_]OperandKind{} },
- .{ .name = "VulkanKHR", .value = 3, .parameters = &[_]OperandKind{} },
+ .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 = &.{} },
},
- .ExecutionMode => &[_]Enumerant{
- .{ .name = "Invocations", .value = 0, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "SpacingEqual", .value = 1, .parameters = &[_]OperandKind{} },
- .{ .name = "SpacingFractionalEven", .value = 2, .parameters = &[_]OperandKind{} },
- .{ .name = "SpacingFractionalOdd", .value = 3, .parameters = &[_]OperandKind{} },
- .{ .name = "VertexOrderCw", .value = 4, .parameters = &[_]OperandKind{} },
- .{ .name = "VertexOrderCcw", .value = 5, .parameters = &[_]OperandKind{} },
- .{ .name = "PixelCenterInteger", .value = 6, .parameters = &[_]OperandKind{} },
- .{ .name = "OriginUpperLeft", .value = 7, .parameters = &[_]OperandKind{} },
- .{ .name = "OriginLowerLeft", .value = 8, .parameters = &[_]OperandKind{} },
- .{ .name = "EarlyFragmentTests", .value = 9, .parameters = &[_]OperandKind{} },
- .{ .name = "PointMode", .value = 10, .parameters = &[_]OperandKind{} },
- .{ .name = "Xfb", .value = 11, .parameters = &[_]OperandKind{} },
- .{ .name = "DepthReplacing", .value = 12, .parameters = &[_]OperandKind{} },
- .{ .name = "DepthGreater", .value = 14, .parameters = &[_]OperandKind{} },
- .{ .name = "DepthLess", .value = 15, .parameters = &[_]OperandKind{} },
- .{ .name = "DepthUnchanged", .value = 16, .parameters = &[_]OperandKind{} },
- .{ .name = "LocalSize", .value = 17, .parameters = &[_]OperandKind{ .LiteralInteger, .LiteralInteger, .LiteralInteger } },
- .{ .name = "LocalSizeHint", .value = 18, .parameters = &[_]OperandKind{ .LiteralInteger, .LiteralInteger, .LiteralInteger } },
- .{ .name = "InputPoints", .value = 19, .parameters = &[_]OperandKind{} },
- .{ .name = "InputLines", .value = 20, .parameters = &[_]OperandKind{} },
- .{ .name = "InputLinesAdjacency", .value = 21, .parameters = &[_]OperandKind{} },
- .{ .name = "Triangles", .value = 22, .parameters = &[_]OperandKind{} },
- .{ .name = "InputTrianglesAdjacency", .value = 23, .parameters = &[_]OperandKind{} },
- .{ .name = "Quads", .value = 24, .parameters = &[_]OperandKind{} },
- .{ .name = "Isolines", .value = 25, .parameters = &[_]OperandKind{} },
- .{ .name = "OutputVertices", .value = 26, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "OutputPoints", .value = 27, .parameters = &[_]OperandKind{} },
- .{ .name = "OutputLineStrip", .value = 28, .parameters = &[_]OperandKind{} },
- .{ .name = "OutputTriangleStrip", .value = 29, .parameters = &[_]OperandKind{} },
- .{ .name = "VecTypeHint", .value = 30, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "ContractionOff", .value = 31, .parameters = &[_]OperandKind{} },
- .{ .name = "Initializer", .value = 33, .parameters = &[_]OperandKind{} },
- .{ .name = "Finalizer", .value = 34, .parameters = &[_]OperandKind{} },
- .{ .name = "SubgroupSize", .value = 35, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "SubgroupsPerWorkgroup", .value = 36, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "SubgroupsPerWorkgroupId", .value = 37, .parameters = &[_]OperandKind{.IdRef} },
- .{ .name = "LocalSizeId", .value = 38, .parameters = &[_]OperandKind{ .IdRef, .IdRef, .IdRef } },
- .{ .name = "LocalSizeHintId", .value = 39, .parameters = &[_]OperandKind{ .IdRef, .IdRef, .IdRef } },
- .{ .name = "NonCoherentColorAttachmentReadEXT", .value = 4169, .parameters = &[_]OperandKind{} },
- .{ .name = "NonCoherentDepthAttachmentReadEXT", .value = 4170, .parameters = &[_]OperandKind{} },
- .{ .name = "NonCoherentStencilAttachmentReadEXT", .value = 4171, .parameters = &[_]OperandKind{} },
- .{ .name = "SubgroupUniformControlFlowKHR", .value = 4421, .parameters = &[_]OperandKind{} },
- .{ .name = "PostDepthCoverage", .value = 4446, .parameters = &[_]OperandKind{} },
- .{ .name = "DenormPreserve", .value = 4459, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "DenormFlushToZero", .value = 4460, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "SignedZeroInfNanPreserve", .value = 4461, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "RoundingModeRTE", .value = 4462, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "RoundingModeRTZ", .value = 4463, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "EarlyAndLateFragmentTestsAMD", .value = 5017, .parameters = &[_]OperandKind{} },
- .{ .name = "StencilRefReplacingEXT", .value = 5027, .parameters = &[_]OperandKind{} },
- .{ .name = "CoalescingAMDX", .value = 5069, .parameters = &[_]OperandKind{} },
- .{ .name = "MaxNodeRecursionAMDX", .value = 5071, .parameters = &[_]OperandKind{.IdRef} },
- .{ .name = "StaticNumWorkgroupsAMDX", .value = 5072, .parameters = &[_]OperandKind{ .IdRef, .IdRef, .IdRef } },
- .{ .name = "ShaderIndexAMDX", .value = 5073, .parameters = &[_]OperandKind{.IdRef} },
- .{ .name = "MaxNumWorkgroupsAMDX", .value = 5077, .parameters = &[_]OperandKind{ .IdRef, .IdRef, .IdRef } },
- .{ .name = "StencilRefUnchangedFrontAMD", .value = 5079, .parameters = &[_]OperandKind{} },
- .{ .name = "StencilRefGreaterFrontAMD", .value = 5080, .parameters = &[_]OperandKind{} },
- .{ .name = "StencilRefLessFrontAMD", .value = 5081, .parameters = &[_]OperandKind{} },
- .{ .name = "StencilRefUnchangedBackAMD", .value = 5082, .parameters = &[_]OperandKind{} },
- .{ .name = "StencilRefGreaterBackAMD", .value = 5083, .parameters = &[_]OperandKind{} },
- .{ .name = "StencilRefLessBackAMD", .value = 5084, .parameters = &[_]OperandKind{} },
- .{ .name = "QuadDerivativesKHR", .value = 5088, .parameters = &[_]OperandKind{} },
- .{ .name = "RequireFullQuadsKHR", .value = 5089, .parameters = &[_]OperandKind{} },
- .{ .name = "OutputLinesNV", .value = 5269, .parameters = &[_]OperandKind{} },
- .{ .name = "OutputLinesEXT", .value = 5269, .parameters = &[_]OperandKind{} },
- .{ .name = "OutputPrimitivesNV", .value = 5270, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "OutputPrimitivesEXT", .value = 5270, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "DerivativeGroupQuadsNV", .value = 5289, .parameters = &[_]OperandKind{} },
- .{ .name = "DerivativeGroupLinearNV", .value = 5290, .parameters = &[_]OperandKind{} },
- .{ .name = "OutputTrianglesNV", .value = 5298, .parameters = &[_]OperandKind{} },
- .{ .name = "OutputTrianglesEXT", .value = 5298, .parameters = &[_]OperandKind{} },
- .{ .name = "PixelInterlockOrderedEXT", .value = 5366, .parameters = &[_]OperandKind{} },
- .{ .name = "PixelInterlockUnorderedEXT", .value = 5367, .parameters = &[_]OperandKind{} },
- .{ .name = "SampleInterlockOrderedEXT", .value = 5368, .parameters = &[_]OperandKind{} },
- .{ .name = "SampleInterlockUnorderedEXT", .value = 5369, .parameters = &[_]OperandKind{} },
- .{ .name = "ShadingRateInterlockOrderedEXT", .value = 5370, .parameters = &[_]OperandKind{} },
- .{ .name = "ShadingRateInterlockUnorderedEXT", .value = 5371, .parameters = &[_]OperandKind{} },
- .{ .name = "SharedLocalMemorySizeINTEL", .value = 5618, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "RoundingModeRTPINTEL", .value = 5620, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "RoundingModeRTNINTEL", .value = 5621, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "FloatingPointModeALTINTEL", .value = 5622, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "FloatingPointModeIEEEINTEL", .value = 5623, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "MaxWorkgroupSizeINTEL", .value = 5893, .parameters = &[_]OperandKind{ .LiteralInteger, .LiteralInteger, .LiteralInteger } },
- .{ .name = "MaxWorkDimINTEL", .value = 5894, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "NoGlobalOffsetINTEL", .value = 5895, .parameters = &[_]OperandKind{} },
- .{ .name = "NumSIMDWorkitemsINTEL", .value = 5896, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "SchedulerTargetFmaxMhzINTEL", .value = 5903, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "MaximallyReconvergesKHR", .value = 6023, .parameters = &[_]OperandKind{} },
- .{ .name = "FPFastMathDefault", .value = 6028, .parameters = &[_]OperandKind{ .IdRef, .IdRef } },
- .{ .name = "StreamingInterfaceINTEL", .value = 6154, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "RegisterMapInterfaceINTEL", .value = 6160, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "NamedBarrierCountINTEL", .value = 6417, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "MaximumRegistersINTEL", .value = 6461, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "MaximumRegistersIdINTEL", .value = 6462, .parameters = &[_]OperandKind{.IdRef} },
- .{ .name = "NamedMaximumRegistersINTEL", .value = 6463, .parameters = &[_]OperandKind{.NamedMaximumNumberOfRegisters} },
+ .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 = &.{} },
},
- .StorageClass => &[_]Enumerant{
- .{ .name = "UniformConstant", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "Input", .value = 1, .parameters = &[_]OperandKind{} },
- .{ .name = "Uniform", .value = 2, .parameters = &[_]OperandKind{} },
- .{ .name = "Output", .value = 3, .parameters = &[_]OperandKind{} },
- .{ .name = "Workgroup", .value = 4, .parameters = &[_]OperandKind{} },
- .{ .name = "CrossWorkgroup", .value = 5, .parameters = &[_]OperandKind{} },
- .{ .name = "Private", .value = 6, .parameters = &[_]OperandKind{} },
- .{ .name = "Function", .value = 7, .parameters = &[_]OperandKind{} },
- .{ .name = "Generic", .value = 8, .parameters = &[_]OperandKind{} },
- .{ .name = "PushConstant", .value = 9, .parameters = &[_]OperandKind{} },
- .{ .name = "AtomicCounter", .value = 10, .parameters = &[_]OperandKind{} },
- .{ .name = "Image", .value = 11, .parameters = &[_]OperandKind{} },
- .{ .name = "StorageBuffer", .value = 12, .parameters = &[_]OperandKind{} },
- .{ .name = "TileImageEXT", .value = 4172, .parameters = &[_]OperandKind{} },
- .{ .name = "NodePayloadAMDX", .value = 5068, .parameters = &[_]OperandKind{} },
- .{ .name = "NodeOutputPayloadAMDX", .value = 5076, .parameters = &[_]OperandKind{} },
- .{ .name = "CallableDataNV", .value = 5328, .parameters = &[_]OperandKind{} },
- .{ .name = "CallableDataKHR", .value = 5328, .parameters = &[_]OperandKind{} },
- .{ .name = "IncomingCallableDataNV", .value = 5329, .parameters = &[_]OperandKind{} },
- .{ .name = "IncomingCallableDataKHR", .value = 5329, .parameters = &[_]OperandKind{} },
- .{ .name = "RayPayloadNV", .value = 5338, .parameters = &[_]OperandKind{} },
- .{ .name = "RayPayloadKHR", .value = 5338, .parameters = &[_]OperandKind{} },
- .{ .name = "HitAttributeNV", .value = 5339, .parameters = &[_]OperandKind{} },
- .{ .name = "HitAttributeKHR", .value = 5339, .parameters = &[_]OperandKind{} },
- .{ .name = "IncomingRayPayloadNV", .value = 5342, .parameters = &[_]OperandKind{} },
- .{ .name = "IncomingRayPayloadKHR", .value = 5342, .parameters = &[_]OperandKind{} },
- .{ .name = "ShaderRecordBufferNV", .value = 5343, .parameters = &[_]OperandKind{} },
- .{ .name = "ShaderRecordBufferKHR", .value = 5343, .parameters = &[_]OperandKind{} },
- .{ .name = "PhysicalStorageBuffer", .value = 5349, .parameters = &[_]OperandKind{} },
- .{ .name = "PhysicalStorageBufferEXT", .value = 5349, .parameters = &[_]OperandKind{} },
- .{ .name = "HitObjectAttributeNV", .value = 5385, .parameters = &[_]OperandKind{} },
- .{ .name = "TaskPayloadWorkgroupEXT", .value = 5402, .parameters = &[_]OperandKind{} },
- .{ .name = "CodeSectionINTEL", .value = 5605, .parameters = &[_]OperandKind{} },
- .{ .name = "DeviceOnlyINTEL", .value = 5936, .parameters = &[_]OperandKind{} },
- .{ .name = "HostOnlyINTEL", .value = 5937, .parameters = &[_]OperandKind{} },
+ .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 = &.{} },
},
- .Dim => &[_]Enumerant{
- .{ .name = "1D", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "2D", .value = 1, .parameters = &[_]OperandKind{} },
- .{ .name = "3D", .value = 2, .parameters = &[_]OperandKind{} },
- .{ .name = "Cube", .value = 3, .parameters = &[_]OperandKind{} },
- .{ .name = "Rect", .value = 4, .parameters = &[_]OperandKind{} },
- .{ .name = "Buffer", .value = 5, .parameters = &[_]OperandKind{} },
- .{ .name = "SubpassData", .value = 6, .parameters = &[_]OperandKind{} },
- .{ .name = "TileImageDataEXT", .value = 4173, .parameters = &[_]OperandKind{} },
+ .fp_rounding_mode => &.{
+ .{ .name = "RTE", .value = 0, .parameters = &.{} },
+ .{ .name = "RTZ", .value = 1, .parameters = &.{} },
+ .{ .name = "RTP", .value = 2, .parameters = &.{} },
+ .{ .name = "RTN", .value = 3, .parameters = &.{} },
},
- .SamplerAddressingMode => &[_]Enumerant{
- .{ .name = "None", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "ClampToEdge", .value = 1, .parameters = &[_]OperandKind{} },
- .{ .name = "Clamp", .value = 2, .parameters = &[_]OperandKind{} },
- .{ .name = "Repeat", .value = 3, .parameters = &[_]OperandKind{} },
- .{ .name = "RepeatMirrored", .value = 4, .parameters = &[_]OperandKind{} },
+ .fp_denorm_mode => &.{
+ .{ .name = "Preserve", .value = 0, .parameters = &.{} },
+ .{ .name = "FlushToZero", .value = 1, .parameters = &.{} },
},
- .SamplerFilterMode => &[_]Enumerant{
- .{ .name = "Nearest", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "Linear", .value = 1, .parameters = &[_]OperandKind{} },
+ .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 = &.{} },
},
- .ImageFormat => &[_]Enumerant{
- .{ .name = "Unknown", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "Rgba32f", .value = 1, .parameters = &[_]OperandKind{} },
- .{ .name = "Rgba16f", .value = 2, .parameters = &[_]OperandKind{} },
- .{ .name = "R32f", .value = 3, .parameters = &[_]OperandKind{} },
- .{ .name = "Rgba8", .value = 4, .parameters = &[_]OperandKind{} },
- .{ .name = "Rgba8Snorm", .value = 5, .parameters = &[_]OperandKind{} },
- .{ .name = "Rg32f", .value = 6, .parameters = &[_]OperandKind{} },
- .{ .name = "Rg16f", .value = 7, .parameters = &[_]OperandKind{} },
- .{ .name = "R11fG11fB10f", .value = 8, .parameters = &[_]OperandKind{} },
- .{ .name = "R16f", .value = 9, .parameters = &[_]OperandKind{} },
- .{ .name = "Rgba16", .value = 10, .parameters = &[_]OperandKind{} },
- .{ .name = "Rgb10A2", .value = 11, .parameters = &[_]OperandKind{} },
- .{ .name = "Rg16", .value = 12, .parameters = &[_]OperandKind{} },
- .{ .name = "Rg8", .value = 13, .parameters = &[_]OperandKind{} },
- .{ .name = "R16", .value = 14, .parameters = &[_]OperandKind{} },
- .{ .name = "R8", .value = 15, .parameters = &[_]OperandKind{} },
- .{ .name = "Rgba16Snorm", .value = 16, .parameters = &[_]OperandKind{} },
- .{ .name = "Rg16Snorm", .value = 17, .parameters = &[_]OperandKind{} },
- .{ .name = "Rg8Snorm", .value = 18, .parameters = &[_]OperandKind{} },
- .{ .name = "R16Snorm", .value = 19, .parameters = &[_]OperandKind{} },
- .{ .name = "R8Snorm", .value = 20, .parameters = &[_]OperandKind{} },
- .{ .name = "Rgba32i", .value = 21, .parameters = &[_]OperandKind{} },
- .{ .name = "Rgba16i", .value = 22, .parameters = &[_]OperandKind{} },
- .{ .name = "Rgba8i", .value = 23, .parameters = &[_]OperandKind{} },
- .{ .name = "R32i", .value = 24, .parameters = &[_]OperandKind{} },
- .{ .name = "Rg32i", .value = 25, .parameters = &[_]OperandKind{} },
- .{ .name = "Rg16i", .value = 26, .parameters = &[_]OperandKind{} },
- .{ .name = "Rg8i", .value = 27, .parameters = &[_]OperandKind{} },
- .{ .name = "R16i", .value = 28, .parameters = &[_]OperandKind{} },
- .{ .name = "R8i", .value = 29, .parameters = &[_]OperandKind{} },
- .{ .name = "Rgba32ui", .value = 30, .parameters = &[_]OperandKind{} },
- .{ .name = "Rgba16ui", .value = 31, .parameters = &[_]OperandKind{} },
- .{ .name = "Rgba8ui", .value = 32, .parameters = &[_]OperandKind{} },
- .{ .name = "R32ui", .value = 33, .parameters = &[_]OperandKind{} },
- .{ .name = "Rgb10a2ui", .value = 34, .parameters = &[_]OperandKind{} },
- .{ .name = "Rg32ui", .value = 35, .parameters = &[_]OperandKind{} },
- .{ .name = "Rg16ui", .value = 36, .parameters = &[_]OperandKind{} },
- .{ .name = "Rg8ui", .value = 37, .parameters = &[_]OperandKind{} },
- .{ .name = "R16ui", .value = 38, .parameters = &[_]OperandKind{} },
- .{ .name = "R8ui", .value = 39, .parameters = &[_]OperandKind{} },
- .{ .name = "R64ui", .value = 40, .parameters = &[_]OperandKind{} },
- .{ .name = "R64i", .value = 41, .parameters = &[_]OperandKind{} },
+ .fp_operation_mode => &.{
+ .{ .name = "IEEE", .value = 0, .parameters = &.{} },
+ .{ .name = "ALT", .value = 1, .parameters = &.{} },
},
- .ImageChannelOrder => &[_]Enumerant{
- .{ .name = "R", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "A", .value = 1, .parameters = &[_]OperandKind{} },
- .{ .name = "RG", .value = 2, .parameters = &[_]OperandKind{} },
- .{ .name = "RA", .value = 3, .parameters = &[_]OperandKind{} },
- .{ .name = "RGB", .value = 4, .parameters = &[_]OperandKind{} },
- .{ .name = "RGBA", .value = 5, .parameters = &[_]OperandKind{} },
- .{ .name = "BGRA", .value = 6, .parameters = &[_]OperandKind{} },
- .{ .name = "ARGB", .value = 7, .parameters = &[_]OperandKind{} },
- .{ .name = "Intensity", .value = 8, .parameters = &[_]OperandKind{} },
- .{ .name = "Luminance", .value = 9, .parameters = &[_]OperandKind{} },
- .{ .name = "Rx", .value = 10, .parameters = &[_]OperandKind{} },
- .{ .name = "RGx", .value = 11, .parameters = &[_]OperandKind{} },
- .{ .name = "RGBx", .value = 12, .parameters = &[_]OperandKind{} },
- .{ .name = "Depth", .value = 13, .parameters = &[_]OperandKind{} },
- .{ .name = "DepthStencil", .value = 14, .parameters = &[_]OperandKind{} },
- .{ .name = "sRGB", .value = 15, .parameters = &[_]OperandKind{} },
- .{ .name = "sRGBx", .value = 16, .parameters = &[_]OperandKind{} },
- .{ .name = "sRGBA", .value = 17, .parameters = &[_]OperandKind{} },
- .{ .name = "sBGRA", .value = 18, .parameters = &[_]OperandKind{} },
- .{ .name = "ABGR", .value = 19, .parameters = &[_]OperandKind{} },
+ .overflow_modes => &.{
+ .{ .name = "WRAP", .value = 0, .parameters = &.{} },
+ .{ .name = "SAT", .value = 1, .parameters = &.{} },
+ .{ .name = "SAT_ZERO", .value = 2, .parameters = &.{} },
+ .{ .name = "SAT_SYM", .value = 3, .parameters = &.{} },
},
- .ImageChannelDataType => &[_]Enumerant{
- .{ .name = "SnormInt8", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "SnormInt16", .value = 1, .parameters = &[_]OperandKind{} },
- .{ .name = "UnormInt8", .value = 2, .parameters = &[_]OperandKind{} },
- .{ .name = "UnormInt16", .value = 3, .parameters = &[_]OperandKind{} },
- .{ .name = "UnormShort565", .value = 4, .parameters = &[_]OperandKind{} },
- .{ .name = "UnormShort555", .value = 5, .parameters = &[_]OperandKind{} },
- .{ .name = "UnormInt101010", .value = 6, .parameters = &[_]OperandKind{} },
- .{ .name = "SignedInt8", .value = 7, .parameters = &[_]OperandKind{} },
- .{ .name = "SignedInt16", .value = 8, .parameters = &[_]OperandKind{} },
- .{ .name = "SignedInt32", .value = 9, .parameters = &[_]OperandKind{} },
- .{ .name = "UnsignedInt8", .value = 10, .parameters = &[_]OperandKind{} },
- .{ .name = "UnsignedInt16", .value = 11, .parameters = &[_]OperandKind{} },
- .{ .name = "UnsignedInt32", .value = 12, .parameters = &[_]OperandKind{} },
- .{ .name = "HalfFloat", .value = 13, .parameters = &[_]OperandKind{} },
- .{ .name = "Float", .value = 14, .parameters = &[_]OperandKind{} },
- .{ .name = "UnormInt24", .value = 15, .parameters = &[_]OperandKind{} },
- .{ .name = "UnormInt101010_2", .value = 16, .parameters = &[_]OperandKind{} },
- .{ .name = "UnsignedIntRaw10EXT", .value = 19, .parameters = &[_]OperandKind{} },
- .{ .name = "UnsignedIntRaw12EXT", .value = 20, .parameters = &[_]OperandKind{} },
+ .linkage_type => &.{
+ .{ .name = "Export", .value = 0, .parameters = &.{} },
+ .{ .name = "Import", .value = 1, .parameters = &.{} },
+ .{ .name = "LinkOnceODR", .value = 2, .parameters = &.{} },
},
- .FPRoundingMode => &[_]Enumerant{
- .{ .name = "RTE", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "RTZ", .value = 1, .parameters = &[_]OperandKind{} },
- .{ .name = "RTP", .value = 2, .parameters = &[_]OperandKind{} },
- .{ .name = "RTN", .value = 3, .parameters = &[_]OperandKind{} },
+ .access_qualifier => &.{
+ .{ .name = "ReadOnly", .value = 0, .parameters = &.{} },
+ .{ .name = "WriteOnly", .value = 1, .parameters = &.{} },
+ .{ .name = "ReadWrite", .value = 2, .parameters = &.{} },
},
- .FPDenormMode => &[_]Enumerant{
- .{ .name = "Preserve", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "FlushToZero", .value = 1, .parameters = &[_]OperandKind{} },
+ .host_access_qualifier => &.{
+ .{ .name = "NoneINTEL", .value = 0, .parameters = &.{} },
+ .{ .name = "ReadINTEL", .value = 1, .parameters = &.{} },
+ .{ .name = "WriteINTEL", .value = 2, .parameters = &.{} },
+ .{ .name = "ReadWriteINTEL", .value = 3, .parameters = &.{} },
},
- .QuantizationModes => &[_]Enumerant{
- .{ .name = "TRN", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "TRN_ZERO", .value = 1, .parameters = &[_]OperandKind{} },
- .{ .name = "RND", .value = 2, .parameters = &[_]OperandKind{} },
- .{ .name = "RND_ZERO", .value = 3, .parameters = &[_]OperandKind{} },
- .{ .name = "RND_INF", .value = 4, .parameters = &[_]OperandKind{} },
- .{ .name = "RND_MIN_INF", .value = 5, .parameters = &[_]OperandKind{} },
- .{ .name = "RND_CONV", .value = 6, .parameters = &[_]OperandKind{} },
- .{ .name = "RND_CONV_ODD", .value = 7, .parameters = &[_]OperandKind{} },
+ .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 = &.{} },
},
- .FPOperationMode => &[_]Enumerant{
- .{ .name = "IEEE", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "ALT", .value = 1, .parameters = &[_]OperandKind{} },
+ .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 } },
},
- .OverflowModes => &[_]Enumerant{
- .{ .name = "WRAP", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "SAT", .value = 1, .parameters = &[_]OperandKind{} },
- .{ .name = "SAT_ZERO", .value = 2, .parameters = &[_]OperandKind{} },
- .{ .name = "SAT_SYM", .value = 3, .parameters = &[_]OperandKind{} },
+ .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 = &.{} },
},
- .LinkageType => &[_]Enumerant{
- .{ .name = "Export", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "Import", .value = 1, .parameters = &[_]OperandKind{} },
- .{ .name = "LinkOnceODR", .value = 2, .parameters = &[_]OperandKind{} },
+ .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 = &.{} },
},
- .AccessQualifier => &[_]Enumerant{
- .{ .name = "ReadOnly", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "WriteOnly", .value = 1, .parameters = &[_]OperandKind{} },
- .{ .name = "ReadWrite", .value = 2, .parameters = &[_]OperandKind{} },
+ .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 = &.{} },
},
- .HostAccessQualifier => &[_]Enumerant{
- .{ .name = "NoneINTEL", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "ReadINTEL", .value = 1, .parameters = &[_]OperandKind{} },
- .{ .name = "WriteINTEL", .value = 2, .parameters = &[_]OperandKind{} },
- .{ .name = "ReadWriteINTEL", .value = 3, .parameters = &[_]OperandKind{} },
+ .kernel_enqueue_flags => &.{
+ .{ .name = "NoWait", .value = 0, .parameters = &.{} },
+ .{ .name = "WaitKernel", .value = 1, .parameters = &.{} },
+ .{ .name = "WaitWorkGroup", .value = 2, .parameters = &.{} },
},
- .FunctionParameterAttribute => &[_]Enumerant{
- .{ .name = "Zext", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "Sext", .value = 1, .parameters = &[_]OperandKind{} },
- .{ .name = "ByVal", .value = 2, .parameters = &[_]OperandKind{} },
- .{ .name = "Sret", .value = 3, .parameters = &[_]OperandKind{} },
- .{ .name = "NoAlias", .value = 4, .parameters = &[_]OperandKind{} },
- .{ .name = "NoCapture", .value = 5, .parameters = &[_]OperandKind{} },
- .{ .name = "NoWrite", .value = 6, .parameters = &[_]OperandKind{} },
- .{ .name = "NoReadWrite", .value = 7, .parameters = &[_]OperandKind{} },
- .{ .name = "RuntimeAlignedINTEL", .value = 5940, .parameters = &[_]OperandKind{} },
+ .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 = &.{} },
},
- .Decoration => &[_]Enumerant{
- .{ .name = "RelaxedPrecision", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "SpecId", .value = 1, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "Block", .value = 2, .parameters = &[_]OperandKind{} },
- .{ .name = "BufferBlock", .value = 3, .parameters = &[_]OperandKind{} },
- .{ .name = "RowMajor", .value = 4, .parameters = &[_]OperandKind{} },
- .{ .name = "ColMajor", .value = 5, .parameters = &[_]OperandKind{} },
- .{ .name = "ArrayStride", .value = 6, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "MatrixStride", .value = 7, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "GLSLShared", .value = 8, .parameters = &[_]OperandKind{} },
- .{ .name = "GLSLPacked", .value = 9, .parameters = &[_]OperandKind{} },
- .{ .name = "CPacked", .value = 10, .parameters = &[_]OperandKind{} },
- .{ .name = "BuiltIn", .value = 11, .parameters = &[_]OperandKind{.BuiltIn} },
- .{ .name = "NoPerspective", .value = 13, .parameters = &[_]OperandKind{} },
- .{ .name = "Flat", .value = 14, .parameters = &[_]OperandKind{} },
- .{ .name = "Patch", .value = 15, .parameters = &[_]OperandKind{} },
- .{ .name = "Centroid", .value = 16, .parameters = &[_]OperandKind{} },
- .{ .name = "Sample", .value = 17, .parameters = &[_]OperandKind{} },
- .{ .name = "Invariant", .value = 18, .parameters = &[_]OperandKind{} },
- .{ .name = "Restrict", .value = 19, .parameters = &[_]OperandKind{} },
- .{ .name = "Aliased", .value = 20, .parameters = &[_]OperandKind{} },
- .{ .name = "Volatile", .value = 21, .parameters = &[_]OperandKind{} },
- .{ .name = "Constant", .value = 22, .parameters = &[_]OperandKind{} },
- .{ .name = "Coherent", .value = 23, .parameters = &[_]OperandKind{} },
- .{ .name = "NonWritable", .value = 24, .parameters = &[_]OperandKind{} },
- .{ .name = "NonReadable", .value = 25, .parameters = &[_]OperandKind{} },
- .{ .name = "Uniform", .value = 26, .parameters = &[_]OperandKind{} },
- .{ .name = "UniformId", .value = 27, .parameters = &[_]OperandKind{.IdScope} },
- .{ .name = "SaturatedConversion", .value = 28, .parameters = &[_]OperandKind{} },
- .{ .name = "Stream", .value = 29, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "Location", .value = 30, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "Component", .value = 31, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "Index", .value = 32, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "Binding", .value = 33, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "DescriptorSet", .value = 34, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "Offset", .value = 35, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "XfbBuffer", .value = 36, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "XfbStride", .value = 37, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "FuncParamAttr", .value = 38, .parameters = &[_]OperandKind{.FunctionParameterAttribute} },
- .{ .name = "FPRoundingMode", .value = 39, .parameters = &[_]OperandKind{.FPRoundingMode} },
- .{ .name = "FPFastMathMode", .value = 40, .parameters = &[_]OperandKind{.FPFastMathMode} },
- .{ .name = "LinkageAttributes", .value = 41, .parameters = &[_]OperandKind{ .LiteralString, .LinkageType } },
- .{ .name = "NoContraction", .value = 42, .parameters = &[_]OperandKind{} },
- .{ .name = "InputAttachmentIndex", .value = 43, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "Alignment", .value = 44, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "MaxByteOffset", .value = 45, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "AlignmentId", .value = 46, .parameters = &[_]OperandKind{.IdRef} },
- .{ .name = "MaxByteOffsetId", .value = 47, .parameters = &[_]OperandKind{.IdRef} },
- .{ .name = "NoSignedWrap", .value = 4469, .parameters = &[_]OperandKind{} },
- .{ .name = "NoUnsignedWrap", .value = 4470, .parameters = &[_]OperandKind{} },
- .{ .name = "WeightTextureQCOM", .value = 4487, .parameters = &[_]OperandKind{} },
- .{ .name = "BlockMatchTextureQCOM", .value = 4488, .parameters = &[_]OperandKind{} },
- .{ .name = "BlockMatchSamplerQCOM", .value = 4499, .parameters = &[_]OperandKind{} },
- .{ .name = "ExplicitInterpAMD", .value = 4999, .parameters = &[_]OperandKind{} },
- .{ .name = "NodeSharesPayloadLimitsWithAMDX", .value = 5019, .parameters = &[_]OperandKind{.IdRef} },
- .{ .name = "NodeMaxPayloadsAMDX", .value = 5020, .parameters = &[_]OperandKind{.IdRef} },
- .{ .name = "TrackFinishWritingAMDX", .value = 5078, .parameters = &[_]OperandKind{} },
- .{ .name = "PayloadNodeNameAMDX", .value = 5091, .parameters = &[_]OperandKind{.LiteralString} },
- .{ .name = "OverrideCoverageNV", .value = 5248, .parameters = &[_]OperandKind{} },
- .{ .name = "PassthroughNV", .value = 5250, .parameters = &[_]OperandKind{} },
- .{ .name = "ViewportRelativeNV", .value = 5252, .parameters = &[_]OperandKind{} },
- .{ .name = "SecondaryViewportRelativeNV", .value = 5256, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "PerPrimitiveNV", .value = 5271, .parameters = &[_]OperandKind{} },
- .{ .name = "PerPrimitiveEXT", .value = 5271, .parameters = &[_]OperandKind{} },
- .{ .name = "PerViewNV", .value = 5272, .parameters = &[_]OperandKind{} },
- .{ .name = "PerTaskNV", .value = 5273, .parameters = &[_]OperandKind{} },
- .{ .name = "PerVertexKHR", .value = 5285, .parameters = &[_]OperandKind{} },
- .{ .name = "PerVertexNV", .value = 5285, .parameters = &[_]OperandKind{} },
- .{ .name = "NonUniform", .value = 5300, .parameters = &[_]OperandKind{} },
- .{ .name = "NonUniformEXT", .value = 5300, .parameters = &[_]OperandKind{} },
- .{ .name = "RestrictPointer", .value = 5355, .parameters = &[_]OperandKind{} },
- .{ .name = "RestrictPointerEXT", .value = 5355, .parameters = &[_]OperandKind{} },
- .{ .name = "AliasedPointer", .value = 5356, .parameters = &[_]OperandKind{} },
- .{ .name = "AliasedPointerEXT", .value = 5356, .parameters = &[_]OperandKind{} },
- .{ .name = "HitObjectShaderRecordBufferNV", .value = 5386, .parameters = &[_]OperandKind{} },
- .{ .name = "BindlessSamplerNV", .value = 5398, .parameters = &[_]OperandKind{} },
- .{ .name = "BindlessImageNV", .value = 5399, .parameters = &[_]OperandKind{} },
- .{ .name = "BoundSamplerNV", .value = 5400, .parameters = &[_]OperandKind{} },
- .{ .name = "BoundImageNV", .value = 5401, .parameters = &[_]OperandKind{} },
- .{ .name = "SIMTCallINTEL", .value = 5599, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "ReferencedIndirectlyINTEL", .value = 5602, .parameters = &[_]OperandKind{} },
- .{ .name = "ClobberINTEL", .value = 5607, .parameters = &[_]OperandKind{.LiteralString} },
- .{ .name = "SideEffectsINTEL", .value = 5608, .parameters = &[_]OperandKind{} },
- .{ .name = "VectorComputeVariableINTEL", .value = 5624, .parameters = &[_]OperandKind{} },
- .{ .name = "FuncParamIOKindINTEL", .value = 5625, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "VectorComputeFunctionINTEL", .value = 5626, .parameters = &[_]OperandKind{} },
- .{ .name = "StackCallINTEL", .value = 5627, .parameters = &[_]OperandKind{} },
- .{ .name = "GlobalVariableOffsetINTEL", .value = 5628, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "CounterBuffer", .value = 5634, .parameters = &[_]OperandKind{.IdRef} },
- .{ .name = "HlslCounterBufferGOOGLE", .value = 5634, .parameters = &[_]OperandKind{.IdRef} },
- .{ .name = "UserSemantic", .value = 5635, .parameters = &[_]OperandKind{.LiteralString} },
- .{ .name = "HlslSemanticGOOGLE", .value = 5635, .parameters = &[_]OperandKind{.LiteralString} },
- .{ .name = "UserTypeGOOGLE", .value = 5636, .parameters = &[_]OperandKind{.LiteralString} },
- .{ .name = "FunctionRoundingModeINTEL", .value = 5822, .parameters = &[_]OperandKind{ .LiteralInteger, .FPRoundingMode } },
- .{ .name = "FunctionDenormModeINTEL", .value = 5823, .parameters = &[_]OperandKind{ .LiteralInteger, .FPDenormMode } },
- .{ .name = "RegisterINTEL", .value = 5825, .parameters = &[_]OperandKind{} },
- .{ .name = "MemoryINTEL", .value = 5826, .parameters = &[_]OperandKind{.LiteralString} },
- .{ .name = "NumbanksINTEL", .value = 5827, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "BankwidthINTEL", .value = 5828, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "MaxPrivateCopiesINTEL", .value = 5829, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "SinglepumpINTEL", .value = 5830, .parameters = &[_]OperandKind{} },
- .{ .name = "DoublepumpINTEL", .value = 5831, .parameters = &[_]OperandKind{} },
- .{ .name = "MaxReplicatesINTEL", .value = 5832, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "SimpleDualPortINTEL", .value = 5833, .parameters = &[_]OperandKind{} },
- .{ .name = "MergeINTEL", .value = 5834, .parameters = &[_]OperandKind{ .LiteralString, .LiteralString } },
- .{ .name = "BankBitsINTEL", .value = 5835, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "ForcePow2DepthINTEL", .value = 5836, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "StridesizeINTEL", .value = 5883, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "WordsizeINTEL", .value = 5884, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "TrueDualPortINTEL", .value = 5885, .parameters = &[_]OperandKind{} },
- .{ .name = "BurstCoalesceINTEL", .value = 5899, .parameters = &[_]OperandKind{} },
- .{ .name = "CacheSizeINTEL", .value = 5900, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "DontStaticallyCoalesceINTEL", .value = 5901, .parameters = &[_]OperandKind{} },
- .{ .name = "PrefetchINTEL", .value = 5902, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "StallEnableINTEL", .value = 5905, .parameters = &[_]OperandKind{} },
- .{ .name = "FuseLoopsInFunctionINTEL", .value = 5907, .parameters = &[_]OperandKind{} },
- .{ .name = "MathOpDSPModeINTEL", .value = 5909, .parameters = &[_]OperandKind{ .LiteralInteger, .LiteralInteger } },
- .{ .name = "AliasScopeINTEL", .value = 5914, .parameters = &[_]OperandKind{.IdRef} },
- .{ .name = "NoAliasINTEL", .value = 5915, .parameters = &[_]OperandKind{.IdRef} },
- .{ .name = "InitiationIntervalINTEL", .value = 5917, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "MaxConcurrencyINTEL", .value = 5918, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "PipelineEnableINTEL", .value = 5919, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "BufferLocationINTEL", .value = 5921, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "IOPipeStorageINTEL", .value = 5944, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "FunctionFloatingPointModeINTEL", .value = 6080, .parameters = &[_]OperandKind{ .LiteralInteger, .FPOperationMode } },
- .{ .name = "SingleElementVectorINTEL", .value = 6085, .parameters = &[_]OperandKind{} },
- .{ .name = "VectorComputeCallableFunctionINTEL", .value = 6087, .parameters = &[_]OperandKind{} },
- .{ .name = "MediaBlockIOINTEL", .value = 6140, .parameters = &[_]OperandKind{} },
- .{ .name = "StallFreeINTEL", .value = 6151, .parameters = &[_]OperandKind{} },
- .{ .name = "FPMaxErrorDecorationINTEL", .value = 6170, .parameters = &[_]OperandKind{.LiteralFloat} },
- .{ .name = "LatencyControlLabelINTEL", .value = 6172, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "LatencyControlConstraintINTEL", .value = 6173, .parameters = &[_]OperandKind{ .LiteralInteger, .LiteralInteger, .LiteralInteger } },
- .{ .name = "ConduitKernelArgumentINTEL", .value = 6175, .parameters = &[_]OperandKind{} },
- .{ .name = "RegisterMapKernelArgumentINTEL", .value = 6176, .parameters = &[_]OperandKind{} },
- .{ .name = "MMHostInterfaceAddressWidthINTEL", .value = 6177, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "MMHostInterfaceDataWidthINTEL", .value = 6178, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "MMHostInterfaceLatencyINTEL", .value = 6179, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "MMHostInterfaceReadWriteModeINTEL", .value = 6180, .parameters = &[_]OperandKind{.AccessQualifier} },
- .{ .name = "MMHostInterfaceMaxBurstINTEL", .value = 6181, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "MMHostInterfaceWaitRequestINTEL", .value = 6182, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "StableKernelArgumentINTEL", .value = 6183, .parameters = &[_]OperandKind{} },
- .{ .name = "HostAccessINTEL", .value = 6188, .parameters = &[_]OperandKind{ .HostAccessQualifier, .LiteralString } },
- .{ .name = "InitModeINTEL", .value = 6190, .parameters = &[_]OperandKind{.InitializationModeQualifier} },
- .{ .name = "ImplementInRegisterMapINTEL", .value = 6191, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "CacheControlLoadINTEL", .value = 6442, .parameters = &[_]OperandKind{ .LiteralInteger, .LoadCacheControl } },
- .{ .name = "CacheControlStoreINTEL", .value = 6443, .parameters = &[_]OperandKind{ .LiteralInteger, .StoreCacheControl } },
+ .ray_query_intersection => &.{
+ .{ .name = "RayQueryCandidateIntersectionKHR", .value = 0, .parameters = &.{} },
+ .{ .name = "RayQueryCommittedIntersectionKHR", .value = 1, .parameters = &.{} },
},
- .BuiltIn => &[_]Enumerant{
- .{ .name = "Position", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "PointSize", .value = 1, .parameters = &[_]OperandKind{} },
- .{ .name = "ClipDistance", .value = 3, .parameters = &[_]OperandKind{} },
- .{ .name = "CullDistance", .value = 4, .parameters = &[_]OperandKind{} },
- .{ .name = "VertexId", .value = 5, .parameters = &[_]OperandKind{} },
- .{ .name = "InstanceId", .value = 6, .parameters = &[_]OperandKind{} },
- .{ .name = "PrimitiveId", .value = 7, .parameters = &[_]OperandKind{} },
- .{ .name = "InvocationId", .value = 8, .parameters = &[_]OperandKind{} },
- .{ .name = "Layer", .value = 9, .parameters = &[_]OperandKind{} },
- .{ .name = "ViewportIndex", .value = 10, .parameters = &[_]OperandKind{} },
- .{ .name = "TessLevelOuter", .value = 11, .parameters = &[_]OperandKind{} },
- .{ .name = "TessLevelInner", .value = 12, .parameters = &[_]OperandKind{} },
- .{ .name = "TessCoord", .value = 13, .parameters = &[_]OperandKind{} },
- .{ .name = "PatchVertices", .value = 14, .parameters = &[_]OperandKind{} },
- .{ .name = "FragCoord", .value = 15, .parameters = &[_]OperandKind{} },
- .{ .name = "PointCoord", .value = 16, .parameters = &[_]OperandKind{} },
- .{ .name = "FrontFacing", .value = 17, .parameters = &[_]OperandKind{} },
- .{ .name = "SampleId", .value = 18, .parameters = &[_]OperandKind{} },
- .{ .name = "SamplePosition", .value = 19, .parameters = &[_]OperandKind{} },
- .{ .name = "SampleMask", .value = 20, .parameters = &[_]OperandKind{} },
- .{ .name = "FragDepth", .value = 22, .parameters = &[_]OperandKind{} },
- .{ .name = "HelperInvocation", .value = 23, .parameters = &[_]OperandKind{} },
- .{ .name = "NumWorkgroups", .value = 24, .parameters = &[_]OperandKind{} },
- .{ .name = "WorkgroupSize", .value = 25, .parameters = &[_]OperandKind{} },
- .{ .name = "WorkgroupId", .value = 26, .parameters = &[_]OperandKind{} },
- .{ .name = "LocalInvocationId", .value = 27, .parameters = &[_]OperandKind{} },
- .{ .name = "GlobalInvocationId", .value = 28, .parameters = &[_]OperandKind{} },
- .{ .name = "LocalInvocationIndex", .value = 29, .parameters = &[_]OperandKind{} },
- .{ .name = "WorkDim", .value = 30, .parameters = &[_]OperandKind{} },
- .{ .name = "GlobalSize", .value = 31, .parameters = &[_]OperandKind{} },
- .{ .name = "EnqueuedWorkgroupSize", .value = 32, .parameters = &[_]OperandKind{} },
- .{ .name = "GlobalOffset", .value = 33, .parameters = &[_]OperandKind{} },
- .{ .name = "GlobalLinearId", .value = 34, .parameters = &[_]OperandKind{} },
- .{ .name = "SubgroupSize", .value = 36, .parameters = &[_]OperandKind{} },
- .{ .name = "SubgroupMaxSize", .value = 37, .parameters = &[_]OperandKind{} },
- .{ .name = "NumSubgroups", .value = 38, .parameters = &[_]OperandKind{} },
- .{ .name = "NumEnqueuedSubgroups", .value = 39, .parameters = &[_]OperandKind{} },
- .{ .name = "SubgroupId", .value = 40, .parameters = &[_]OperandKind{} },
- .{ .name = "SubgroupLocalInvocationId", .value = 41, .parameters = &[_]OperandKind{} },
- .{ .name = "VertexIndex", .value = 42, .parameters = &[_]OperandKind{} },
- .{ .name = "InstanceIndex", .value = 43, .parameters = &[_]OperandKind{} },
- .{ .name = "CoreIDARM", .value = 4160, .parameters = &[_]OperandKind{} },
- .{ .name = "CoreCountARM", .value = 4161, .parameters = &[_]OperandKind{} },
- .{ .name = "CoreMaxIDARM", .value = 4162, .parameters = &[_]OperandKind{} },
- .{ .name = "WarpIDARM", .value = 4163, .parameters = &[_]OperandKind{} },
- .{ .name = "WarpMaxIDARM", .value = 4164, .parameters = &[_]OperandKind{} },
- .{ .name = "SubgroupEqMask", .value = 4416, .parameters = &[_]OperandKind{} },
- .{ .name = "SubgroupEqMaskKHR", .value = 4416, .parameters = &[_]OperandKind{} },
- .{ .name = "SubgroupGeMask", .value = 4417, .parameters = &[_]OperandKind{} },
- .{ .name = "SubgroupGeMaskKHR", .value = 4417, .parameters = &[_]OperandKind{} },
- .{ .name = "SubgroupGtMask", .value = 4418, .parameters = &[_]OperandKind{} },
- .{ .name = "SubgroupGtMaskKHR", .value = 4418, .parameters = &[_]OperandKind{} },
- .{ .name = "SubgroupLeMask", .value = 4419, .parameters = &[_]OperandKind{} },
- .{ .name = "SubgroupLeMaskKHR", .value = 4419, .parameters = &[_]OperandKind{} },
- .{ .name = "SubgroupLtMask", .value = 4420, .parameters = &[_]OperandKind{} },
- .{ .name = "SubgroupLtMaskKHR", .value = 4420, .parameters = &[_]OperandKind{} },
- .{ .name = "BaseVertex", .value = 4424, .parameters = &[_]OperandKind{} },
- .{ .name = "BaseInstance", .value = 4425, .parameters = &[_]OperandKind{} },
- .{ .name = "DrawIndex", .value = 4426, .parameters = &[_]OperandKind{} },
- .{ .name = "PrimitiveShadingRateKHR", .value = 4432, .parameters = &[_]OperandKind{} },
- .{ .name = "DeviceIndex", .value = 4438, .parameters = &[_]OperandKind{} },
- .{ .name = "ViewIndex", .value = 4440, .parameters = &[_]OperandKind{} },
- .{ .name = "ShadingRateKHR", .value = 4444, .parameters = &[_]OperandKind{} },
- .{ .name = "BaryCoordNoPerspAMD", .value = 4992, .parameters = &[_]OperandKind{} },
- .{ .name = "BaryCoordNoPerspCentroidAMD", .value = 4993, .parameters = &[_]OperandKind{} },
- .{ .name = "BaryCoordNoPerspSampleAMD", .value = 4994, .parameters = &[_]OperandKind{} },
- .{ .name = "BaryCoordSmoothAMD", .value = 4995, .parameters = &[_]OperandKind{} },
- .{ .name = "BaryCoordSmoothCentroidAMD", .value = 4996, .parameters = &[_]OperandKind{} },
- .{ .name = "BaryCoordSmoothSampleAMD", .value = 4997, .parameters = &[_]OperandKind{} },
- .{ .name = "BaryCoordPullModelAMD", .value = 4998, .parameters = &[_]OperandKind{} },
- .{ .name = "FragStencilRefEXT", .value = 5014, .parameters = &[_]OperandKind{} },
- .{ .name = "CoalescedInputCountAMDX", .value = 5021, .parameters = &[_]OperandKind{} },
- .{ .name = "ShaderIndexAMDX", .value = 5073, .parameters = &[_]OperandKind{} },
- .{ .name = "ViewportMaskNV", .value = 5253, .parameters = &[_]OperandKind{} },
- .{ .name = "SecondaryPositionNV", .value = 5257, .parameters = &[_]OperandKind{} },
- .{ .name = "SecondaryViewportMaskNV", .value = 5258, .parameters = &[_]OperandKind{} },
- .{ .name = "PositionPerViewNV", .value = 5261, .parameters = &[_]OperandKind{} },
- .{ .name = "ViewportMaskPerViewNV", .value = 5262, .parameters = &[_]OperandKind{} },
- .{ .name = "FullyCoveredEXT", .value = 5264, .parameters = &[_]OperandKind{} },
- .{ .name = "TaskCountNV", .value = 5274, .parameters = &[_]OperandKind{} },
- .{ .name = "PrimitiveCountNV", .value = 5275, .parameters = &[_]OperandKind{} },
- .{ .name = "PrimitiveIndicesNV", .value = 5276, .parameters = &[_]OperandKind{} },
- .{ .name = "ClipDistancePerViewNV", .value = 5277, .parameters = &[_]OperandKind{} },
- .{ .name = "CullDistancePerViewNV", .value = 5278, .parameters = &[_]OperandKind{} },
- .{ .name = "LayerPerViewNV", .value = 5279, .parameters = &[_]OperandKind{} },
- .{ .name = "MeshViewCountNV", .value = 5280, .parameters = &[_]OperandKind{} },
- .{ .name = "MeshViewIndicesNV", .value = 5281, .parameters = &[_]OperandKind{} },
- .{ .name = "BaryCoordKHR", .value = 5286, .parameters = &[_]OperandKind{} },
- .{ .name = "BaryCoordNV", .value = 5286, .parameters = &[_]OperandKind{} },
- .{ .name = "BaryCoordNoPerspKHR", .value = 5287, .parameters = &[_]OperandKind{} },
- .{ .name = "BaryCoordNoPerspNV", .value = 5287, .parameters = &[_]OperandKind{} },
- .{ .name = "FragSizeEXT", .value = 5292, .parameters = &[_]OperandKind{} },
- .{ .name = "FragmentSizeNV", .value = 5292, .parameters = &[_]OperandKind{} },
- .{ .name = "FragInvocationCountEXT", .value = 5293, .parameters = &[_]OperandKind{} },
- .{ .name = "InvocationsPerPixelNV", .value = 5293, .parameters = &[_]OperandKind{} },
- .{ .name = "PrimitivePointIndicesEXT", .value = 5294, .parameters = &[_]OperandKind{} },
- .{ .name = "PrimitiveLineIndicesEXT", .value = 5295, .parameters = &[_]OperandKind{} },
- .{ .name = "PrimitiveTriangleIndicesEXT", .value = 5296, .parameters = &[_]OperandKind{} },
- .{ .name = "CullPrimitiveEXT", .value = 5299, .parameters = &[_]OperandKind{} },
- .{ .name = "LaunchIdNV", .value = 5319, .parameters = &[_]OperandKind{} },
- .{ .name = "LaunchIdKHR", .value = 5319, .parameters = &[_]OperandKind{} },
- .{ .name = "LaunchSizeNV", .value = 5320, .parameters = &[_]OperandKind{} },
- .{ .name = "LaunchSizeKHR", .value = 5320, .parameters = &[_]OperandKind{} },
- .{ .name = "WorldRayOriginNV", .value = 5321, .parameters = &[_]OperandKind{} },
- .{ .name = "WorldRayOriginKHR", .value = 5321, .parameters = &[_]OperandKind{} },
- .{ .name = "WorldRayDirectionNV", .value = 5322, .parameters = &[_]OperandKind{} },
- .{ .name = "WorldRayDirectionKHR", .value = 5322, .parameters = &[_]OperandKind{} },
- .{ .name = "ObjectRayOriginNV", .value = 5323, .parameters = &[_]OperandKind{} },
- .{ .name = "ObjectRayOriginKHR", .value = 5323, .parameters = &[_]OperandKind{} },
- .{ .name = "ObjectRayDirectionNV", .value = 5324, .parameters = &[_]OperandKind{} },
- .{ .name = "ObjectRayDirectionKHR", .value = 5324, .parameters = &[_]OperandKind{} },
- .{ .name = "RayTminNV", .value = 5325, .parameters = &[_]OperandKind{} },
- .{ .name = "RayTminKHR", .value = 5325, .parameters = &[_]OperandKind{} },
- .{ .name = "RayTmaxNV", .value = 5326, .parameters = &[_]OperandKind{} },
- .{ .name = "RayTmaxKHR", .value = 5326, .parameters = &[_]OperandKind{} },
- .{ .name = "InstanceCustomIndexNV", .value = 5327, .parameters = &[_]OperandKind{} },
- .{ .name = "InstanceCustomIndexKHR", .value = 5327, .parameters = &[_]OperandKind{} },
- .{ .name = "ObjectToWorldNV", .value = 5330, .parameters = &[_]OperandKind{} },
- .{ .name = "ObjectToWorldKHR", .value = 5330, .parameters = &[_]OperandKind{} },
- .{ .name = "WorldToObjectNV", .value = 5331, .parameters = &[_]OperandKind{} },
- .{ .name = "WorldToObjectKHR", .value = 5331, .parameters = &[_]OperandKind{} },
- .{ .name = "HitTNV", .value = 5332, .parameters = &[_]OperandKind{} },
- .{ .name = "HitKindNV", .value = 5333, .parameters = &[_]OperandKind{} },
- .{ .name = "HitKindKHR", .value = 5333, .parameters = &[_]OperandKind{} },
- .{ .name = "CurrentRayTimeNV", .value = 5334, .parameters = &[_]OperandKind{} },
- .{ .name = "HitTriangleVertexPositionsKHR", .value = 5335, .parameters = &[_]OperandKind{} },
- .{ .name = "HitMicroTriangleVertexPositionsNV", .value = 5337, .parameters = &[_]OperandKind{} },
- .{ .name = "HitMicroTriangleVertexBarycentricsNV", .value = 5344, .parameters = &[_]OperandKind{} },
- .{ .name = "IncomingRayFlagsNV", .value = 5351, .parameters = &[_]OperandKind{} },
- .{ .name = "IncomingRayFlagsKHR", .value = 5351, .parameters = &[_]OperandKind{} },
- .{ .name = "RayGeometryIndexKHR", .value = 5352, .parameters = &[_]OperandKind{} },
- .{ .name = "WarpsPerSMNV", .value = 5374, .parameters = &[_]OperandKind{} },
- .{ .name = "SMCountNV", .value = 5375, .parameters = &[_]OperandKind{} },
- .{ .name = "WarpIDNV", .value = 5376, .parameters = &[_]OperandKind{} },
- .{ .name = "SMIDNV", .value = 5377, .parameters = &[_]OperandKind{} },
- .{ .name = "HitKindFrontFacingMicroTriangleNV", .value = 5405, .parameters = &[_]OperandKind{} },
- .{ .name = "HitKindBackFacingMicroTriangleNV", .value = 5406, .parameters = &[_]OperandKind{} },
- .{ .name = "CullMaskKHR", .value = 6021, .parameters = &[_]OperandKind{} },
+ .ray_query_committed_intersection_type => &.{
+ .{ .name = "RayQueryCommittedIntersectionNoneKHR", .value = 0, .parameters = &.{} },
+ .{ .name = "RayQueryCommittedIntersectionTriangleKHR", .value = 1, .parameters = &.{} },
+ .{ .name = "RayQueryCommittedIntersectionGeneratedKHR", .value = 2, .parameters = &.{} },
},
- .Scope => &[_]Enumerant{
- .{ .name = "CrossDevice", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "Device", .value = 1, .parameters = &[_]OperandKind{} },
- .{ .name = "Workgroup", .value = 2, .parameters = &[_]OperandKind{} },
- .{ .name = "Subgroup", .value = 3, .parameters = &[_]OperandKind{} },
- .{ .name = "Invocation", .value = 4, .parameters = &[_]OperandKind{} },
- .{ .name = "QueueFamily", .value = 5, .parameters = &[_]OperandKind{} },
- .{ .name = "QueueFamilyKHR", .value = 5, .parameters = &[_]OperandKind{} },
- .{ .name = "ShaderCallKHR", .value = 6, .parameters = &[_]OperandKind{} },
+ .ray_query_candidate_intersection_type => &.{
+ .{ .name = "RayQueryCandidateIntersectionTriangleKHR", .value = 0, .parameters = &.{} },
+ .{ .name = "RayQueryCandidateIntersectionAABBKHR", .value = 1, .parameters = &.{} },
},
- .GroupOperation => &[_]Enumerant{
- .{ .name = "Reduce", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "InclusiveScan", .value = 1, .parameters = &[_]OperandKind{} },
- .{ .name = "ExclusiveScan", .value = 2, .parameters = &[_]OperandKind{} },
- .{ .name = "ClusteredReduce", .value = 3, .parameters = &[_]OperandKind{} },
- .{ .name = "PartitionedReduceNV", .value = 6, .parameters = &[_]OperandKind{} },
- .{ .name = "PartitionedInclusiveScanNV", .value = 7, .parameters = &[_]OperandKind{} },
- .{ .name = "PartitionedExclusiveScanNV", .value = 8, .parameters = &[_]OperandKind{} },
+ .packed_vector_format => &.{
+ .{ .name = "PackedVectorFormat4x8Bit", .value = 0, .parameters = &.{} },
},
- .KernelEnqueueFlags => &[_]Enumerant{
- .{ .name = "NoWait", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "WaitKernel", .value = 1, .parameters = &[_]OperandKind{} },
- .{ .name = "WaitWorkGroup", .value = 2, .parameters = &[_]OperandKind{} },
+ .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 = &.{} },
},
- .Capability => &[_]Enumerant{
- .{ .name = "Matrix", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "Shader", .value = 1, .parameters = &[_]OperandKind{} },
- .{ .name = "Geometry", .value = 2, .parameters = &[_]OperandKind{} },
- .{ .name = "Tessellation", .value = 3, .parameters = &[_]OperandKind{} },
- .{ .name = "Addresses", .value = 4, .parameters = &[_]OperandKind{} },
- .{ .name = "Linkage", .value = 5, .parameters = &[_]OperandKind{} },
- .{ .name = "Kernel", .value = 6, .parameters = &[_]OperandKind{} },
- .{ .name = "Vector16", .value = 7, .parameters = &[_]OperandKind{} },
- .{ .name = "Float16Buffer", .value = 8, .parameters = &[_]OperandKind{} },
- .{ .name = "Float16", .value = 9, .parameters = &[_]OperandKind{} },
- .{ .name = "Float64", .value = 10, .parameters = &[_]OperandKind{} },
- .{ .name = "Int64", .value = 11, .parameters = &[_]OperandKind{} },
- .{ .name = "Int64Atomics", .value = 12, .parameters = &[_]OperandKind{} },
- .{ .name = "ImageBasic", .value = 13, .parameters = &[_]OperandKind{} },
- .{ .name = "ImageReadWrite", .value = 14, .parameters = &[_]OperandKind{} },
- .{ .name = "ImageMipmap", .value = 15, .parameters = &[_]OperandKind{} },
- .{ .name = "Pipes", .value = 17, .parameters = &[_]OperandKind{} },
- .{ .name = "Groups", .value = 18, .parameters = &[_]OperandKind{} },
- .{ .name = "DeviceEnqueue", .value = 19, .parameters = &[_]OperandKind{} },
- .{ .name = "LiteralSampler", .value = 20, .parameters = &[_]OperandKind{} },
- .{ .name = "AtomicStorage", .value = 21, .parameters = &[_]OperandKind{} },
- .{ .name = "Int16", .value = 22, .parameters = &[_]OperandKind{} },
- .{ .name = "TessellationPointSize", .value = 23, .parameters = &[_]OperandKind{} },
- .{ .name = "GeometryPointSize", .value = 24, .parameters = &[_]OperandKind{} },
- .{ .name = "ImageGatherExtended", .value = 25, .parameters = &[_]OperandKind{} },
- .{ .name = "StorageImageMultisample", .value = 27, .parameters = &[_]OperandKind{} },
- .{ .name = "UniformBufferArrayDynamicIndexing", .value = 28, .parameters = &[_]OperandKind{} },
- .{ .name = "SampledImageArrayDynamicIndexing", .value = 29, .parameters = &[_]OperandKind{} },
- .{ .name = "StorageBufferArrayDynamicIndexing", .value = 30, .parameters = &[_]OperandKind{} },
- .{ .name = "StorageImageArrayDynamicIndexing", .value = 31, .parameters = &[_]OperandKind{} },
- .{ .name = "ClipDistance", .value = 32, .parameters = &[_]OperandKind{} },
- .{ .name = "CullDistance", .value = 33, .parameters = &[_]OperandKind{} },
- .{ .name = "ImageCubeArray", .value = 34, .parameters = &[_]OperandKind{} },
- .{ .name = "SampleRateShading", .value = 35, .parameters = &[_]OperandKind{} },
- .{ .name = "ImageRect", .value = 36, .parameters = &[_]OperandKind{} },
- .{ .name = "SampledRect", .value = 37, .parameters = &[_]OperandKind{} },
- .{ .name = "GenericPointer", .value = 38, .parameters = &[_]OperandKind{} },
- .{ .name = "Int8", .value = 39, .parameters = &[_]OperandKind{} },
- .{ .name = "InputAttachment", .value = 40, .parameters = &[_]OperandKind{} },
- .{ .name = "SparseResidency", .value = 41, .parameters = &[_]OperandKind{} },
- .{ .name = "MinLod", .value = 42, .parameters = &[_]OperandKind{} },
- .{ .name = "Sampled1D", .value = 43, .parameters = &[_]OperandKind{} },
- .{ .name = "Image1D", .value = 44, .parameters = &[_]OperandKind{} },
- .{ .name = "SampledCubeArray", .value = 45, .parameters = &[_]OperandKind{} },
- .{ .name = "SampledBuffer", .value = 46, .parameters = &[_]OperandKind{} },
- .{ .name = "ImageBuffer", .value = 47, .parameters = &[_]OperandKind{} },
- .{ .name = "ImageMSArray", .value = 48, .parameters = &[_]OperandKind{} },
- .{ .name = "StorageImageExtendedFormats", .value = 49, .parameters = &[_]OperandKind{} },
- .{ .name = "ImageQuery", .value = 50, .parameters = &[_]OperandKind{} },
- .{ .name = "DerivativeControl", .value = 51, .parameters = &[_]OperandKind{} },
- .{ .name = "InterpolationFunction", .value = 52, .parameters = &[_]OperandKind{} },
- .{ .name = "TransformFeedback", .value = 53, .parameters = &[_]OperandKind{} },
- .{ .name = "GeometryStreams", .value = 54, .parameters = &[_]OperandKind{} },
- .{ .name = "StorageImageReadWithoutFormat", .value = 55, .parameters = &[_]OperandKind{} },
- .{ .name = "StorageImageWriteWithoutFormat", .value = 56, .parameters = &[_]OperandKind{} },
- .{ .name = "MultiViewport", .value = 57, .parameters = &[_]OperandKind{} },
- .{ .name = "SubgroupDispatch", .value = 58, .parameters = &[_]OperandKind{} },
- .{ .name = "NamedBarrier", .value = 59, .parameters = &[_]OperandKind{} },
- .{ .name = "PipeStorage", .value = 60, .parameters = &[_]OperandKind{} },
- .{ .name = "GroupNonUniform", .value = 61, .parameters = &[_]OperandKind{} },
- .{ .name = "GroupNonUniformVote", .value = 62, .parameters = &[_]OperandKind{} },
- .{ .name = "GroupNonUniformArithmetic", .value = 63, .parameters = &[_]OperandKind{} },
- .{ .name = "GroupNonUniformBallot", .value = 64, .parameters = &[_]OperandKind{} },
- .{ .name = "GroupNonUniformShuffle", .value = 65, .parameters = &[_]OperandKind{} },
- .{ .name = "GroupNonUniformShuffleRelative", .value = 66, .parameters = &[_]OperandKind{} },
- .{ .name = "GroupNonUniformClustered", .value = 67, .parameters = &[_]OperandKind{} },
- .{ .name = "GroupNonUniformQuad", .value = 68, .parameters = &[_]OperandKind{} },
- .{ .name = "ShaderLayer", .value = 69, .parameters = &[_]OperandKind{} },
- .{ .name = "ShaderViewportIndex", .value = 70, .parameters = &[_]OperandKind{} },
- .{ .name = "UniformDecoration", .value = 71, .parameters = &[_]OperandKind{} },
- .{ .name = "CoreBuiltinsARM", .value = 4165, .parameters = &[_]OperandKind{} },
- .{ .name = "TileImageColorReadAccessEXT", .value = 4166, .parameters = &[_]OperandKind{} },
- .{ .name = "TileImageDepthReadAccessEXT", .value = 4167, .parameters = &[_]OperandKind{} },
- .{ .name = "TileImageStencilReadAccessEXT", .value = 4168, .parameters = &[_]OperandKind{} },
- .{ .name = "FragmentShadingRateKHR", .value = 4422, .parameters = &[_]OperandKind{} },
- .{ .name = "SubgroupBallotKHR", .value = 4423, .parameters = &[_]OperandKind{} },
- .{ .name = "DrawParameters", .value = 4427, .parameters = &[_]OperandKind{} },
- .{ .name = "WorkgroupMemoryExplicitLayoutKHR", .value = 4428, .parameters = &[_]OperandKind{} },
- .{ .name = "WorkgroupMemoryExplicitLayout8BitAccessKHR", .value = 4429, .parameters = &[_]OperandKind{} },
- .{ .name = "WorkgroupMemoryExplicitLayout16BitAccessKHR", .value = 4430, .parameters = &[_]OperandKind{} },
- .{ .name = "SubgroupVoteKHR", .value = 4431, .parameters = &[_]OperandKind{} },
- .{ .name = "StorageBuffer16BitAccess", .value = 4433, .parameters = &[_]OperandKind{} },
- .{ .name = "StorageUniformBufferBlock16", .value = 4433, .parameters = &[_]OperandKind{} },
- .{ .name = "UniformAndStorageBuffer16BitAccess", .value = 4434, .parameters = &[_]OperandKind{} },
- .{ .name = "StorageUniform16", .value = 4434, .parameters = &[_]OperandKind{} },
- .{ .name = "StoragePushConstant16", .value = 4435, .parameters = &[_]OperandKind{} },
- .{ .name = "StorageInputOutput16", .value = 4436, .parameters = &[_]OperandKind{} },
- .{ .name = "DeviceGroup", .value = 4437, .parameters = &[_]OperandKind{} },
- .{ .name = "MultiView", .value = 4439, .parameters = &[_]OperandKind{} },
- .{ .name = "VariablePointersStorageBuffer", .value = 4441, .parameters = &[_]OperandKind{} },
- .{ .name = "VariablePointers", .value = 4442, .parameters = &[_]OperandKind{} },
- .{ .name = "AtomicStorageOps", .value = 4445, .parameters = &[_]OperandKind{} },
- .{ .name = "SampleMaskPostDepthCoverage", .value = 4447, .parameters = &[_]OperandKind{} },
- .{ .name = "StorageBuffer8BitAccess", .value = 4448, .parameters = &[_]OperandKind{} },
- .{ .name = "UniformAndStorageBuffer8BitAccess", .value = 4449, .parameters = &[_]OperandKind{} },
- .{ .name = "StoragePushConstant8", .value = 4450, .parameters = &[_]OperandKind{} },
- .{ .name = "DenormPreserve", .value = 4464, .parameters = &[_]OperandKind{} },
- .{ .name = "DenormFlushToZero", .value = 4465, .parameters = &[_]OperandKind{} },
- .{ .name = "SignedZeroInfNanPreserve", .value = 4466, .parameters = &[_]OperandKind{} },
- .{ .name = "RoundingModeRTE", .value = 4467, .parameters = &[_]OperandKind{} },
- .{ .name = "RoundingModeRTZ", .value = 4468, .parameters = &[_]OperandKind{} },
- .{ .name = "RayQueryProvisionalKHR", .value = 4471, .parameters = &[_]OperandKind{} },
- .{ .name = "RayQueryKHR", .value = 4472, .parameters = &[_]OperandKind{} },
- .{ .name = "RayTraversalPrimitiveCullingKHR", .value = 4478, .parameters = &[_]OperandKind{} },
- .{ .name = "RayTracingKHR", .value = 4479, .parameters = &[_]OperandKind{} },
- .{ .name = "TextureSampleWeightedQCOM", .value = 4484, .parameters = &[_]OperandKind{} },
- .{ .name = "TextureBoxFilterQCOM", .value = 4485, .parameters = &[_]OperandKind{} },
- .{ .name = "TextureBlockMatchQCOM", .value = 4486, .parameters = &[_]OperandKind{} },
- .{ .name = "TextureBlockMatch2QCOM", .value = 4498, .parameters = &[_]OperandKind{} },
- .{ .name = "Float16ImageAMD", .value = 5008, .parameters = &[_]OperandKind{} },
- .{ .name = "ImageGatherBiasLodAMD", .value = 5009, .parameters = &[_]OperandKind{} },
- .{ .name = "FragmentMaskAMD", .value = 5010, .parameters = &[_]OperandKind{} },
- .{ .name = "StencilExportEXT", .value = 5013, .parameters = &[_]OperandKind{} },
- .{ .name = "ImageReadWriteLodAMD", .value = 5015, .parameters = &[_]OperandKind{} },
- .{ .name = "Int64ImageEXT", .value = 5016, .parameters = &[_]OperandKind{} },
- .{ .name = "ShaderClockKHR", .value = 5055, .parameters = &[_]OperandKind{} },
- .{ .name = "ShaderEnqueueAMDX", .value = 5067, .parameters = &[_]OperandKind{} },
- .{ .name = "QuadControlKHR", .value = 5087, .parameters = &[_]OperandKind{} },
- .{ .name = "SampleMaskOverrideCoverageNV", .value = 5249, .parameters = &[_]OperandKind{} },
- .{ .name = "GeometryShaderPassthroughNV", .value = 5251, .parameters = &[_]OperandKind{} },
- .{ .name = "ShaderViewportIndexLayerEXT", .value = 5254, .parameters = &[_]OperandKind{} },
- .{ .name = "ShaderViewportIndexLayerNV", .value = 5254, .parameters = &[_]OperandKind{} },
- .{ .name = "ShaderViewportMaskNV", .value = 5255, .parameters = &[_]OperandKind{} },
- .{ .name = "ShaderStereoViewNV", .value = 5259, .parameters = &[_]OperandKind{} },
- .{ .name = "PerViewAttributesNV", .value = 5260, .parameters = &[_]OperandKind{} },
- .{ .name = "FragmentFullyCoveredEXT", .value = 5265, .parameters = &[_]OperandKind{} },
- .{ .name = "MeshShadingNV", .value = 5266, .parameters = &[_]OperandKind{} },
- .{ .name = "ImageFootprintNV", .value = 5282, .parameters = &[_]OperandKind{} },
- .{ .name = "MeshShadingEXT", .value = 5283, .parameters = &[_]OperandKind{} },
- .{ .name = "FragmentBarycentricKHR", .value = 5284, .parameters = &[_]OperandKind{} },
- .{ .name = "FragmentBarycentricNV", .value = 5284, .parameters = &[_]OperandKind{} },
- .{ .name = "ComputeDerivativeGroupQuadsNV", .value = 5288, .parameters = &[_]OperandKind{} },
- .{ .name = "FragmentDensityEXT", .value = 5291, .parameters = &[_]OperandKind{} },
- .{ .name = "ShadingRateNV", .value = 5291, .parameters = &[_]OperandKind{} },
- .{ .name = "GroupNonUniformPartitionedNV", .value = 5297, .parameters = &[_]OperandKind{} },
- .{ .name = "ShaderNonUniform", .value = 5301, .parameters = &[_]OperandKind{} },
- .{ .name = "ShaderNonUniformEXT", .value = 5301, .parameters = &[_]OperandKind{} },
- .{ .name = "RuntimeDescriptorArray", .value = 5302, .parameters = &[_]OperandKind{} },
- .{ .name = "RuntimeDescriptorArrayEXT", .value = 5302, .parameters = &[_]OperandKind{} },
- .{ .name = "InputAttachmentArrayDynamicIndexing", .value = 5303, .parameters = &[_]OperandKind{} },
- .{ .name = "InputAttachmentArrayDynamicIndexingEXT", .value = 5303, .parameters = &[_]OperandKind{} },
- .{ .name = "UniformTexelBufferArrayDynamicIndexing", .value = 5304, .parameters = &[_]OperandKind{} },
- .{ .name = "UniformTexelBufferArrayDynamicIndexingEXT", .value = 5304, .parameters = &[_]OperandKind{} },
- .{ .name = "StorageTexelBufferArrayDynamicIndexing", .value = 5305, .parameters = &[_]OperandKind{} },
- .{ .name = "StorageTexelBufferArrayDynamicIndexingEXT", .value = 5305, .parameters = &[_]OperandKind{} },
- .{ .name = "UniformBufferArrayNonUniformIndexing", .value = 5306, .parameters = &[_]OperandKind{} },
- .{ .name = "UniformBufferArrayNonUniformIndexingEXT", .value = 5306, .parameters = &[_]OperandKind{} },
- .{ .name = "SampledImageArrayNonUniformIndexing", .value = 5307, .parameters = &[_]OperandKind{} },
- .{ .name = "SampledImageArrayNonUniformIndexingEXT", .value = 5307, .parameters = &[_]OperandKind{} },
- .{ .name = "StorageBufferArrayNonUniformIndexing", .value = 5308, .parameters = &[_]OperandKind{} },
- .{ .name = "StorageBufferArrayNonUniformIndexingEXT", .value = 5308, .parameters = &[_]OperandKind{} },
- .{ .name = "StorageImageArrayNonUniformIndexing", .value = 5309, .parameters = &[_]OperandKind{} },
- .{ .name = "StorageImageArrayNonUniformIndexingEXT", .value = 5309, .parameters = &[_]OperandKind{} },
- .{ .name = "InputAttachmentArrayNonUniformIndexing", .value = 5310, .parameters = &[_]OperandKind{} },
- .{ .name = "InputAttachmentArrayNonUniformIndexingEXT", .value = 5310, .parameters = &[_]OperandKind{} },
- .{ .name = "UniformTexelBufferArrayNonUniformIndexing", .value = 5311, .parameters = &[_]OperandKind{} },
- .{ .name = "UniformTexelBufferArrayNonUniformIndexingEXT", .value = 5311, .parameters = &[_]OperandKind{} },
- .{ .name = "StorageTexelBufferArrayNonUniformIndexing", .value = 5312, .parameters = &[_]OperandKind{} },
- .{ .name = "StorageTexelBufferArrayNonUniformIndexingEXT", .value = 5312, .parameters = &[_]OperandKind{} },
- .{ .name = "RayTracingPositionFetchKHR", .value = 5336, .parameters = &[_]OperandKind{} },
- .{ .name = "RayTracingNV", .value = 5340, .parameters = &[_]OperandKind{} },
- .{ .name = "RayTracingMotionBlurNV", .value = 5341, .parameters = &[_]OperandKind{} },
- .{ .name = "VulkanMemoryModel", .value = 5345, .parameters = &[_]OperandKind{} },
- .{ .name = "VulkanMemoryModelKHR", .value = 5345, .parameters = &[_]OperandKind{} },
- .{ .name = "VulkanMemoryModelDeviceScope", .value = 5346, .parameters = &[_]OperandKind{} },
- .{ .name = "VulkanMemoryModelDeviceScopeKHR", .value = 5346, .parameters = &[_]OperandKind{} },
- .{ .name = "PhysicalStorageBufferAddresses", .value = 5347, .parameters = &[_]OperandKind{} },
- .{ .name = "PhysicalStorageBufferAddressesEXT", .value = 5347, .parameters = &[_]OperandKind{} },
- .{ .name = "ComputeDerivativeGroupLinearNV", .value = 5350, .parameters = &[_]OperandKind{} },
- .{ .name = "RayTracingProvisionalKHR", .value = 5353, .parameters = &[_]OperandKind{} },
- .{ .name = "CooperativeMatrixNV", .value = 5357, .parameters = &[_]OperandKind{} },
- .{ .name = "FragmentShaderSampleInterlockEXT", .value = 5363, .parameters = &[_]OperandKind{} },
- .{ .name = "FragmentShaderShadingRateInterlockEXT", .value = 5372, .parameters = &[_]OperandKind{} },
- .{ .name = "ShaderSMBuiltinsNV", .value = 5373, .parameters = &[_]OperandKind{} },
- .{ .name = "FragmentShaderPixelInterlockEXT", .value = 5378, .parameters = &[_]OperandKind{} },
- .{ .name = "DemoteToHelperInvocation", .value = 5379, .parameters = &[_]OperandKind{} },
- .{ .name = "DemoteToHelperInvocationEXT", .value = 5379, .parameters = &[_]OperandKind{} },
- .{ .name = "DisplacementMicromapNV", .value = 5380, .parameters = &[_]OperandKind{} },
- .{ .name = "RayTracingOpacityMicromapEXT", .value = 5381, .parameters = &[_]OperandKind{} },
- .{ .name = "ShaderInvocationReorderNV", .value = 5383, .parameters = &[_]OperandKind{} },
- .{ .name = "BindlessTextureNV", .value = 5390, .parameters = &[_]OperandKind{} },
- .{ .name = "RayQueryPositionFetchKHR", .value = 5391, .parameters = &[_]OperandKind{} },
- .{ .name = "AtomicFloat16VectorNV", .value = 5404, .parameters = &[_]OperandKind{} },
- .{ .name = "RayTracingDisplacementMicromapNV", .value = 5409, .parameters = &[_]OperandKind{} },
- .{ .name = "RawAccessChainsNV", .value = 5414, .parameters = &[_]OperandKind{} },
- .{ .name = "SubgroupShuffleINTEL", .value = 5568, .parameters = &[_]OperandKind{} },
- .{ .name = "SubgroupBufferBlockIOINTEL", .value = 5569, .parameters = &[_]OperandKind{} },
- .{ .name = "SubgroupImageBlockIOINTEL", .value = 5570, .parameters = &[_]OperandKind{} },
- .{ .name = "SubgroupImageMediaBlockIOINTEL", .value = 5579, .parameters = &[_]OperandKind{} },
- .{ .name = "RoundToInfinityINTEL", .value = 5582, .parameters = &[_]OperandKind{} },
- .{ .name = "FloatingPointModeINTEL", .value = 5583, .parameters = &[_]OperandKind{} },
- .{ .name = "IntegerFunctions2INTEL", .value = 5584, .parameters = &[_]OperandKind{} },
- .{ .name = "FunctionPointersINTEL", .value = 5603, .parameters = &[_]OperandKind{} },
- .{ .name = "IndirectReferencesINTEL", .value = 5604, .parameters = &[_]OperandKind{} },
- .{ .name = "AsmINTEL", .value = 5606, .parameters = &[_]OperandKind{} },
- .{ .name = "AtomicFloat32MinMaxEXT", .value = 5612, .parameters = &[_]OperandKind{} },
- .{ .name = "AtomicFloat64MinMaxEXT", .value = 5613, .parameters = &[_]OperandKind{} },
- .{ .name = "AtomicFloat16MinMaxEXT", .value = 5616, .parameters = &[_]OperandKind{} },
- .{ .name = "VectorComputeINTEL", .value = 5617, .parameters = &[_]OperandKind{} },
- .{ .name = "VectorAnyINTEL", .value = 5619, .parameters = &[_]OperandKind{} },
- .{ .name = "ExpectAssumeKHR", .value = 5629, .parameters = &[_]OperandKind{} },
- .{ .name = "SubgroupAvcMotionEstimationINTEL", .value = 5696, .parameters = &[_]OperandKind{} },
- .{ .name = "SubgroupAvcMotionEstimationIntraINTEL", .value = 5697, .parameters = &[_]OperandKind{} },
- .{ .name = "SubgroupAvcMotionEstimationChromaINTEL", .value = 5698, .parameters = &[_]OperandKind{} },
- .{ .name = "VariableLengthArrayINTEL", .value = 5817, .parameters = &[_]OperandKind{} },
- .{ .name = "FunctionFloatControlINTEL", .value = 5821, .parameters = &[_]OperandKind{} },
- .{ .name = "FPGAMemoryAttributesINTEL", .value = 5824, .parameters = &[_]OperandKind{} },
- .{ .name = "FPFastMathModeINTEL", .value = 5837, .parameters = &[_]OperandKind{} },
- .{ .name = "ArbitraryPrecisionIntegersINTEL", .value = 5844, .parameters = &[_]OperandKind{} },
- .{ .name = "ArbitraryPrecisionFloatingPointINTEL", .value = 5845, .parameters = &[_]OperandKind{} },
- .{ .name = "UnstructuredLoopControlsINTEL", .value = 5886, .parameters = &[_]OperandKind{} },
- .{ .name = "FPGALoopControlsINTEL", .value = 5888, .parameters = &[_]OperandKind{} },
- .{ .name = "KernelAttributesINTEL", .value = 5892, .parameters = &[_]OperandKind{} },
- .{ .name = "FPGAKernelAttributesINTEL", .value = 5897, .parameters = &[_]OperandKind{} },
- .{ .name = "FPGAMemoryAccessesINTEL", .value = 5898, .parameters = &[_]OperandKind{} },
- .{ .name = "FPGAClusterAttributesINTEL", .value = 5904, .parameters = &[_]OperandKind{} },
- .{ .name = "LoopFuseINTEL", .value = 5906, .parameters = &[_]OperandKind{} },
- .{ .name = "FPGADSPControlINTEL", .value = 5908, .parameters = &[_]OperandKind{} },
- .{ .name = "MemoryAccessAliasingINTEL", .value = 5910, .parameters = &[_]OperandKind{} },
- .{ .name = "FPGAInvocationPipeliningAttributesINTEL", .value = 5916, .parameters = &[_]OperandKind{} },
- .{ .name = "FPGABufferLocationINTEL", .value = 5920, .parameters = &[_]OperandKind{} },
- .{ .name = "ArbitraryPrecisionFixedPointINTEL", .value = 5922, .parameters = &[_]OperandKind{} },
- .{ .name = "USMStorageClassesINTEL", .value = 5935, .parameters = &[_]OperandKind{} },
- .{ .name = "RuntimeAlignedAttributeINTEL", .value = 5939, .parameters = &[_]OperandKind{} },
- .{ .name = "IOPipesINTEL", .value = 5943, .parameters = &[_]OperandKind{} },
- .{ .name = "BlockingPipesINTEL", .value = 5945, .parameters = &[_]OperandKind{} },
- .{ .name = "FPGARegINTEL", .value = 5948, .parameters = &[_]OperandKind{} },
- .{ .name = "DotProductInputAll", .value = 6016, .parameters = &[_]OperandKind{} },
- .{ .name = "DotProductInputAllKHR", .value = 6016, .parameters = &[_]OperandKind{} },
- .{ .name = "DotProductInput4x8Bit", .value = 6017, .parameters = &[_]OperandKind{} },
- .{ .name = "DotProductInput4x8BitKHR", .value = 6017, .parameters = &[_]OperandKind{} },
- .{ .name = "DotProductInput4x8BitPacked", .value = 6018, .parameters = &[_]OperandKind{} },
- .{ .name = "DotProductInput4x8BitPackedKHR", .value = 6018, .parameters = &[_]OperandKind{} },
- .{ .name = "DotProduct", .value = 6019, .parameters = &[_]OperandKind{} },
- .{ .name = "DotProductKHR", .value = 6019, .parameters = &[_]OperandKind{} },
- .{ .name = "RayCullMaskKHR", .value = 6020, .parameters = &[_]OperandKind{} },
- .{ .name = "CooperativeMatrixKHR", .value = 6022, .parameters = &[_]OperandKind{} },
- .{ .name = "BitInstructions", .value = 6025, .parameters = &[_]OperandKind{} },
- .{ .name = "GroupNonUniformRotateKHR", .value = 6026, .parameters = &[_]OperandKind{} },
- .{ .name = "FloatControls2", .value = 6029, .parameters = &[_]OperandKind{} },
- .{ .name = "AtomicFloat32AddEXT", .value = 6033, .parameters = &[_]OperandKind{} },
- .{ .name = "AtomicFloat64AddEXT", .value = 6034, .parameters = &[_]OperandKind{} },
- .{ .name = "LongCompositesINTEL", .value = 6089, .parameters = &[_]OperandKind{} },
- .{ .name = "OptNoneINTEL", .value = 6094, .parameters = &[_]OperandKind{} },
- .{ .name = "AtomicFloat16AddEXT", .value = 6095, .parameters = &[_]OperandKind{} },
- .{ .name = "DebugInfoModuleINTEL", .value = 6114, .parameters = &[_]OperandKind{} },
- .{ .name = "BFloat16ConversionINTEL", .value = 6115, .parameters = &[_]OperandKind{} },
- .{ .name = "SplitBarrierINTEL", .value = 6141, .parameters = &[_]OperandKind{} },
- .{ .name = "FPGAClusterAttributesV2INTEL", .value = 6150, .parameters = &[_]OperandKind{} },
- .{ .name = "FPGAKernelAttributesv2INTEL", .value = 6161, .parameters = &[_]OperandKind{} },
- .{ .name = "FPMaxErrorINTEL", .value = 6169, .parameters = &[_]OperandKind{} },
- .{ .name = "FPGALatencyControlINTEL", .value = 6171, .parameters = &[_]OperandKind{} },
- .{ .name = "FPGAArgumentInterfacesINTEL", .value = 6174, .parameters = &[_]OperandKind{} },
- .{ .name = "GlobalVariableHostAccessINTEL", .value = 6187, .parameters = &[_]OperandKind{} },
- .{ .name = "GlobalVariableFPGADecorationsINTEL", .value = 6189, .parameters = &[_]OperandKind{} },
- .{ .name = "GroupUniformArithmeticKHR", .value = 6400, .parameters = &[_]OperandKind{} },
- .{ .name = "MaskedGatherScatterINTEL", .value = 6427, .parameters = &[_]OperandKind{} },
- .{ .name = "CacheControlsINTEL", .value = 6441, .parameters = &[_]OperandKind{} },
- .{ .name = "RegisterLimitsINTEL", .value = 6460, .parameters = &[_]OperandKind{} },
+ .cooperative_matrix_layout => &.{
+ .{ .name = "RowMajorKHR", .value = 0, .parameters = &.{} },
+ .{ .name = "ColumnMajorKHR", .value = 1, .parameters = &.{} },
+ .{ .name = "RowBlockedInterleavedARM", .value = 4202, .parameters = &.{} },
+ .{ .name = "ColumnBlockedInterleavedARM", .value = 4203, .parameters = &.{} },
},
- .RayQueryIntersection => &[_]Enumerant{
- .{ .name = "RayQueryCandidateIntersectionKHR", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "RayQueryCommittedIntersectionKHR", .value = 1, .parameters = &[_]OperandKind{} },
+ .cooperative_matrix_use => &.{
+ .{ .name = "MatrixAKHR", .value = 0, .parameters = &.{} },
+ .{ .name = "MatrixBKHR", .value = 1, .parameters = &.{} },
+ .{ .name = "MatrixAccumulatorKHR", .value = 2, .parameters = &.{} },
},
- .RayQueryCommittedIntersectionType => &[_]Enumerant{
- .{ .name = "RayQueryCommittedIntersectionNoneKHR", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "RayQueryCommittedIntersectionTriangleKHR", .value = 1, .parameters = &[_]OperandKind{} },
- .{ .name = "RayQueryCommittedIntersectionGeneratedKHR", .value = 2, .parameters = &[_]OperandKind{} },
+ .cooperative_matrix_reduce => &.{
+ .{ .name = "Row", .value = 0x0001, .parameters = &.{} },
+ .{ .name = "Column", .value = 0x0002, .parameters = &.{} },
+ .{ .name = "2x2", .value = 0x0004, .parameters = &.{} },
},
- .RayQueryCandidateIntersectionType => &[_]Enumerant{
- .{ .name = "RayQueryCandidateIntersectionTriangleKHR", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "RayQueryCandidateIntersectionAABBKHR", .value = 1, .parameters = &[_]OperandKind{} },
+ .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 = &.{} },
},
- .PackedVectorFormat => &[_]Enumerant{
- .{ .name = "PackedVectorFormat4x8Bit", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "PackedVectorFormat4x8BitKHR", .value = 0, .parameters = &[_]OperandKind{} },
+ .tensor_addressing_operands => &.{
+ .{ .name = "TensorView", .value = 0x0001, .parameters = &.{.id_ref} },
+ .{ .name = "DecodeFunc", .value = 0x0002, .parameters = &.{.id_ref} },
},
- .CooperativeMatrixOperands => &[_]Enumerant{
- .{ .name = "NoneKHR", .value = 0x0000, .parameters = &[_]OperandKind{} },
- .{ .name = "MatrixASignedComponentsKHR", .value = 0x0001, .parameters = &[_]OperandKind{} },
- .{ .name = "MatrixBSignedComponentsKHR", .value = 0x0002, .parameters = &[_]OperandKind{} },
- .{ .name = "MatrixCSignedComponentsKHR", .value = 0x0004, .parameters = &[_]OperandKind{} },
- .{ .name = "MatrixResultSignedComponentsKHR", .value = 0x0008, .parameters = &[_]OperandKind{} },
- .{ .name = "SaturatingAccumulationKHR", .value = 0x0010, .parameters = &[_]OperandKind{} },
+ .initialization_mode_qualifier => &.{
+ .{ .name = "InitOnDeviceReprogramINTEL", .value = 0, .parameters = &.{} },
+ .{ .name = "InitOnDeviceResetINTEL", .value = 1, .parameters = &.{} },
},
- .CooperativeMatrixLayout => &[_]Enumerant{
- .{ .name = "RowMajorKHR", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "ColumnMajorKHR", .value = 1, .parameters = &[_]OperandKind{} },
+ .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 = &.{} },
},
- .CooperativeMatrixUse => &[_]Enumerant{
- .{ .name = "MatrixAKHR", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "MatrixBKHR", .value = 1, .parameters = &[_]OperandKind{} },
- .{ .name = "MatrixAccumulatorKHR", .value = 2, .parameters = &[_]OperandKind{} },
+ .store_cache_control => &.{
+ .{ .name = "UncachedINTEL", .value = 0, .parameters = &.{} },
+ .{ .name = "WriteThroughINTEL", .value = 1, .parameters = &.{} },
+ .{ .name = "WriteBackINTEL", .value = 2, .parameters = &.{} },
+ .{ .name = "StreamingINTEL", .value = 3, .parameters = &.{} },
},
- .InitializationModeQualifier => &[_]Enumerant{
- .{ .name = "InitOnDeviceReprogramINTEL", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "InitOnDeviceResetINTEL", .value = 1, .parameters = &[_]OperandKind{} },
+ .named_maximum_number_of_registers => &.{
+ .{ .name = "AutoINTEL", .value = 0, .parameters = &.{} },
},
- .LoadCacheControl => &[_]Enumerant{
- .{ .name = "UncachedINTEL", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "CachedINTEL", .value = 1, .parameters = &[_]OperandKind{} },
- .{ .name = "StreamingINTEL", .value = 2, .parameters = &[_]OperandKind{} },
- .{ .name = "InvalidateAfterReadINTEL", .value = 3, .parameters = &[_]OperandKind{} },
- .{ .name = "ConstCachedINTEL", .value = 4, .parameters = &[_]OperandKind{} },
+ .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 = &.{} },
},
- .StoreCacheControl => &[_]Enumerant{
- .{ .name = "UncachedINTEL", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "WriteThroughINTEL", .value = 1, .parameters = &[_]OperandKind{} },
- .{ .name = "WriteBackINTEL", .value = 2, .parameters = &[_]OperandKind{} },
- .{ .name = "StreamingINTEL", .value = 3, .parameters = &[_]OperandKind{} },
+ .fp_encoding => &.{
+ .{ .name = "BFloat16KHR", .value = 0, .parameters = &.{} },
+ .{ .name = "Float8E4M3EXT", .value = 4214, .parameters = &.{} },
+ .{ .name = "Float8E5M2EXT", .value = 4215, .parameters = &.{} },
},
- .NamedMaximumNumberOfRegisters => &[_]Enumerant{
- .{ .name = "AutoINTEL", .value = 0, .parameters = &[_]OperandKind{} },
+ .cooperative_vector_matrix_layout => &.{
+ .{ .name = "RowMajorNV", .value = 0, .parameters = &.{} },
+ .{ .name = "ColumnMajorNV", .value = 1, .parameters = &.{} },
+ .{ .name = "InferencingOptimalNV", .value = 2, .parameters = &.{} },
+ .{ .name = "TrainingOptimalNV", .value = 3, .parameters = &.{} },
},
- .IdResultType => unreachable,
- .IdResult => unreachable,
- .IdMemorySemantics => unreachable,
- .IdScope => unreachable,
- .IdRef => unreachable,
- .LiteralInteger => unreachable,
- .LiteralString => unreachable,
- .LiteralFloat => unreachable,
- .LiteralContextDependentNumber => unreachable,
- .LiteralExtInstInteger => unreachable,
- .LiteralSpecConstantOpInteger => unreachable,
- .PairLiteralIntegerIdRef => unreachable,
- .PairIdRefLiteralInteger => unreachable,
- .PairIdRefIdRef => unreachable,
- .@"OpenCL.DebugInfo.100.DebugInfoFlags" => &[_]Enumerant{
- .{ .name = "FlagIsProtected", .value = 0x01, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagIsPrivate", .value = 0x02, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagIsPublic", .value = 0x03, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagIsLocal", .value = 0x04, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagIsDefinition", .value = 0x08, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagFwdDecl", .value = 0x10, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagArtificial", .value = 0x20, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagExplicit", .value = 0x40, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagPrototyped", .value = 0x80, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagObjectPointer", .value = 0x100, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagStaticMember", .value = 0x200, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagIndirectVariable", .value = 0x400, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagLValueReference", .value = 0x800, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagRValueReference", .value = 0x1000, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagIsOptimized", .value = 0x2000, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagIsEnumClass", .value = 0x4000, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagTypePassByValue", .value = 0x8000, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagTypePassByReference", .value = 0x10000, .parameters = &[_]OperandKind{} },
+ .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 = &.{} },
},
- .@"OpenCL.DebugInfo.100.DebugBaseTypeAttributeEncoding" => &[_]Enumerant{
- .{ .name = "Unspecified", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "Address", .value = 1, .parameters = &[_]OperandKind{} },
- .{ .name = "Boolean", .value = 2, .parameters = &[_]OperandKind{} },
- .{ .name = "Float", .value = 3, .parameters = &[_]OperandKind{} },
- .{ .name = "Signed", .value = 4, .parameters = &[_]OperandKind{} },
- .{ .name = "SignedChar", .value = 5, .parameters = &[_]OperandKind{} },
- .{ .name = "Unsigned", .value = 6, .parameters = &[_]OperandKind{} },
- .{ .name = "UnsignedChar", .value = 7, .parameters = &[_]OperandKind{} },
+ .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 = &.{} },
},
- .@"OpenCL.DebugInfo.100.DebugCompositeType" => &[_]Enumerant{
- .{ .name = "Class", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "Structure", .value = 1, .parameters = &[_]OperandKind{} },
- .{ .name = "Union", .value = 2, .parameters = &[_]OperandKind{} },
+ .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 = &.{} },
},
- .@"OpenCL.DebugInfo.100.DebugTypeQualifier" => &[_]Enumerant{
- .{ .name = "ConstType", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "VolatileType", .value = 1, .parameters = &[_]OperandKind{} },
- .{ .name = "RestrictType", .value = 2, .parameters = &[_]OperandKind{} },
- .{ .name = "AtomicType", .value = 3, .parameters = &[_]OperandKind{} },
+ .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 = &.{} },
},
- .@"OpenCL.DebugInfo.100.DebugOperation" => &[_]Enumerant{
- .{ .name = "Deref", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "Plus", .value = 1, .parameters = &[_]OperandKind{} },
- .{ .name = "Minus", .value = 2, .parameters = &[_]OperandKind{} },
- .{ .name = "PlusUconst", .value = 3, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "BitPiece", .value = 4, .parameters = &[_]OperandKind{ .LiteralInteger, .LiteralInteger } },
- .{ .name = "Swap", .value = 5, .parameters = &[_]OperandKind{} },
- .{ .name = "Xderef", .value = 6, .parameters = &[_]OperandKind{} },
- .{ .name = "StackValue", .value = 7, .parameters = &[_]OperandKind{} },
- .{ .name = "Constu", .value = 8, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "Fragment", .value = 9, .parameters = &[_]OperandKind{ .LiteralInteger, .LiteralInteger } },
+ .debug_info_debug_composite_type => &.{
+ .{ .name = "Class", .value = 0, .parameters = &.{} },
+ .{ .name = "Structure", .value = 1, .parameters = &.{} },
+ .{ .name = "Union", .value = 2, .parameters = &.{} },
},
- .@"OpenCL.DebugInfo.100.DebugImportedEntity" => &[_]Enumerant{
- .{ .name = "ImportedModule", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "ImportedDeclaration", .value = 1, .parameters = &[_]OperandKind{} },
+ .debug_info_debug_type_qualifier => &.{
+ .{ .name = "ConstType", .value = 0, .parameters = &.{} },
+ .{ .name = "VolatileType", .value = 1, .parameters = &.{} },
+ .{ .name = "RestrictType", .value = 2, .parameters = &.{} },
},
- .@"NonSemantic.Shader.DebugInfo.100.DebugInfoFlags" => &[_]Enumerant{
- .{ .name = "FlagIsProtected", .value = 0x01, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagIsPrivate", .value = 0x02, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagIsPublic", .value = 0x03, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagIsLocal", .value = 0x04, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagIsDefinition", .value = 0x08, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagFwdDecl", .value = 0x10, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagArtificial", .value = 0x20, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagExplicit", .value = 0x40, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagPrototyped", .value = 0x80, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagObjectPointer", .value = 0x100, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagStaticMember", .value = 0x200, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagIndirectVariable", .value = 0x400, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagLValueReference", .value = 0x800, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagRValueReference", .value = 0x1000, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagIsOptimized", .value = 0x2000, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagIsEnumClass", .value = 0x4000, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagTypePassByValue", .value = 0x8000, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagTypePassByReference", .value = 0x10000, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagUnknownPhysicalLayout", .value = 0x20000, .parameters = &[_]OperandKind{} },
+ .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} },
},
- .@"NonSemantic.Shader.DebugInfo.100.BuildIdentifierFlags" => &[_]Enumerant{
- .{ .name = "IdentifierPossibleDuplicates", .value = 0x01, .parameters = &[_]OperandKind{} },
+ .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 = &.{} },
},
- .@"NonSemantic.Shader.DebugInfo.100.DebugBaseTypeAttributeEncoding" => &[_]Enumerant{
- .{ .name = "Unspecified", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "Address", .value = 1, .parameters = &[_]OperandKind{} },
- .{ .name = "Boolean", .value = 2, .parameters = &[_]OperandKind{} },
- .{ .name = "Float", .value = 3, .parameters = &[_]OperandKind{} },
- .{ .name = "Signed", .value = 4, .parameters = &[_]OperandKind{} },
- .{ .name = "SignedChar", .value = 5, .parameters = &[_]OperandKind{} },
- .{ .name = "Unsigned", .value = 6, .parameters = &[_]OperandKind{} },
- .{ .name = "UnsignedChar", .value = 7, .parameters = &[_]OperandKind{} },
+ .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 = &.{} },
},
- .@"NonSemantic.Shader.DebugInfo.100.DebugCompositeType" => &[_]Enumerant{
- .{ .name = "Class", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "Structure", .value = 1, .parameters = &[_]OperandKind{} },
- .{ .name = "Union", .value = 2, .parameters = &[_]OperandKind{} },
+ .open_cl_debug_info_100_debug_composite_type => &.{
+ .{ .name = "Class", .value = 0, .parameters = &.{} },
+ .{ .name = "Structure", .value = 1, .parameters = &.{} },
+ .{ .name = "Union", .value = 2, .parameters = &.{} },
},
- .@"NonSemantic.Shader.DebugInfo.100.DebugTypeQualifier" => &[_]Enumerant{
- .{ .name = "ConstType", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "VolatileType", .value = 1, .parameters = &[_]OperandKind{} },
- .{ .name = "RestrictType", .value = 2, .parameters = &[_]OperandKind{} },
- .{ .name = "AtomicType", .value = 3, .parameters = &[_]OperandKind{} },
+ .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 = &.{} },
},
- .@"NonSemantic.Shader.DebugInfo.100.DebugOperation" => &[_]Enumerant{
- .{ .name = "Deref", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "Plus", .value = 1, .parameters = &[_]OperandKind{} },
- .{ .name = "Minus", .value = 2, .parameters = &[_]OperandKind{} },
- .{ .name = "PlusUconst", .value = 3, .parameters = &[_]OperandKind{.IdRef} },
- .{ .name = "BitPiece", .value = 4, .parameters = &[_]OperandKind{ .IdRef, .IdRef } },
- .{ .name = "Swap", .value = 5, .parameters = &[_]OperandKind{} },
- .{ .name = "Xderef", .value = 6, .parameters = &[_]OperandKind{} },
- .{ .name = "StackValue", .value = 7, .parameters = &[_]OperandKind{} },
- .{ .name = "Constu", .value = 8, .parameters = &[_]OperandKind{.IdRef} },
- .{ .name = "Fragment", .value = 9, .parameters = &[_]OperandKind{ .IdRef, .IdRef } },
+ .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 } },
},
- .@"NonSemantic.Shader.DebugInfo.100.DebugImportedEntity" => &[_]Enumerant{
- .{ .name = "ImportedModule", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "ImportedDeclaration", .value = 1, .parameters = &[_]OperandKind{} },
+ .open_cl_debug_info_100_debug_imported_entity => &.{
+ .{ .name = "ImportedModule", .value = 0, .parameters = &.{} },
+ .{ .name = "ImportedDeclaration", .value = 1, .parameters = &.{} },
},
- .@"NonSemantic.ClspvReflection.6.KernelPropertyFlags" => &[_]Enumerant{
- .{ .name = "MayUsePrintf", .value = 0x1, .parameters = &[_]OperandKind{} },
+ .non_semantic_clspv_reflection_6_kernel_property_flags => &.{
+ .{ .name = "MayUsePrintf", .value = 0x1, .parameters = &.{} },
},
- .@"DebugInfo.DebugInfoFlags" => &[_]Enumerant{
- .{ .name = "FlagIsProtected", .value = 0x01, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagIsPrivate", .value = 0x02, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagIsPublic", .value = 0x03, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagIsLocal", .value = 0x04, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagIsDefinition", .value = 0x08, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagFwdDecl", .value = 0x10, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagArtificial", .value = 0x20, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagExplicit", .value = 0x40, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagPrototyped", .value = 0x80, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagObjectPointer", .value = 0x100, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagStaticMember", .value = 0x200, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagIndirectVariable", .value = 0x400, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagLValueReference", .value = 0x800, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagRValueReference", .value = 0x1000, .parameters = &[_]OperandKind{} },
- .{ .name = "FlagIsOptimized", .value = 0x2000, .parameters = &[_]OperandKind{} },
+ .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 = &.{} },
},
- .@"DebugInfo.DebugBaseTypeAttributeEncoding" => &[_]Enumerant{
- .{ .name = "Unspecified", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "Address", .value = 1, .parameters = &[_]OperandKind{} },
- .{ .name = "Boolean", .value = 2, .parameters = &[_]OperandKind{} },
- .{ .name = "Float", .value = 4, .parameters = &[_]OperandKind{} },
- .{ .name = "Signed", .value = 5, .parameters = &[_]OperandKind{} },
- .{ .name = "SignedChar", .value = 6, .parameters = &[_]OperandKind{} },
- .{ .name = "Unsigned", .value = 7, .parameters = &[_]OperandKind{} },
- .{ .name = "UnsignedChar", .value = 8, .parameters = &[_]OperandKind{} },
+ .non_semantic_shader_debug_info_100_build_identifier_flags => &.{
+ .{ .name = "IdentifierPossibleDuplicates", .value = 0x01, .parameters = &.{} },
},
- .@"DebugInfo.DebugCompositeType" => &[_]Enumerant{
- .{ .name = "Class", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "Structure", .value = 1, .parameters = &[_]OperandKind{} },
- .{ .name = "Union", .value = 2, .parameters = &[_]OperandKind{} },
+ .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 = &.{} },
},
- .@"DebugInfo.DebugTypeQualifier" => &[_]Enumerant{
- .{ .name = "ConstType", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "VolatileType", .value = 1, .parameters = &[_]OperandKind{} },
- .{ .name = "RestrictType", .value = 2, .parameters = &[_]OperandKind{} },
+ .non_semantic_shader_debug_info_100_debug_composite_type => &.{
+ .{ .name = "Class", .value = 0, .parameters = &.{} },
+ .{ .name = "Structure", .value = 1, .parameters = &.{} },
+ .{ .name = "Union", .value = 2, .parameters = &.{} },
},
- .@"DebugInfo.DebugOperation" => &[_]Enumerant{
- .{ .name = "Deref", .value = 0, .parameters = &[_]OperandKind{} },
- .{ .name = "Plus", .value = 1, .parameters = &[_]OperandKind{} },
- .{ .name = "Minus", .value = 2, .parameters = &[_]OperandKind{} },
- .{ .name = "PlusUconst", .value = 3, .parameters = &[_]OperandKind{.LiteralInteger} },
- .{ .name = "BitPiece", .value = 4, .parameters = &[_]OperandKind{ .LiteralInteger, .LiteralInteger } },
- .{ .name = "Swap", .value = 5, .parameters = &[_]OperandKind{} },
- .{ .name = "Xderef", .value = 6, .parameters = &[_]OperandKind{} },
- .{ .name = "StackValue", .value = 7, .parameters = &[_]OperandKind{} },
- .{ .name = "Constu", .value = 8, .parameters = &[_]OperandKind{.LiteralInteger} },
+ .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 = &.{} },
},
};
}
@@ -1926,14 +1985,34 @@ pub const Opcode = enum(u16) {
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,
@@ -1950,6 +2029,9 @@ pub const Opcode = enum(u16) {
OpCooperativeMatrixStoreKHR = 4458,
OpCooperativeMatrixMulAddKHR = 4459,
OpCooperativeMatrixLengthKHR = 4460,
+ OpConstantCompositeReplicateEXT = 4461,
+ OpSpecConstantCompositeReplicateEXT = 4462,
+ OpCompositeConstructReplicateEXT = 4463,
OpTypeRayQueryKHR = 4472,
OpRayQueryInitializeKHR = 4473,
OpRayQueryTerminateKHR = 4474,
@@ -1976,9 +2058,14 @@ pub const Opcode = enum(u16) {
OpFragmentMaskFetchAMD = 5011,
OpFragmentFetchAMD = 5012,
OpReadClockKHR = 5056,
- OpFinalizeNodePayloadsAMDX = 5075,
+ OpAllocateNodePayloadsAMDX = 5074,
+ OpEnqueueNodePayloadsAMDX = 5075,
+ OpTypeNodePayloadArrayAMDX = 5076,
OpFinishWritingNodePayloadAMDX = 5078,
- OpInitializeNodePayloadsAMDX = 5090,
+ OpNodePayloadArrayLengthAMDX = 5090,
+ OpIsNodePayloadValidAMDX = 5101,
+ OpConstantStringAMDX = 5103,
+ OpSpecConstantStringAMDX = 5104,
OpGroupNonUniformQuadAllKHR = 5110,
OpGroupNonUniformQuadAnyKHR = 5111,
OpHitObjectRecordHitMotionNV = 5249,
@@ -2015,12 +2102,20 @@ pub const Opcode = enum(u16) {
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,
@@ -2030,6 +2125,8 @@ pub const Opcode = enum(u16) {
OpRayQueryGetIntersectionTriangleVertexPositionsKHR = 5340,
OpTypeAccelerationStructureKHR = 5341,
OpExecuteCallableNV = 5344,
+ OpRayQueryGetClusterIdNV = 5345,
+ OpHitObjectGetClusterIdNV = 5346,
OpTypeCooperativeMatrixNV = 5358,
OpCooperativeMatrixLoadNV = 5359,
OpCooperativeMatrixStoreNV = 5360,
@@ -2037,8 +2134,25 @@ pub const Opcode = enum(u16) {
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,
@@ -2047,6 +2161,19 @@ pub const Opcode = enum(u16) {
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,
@@ -2108,6 +2235,20 @@ pub const Opcode = enum(u16) {
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,
@@ -2116,1125 +2257,1290 @@ pub const Opcode = enum(u16) {
OpGroupLogicalAndKHR = 6406,
OpGroupLogicalOrKHR = 6407,
OpGroupLogicalXorKHR = 6408,
+ OpRoundFToTF32INTEL = 6426,
OpMaskedGatherINTEL = 6428,
OpMaskedScatterINTEL = 6429,
- pub const OpSDotKHR = Opcode.OpSDot;
- pub const OpUDotKHR = Opcode.OpUDot;
- pub const OpSUDotKHR = Opcode.OpSUDot;
- pub const OpSDotAccSatKHR = Opcode.OpSDotAccSat;
- pub const OpUDotAccSatKHR = Opcode.OpUDotAccSat;
- pub const OpSUDotAccSatKHR = Opcode.OpSUDotAccSat;
- pub const OpReportIntersectionNV = Opcode.OpReportIntersectionKHR;
- pub const OpTypeAccelerationStructureNV = Opcode.OpTypeAccelerationStructureKHR;
- pub const OpDemoteToHelperInvocationEXT = Opcode.OpDemoteToHelperInvocation;
- pub const OpDecorateStringGOOGLE = Opcode.OpDecorateString;
- pub const OpMemberDecorateStringGOOGLE = Opcode.OpMemberDecorateString;
+ OpConvertHandleToImageINTEL = 6529,
+ OpConvertHandleToSamplerINTEL = 6530,
+ OpConvertHandleToSampledImageINTEL = 6531,
pub fn Operands(comptime self: Opcode) type {
return switch (self) {
.OpNop => void,
- .OpUndef => struct { id_result_type: IdResultType, id_result: IdResult },
+ .OpUndef => struct { id_result_type: Id, id_result: Id },
.OpSourceContinued => struct { continued_source: LiteralString },
- .OpSource => struct { source_language: SourceLanguage, version: LiteralInteger, file: ?IdRef = null, source: ?LiteralString = null },
+ .OpSource => struct { source_language: SourceLanguage, version: LiteralInteger, file: ?Id = null, source: ?LiteralString = null },
.OpSourceExtension => struct { extension: LiteralString },
- .OpName => struct { target: IdRef, name: LiteralString },
- .OpMemberName => struct { type: IdRef, member: LiteralInteger, name: LiteralString },
- .OpString => struct { id_result: IdResult, string: LiteralString },
- .OpLine => struct { file: IdRef, line: LiteralInteger, column: LiteralInteger },
+ .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: IdResult, name: LiteralString },
- .OpExtInst => struct { id_result_type: IdResultType, id_result: IdResult, set: IdRef, instruction: LiteralExtInstInteger, id_ref_4: []const IdRef = &.{} },
+ .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: IdRef, name: LiteralString, interface: []const IdRef = &.{} },
- .OpExecutionMode => struct { entry_point: IdRef, mode: ExecutionMode.Extended },
+ .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: IdResult },
- .OpTypeBool => struct { id_result: IdResult },
- .OpTypeInt => struct { id_result: IdResult, width: LiteralInteger, signedness: LiteralInteger },
- .OpTypeFloat => struct { id_result: IdResult, width: LiteralInteger },
- .OpTypeVector => struct { id_result: IdResult, component_type: IdRef, component_count: LiteralInteger },
- .OpTypeMatrix => struct { id_result: IdResult, column_type: IdRef, column_count: LiteralInteger },
- .OpTypeImage => struct { id_result: IdResult, sampled_type: IdRef, dim: Dim, depth: LiteralInteger, arrayed: LiteralInteger, ms: LiteralInteger, sampled: LiteralInteger, image_format: ImageFormat, access_qualifier: ?AccessQualifier = null },
- .OpTypeSampler => struct { id_result: IdResult },
- .OpTypeSampledImage => struct { id_result: IdResult, image_type: IdRef },
- .OpTypeArray => struct { id_result: IdResult, element_type: IdRef, length: IdRef },
- .OpTypeRuntimeArray => struct { id_result: IdResult, element_type: IdRef },
- .OpTypeStruct => struct { id_result: IdResult, id_ref: []const IdRef = &.{} },
- .OpTypeOpaque => struct { id_result: IdResult, literal_string: LiteralString },
- .OpTypePointer => struct { id_result: IdResult, storage_class: StorageClass, type: IdRef },
- .OpTypeFunction => struct { id_result: IdResult, return_type: IdRef, id_ref_2: []const IdRef = &.{} },
- .OpTypeEvent => struct { id_result: IdResult },
- .OpTypeDeviceEvent => struct { id_result: IdResult },
- .OpTypeReserveId => struct { id_result: IdResult },
- .OpTypeQueue => struct { id_result: IdResult },
- .OpTypePipe => struct { id_result: IdResult, qualifier: AccessQualifier },
- .OpTypeForwardPointer => struct { pointer_type: IdRef, storage_class: StorageClass },
- .OpConstantTrue => struct { id_result_type: IdResultType, id_result: IdResult },
- .OpConstantFalse => struct { id_result_type: IdResultType, id_result: IdResult },
- .OpConstant => struct { id_result_type: IdResultType, id_result: IdResult, value: LiteralContextDependentNumber },
- .OpConstantComposite => struct { id_result_type: IdResultType, id_result: IdResult, constituents: []const IdRef = &.{} },
- .OpConstantSampler => struct { id_result_type: IdResultType, id_result: IdResult, sampler_addressing_mode: SamplerAddressingMode, param: LiteralInteger, sampler_filter_mode: SamplerFilterMode },
- .OpConstantNull => struct { id_result_type: IdResultType, id_result: IdResult },
- .OpSpecConstantTrue => struct { id_result_type: IdResultType, id_result: IdResult },
- .OpSpecConstantFalse => struct { id_result_type: IdResultType, id_result: IdResult },
- .OpSpecConstant => struct { id_result_type: IdResultType, id_result: IdResult, value: LiteralContextDependentNumber },
- .OpSpecConstantComposite => struct { id_result_type: IdResultType, id_result: IdResult, constituents: []const IdRef = &.{} },
- .OpSpecConstantOp => struct { id_result_type: IdResultType, id_result: IdResult, opcode: LiteralSpecConstantOpInteger },
- .OpFunction => struct { id_result_type: IdResultType, id_result: IdResult, function_control: FunctionControl, function_type: IdRef },
- .OpFunctionParameter => struct { id_result_type: IdResultType, id_result: IdResult },
+ .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: IdResultType, id_result: IdResult, function: IdRef, id_ref_3: []const IdRef = &.{} },
- .OpVariable => struct { id_result_type: IdResultType, id_result: IdResult, storage_class: StorageClass, initializer: ?IdRef = null },
- .OpImageTexelPointer => struct { id_result_type: IdResultType, id_result: IdResult, image: IdRef, coordinate: IdRef, sample: IdRef },
- .OpLoad => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef, memory_access: ?MemoryAccess.Extended = null },
- .OpStore => struct { pointer: IdRef, object: IdRef, memory_access: ?MemoryAccess.Extended = null },
- .OpCopyMemory => struct { target: IdRef, source: IdRef, memory_access_2: ?MemoryAccess.Extended = null, memory_access_3: ?MemoryAccess.Extended = null },
- .OpCopyMemorySized => struct { target: IdRef, source: IdRef, size: IdRef, memory_access_3: ?MemoryAccess.Extended = null, memory_access_4: ?MemoryAccess.Extended = null },
- .OpAccessChain => struct { id_result_type: IdResultType, id_result: IdResult, base: IdRef, indexes: []const IdRef = &.{} },
- .OpInBoundsAccessChain => struct { id_result_type: IdResultType, id_result: IdResult, base: IdRef, indexes: []const IdRef = &.{} },
- .OpPtrAccessChain => struct { id_result_type: IdResultType, id_result: IdResult, base: IdRef, element: IdRef, indexes: []const IdRef = &.{} },
- .OpArrayLength => struct { id_result_type: IdResultType, id_result: IdResult, structure: IdRef, array_member: LiteralInteger },
- .OpGenericPtrMemSemantics => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef },
- .OpInBoundsPtrAccessChain => struct { id_result_type: IdResultType, id_result: IdResult, base: IdRef, element: IdRef, indexes: []const IdRef = &.{} },
- .OpDecorate => struct { target: IdRef, decoration: Decoration.Extended },
- .OpMemberDecorate => struct { structure_type: IdRef, member: LiteralInteger, decoration: Decoration.Extended },
- .OpDecorationGroup => struct { id_result: IdResult },
- .OpGroupDecorate => struct { decoration_group: IdRef, targets: []const IdRef = &.{} },
- .OpGroupMemberDecorate => struct { decoration_group: IdRef, targets: []const PairIdRefLiteralInteger = &.{} },
- .OpVectorExtractDynamic => struct { id_result_type: IdResultType, id_result: IdResult, vector: IdRef, index: IdRef },
- .OpVectorInsertDynamic => struct { id_result_type: IdResultType, id_result: IdResult, vector: IdRef, component: IdRef, index: IdRef },
- .OpVectorShuffle => struct { id_result_type: IdResultType, id_result: IdResult, vector_1: IdRef, vector_2: IdRef, components: []const LiteralInteger = &.{} },
- .OpCompositeConstruct => struct { id_result_type: IdResultType, id_result: IdResult, constituents: []const IdRef = &.{} },
- .OpCompositeExtract => struct { id_result_type: IdResultType, id_result: IdResult, composite: IdRef, indexes: []const LiteralInteger = &.{} },
- .OpCompositeInsert => struct { id_result_type: IdResultType, id_result: IdResult, object: IdRef, composite: IdRef, indexes: []const LiteralInteger = &.{} },
- .OpCopyObject => struct { id_result_type: IdResultType, id_result: IdResult, operand: IdRef },
- .OpTranspose => struct { id_result_type: IdResultType, id_result: IdResult, matrix: IdRef },
- .OpSampledImage => struct { id_result_type: IdResultType, id_result: IdResult, image: IdRef, sampler: IdRef },
- .OpImageSampleImplicitLod => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef, coordinate: IdRef, image_operands: ?ImageOperands.Extended = null },
- .OpImageSampleExplicitLod => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef, coordinate: IdRef, image_operands: ImageOperands.Extended },
- .OpImageSampleDrefImplicitLod => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef, coordinate: IdRef, d_ref: IdRef, image_operands: ?ImageOperands.Extended = null },
- .OpImageSampleDrefExplicitLod => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef, coordinate: IdRef, d_ref: IdRef, image_operands: ImageOperands.Extended },
- .OpImageSampleProjImplicitLod => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef, coordinate: IdRef, image_operands: ?ImageOperands.Extended = null },
- .OpImageSampleProjExplicitLod => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef, coordinate: IdRef, image_operands: ImageOperands.Extended },
- .OpImageSampleProjDrefImplicitLod => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef, coordinate: IdRef, d_ref: IdRef, image_operands: ?ImageOperands.Extended = null },
- .OpImageSampleProjDrefExplicitLod => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef, coordinate: IdRef, d_ref: IdRef, image_operands: ImageOperands.Extended },
- .OpImageFetch => struct { id_result_type: IdResultType, id_result: IdResult, image: IdRef, coordinate: IdRef, image_operands: ?ImageOperands.Extended = null },
- .OpImageGather => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef, coordinate: IdRef, component: IdRef, image_operands: ?ImageOperands.Extended = null },
- .OpImageDrefGather => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef, coordinate: IdRef, d_ref: IdRef, image_operands: ?ImageOperands.Extended = null },
- .OpImageRead => struct { id_result_type: IdResultType, id_result: IdResult, image: IdRef, coordinate: IdRef, image_operands: ?ImageOperands.Extended = null },
- .OpImageWrite => struct { image: IdRef, coordinate: IdRef, texel: IdRef, image_operands: ?ImageOperands.Extended = null },
- .OpImage => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef },
- .OpImageQueryFormat => struct { id_result_type: IdResultType, id_result: IdResult, image: IdRef },
- .OpImageQueryOrder => struct { id_result_type: IdResultType, id_result: IdResult, image: IdRef },
- .OpImageQuerySizeLod => struct { id_result_type: IdResultType, id_result: IdResult, image: IdRef, level_of_detail: IdRef },
- .OpImageQuerySize => struct { id_result_type: IdResultType, id_result: IdResult, image: IdRef },
- .OpImageQueryLod => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef, coordinate: IdRef },
- .OpImageQueryLevels => struct { id_result_type: IdResultType, id_result: IdResult, image: IdRef },
- .OpImageQuerySamples => struct { id_result_type: IdResultType, id_result: IdResult, image: IdRef },
- .OpConvertFToU => struct { id_result_type: IdResultType, id_result: IdResult, float_value: IdRef },
- .OpConvertFToS => struct { id_result_type: IdResultType, id_result: IdResult, float_value: IdRef },
- .OpConvertSToF => struct { id_result_type: IdResultType, id_result: IdResult, signed_value: IdRef },
- .OpConvertUToF => struct { id_result_type: IdResultType, id_result: IdResult, unsigned_value: IdRef },
- .OpUConvert => struct { id_result_type: IdResultType, id_result: IdResult, unsigned_value: IdRef },
- .OpSConvert => struct { id_result_type: IdResultType, id_result: IdResult, signed_value: IdRef },
- .OpFConvert => struct { id_result_type: IdResultType, id_result: IdResult, float_value: IdRef },
- .OpQuantizeToF16 => struct { id_result_type: IdResultType, id_result: IdResult, value: IdRef },
- .OpConvertPtrToU => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef },
- .OpSatConvertSToU => struct { id_result_type: IdResultType, id_result: IdResult, signed_value: IdRef },
- .OpSatConvertUToS => struct { id_result_type: IdResultType, id_result: IdResult, unsigned_value: IdRef },
- .OpConvertUToPtr => struct { id_result_type: IdResultType, id_result: IdResult, integer_value: IdRef },
- .OpPtrCastToGeneric => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef },
- .OpGenericCastToPtr => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef },
- .OpGenericCastToPtrExplicit => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef, storage: StorageClass },
- .OpBitcast => struct { id_result_type: IdResultType, id_result: IdResult, operand: IdRef },
- .OpSNegate => struct { id_result_type: IdResultType, id_result: IdResult, operand: IdRef },
- .OpFNegate => struct { id_result_type: IdResultType, id_result: IdResult, operand: IdRef },
- .OpIAdd => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpFAdd => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpISub => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpFSub => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpIMul => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpFMul => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpUDiv => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpSDiv => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpFDiv => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpUMod => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpSRem => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpSMod => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpFRem => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpFMod => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpVectorTimesScalar => struct { id_result_type: IdResultType, id_result: IdResult, vector: IdRef, scalar: IdRef },
- .OpMatrixTimesScalar => struct { id_result_type: IdResultType, id_result: IdResult, matrix: IdRef, scalar: IdRef },
- .OpVectorTimesMatrix => struct { id_result_type: IdResultType, id_result: IdResult, vector: IdRef, matrix: IdRef },
- .OpMatrixTimesVector => struct { id_result_type: IdResultType, id_result: IdResult, matrix: IdRef, vector: IdRef },
- .OpMatrixTimesMatrix => struct { id_result_type: IdResultType, id_result: IdResult, leftmatrix: IdRef, rightmatrix: IdRef },
- .OpOuterProduct => struct { id_result_type: IdResultType, id_result: IdResult, vector_1: IdRef, vector_2: IdRef },
- .OpDot => struct { id_result_type: IdResultType, id_result: IdResult, vector_1: IdRef, vector_2: IdRef },
- .OpIAddCarry => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpISubBorrow => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpUMulExtended => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpSMulExtended => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpAny => struct { id_result_type: IdResultType, id_result: IdResult, vector: IdRef },
- .OpAll => struct { id_result_type: IdResultType, id_result: IdResult, vector: IdRef },
- .OpIsNan => struct { id_result_type: IdResultType, id_result: IdResult, x: IdRef },
- .OpIsInf => struct { id_result_type: IdResultType, id_result: IdResult, x: IdRef },
- .OpIsFinite => struct { id_result_type: IdResultType, id_result: IdResult, x: IdRef },
- .OpIsNormal => struct { id_result_type: IdResultType, id_result: IdResult, x: IdRef },
- .OpSignBitSet => struct { id_result_type: IdResultType, id_result: IdResult, x: IdRef },
- .OpLessOrGreater => struct { id_result_type: IdResultType, id_result: IdResult, x: IdRef, y: IdRef },
- .OpOrdered => struct { id_result_type: IdResultType, id_result: IdResult, x: IdRef, y: IdRef },
- .OpUnordered => struct { id_result_type: IdResultType, id_result: IdResult, x: IdRef, y: IdRef },
- .OpLogicalEqual => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpLogicalNotEqual => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpLogicalOr => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpLogicalAnd => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpLogicalNot => struct { id_result_type: IdResultType, id_result: IdResult, operand: IdRef },
- .OpSelect => struct { id_result_type: IdResultType, id_result: IdResult, condition: IdRef, object_1: IdRef, object_2: IdRef },
- .OpIEqual => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpINotEqual => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpUGreaterThan => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpSGreaterThan => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpUGreaterThanEqual => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpSGreaterThanEqual => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpULessThan => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpSLessThan => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpULessThanEqual => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpSLessThanEqual => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpFOrdEqual => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpFUnordEqual => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpFOrdNotEqual => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpFUnordNotEqual => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpFOrdLessThan => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpFUnordLessThan => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpFOrdGreaterThan => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpFUnordGreaterThan => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpFOrdLessThanEqual => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpFUnordLessThanEqual => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpFOrdGreaterThanEqual => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpFUnordGreaterThanEqual => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpShiftRightLogical => struct { id_result_type: IdResultType, id_result: IdResult, base: IdRef, shift: IdRef },
- .OpShiftRightArithmetic => struct { id_result_type: IdResultType, id_result: IdResult, base: IdRef, shift: IdRef },
- .OpShiftLeftLogical => struct { id_result_type: IdResultType, id_result: IdResult, base: IdRef, shift: IdRef },
- .OpBitwiseOr => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpBitwiseXor => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpBitwiseAnd => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpNot => struct { id_result_type: IdResultType, id_result: IdResult, operand: IdRef },
- .OpBitFieldInsert => struct { id_result_type: IdResultType, id_result: IdResult, base: IdRef, insert: IdRef, offset: IdRef, count: IdRef },
- .OpBitFieldSExtract => struct { id_result_type: IdResultType, id_result: IdResult, base: IdRef, offset: IdRef, count: IdRef },
- .OpBitFieldUExtract => struct { id_result_type: IdResultType, id_result: IdResult, base: IdRef, offset: IdRef, count: IdRef },
- .OpBitReverse => struct { id_result_type: IdResultType, id_result: IdResult, base: IdRef },
- .OpBitCount => struct { id_result_type: IdResultType, id_result: IdResult, base: IdRef },
- .OpDPdx => struct { id_result_type: IdResultType, id_result: IdResult, p: IdRef },
- .OpDPdy => struct { id_result_type: IdResultType, id_result: IdResult, p: IdRef },
- .OpFwidth => struct { id_result_type: IdResultType, id_result: IdResult, p: IdRef },
- .OpDPdxFine => struct { id_result_type: IdResultType, id_result: IdResult, p: IdRef },
- .OpDPdyFine => struct { id_result_type: IdResultType, id_result: IdResult, p: IdRef },
- .OpFwidthFine => struct { id_result_type: IdResultType, id_result: IdResult, p: IdRef },
- .OpDPdxCoarse => struct { id_result_type: IdResultType, id_result: IdResult, p: IdRef },
- .OpDPdyCoarse => struct { id_result_type: IdResultType, id_result: IdResult, p: IdRef },
- .OpFwidthCoarse => struct { id_result_type: IdResultType, id_result: IdResult, p: IdRef },
+ .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: IdRef },
- .OpEndStreamPrimitive => struct { stream: IdRef },
- .OpControlBarrier => struct { execution: IdScope, memory: IdScope, semantics: IdMemorySemantics },
- .OpMemoryBarrier => struct { memory: IdScope, semantics: IdMemorySemantics },
- .OpAtomicLoad => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef, memory: IdScope, semantics: IdMemorySemantics },
- .OpAtomicStore => struct { pointer: IdRef, memory: IdScope, semantics: IdMemorySemantics, value: IdRef },
- .OpAtomicExchange => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef, memory: IdScope, semantics: IdMemorySemantics, value: IdRef },
- .OpAtomicCompareExchange => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef, memory: IdScope, equal: IdMemorySemantics, unequal: IdMemorySemantics, value: IdRef, comparator: IdRef },
- .OpAtomicCompareExchangeWeak => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef, memory: IdScope, equal: IdMemorySemantics, unequal: IdMemorySemantics, value: IdRef, comparator: IdRef },
- .OpAtomicIIncrement => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef, memory: IdScope, semantics: IdMemorySemantics },
- .OpAtomicIDecrement => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef, memory: IdScope, semantics: IdMemorySemantics },
- .OpAtomicIAdd => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef, memory: IdScope, semantics: IdMemorySemantics, value: IdRef },
- .OpAtomicISub => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef, memory: IdScope, semantics: IdMemorySemantics, value: IdRef },
- .OpAtomicSMin => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef, memory: IdScope, semantics: IdMemorySemantics, value: IdRef },
- .OpAtomicUMin => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef, memory: IdScope, semantics: IdMemorySemantics, value: IdRef },
- .OpAtomicSMax => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef, memory: IdScope, semantics: IdMemorySemantics, value: IdRef },
- .OpAtomicUMax => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef, memory: IdScope, semantics: IdMemorySemantics, value: IdRef },
- .OpAtomicAnd => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef, memory: IdScope, semantics: IdMemorySemantics, value: IdRef },
- .OpAtomicOr => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef, memory: IdScope, semantics: IdMemorySemantics, value: IdRef },
- .OpAtomicXor => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef, memory: IdScope, semantics: IdMemorySemantics, value: IdRef },
- .OpPhi => struct { id_result_type: IdResultType, id_result: IdResult, pair_id_ref_id_ref: []const PairIdRefIdRef = &.{} },
- .OpLoopMerge => struct { merge_block: IdRef, continue_target: IdRef, loop_control: LoopControl.Extended },
- .OpSelectionMerge => struct { merge_block: IdRef, selection_control: SelectionControl },
- .OpLabel => struct { id_result: IdResult },
- .OpBranch => struct { target_label: IdRef },
- .OpBranchConditional => struct { condition: IdRef, true_label: IdRef, false_label: IdRef, branch_weights: []const LiteralInteger = &.{} },
- .OpSwitch => struct { selector: IdRef, default: IdRef, target: []const PairLiteralIntegerIdRef = &.{} },
+ .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: IdRef },
+ .OpReturnValue => struct { value: Id },
.OpUnreachable => void,
- .OpLifetimeStart => struct { pointer: IdRef, size: LiteralInteger },
- .OpLifetimeStop => struct { pointer: IdRef, size: LiteralInteger },
- .OpGroupAsyncCopy => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, destination: IdRef, source: IdRef, num_elements: IdRef, stride: IdRef, event: IdRef },
- .OpGroupWaitEvents => struct { execution: IdScope, num_events: IdRef, events_list: IdRef },
- .OpGroupAll => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, predicate: IdRef },
- .OpGroupAny => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, predicate: IdRef },
- .OpGroupBroadcast => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, value: IdRef, localid: IdRef },
- .OpGroupIAdd => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },
- .OpGroupFAdd => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },
- .OpGroupFMin => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },
- .OpGroupUMin => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },
- .OpGroupSMin => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },
- .OpGroupFMax => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },
- .OpGroupUMax => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },
- .OpGroupSMax => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },
- .OpReadPipe => struct { id_result_type: IdResultType, id_result: IdResult, pipe: IdRef, pointer: IdRef, packet_size: IdRef, packet_alignment: IdRef },
- .OpWritePipe => struct { id_result_type: IdResultType, id_result: IdResult, pipe: IdRef, pointer: IdRef, packet_size: IdRef, packet_alignment: IdRef },
- .OpReservedReadPipe => struct { id_result_type: IdResultType, id_result: IdResult, pipe: IdRef, reserve_id: IdRef, index: IdRef, pointer: IdRef, packet_size: IdRef, packet_alignment: IdRef },
- .OpReservedWritePipe => struct { id_result_type: IdResultType, id_result: IdResult, pipe: IdRef, reserve_id: IdRef, index: IdRef, pointer: IdRef, packet_size: IdRef, packet_alignment: IdRef },
- .OpReserveReadPipePackets => struct { id_result_type: IdResultType, id_result: IdResult, pipe: IdRef, num_packets: IdRef, packet_size: IdRef, packet_alignment: IdRef },
- .OpReserveWritePipePackets => struct { id_result_type: IdResultType, id_result: IdResult, pipe: IdRef, num_packets: IdRef, packet_size: IdRef, packet_alignment: IdRef },
- .OpCommitReadPipe => struct { pipe: IdRef, reserve_id: IdRef, packet_size: IdRef, packet_alignment: IdRef },
- .OpCommitWritePipe => struct { pipe: IdRef, reserve_id: IdRef, packet_size: IdRef, packet_alignment: IdRef },
- .OpIsValidReserveId => struct { id_result_type: IdResultType, id_result: IdResult, reserve_id: IdRef },
- .OpGetNumPipePackets => struct { id_result_type: IdResultType, id_result: IdResult, pipe: IdRef, packet_size: IdRef, packet_alignment: IdRef },
- .OpGetMaxPipePackets => struct { id_result_type: IdResultType, id_result: IdResult, pipe: IdRef, packet_size: IdRef, packet_alignment: IdRef },
- .OpGroupReserveReadPipePackets => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, pipe: IdRef, num_packets: IdRef, packet_size: IdRef, packet_alignment: IdRef },
- .OpGroupReserveWritePipePackets => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, pipe: IdRef, num_packets: IdRef, packet_size: IdRef, packet_alignment: IdRef },
- .OpGroupCommitReadPipe => struct { execution: IdScope, pipe: IdRef, reserve_id: IdRef, packet_size: IdRef, packet_alignment: IdRef },
- .OpGroupCommitWritePipe => struct { execution: IdScope, pipe: IdRef, reserve_id: IdRef, packet_size: IdRef, packet_alignment: IdRef },
- .OpEnqueueMarker => struct { id_result_type: IdResultType, id_result: IdResult, queue: IdRef, num_events: IdRef, wait_events: IdRef, ret_event: IdRef },
- .OpEnqueueKernel => struct { id_result_type: IdResultType, id_result: IdResult, queue: IdRef, flags: IdRef, nd_range: IdRef, num_events: IdRef, wait_events: IdRef, ret_event: IdRef, invoke: IdRef, param: IdRef, param_size: IdRef, param_align: IdRef, local_size: []const IdRef = &.{} },
- .OpGetKernelNDrangeSubGroupCount => struct { id_result_type: IdResultType, id_result: IdResult, nd_range: IdRef, invoke: IdRef, param: IdRef, param_size: IdRef, param_align: IdRef },
- .OpGetKernelNDrangeMaxSubGroupSize => struct { id_result_type: IdResultType, id_result: IdResult, nd_range: IdRef, invoke: IdRef, param: IdRef, param_size: IdRef, param_align: IdRef },
- .OpGetKernelWorkGroupSize => struct { id_result_type: IdResultType, id_result: IdResult, invoke: IdRef, param: IdRef, param_size: IdRef, param_align: IdRef },
- .OpGetKernelPreferredWorkGroupSizeMultiple => struct { id_result_type: IdResultType, id_result: IdResult, invoke: IdRef, param: IdRef, param_size: IdRef, param_align: IdRef },
- .OpRetainEvent => struct { event: IdRef },
- .OpReleaseEvent => struct { event: IdRef },
- .OpCreateUserEvent => struct { id_result_type: IdResultType, id_result: IdResult },
- .OpIsValidEvent => struct { id_result_type: IdResultType, id_result: IdResult, event: IdRef },
- .OpSetUserEventStatus => struct { event: IdRef, status: IdRef },
- .OpCaptureEventProfilingInfo => struct { event: IdRef, profiling_info: IdRef, value: IdRef },
- .OpGetDefaultQueue => struct { id_result_type: IdResultType, id_result: IdResult },
- .OpBuildNDRange => struct { id_result_type: IdResultType, id_result: IdResult, globalworksize: IdRef, localworksize: IdRef, globalworkoffset: IdRef },
- .OpImageSparseSampleImplicitLod => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef, coordinate: IdRef, image_operands: ?ImageOperands.Extended = null },
- .OpImageSparseSampleExplicitLod => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef, coordinate: IdRef, image_operands: ImageOperands.Extended },
- .OpImageSparseSampleDrefImplicitLod => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef, coordinate: IdRef, d_ref: IdRef, image_operands: ?ImageOperands.Extended = null },
- .OpImageSparseSampleDrefExplicitLod => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef, coordinate: IdRef, d_ref: IdRef, image_operands: ImageOperands.Extended },
- .OpImageSparseSampleProjImplicitLod => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef, coordinate: IdRef, image_operands: ?ImageOperands.Extended = null },
- .OpImageSparseSampleProjExplicitLod => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef, coordinate: IdRef, image_operands: ImageOperands.Extended },
- .OpImageSparseSampleProjDrefImplicitLod => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef, coordinate: IdRef, d_ref: IdRef, image_operands: ?ImageOperands.Extended = null },
- .OpImageSparseSampleProjDrefExplicitLod => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef, coordinate: IdRef, d_ref: IdRef, image_operands: ImageOperands.Extended },
- .OpImageSparseFetch => struct { id_result_type: IdResultType, id_result: IdResult, image: IdRef, coordinate: IdRef, image_operands: ?ImageOperands.Extended = null },
- .OpImageSparseGather => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef, coordinate: IdRef, component: IdRef, image_operands: ?ImageOperands.Extended = null },
- .OpImageSparseDrefGather => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef, coordinate: IdRef, d_ref: IdRef, image_operands: ?ImageOperands.Extended = null },
- .OpImageSparseTexelsResident => struct { id_result_type: IdResultType, id_result: IdResult, resident_code: IdRef },
+ .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: IdResultType, id_result: IdResult, pointer: IdRef, memory: IdScope, semantics: IdMemorySemantics },
- .OpAtomicFlagClear => struct { pointer: IdRef, memory: IdScope, semantics: IdMemorySemantics },
- .OpImageSparseRead => struct { id_result_type: IdResultType, id_result: IdResult, image: IdRef, coordinate: IdRef, image_operands: ?ImageOperands.Extended = null },
- .OpSizeOf => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef },
- .OpTypePipeStorage => struct { id_result: IdResult },
- .OpConstantPipeStorage => struct { id_result_type: IdResultType, id_result: IdResult, packet_size: LiteralInteger, packet_alignment: LiteralInteger, capacity: LiteralInteger },
- .OpCreatePipeFromPipeStorage => struct { id_result_type: IdResultType, id_result: IdResult, pipe_storage: IdRef },
- .OpGetKernelLocalSizeForSubgroupCount => struct { id_result_type: IdResultType, id_result: IdResult, subgroup_count: IdRef, invoke: IdRef, param: IdRef, param_size: IdRef, param_align: IdRef },
- .OpGetKernelMaxNumSubgroups => struct { id_result_type: IdResultType, id_result: IdResult, invoke: IdRef, param: IdRef, param_size: IdRef, param_align: IdRef },
- .OpTypeNamedBarrier => struct { id_result: IdResult },
- .OpNamedBarrierInitialize => struct { id_result_type: IdResultType, id_result: IdResult, subgroup_count: IdRef },
- .OpMemoryNamedBarrier => struct { named_barrier: IdRef, memory: IdScope, semantics: IdMemorySemantics },
+ .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: IdRef, mode: ExecutionMode.Extended },
- .OpDecorateId => struct { target: IdRef, decoration: Decoration.Extended },
- .OpGroupNonUniformElect => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope },
- .OpGroupNonUniformAll => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, predicate: IdRef },
- .OpGroupNonUniformAny => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, predicate: IdRef },
- .OpGroupNonUniformAllEqual => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, value: IdRef },
- .OpGroupNonUniformBroadcast => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, value: IdRef, id: IdRef },
- .OpGroupNonUniformBroadcastFirst => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, value: IdRef },
- .OpGroupNonUniformBallot => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, predicate: IdRef },
- .OpGroupNonUniformInverseBallot => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, value: IdRef },
- .OpGroupNonUniformBallotBitExtract => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, value: IdRef, index: IdRef },
- .OpGroupNonUniformBallotBitCount => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, value: IdRef },
- .OpGroupNonUniformBallotFindLSB => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, value: IdRef },
- .OpGroupNonUniformBallotFindMSB => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, value: IdRef },
- .OpGroupNonUniformShuffle => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, value: IdRef, id: IdRef },
- .OpGroupNonUniformShuffleXor => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, value: IdRef, mask: IdRef },
- .OpGroupNonUniformShuffleUp => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, value: IdRef, delta: IdRef },
- .OpGroupNonUniformShuffleDown => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, value: IdRef, delta: IdRef },
- .OpGroupNonUniformIAdd => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, value: IdRef, clustersize: ?IdRef = null },
- .OpGroupNonUniformFAdd => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, value: IdRef, clustersize: ?IdRef = null },
- .OpGroupNonUniformIMul => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, value: IdRef, clustersize: ?IdRef = null },
- .OpGroupNonUniformFMul => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, value: IdRef, clustersize: ?IdRef = null },
- .OpGroupNonUniformSMin => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, value: IdRef, clustersize: ?IdRef = null },
- .OpGroupNonUniformUMin => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, value: IdRef, clustersize: ?IdRef = null },
- .OpGroupNonUniformFMin => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, value: IdRef, clustersize: ?IdRef = null },
- .OpGroupNonUniformSMax => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, value: IdRef, clustersize: ?IdRef = null },
- .OpGroupNonUniformUMax => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, value: IdRef, clustersize: ?IdRef = null },
- .OpGroupNonUniformFMax => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, value: IdRef, clustersize: ?IdRef = null },
- .OpGroupNonUniformBitwiseAnd => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, value: IdRef, clustersize: ?IdRef = null },
- .OpGroupNonUniformBitwiseOr => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, value: IdRef, clustersize: ?IdRef = null },
- .OpGroupNonUniformBitwiseXor => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, value: IdRef, clustersize: ?IdRef = null },
- .OpGroupNonUniformLogicalAnd => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, value: IdRef, clustersize: ?IdRef = null },
- .OpGroupNonUniformLogicalOr => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, value: IdRef, clustersize: ?IdRef = null },
- .OpGroupNonUniformLogicalXor => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, value: IdRef, clustersize: ?IdRef = null },
- .OpGroupNonUniformQuadBroadcast => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, value: IdRef, index: IdRef },
- .OpGroupNonUniformQuadSwap => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, value: IdRef, direction: IdRef },
- .OpCopyLogical => struct { id_result_type: IdResultType, id_result: IdResult, operand: IdRef },
- .OpPtrEqual => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpPtrNotEqual => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpPtrDiff => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpColorAttachmentReadEXT => struct { id_result_type: IdResultType, id_result: IdResult, attachment: IdRef, sample: ?IdRef = null },
- .OpDepthAttachmentReadEXT => struct { id_result_type: IdResultType, id_result: IdResult, sample: ?IdRef = null },
- .OpStencilAttachmentReadEXT => struct { id_result_type: IdResultType, id_result: IdResult, sample: ?IdRef = null },
+ .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,
- .OpSubgroupBallotKHR => struct { id_result_type: IdResultType, id_result: IdResult, predicate: IdRef },
- .OpSubgroupFirstInvocationKHR => struct { id_result_type: IdResultType, id_result: IdResult, value: IdRef },
- .OpSubgroupAllKHR => struct { id_result_type: IdResultType, id_result: IdResult, predicate: IdRef },
- .OpSubgroupAnyKHR => struct { id_result_type: IdResultType, id_result: IdResult, predicate: IdRef },
- .OpSubgroupAllEqualKHR => struct { id_result_type: IdResultType, id_result: IdResult, predicate: IdRef },
- .OpGroupNonUniformRotateKHR => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, value: IdRef, delta: IdRef, clustersize: ?IdRef = null },
- .OpSubgroupReadInvocationKHR => struct { id_result_type: IdResultType, id_result: IdResult, value: IdRef, index: IdRef },
- .OpTraceRayKHR => struct { accel: IdRef, ray_flags: IdRef, cull_mask: IdRef, sbt_offset: IdRef, sbt_stride: IdRef, miss_index: IdRef, ray_origin: IdRef, ray_tmin: IdRef, ray_direction: IdRef, ray_tmax: IdRef, payload: IdRef },
- .OpExecuteCallableKHR => struct { sbt_index: IdRef, callable_data: IdRef },
- .OpConvertUToAccelerationStructureKHR => struct { id_result_type: IdResultType, id_result: IdResult, accel: IdRef },
+ .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: IdResultType, id_result: IdResult, vector_1: IdRef, vector_2: IdRef, packed_vector_format: ?PackedVectorFormat = null },
- .OpUDot => struct { id_result_type: IdResultType, id_result: IdResult, vector_1: IdRef, vector_2: IdRef, packed_vector_format: ?PackedVectorFormat = null },
- .OpSUDot => struct { id_result_type: IdResultType, id_result: IdResult, vector_1: IdRef, vector_2: IdRef, packed_vector_format: ?PackedVectorFormat = null },
- .OpSDotAccSat => struct { id_result_type: IdResultType, id_result: IdResult, vector_1: IdRef, vector_2: IdRef, accumulator: IdRef, packed_vector_format: ?PackedVectorFormat = null },
- .OpUDotAccSat => struct { id_result_type: IdResultType, id_result: IdResult, vector_1: IdRef, vector_2: IdRef, accumulator: IdRef, packed_vector_format: ?PackedVectorFormat = null },
- .OpSUDotAccSat => struct { id_result_type: IdResultType, id_result: IdResult, vector_1: IdRef, vector_2: IdRef, accumulator: IdRef, packed_vector_format: ?PackedVectorFormat = null },
- .OpTypeCooperativeMatrixKHR => struct { id_result: IdResult, component_type: IdRef, scope: IdScope, rows: IdRef, columns: IdRef, use: IdRef },
- .OpCooperativeMatrixLoadKHR => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef, memorylayout: IdRef, stride: ?IdRef = null, memory_operand: ?MemoryAccess.Extended = null },
- .OpCooperativeMatrixStoreKHR => struct { pointer: IdRef, object: IdRef, memorylayout: IdRef, stride: ?IdRef = null, memory_operand: ?MemoryAccess.Extended = null },
- .OpCooperativeMatrixMulAddKHR => struct { id_result_type: IdResultType, id_result: IdResult, a: IdRef, b: IdRef, c: IdRef, cooperative_matrix_operands: ?CooperativeMatrixOperands = null },
- .OpCooperativeMatrixLengthKHR => struct { id_result_type: IdResultType, id_result: IdResult, type: IdRef },
- .OpTypeRayQueryKHR => struct { id_result: IdResult },
- .OpRayQueryInitializeKHR => struct { rayquery: IdRef, accel: IdRef, rayflags: IdRef, cullmask: IdRef, rayorigin: IdRef, raytmin: IdRef, raydirection: IdRef, raytmax: IdRef },
- .OpRayQueryTerminateKHR => struct { rayquery: IdRef },
- .OpRayQueryGenerateIntersectionKHR => struct { rayquery: IdRef, hitt: IdRef },
- .OpRayQueryConfirmIntersectionKHR => struct { rayquery: IdRef },
- .OpRayQueryProceedKHR => struct { id_result_type: IdResultType, id_result: IdResult, rayquery: IdRef },
- .OpRayQueryGetIntersectionTypeKHR => struct { id_result_type: IdResultType, id_result: IdResult, rayquery: IdRef, intersection: IdRef },
- .OpImageSampleWeightedQCOM => struct { id_result_type: IdResultType, id_result: IdResult, texture: IdRef, coordinates: IdRef, weights: IdRef },
- .OpImageBoxFilterQCOM => struct { id_result_type: IdResultType, id_result: IdResult, texture: IdRef, coordinates: IdRef, box_size: IdRef },
- .OpImageBlockMatchSSDQCOM => struct { id_result_type: IdResultType, id_result: IdResult, target: IdRef, target_coordinates: IdRef, reference: IdRef, reference_coordinates: IdRef, block_size: IdRef },
- .OpImageBlockMatchSADQCOM => struct { id_result_type: IdResultType, id_result: IdResult, target: IdRef, target_coordinates: IdRef, reference: IdRef, reference_coordinates: IdRef, block_size: IdRef },
- .OpImageBlockMatchWindowSSDQCOM => struct { id_result_type: IdResultType, id_result: IdResult, target_sampled_image: IdRef, target_coordinates: IdRef, reference_sampled_image: IdRef, reference_coordinates: IdRef, block_size: IdRef },
- .OpImageBlockMatchWindowSADQCOM => struct { id_result_type: IdResultType, id_result: IdResult, target_sampled_image: IdRef, target_coordinates: IdRef, reference_sampled_image: IdRef, reference_coordinates: IdRef, block_size: IdRef },
- .OpImageBlockMatchGatherSSDQCOM => struct { id_result_type: IdResultType, id_result: IdResult, target_sampled_image: IdRef, target_coordinates: IdRef, reference_sampled_image: IdRef, reference_coordinates: IdRef, block_size: IdRef },
- .OpImageBlockMatchGatherSADQCOM => struct { id_result_type: IdResultType, id_result: IdResult, target_sampled_image: IdRef, target_coordinates: IdRef, reference_sampled_image: IdRef, reference_coordinates: IdRef, block_size: IdRef },
- .OpGroupIAddNonUniformAMD => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },
- .OpGroupFAddNonUniformAMD => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },
- .OpGroupFMinNonUniformAMD => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },
- .OpGroupUMinNonUniformAMD => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },
- .OpGroupSMinNonUniformAMD => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },
- .OpGroupFMaxNonUniformAMD => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },
- .OpGroupUMaxNonUniformAMD => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },
- .OpGroupSMaxNonUniformAMD => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },
- .OpFragmentMaskFetchAMD => struct { id_result_type: IdResultType, id_result: IdResult, image: IdRef, coordinate: IdRef },
- .OpFragmentFetchAMD => struct { id_result_type: IdResultType, id_result: IdResult, image: IdRef, coordinate: IdRef, fragment_index: IdRef },
- .OpReadClockKHR => struct { id_result_type: IdResultType, id_result: IdResult, scope: IdScope },
- .OpFinalizeNodePayloadsAMDX => struct { payload_array: IdRef },
- .OpFinishWritingNodePayloadAMDX => struct { id_result_type: IdResultType, id_result: IdResult, payload: IdRef },
- .OpInitializeNodePayloadsAMDX => struct { payload_array: IdRef, visibility: IdScope, payload_count: IdRef, node_index: IdRef },
- .OpGroupNonUniformQuadAllKHR => struct { id_result_type: IdResultType, id_result: IdResult, predicate: IdRef },
- .OpGroupNonUniformQuadAnyKHR => struct { id_result_type: IdResultType, id_result: IdResult, predicate: IdRef },
- .OpHitObjectRecordHitMotionNV => struct { hit_object: IdRef, acceleration_structure: IdRef, instanceid: IdRef, primitiveid: IdRef, geometryindex: IdRef, hit_kind: IdRef, sbt_record_offset: IdRef, sbt_record_stride: IdRef, origin: IdRef, tmin: IdRef, direction: IdRef, tmax: IdRef, current_time: IdRef, hitobject_attributes: IdRef },
- .OpHitObjectRecordHitWithIndexMotionNV => struct { hit_object: IdRef, acceleration_structure: IdRef, instanceid: IdRef, primitiveid: IdRef, geometryindex: IdRef, hit_kind: IdRef, sbt_record_index: IdRef, origin: IdRef, tmin: IdRef, direction: IdRef, tmax: IdRef, current_time: IdRef, hitobject_attributes: IdRef },
- .OpHitObjectRecordMissMotionNV => struct { hit_object: IdRef, sbt_index: IdRef, origin: IdRef, tmin: IdRef, direction: IdRef, tmax: IdRef, current_time: IdRef },
- .OpHitObjectGetWorldToObjectNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
- .OpHitObjectGetObjectToWorldNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
- .OpHitObjectGetObjectRayDirectionNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
- .OpHitObjectGetObjectRayOriginNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
- .OpHitObjectTraceRayMotionNV => struct { hit_object: IdRef, acceleration_structure: IdRef, rayflags: IdRef, cullmask: IdRef, sbt_record_offset: IdRef, sbt_record_stride: IdRef, miss_index: IdRef, origin: IdRef, tmin: IdRef, direction: IdRef, tmax: IdRef, time: IdRef, payload: IdRef },
- .OpHitObjectGetShaderRecordBufferHandleNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
- .OpHitObjectGetShaderBindingTableRecordIndexNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
- .OpHitObjectRecordEmptyNV => struct { hit_object: IdRef },
- .OpHitObjectTraceRayNV => struct { hit_object: IdRef, acceleration_structure: IdRef, rayflags: IdRef, cullmask: IdRef, sbt_record_offset: IdRef, sbt_record_stride: IdRef, miss_index: IdRef, origin: IdRef, tmin: IdRef, direction: IdRef, tmax: IdRef, payload: IdRef },
- .OpHitObjectRecordHitNV => struct { hit_object: IdRef, acceleration_structure: IdRef, instanceid: IdRef, primitiveid: IdRef, geometryindex: IdRef, hit_kind: IdRef, sbt_record_offset: IdRef, sbt_record_stride: IdRef, origin: IdRef, tmin: IdRef, direction: IdRef, tmax: IdRef, hitobject_attributes: IdRef },
- .OpHitObjectRecordHitWithIndexNV => struct { hit_object: IdRef, acceleration_structure: IdRef, instanceid: IdRef, primitiveid: IdRef, geometryindex: IdRef, hit_kind: IdRef, sbt_record_index: IdRef, origin: IdRef, tmin: IdRef, direction: IdRef, tmax: IdRef, hitobject_attributes: IdRef },
- .OpHitObjectRecordMissNV => struct { hit_object: IdRef, sbt_index: IdRef, origin: IdRef, tmin: IdRef, direction: IdRef, tmax: IdRef },
- .OpHitObjectExecuteShaderNV => struct { hit_object: IdRef, payload: IdRef },
- .OpHitObjectGetCurrentTimeNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
- .OpHitObjectGetAttributesNV => struct { hit_object: IdRef, hit_object_attribute: IdRef },
- .OpHitObjectGetHitKindNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
- .OpHitObjectGetPrimitiveIndexNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
- .OpHitObjectGetGeometryIndexNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
- .OpHitObjectGetInstanceIdNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
- .OpHitObjectGetInstanceCustomIndexNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
- .OpHitObjectGetWorldRayDirectionNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
- .OpHitObjectGetWorldRayOriginNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
- .OpHitObjectGetRayTMaxNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
- .OpHitObjectGetRayTMinNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
- .OpHitObjectIsEmptyNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
- .OpHitObjectIsHitNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
- .OpHitObjectIsMissNV => struct { id_result_type: IdResultType, id_result: IdResult, hit_object: IdRef },
- .OpReorderThreadWithHitObjectNV => struct { hit_object: IdRef, hint: ?IdRef = null, bits: ?IdRef = null },
- .OpReorderThreadWithHintNV => struct { hint: IdRef, bits: IdRef },
- .OpTypeHitObjectNV => struct { id_result: IdResult },
- .OpImageSampleFootprintNV => struct { id_result_type: IdResultType, id_result: IdResult, sampled_image: IdRef, coordinate: IdRef, granularity: IdRef, coarse: IdRef, image_operands: ?ImageOperands.Extended = null },
- .OpEmitMeshTasksEXT => struct { group_count_x: IdRef, group_count_y: IdRef, group_count_z: IdRef, payload: ?IdRef = null },
- .OpSetMeshOutputsEXT => struct { vertex_count: IdRef, primitive_count: IdRef },
- .OpGroupNonUniformPartitionNV => struct { id_result_type: IdResultType, id_result: IdResult, value: IdRef },
- .OpWritePackedPrimitiveIndices4x8NV => struct { index_offset: IdRef, packed_indices: IdRef },
- .OpFetchMicroTriangleVertexPositionNV => struct { id_result_type: IdResultType, id_result: IdResult, accel: IdRef, instance_id: IdRef, geometry_index: IdRef, primitive_index: IdRef, barycentric: IdRef },
- .OpFetchMicroTriangleVertexBarycentricNV => struct { id_result_type: IdResultType, id_result: IdResult, accel: IdRef, instance_id: IdRef, geometry_index: IdRef, primitive_index: IdRef, barycentric: IdRef },
- .OpReportIntersectionKHR => struct { id_result_type: IdResultType, id_result: IdResult, hit: IdRef, hitkind: IdRef },
+ .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: IdRef, ray_flags: IdRef, cull_mask: IdRef, sbt_offset: IdRef, sbt_stride: IdRef, miss_index: IdRef, ray_origin: IdRef, ray_tmin: IdRef, ray_direction: IdRef, ray_tmax: IdRef, payloadid: IdRef },
- .OpTraceMotionNV => struct { accel: IdRef, ray_flags: IdRef, cull_mask: IdRef, sbt_offset: IdRef, sbt_stride: IdRef, miss_index: IdRef, ray_origin: IdRef, ray_tmin: IdRef, ray_direction: IdRef, ray_tmax: IdRef, time: IdRef, payloadid: IdRef },
- .OpTraceRayMotionNV => struct { accel: IdRef, ray_flags: IdRef, cull_mask: IdRef, sbt_offset: IdRef, sbt_stride: IdRef, miss_index: IdRef, ray_origin: IdRef, ray_tmin: IdRef, ray_direction: IdRef, ray_tmax: IdRef, time: IdRef, payload: IdRef },
- .OpRayQueryGetIntersectionTriangleVertexPositionsKHR => struct { id_result_type: IdResultType, id_result: IdResult, rayquery: IdRef, intersection: IdRef },
- .OpTypeAccelerationStructureKHR => struct { id_result: IdResult },
- .OpExecuteCallableNV => struct { sbt_index: IdRef, callable_dataid: IdRef },
- .OpTypeCooperativeMatrixNV => struct { id_result: IdResult, component_type: IdRef, execution: IdScope, rows: IdRef, columns: IdRef },
- .OpCooperativeMatrixLoadNV => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef, stride: IdRef, column_major: IdRef, memory_access: ?MemoryAccess.Extended = null },
- .OpCooperativeMatrixStoreNV => struct { pointer: IdRef, object: IdRef, stride: IdRef, column_major: IdRef, memory_access: ?MemoryAccess.Extended = null },
- .OpCooperativeMatrixMulAddNV => struct { id_result_type: IdResultType, id_result: IdResult, a: IdRef, b: IdRef, c: IdRef },
- .OpCooperativeMatrixLengthNV => struct { id_result_type: IdResultType, id_result: IdResult, type: IdRef },
+ .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: IdResultType, id_result: IdResult },
- .OpConvertUToImageNV => struct { id_result_type: IdResultType, id_result: IdResult, operand: IdRef },
- .OpConvertUToSamplerNV => struct { id_result_type: IdResultType, id_result: IdResult, operand: IdRef },
- .OpConvertImageToUNV => struct { id_result_type: IdResultType, id_result: IdResult, operand: IdRef },
- .OpConvertSamplerToUNV => struct { id_result_type: IdResultType, id_result: IdResult, operand: IdRef },
- .OpConvertUToSampledImageNV => struct { id_result_type: IdResultType, id_result: IdResult, operand: IdRef },
- .OpConvertSampledImageToUNV => struct { id_result_type: IdResultType, id_result: IdResult, operand: IdRef },
+ .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: IdResultType, id_result: IdResult, base: IdRef, byte_stride: IdRef, element_index: IdRef, byte_offset: IdRef, raw_access_chain_operands: ?RawAccessChainOperands = null },
- .OpSubgroupShuffleINTEL => struct { id_result_type: IdResultType, id_result: IdResult, data: IdRef, invocationid: IdRef },
- .OpSubgroupShuffleDownINTEL => struct { id_result_type: IdResultType, id_result: IdResult, current: IdRef, next: IdRef, delta: IdRef },
- .OpSubgroupShuffleUpINTEL => struct { id_result_type: IdResultType, id_result: IdResult, previous: IdRef, current: IdRef, delta: IdRef },
- .OpSubgroupShuffleXorINTEL => struct { id_result_type: IdResultType, id_result: IdResult, data: IdRef, value: IdRef },
- .OpSubgroupBlockReadINTEL => struct { id_result_type: IdResultType, id_result: IdResult, ptr: IdRef },
- .OpSubgroupBlockWriteINTEL => struct { ptr: IdRef, data: IdRef },
- .OpSubgroupImageBlockReadINTEL => struct { id_result_type: IdResultType, id_result: IdResult, image: IdRef, coordinate: IdRef },
- .OpSubgroupImageBlockWriteINTEL => struct { image: IdRef, coordinate: IdRef, data: IdRef },
- .OpSubgroupImageMediaBlockReadINTEL => struct { id_result_type: IdResultType, id_result: IdResult, image: IdRef, coordinate: IdRef, width: IdRef, height: IdRef },
- .OpSubgroupImageMediaBlockWriteINTEL => struct { image: IdRef, coordinate: IdRef, width: IdRef, height: IdRef, data: IdRef },
- .OpUCountLeadingZerosINTEL => struct { id_result_type: IdResultType, id_result: IdResult, operand: IdRef },
- .OpUCountTrailingZerosINTEL => struct { id_result_type: IdResultType, id_result: IdResult, operand: IdRef },
- .OpAbsISubINTEL => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpAbsUSubINTEL => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpIAddSatINTEL => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpUAddSatINTEL => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpIAverageINTEL => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpUAverageINTEL => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpIAverageRoundedINTEL => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpUAverageRoundedINTEL => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpISubSatINTEL => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpUSubSatINTEL => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpIMul32x16INTEL => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpUMul32x16INTEL => struct { id_result_type: IdResultType, id_result: IdResult, operand_1: IdRef, operand_2: IdRef },
- .OpAtomicFMinEXT => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef, memory: IdScope, semantics: IdMemorySemantics, value: IdRef },
- .OpAtomicFMaxEXT => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef, memory: IdScope, semantics: IdMemorySemantics, value: IdRef },
- .OpAssumeTrueKHR => struct { condition: IdRef },
- .OpExpectKHR => struct { id_result_type: IdResultType, id_result: IdResult, value: IdRef, expectedvalue: IdRef },
- .OpDecorateString => struct { target: IdRef, decoration: Decoration.Extended },
- .OpMemberDecorateString => struct { struct_type: IdRef, member: LiteralInteger, decoration: Decoration.Extended },
+ .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: IdResultType, id_result: IdResult, packet_size: IdRef, packet_alignment: IdRef },
- .OpWritePipeBlockingINTEL => struct { id_result_type: IdResultType, id_result: IdResult, packet_size: IdRef, packet_alignment: IdRef },
- .OpFPGARegINTEL => struct { id_result_type: IdResultType, id_result: IdResult, result: IdRef, input: IdRef },
- .OpRayQueryGetRayTMinKHR => struct { id_result_type: IdResultType, id_result: IdResult, rayquery: IdRef },
- .OpRayQueryGetRayFlagsKHR => struct { id_result_type: IdResultType, id_result: IdResult, rayquery: IdRef },
- .OpRayQueryGetIntersectionTKHR => struct { id_result_type: IdResultType, id_result: IdResult, rayquery: IdRef, intersection: IdRef },
- .OpRayQueryGetIntersectionInstanceCustomIndexKHR => struct { id_result_type: IdResultType, id_result: IdResult, rayquery: IdRef, intersection: IdRef },
- .OpRayQueryGetIntersectionInstanceIdKHR => struct { id_result_type: IdResultType, id_result: IdResult, rayquery: IdRef, intersection: IdRef },
- .OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR => struct { id_result_type: IdResultType, id_result: IdResult, rayquery: IdRef, intersection: IdRef },
- .OpRayQueryGetIntersectionGeometryIndexKHR => struct { id_result_type: IdResultType, id_result: IdResult, rayquery: IdRef, intersection: IdRef },
- .OpRayQueryGetIntersectionPrimitiveIndexKHR => struct { id_result_type: IdResultType, id_result: IdResult, rayquery: IdRef, intersection: IdRef },
- .OpRayQueryGetIntersectionBarycentricsKHR => struct { id_result_type: IdResultType, id_result: IdResult, rayquery: IdRef, intersection: IdRef },
- .OpRayQueryGetIntersectionFrontFaceKHR => struct { id_result_type: IdResultType, id_result: IdResult, rayquery: IdRef, intersection: IdRef },
- .OpRayQueryGetIntersectionCandidateAABBOpaqueKHR => struct { id_result_type: IdResultType, id_result: IdResult, rayquery: IdRef },
- .OpRayQueryGetIntersectionObjectRayDirectionKHR => struct { id_result_type: IdResultType, id_result: IdResult, rayquery: IdRef, intersection: IdRef },
- .OpRayQueryGetIntersectionObjectRayOriginKHR => struct { id_result_type: IdResultType, id_result: IdResult, rayquery: IdRef, intersection: IdRef },
- .OpRayQueryGetWorldRayDirectionKHR => struct { id_result_type: IdResultType, id_result: IdResult, rayquery: IdRef },
- .OpRayQueryGetWorldRayOriginKHR => struct { id_result_type: IdResultType, id_result: IdResult, rayquery: IdRef },
- .OpRayQueryGetIntersectionObjectToWorldKHR => struct { id_result_type: IdResultType, id_result: IdResult, rayquery: IdRef, intersection: IdRef },
- .OpRayQueryGetIntersectionWorldToObjectKHR => struct { id_result_type: IdResultType, id_result: IdResult, rayquery: IdRef, intersection: IdRef },
- .OpAtomicFAddEXT => struct { id_result_type: IdResultType, id_result: IdResult, pointer: IdRef, memory: IdScope, semantics: IdMemorySemantics, value: IdRef },
- .OpTypeBufferSurfaceINTEL => struct { id_result: IdResult, accessqualifier: AccessQualifier },
- .OpTypeStructContinuedINTEL => struct { id_ref: []const IdRef = &.{} },
- .OpConstantCompositeContinuedINTEL => struct { constituents: []const IdRef = &.{} },
- .OpSpecConstantCompositeContinuedINTEL => struct { constituents: []const IdRef = &.{} },
- .OpCompositeConstructContinuedINTEL => struct { id_result_type: IdResultType, id_result: IdResult, constituents: []const IdRef = &.{} },
- .OpConvertFToBF16INTEL => struct { id_result_type: IdResultType, id_result: IdResult, float_value: IdRef },
- .OpConvertBF16ToFINTEL => struct { id_result_type: IdResultType, id_result: IdResult, bfloat16_value: IdRef },
- .OpControlBarrierArriveINTEL => struct { execution: IdScope, memory: IdScope, semantics: IdMemorySemantics },
- .OpControlBarrierWaitINTEL => struct { execution: IdScope, memory: IdScope, semantics: IdMemorySemantics },
- .OpGroupIMulKHR => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },
- .OpGroupFMulKHR => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },
- .OpGroupBitwiseAndKHR => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },
- .OpGroupBitwiseOrKHR => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },
- .OpGroupBitwiseXorKHR => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },
- .OpGroupLogicalAndKHR => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },
- .OpGroupLogicalOrKHR => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },
- .OpGroupLogicalXorKHR => struct { id_result_type: IdResultType, id_result: IdResult, execution: IdScope, operation: GroupOperation, x: IdRef },
- .OpMaskedGatherINTEL => struct { id_result_type: IdResultType, id_result: IdResult, ptrvector: IdRef, alignment: LiteralInteger, mask: IdRef, fillempty: IdRef },
- .OpMaskedScatterINTEL => struct { inputvector: IdRef, ptrvector: IdRef, alignment: LiteralInteger, mask: IdRef },
+ .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 => .ModeSetting,
- .OpEntryPoint => .ModeSetting,
- .OpExecutionMode => .ModeSetting,
- .OpCapability => .ModeSetting,
- .OpTypeVoid => .TypeDeclaration,
- .OpTypeBool => .TypeDeclaration,
- .OpTypeInt => .TypeDeclaration,
- .OpTypeFloat => .TypeDeclaration,
- .OpTypeVector => .TypeDeclaration,
- .OpTypeMatrix => .TypeDeclaration,
- .OpTypeImage => .TypeDeclaration,
- .OpTypeSampler => .TypeDeclaration,
- .OpTypeSampledImage => .TypeDeclaration,
- .OpTypeArray => .TypeDeclaration,
- .OpTypeRuntimeArray => .TypeDeclaration,
- .OpTypeStruct => .TypeDeclaration,
- .OpTypeOpaque => .TypeDeclaration,
- .OpTypePointer => .TypeDeclaration,
- .OpTypeFunction => .TypeDeclaration,
- .OpTypeEvent => .TypeDeclaration,
- .OpTypeDeviceEvent => .TypeDeclaration,
- .OpTypeReserveId => .TypeDeclaration,
- .OpTypeQueue => .TypeDeclaration,
- .OpTypePipe => .TypeDeclaration,
- .OpTypeForwardPointer => .TypeDeclaration,
- .OpConstantTrue => .ConstantCreation,
- .OpConstantFalse => .ConstantCreation,
- .OpConstant => .ConstantCreation,
- .OpConstantComposite => .ConstantCreation,
- .OpConstantSampler => .ConstantCreation,
- .OpConstantNull => .ConstantCreation,
- .OpSpecConstantTrue => .ConstantCreation,
- .OpSpecConstantFalse => .ConstantCreation,
- .OpSpecConstant => .ConstantCreation,
- .OpSpecConstantComposite => .ConstantCreation,
- .OpSpecConstantOp => .ConstantCreation,
- .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 => .RelationalAndLogical,
- .OpAll => .RelationalAndLogical,
- .OpIsNan => .RelationalAndLogical,
- .OpIsInf => .RelationalAndLogical,
- .OpIsFinite => .RelationalAndLogical,
- .OpIsNormal => .RelationalAndLogical,
- .OpSignBitSet => .RelationalAndLogical,
- .OpLessOrGreater => .RelationalAndLogical,
- .OpOrdered => .RelationalAndLogical,
- .OpUnordered => .RelationalAndLogical,
- .OpLogicalEqual => .RelationalAndLogical,
- .OpLogicalNotEqual => .RelationalAndLogical,
- .OpLogicalOr => .RelationalAndLogical,
- .OpLogicalAnd => .RelationalAndLogical,
- .OpLogicalNot => .RelationalAndLogical,
- .OpSelect => .RelationalAndLogical,
- .OpIEqual => .RelationalAndLogical,
- .OpINotEqual => .RelationalAndLogical,
- .OpUGreaterThan => .RelationalAndLogical,
- .OpSGreaterThan => .RelationalAndLogical,
- .OpUGreaterThanEqual => .RelationalAndLogical,
- .OpSGreaterThanEqual => .RelationalAndLogical,
- .OpULessThan => .RelationalAndLogical,
- .OpSLessThan => .RelationalAndLogical,
- .OpULessThanEqual => .RelationalAndLogical,
- .OpSLessThanEqual => .RelationalAndLogical,
- .OpFOrdEqual => .RelationalAndLogical,
- .OpFUnordEqual => .RelationalAndLogical,
- .OpFOrdNotEqual => .RelationalAndLogical,
- .OpFUnordNotEqual => .RelationalAndLogical,
- .OpFOrdLessThan => .RelationalAndLogical,
- .OpFUnordLessThan => .RelationalAndLogical,
- .OpFOrdGreaterThan => .RelationalAndLogical,
- .OpFUnordGreaterThan => .RelationalAndLogical,
- .OpFOrdLessThanEqual => .RelationalAndLogical,
- .OpFUnordLessThanEqual => .RelationalAndLogical,
- .OpFOrdGreaterThanEqual => .RelationalAndLogical,
- .OpFUnordGreaterThanEqual => .RelationalAndLogical,
- .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 => .ControlFlow,
- .OpLoopMerge => .ControlFlow,
- .OpSelectionMerge => .ControlFlow,
- .OpLabel => .ControlFlow,
- .OpBranch => .ControlFlow,
- .OpBranchConditional => .ControlFlow,
- .OpSwitch => .ControlFlow,
- .OpKill => .ControlFlow,
- .OpReturn => .ControlFlow,
- .OpReturnValue => .ControlFlow,
- .OpUnreachable => .ControlFlow,
- .OpLifetimeStart => .ControlFlow,
- .OpLifetimeStop => .ControlFlow,
- .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 => .DeviceSideEnqueue,
- .OpEnqueueKernel => .DeviceSideEnqueue,
- .OpGetKernelNDrangeSubGroupCount => .DeviceSideEnqueue,
- .OpGetKernelNDrangeMaxSubGroupSize => .DeviceSideEnqueue,
- .OpGetKernelWorkGroupSize => .DeviceSideEnqueue,
- .OpGetKernelPreferredWorkGroupSizeMultiple => .DeviceSideEnqueue,
- .OpRetainEvent => .DeviceSideEnqueue,
- .OpReleaseEvent => .DeviceSideEnqueue,
- .OpCreateUserEvent => .DeviceSideEnqueue,
- .OpIsValidEvent => .DeviceSideEnqueue,
- .OpSetUserEventStatus => .DeviceSideEnqueue,
- .OpCaptureEventProfilingInfo => .DeviceSideEnqueue,
- .OpGetDefaultQueue => .DeviceSideEnqueue,
- .OpBuildNDRange => .DeviceSideEnqueue,
- .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 => .TypeDeclaration,
- .OpConstantPipeStorage => .Pipe,
- .OpCreatePipeFromPipeStorage => .Pipe,
- .OpGetKernelLocalSizeForSubgroupCount => .DeviceSideEnqueue,
- .OpGetKernelMaxNumSubgroups => .DeviceSideEnqueue,
- .OpTypeNamedBarrier => .TypeDeclaration,
- .OpNamedBarrierInitialize => .Barrier,
- .OpMemoryNamedBarrier => .Barrier,
- .OpModuleProcessed => .Debug,
- .OpExecutionModeId => .ModeSetting,
- .OpDecorateId => .Annotation,
- .OpGroupNonUniformElect => .NonUniform,
- .OpGroupNonUniformAll => .NonUniform,
- .OpGroupNonUniformAny => .NonUniform,
- .OpGroupNonUniformAllEqual => .NonUniform,
- .OpGroupNonUniformBroadcast => .NonUniform,
- .OpGroupNonUniformBroadcastFirst => .NonUniform,
- .OpGroupNonUniformBallot => .NonUniform,
- .OpGroupNonUniformInverseBallot => .NonUniform,
- .OpGroupNonUniformBallotBitExtract => .NonUniform,
- .OpGroupNonUniformBallotBitCount => .NonUniform,
- .OpGroupNonUniformBallotFindLSB => .NonUniform,
- .OpGroupNonUniformBallotFindMSB => .NonUniform,
- .OpGroupNonUniformShuffle => .NonUniform,
- .OpGroupNonUniformShuffleXor => .NonUniform,
- .OpGroupNonUniformShuffleUp => .NonUniform,
- .OpGroupNonUniformShuffleDown => .NonUniform,
- .OpGroupNonUniformIAdd => .NonUniform,
- .OpGroupNonUniformFAdd => .NonUniform,
- .OpGroupNonUniformIMul => .NonUniform,
- .OpGroupNonUniformFMul => .NonUniform,
- .OpGroupNonUniformSMin => .NonUniform,
- .OpGroupNonUniformUMin => .NonUniform,
- .OpGroupNonUniformFMin => .NonUniform,
- .OpGroupNonUniformSMax => .NonUniform,
- .OpGroupNonUniformUMax => .NonUniform,
- .OpGroupNonUniformFMax => .NonUniform,
- .OpGroupNonUniformBitwiseAnd => .NonUniform,
- .OpGroupNonUniformBitwiseOr => .NonUniform,
- .OpGroupNonUniformBitwiseXor => .NonUniform,
- .OpGroupNonUniformLogicalAnd => .NonUniform,
- .OpGroupNonUniformLogicalOr => .NonUniform,
- .OpGroupNonUniformLogicalXor => .NonUniform,
- .OpGroupNonUniformQuadBroadcast => .NonUniform,
- .OpGroupNonUniformQuadSwap => .NonUniform,
- .OpCopyLogical => .Composite,
- .OpPtrEqual => .Memory,
- .OpPtrNotEqual => .Memory,
- .OpPtrDiff => .Memory,
- .OpColorAttachmentReadEXT => .Image,
- .OpDepthAttachmentReadEXT => .Image,
- .OpStencilAttachmentReadEXT => .Image,
- .OpTerminateInvocation => .ControlFlow,
- .OpSubgroupBallotKHR => .Group,
- .OpSubgroupFirstInvocationKHR => .Group,
- .OpSubgroupAllKHR => .Group,
- .OpSubgroupAnyKHR => .Group,
- .OpSubgroupAllEqualKHR => .Group,
- .OpGroupNonUniformRotateKHR => .Group,
- .OpSubgroupReadInvocationKHR => .Group,
- .OpTraceRayKHR => .Reserved,
- .OpExecuteCallableKHR => .Reserved,
- .OpConvertUToAccelerationStructureKHR => .Reserved,
- .OpIgnoreIntersectionKHR => .Reserved,
- .OpTerminateRayKHR => .Reserved,
- .OpSDot => .Arithmetic,
- .OpUDot => .Arithmetic,
- .OpSUDot => .Arithmetic,
- .OpSDotAccSat => .Arithmetic,
- .OpUDotAccSat => .Arithmetic,
- .OpSUDotAccSat => .Arithmetic,
- .OpTypeCooperativeMatrixKHR => .TypeDeclaration,
- .OpCooperativeMatrixLoadKHR => .Memory,
- .OpCooperativeMatrixStoreKHR => .Memory,
- .OpCooperativeMatrixMulAddKHR => .Arithmetic,
- .OpCooperativeMatrixLengthKHR => .Miscellaneous,
- .OpTypeRayQueryKHR => .TypeDeclaration,
- .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,
- .OpFinalizeNodePayloadsAMDX => .Reserved,
- .OpFinishWritingNodePayloadAMDX => .Reserved,
- .OpInitializeNodePayloadsAMDX => .Reserved,
- .OpGroupNonUniformQuadAllKHR => .NonUniform,
- .OpGroupNonUniformQuadAnyKHR => .NonUniform,
- .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 => .TypeDeclaration,
- .OpImageSampleFootprintNV => .Image,
- .OpEmitMeshTasksEXT => .Reserved,
- .OpSetMeshOutputsEXT => .Reserved,
- .OpGroupNonUniformPartitionNV => .NonUniform,
- .OpWritePackedPrimitiveIndices4x8NV => .Reserved,
- .OpFetchMicroTriangleVertexPositionNV => .Reserved,
- .OpFetchMicroTriangleVertexBarycentricNV => .Reserved,
- .OpReportIntersectionKHR => .Reserved,
- .OpIgnoreIntersectionNV => .Reserved,
- .OpTerminateRayNV => .Reserved,
- .OpTraceNV => .Reserved,
- .OpTraceMotionNV => .Reserved,
- .OpTraceRayMotionNV => .Reserved,
- .OpRayQueryGetIntersectionTriangleVertexPositionsKHR => .Reserved,
- .OpTypeAccelerationStructureKHR => .TypeDeclaration,
- .OpExecuteCallableNV => .Reserved,
- .OpTypeCooperativeMatrixNV => .TypeDeclaration,
- .OpCooperativeMatrixLoadNV => .Reserved,
- .OpCooperativeMatrixStoreNV => .Reserved,
- .OpCooperativeMatrixMulAddNV => .Reserved,
- .OpCooperativeMatrixLengthNV => .Reserved,
- .OpBeginInvocationInterlockEXT => .Reserved,
- .OpEndInvocationInterlockEXT => .Reserved,
- .OpDemoteToHelperInvocation => .ControlFlow,
- .OpIsHelperInvocationEXT => .Reserved,
- .OpConvertUToImageNV => .Reserved,
- .OpConvertUToSamplerNV => .Reserved,
- .OpConvertImageToUNV => .Reserved,
- .OpConvertSamplerToUNV => .Reserved,
- .OpConvertUToSampledImageNV => .Reserved,
- .OpConvertSampledImageToUNV => .Reserved,
- .OpSamplerImageAddressingModeNV => .Reserved,
- .OpRawAccessChainNV => .Memory,
- .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 => .TypeDeclaration,
- .OpTypeStructContinuedINTEL => .TypeDeclaration,
- .OpConstantCompositeContinuedINTEL => .ConstantCreation,
- .OpSpecConstantCompositeContinuedINTEL => .ConstantCreation,
- .OpCompositeConstructContinuedINTEL => .Composite,
- .OpConvertFToBF16INTEL => .Conversion,
- .OpConvertBF16ToFINTEL => .Conversion,
- .OpControlBarrierArriveINTEL => .Barrier,
- .OpControlBarrierWaitINTEL => .Barrier,
- .OpGroupIMulKHR => .Group,
- .OpGroupFMulKHR => .Group,
- .OpGroupBitwiseAndKHR => .Group,
- .OpGroupBitwiseOrKHR => .Group,
- .OpGroupBitwiseXorKHR => .Group,
- .OpGroupLogicalAndKHR => .Group,
- .OpGroupLogicalOrKHR => .Group,
- .OpGroupLogicalXorKHR => .Group,
- .OpMaskedGatherINTEL => .Memory,
- .OpMaskedScatterINTEL => .Memory,
+ .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,
- ConstOffset: bool = false,
- Offset: bool = false,
- ConstOffsets: bool = false,
- Sample: bool = false,
- MinLod: bool = false,
- MakeTexelAvailable: bool = false,
- MakeTexelVisible: bool = false,
- NonPrivateTexel: bool = false,
- VolatileTexel: bool = false,
- SignExtend: bool = false,
- ZeroExtend: bool = false,
- Nontemporal: bool = false,
+ 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,
+ offsets: bool = false,
_reserved_bit_17: bool = false,
_reserved_bit_18: bool = false,
_reserved_bit_19: bool = false,
@@ -3251,29 +3557,24 @@ pub const ImageOperands = packed struct {
_reserved_bit_30: bool = false,
_reserved_bit_31: bool = false,
- pub const MakeTexelAvailableKHR: ImageOperands = .{ .MakeTexelAvailable = true };
- pub const MakeTexelVisibleKHR: ImageOperands = .{ .MakeTexelVisible = true };
- pub const NonPrivateTexelKHR: ImageOperands = .{ .NonPrivateTexel = true };
- pub const VolatileTexelKHR: ImageOperands = .{ .VolatileTexel = true };
-
pub const Extended = struct {
- Bias: ?struct { id_ref: IdRef } = null,
- Lod: ?struct { id_ref: IdRef } = null,
- Grad: ?struct { id_ref_0: IdRef, id_ref_1: IdRef } = null,
- ConstOffset: ?struct { id_ref: IdRef } = null,
- Offset: ?struct { id_ref: IdRef } = null,
- ConstOffsets: ?struct { id_ref: IdRef } = null,
- Sample: ?struct { id_ref: IdRef } = null,
- MinLod: ?struct { id_ref: IdRef } = null,
- MakeTexelAvailable: ?struct { id_scope: IdScope } = null,
- MakeTexelVisible: ?struct { id_scope: IdScope } = null,
- NonPrivateTexel: bool = false,
- VolatileTexel: bool = false,
- SignExtend: bool = false,
- ZeroExtend: bool = false,
- Nontemporal: bool = false,
+ 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: IdRef } = null,
+ offsets: ?struct { id_ref: Id } = null,
_reserved_bit_17: bool = false,
_reserved_bit_18: bool = false,
_reserved_bit_19: bool = false,
@@ -3292,11 +3593,11 @@ pub const ImageOperands = packed struct {
};
};
pub const FPFastMathMode = packed struct {
- NotNaN: bool = false,
- NotInf: bool = false,
- NSZ: bool = false,
- AllowRecip: bool = false,
- Fast: bool = false,
+ 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,
@@ -3308,9 +3609,9 @@ pub const FPFastMathMode = packed struct {
_reserved_bit_13: bool = false,
_reserved_bit_14: bool = false,
_reserved_bit_15: bool = false,
- AllowContract: bool = false,
- AllowReassoc: bool = false,
- AllowTransform: 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,
@@ -3324,13 +3625,10 @@ pub const FPFastMathMode = packed struct {
_reserved_bit_29: bool = false,
_reserved_bit_30: bool = false,
_reserved_bit_31: bool = false,
-
- pub const AllowContractFastINTEL: FPFastMathMode = .{ .AllowContract = true };
- pub const AllowReassocINTEL: FPFastMathMode = .{ .AllowReassoc = true };
};
pub const SelectionControl = packed struct {
- Flatten: bool = false,
- DontFlatten: bool = false,
+ flatten: bool = false,
+ dont_flatten: bool = false,
_reserved_bit_2: bool = false,
_reserved_bit_3: bool = false,
_reserved_bit_4: bool = false,
@@ -3363,15 +3661,15 @@ pub const SelectionControl = packed struct {
_reserved_bit_31: bool = false,
};
pub const LoopControl = packed struct {
- Unroll: bool = false,
- DontUnroll: bool = false,
- DependencyInfinite: bool = false,
- DependencyLength: bool = false,
- MinIterations: bool = false,
- MaxIterations: bool = false,
- IterationMultiple: bool = false,
- PeelCount: bool = false,
- PartialCount: bool = false,
+ 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,
@@ -3379,16 +3677,16 @@ pub const LoopControl = packed struct {
_reserved_bit_13: bool = false,
_reserved_bit_14: bool = false,
_reserved_bit_15: bool = false,
- InitiationIntervalINTEL: bool = false,
- MaxConcurrencyINTEL: bool = false,
- DependencyArrayINTEL: bool = false,
- PipelineEnableINTEL: bool = false,
- LoopCoalesceINTEL: bool = false,
- MaxInterleavingINTEL: bool = false,
- SpeculatedIterationsINTEL: bool = false,
- NoFusionINTEL: bool = false,
- LoopCountINTEL: bool = false,
- MaxReinvocationDelayINTEL: 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,
@@ -3397,15 +3695,15 @@ pub const LoopControl = packed struct {
_reserved_bit_31: bool = false,
pub const Extended = struct {
- Unroll: bool = false,
- DontUnroll: bool = false,
- DependencyInfinite: bool = false,
- DependencyLength: ?struct { literal_integer: LiteralInteger } = null,
- MinIterations: ?struct { literal_integer: LiteralInteger } = null,
- MaxIterations: ?struct { literal_integer: LiteralInteger } = null,
- IterationMultiple: ?struct { literal_integer: LiteralInteger } = null,
- PeelCount: ?struct { literal_integer: LiteralInteger } = null,
- PartialCount: ?struct { literal_integer: LiteralInteger } = null,
+ 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,
@@ -3413,16 +3711,16 @@ pub const LoopControl = packed struct {
_reserved_bit_13: bool = false,
_reserved_bit_14: bool = false,
_reserved_bit_15: bool = false,
- InitiationIntervalINTEL: ?struct { literal_integer: LiteralInteger } = null,
- MaxConcurrencyINTEL: ?struct { literal_integer: LiteralInteger } = null,
- DependencyArrayINTEL: ?struct { literal_integer: LiteralInteger } = null,
- PipelineEnableINTEL: ?struct { literal_integer: LiteralInteger } = null,
- LoopCoalesceINTEL: ?struct { literal_integer: LiteralInteger } = null,
- MaxInterleavingINTEL: ?struct { literal_integer: LiteralInteger } = null,
- SpeculatedIterationsINTEL: ?struct { literal_integer: LiteralInteger } = null,
- NoFusionINTEL: bool = false,
- LoopCountINTEL: ?struct { literal_integer: LiteralInteger } = null,
- MaxReinvocationDelayINTEL: ?struct { literal_integer: LiteralInteger } = null,
+ 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,
@@ -3432,10 +3730,10 @@ pub const LoopControl = packed struct {
};
};
pub const FunctionControl = packed struct {
- Inline: bool = false,
- DontInline: bool = false,
- Pure: bool = false,
- Const: bool = false,
+ @"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,
@@ -3448,7 +3746,7 @@ pub const FunctionControl = packed struct {
_reserved_bit_13: bool = false,
_reserved_bit_14: bool = false,
_reserved_bit_15: bool = false,
- OptNoneINTEL: bool = false,
+ opt_none_ext: bool = false,
_reserved_bit_17: bool = false,
_reserved_bit_18: bool = false,
_reserved_bit_19: bool = false,
@@ -3467,21 +3765,21 @@ pub const FunctionControl = packed struct {
};
pub const MemorySemantics = packed struct {
_reserved_bit_0: bool = false,
- Acquire: bool = false,
- Release: bool = false,
- AcquireRelease: bool = false,
- SequentiallyConsistent: bool = false,
+ acquire: bool = false,
+ release: bool = false,
+ acquire_release: bool = false,
+ sequentially_consistent: bool = false,
_reserved_bit_5: bool = false,
- UniformMemory: bool = false,
- SubgroupMemory: bool = false,
- WorkgroupMemory: bool = false,
- CrossWorkgroupMemory: bool = false,
- AtomicCounterMemory: bool = false,
- ImageMemory: bool = false,
- OutputMemory: bool = false,
- MakeAvailable: bool = false,
- MakeVisible: bool = false,
- Volatile: 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,
@@ -3498,18 +3796,14 @@ pub const MemorySemantics = packed struct {
_reserved_bit_29: bool = false,
_reserved_bit_30: bool = false,
_reserved_bit_31: bool = false,
-
- pub const OutputMemoryKHR: MemorySemantics = .{ .OutputMemory = true };
- pub const MakeAvailableKHR: MemorySemantics = .{ .MakeAvailable = true };
- pub const MakeVisibleKHR: MemorySemantics = .{ .MakeVisible = true };
};
pub const MemoryAccess = packed struct {
- Volatile: bool = false,
- Aligned: bool = false,
- Nontemporal: bool = false,
- MakePointerAvailable: bool = false,
- MakePointerVisible: bool = false,
- NonPrivatePointer: bool = false,
+ @"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,
@@ -3520,8 +3814,8 @@ pub const MemoryAccess = packed struct {
_reserved_bit_13: bool = false,
_reserved_bit_14: bool = false,
_reserved_bit_15: bool = false,
- AliasScopeINTELMask: bool = false,
- NoAliasINTELMask: 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,
@@ -3537,17 +3831,13 @@ pub const MemoryAccess = packed struct {
_reserved_bit_30: bool = false,
_reserved_bit_31: bool = false,
- pub const MakePointerAvailableKHR: MemoryAccess = .{ .MakePointerAvailable = true };
- pub const MakePointerVisibleKHR: MemoryAccess = .{ .MakePointerVisible = true };
- pub const NonPrivatePointerKHR: MemoryAccess = .{ .NonPrivatePointer = true };
-
pub const Extended = struct {
- Volatile: bool = false,
- Aligned: ?struct { literal_integer: LiteralInteger } = null,
- Nontemporal: bool = false,
- MakePointerAvailable: ?struct { id_scope: IdScope } = null,
- MakePointerVisible: ?struct { id_scope: IdScope } = null,
- NonPrivatePointer: bool = false,
+ @"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,
@@ -3558,8 +3848,8 @@ pub const MemoryAccess = packed struct {
_reserved_bit_13: bool = false,
_reserved_bit_14: bool = false,
_reserved_bit_15: bool = false,
- AliasScopeINTELMask: ?struct { id_ref: IdRef } = null,
- NoAliasINTELMask: ?struct { id_ref: IdRef } = null,
+ 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,
@@ -3577,7 +3867,7 @@ pub const MemoryAccess = packed struct {
};
};
pub const KernelProfilingInfo = packed struct {
- CmdExecTime: bool = false,
+ cmd_exec_time: bool = false,
_reserved_bit_1: bool = false,
_reserved_bit_2: bool = false,
_reserved_bit_3: bool = false,
@@ -3611,17 +3901,17 @@ pub const KernelProfilingInfo = packed struct {
_reserved_bit_31: bool = false,
};
pub const RayFlags = packed struct {
- OpaqueKHR: bool = false,
- NoOpaqueKHR: bool = false,
- TerminateOnFirstHitKHR: bool = false,
- SkipClosestHitShaderKHR: bool = false,
- CullBackFacingTrianglesKHR: bool = false,
- CullFrontFacingTrianglesKHR: bool = false,
- CullOpaqueKHR: bool = false,
- CullNoOpaqueKHR: bool = false,
- SkipTrianglesKHR: bool = false,
- SkipAABBsKHR: bool = false,
- ForceOpacityMicromap2StateEXT: bool = false,
+ 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,
@@ -3645,10 +3935,10 @@ pub const RayFlags = packed struct {
_reserved_bit_31: bool = false,
};
pub const FragmentShadingRate = packed struct {
- Vertical2Pixels: bool = false,
- Vertical4Pixels: bool = false,
- Horizontal2Pixels: bool = false,
- Horizontal4Pixels: bool = false,
+ 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,
@@ -3679,8 +3969,8 @@ pub const FragmentShadingRate = packed struct {
_reserved_bit_31: bool = false,
};
pub const RawAccessChainOperands = packed struct {
- RobustnessPerComponentNV: bool = false,
- RobustnessPerElementNV: bool = false,
+ 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,
@@ -3713,1199 +4003,1187 @@ pub const RawAccessChainOperands = packed struct {
_reserved_bit_31: bool = false,
};
pub const SourceLanguage = enum(u32) {
- Unknown = 0,
- ESSL = 1,
- GLSL = 2,
- OpenCL_C = 3,
- OpenCL_CPP = 4,
- HLSL = 5,
- CPP_for_OpenCL = 6,
- SYCL = 7,
- HERO_C = 8,
- NZSL = 9,
- WGSL = 10,
- Slang = 11,
- Zig = 12,
+ 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,
- TessellationControl = 1,
- TessellationEvaluation = 2,
- Geometry = 3,
- Fragment = 4,
- GLCompute = 5,
- Kernel = 6,
- TaskNV = 5267,
- MeshNV = 5268,
- RayGenerationKHR = 5313,
- IntersectionKHR = 5314,
- AnyHitKHR = 5315,
- ClosestHitKHR = 5316,
- MissKHR = 5317,
- CallableKHR = 5318,
- TaskEXT = 5364,
- MeshEXT = 5365,
-
- pub const RayGenerationNV = ExecutionModel.RayGenerationKHR;
- pub const IntersectionNV = ExecutionModel.IntersectionKHR;
- pub const AnyHitNV = ExecutionModel.AnyHitKHR;
- pub const ClosestHitNV = ExecutionModel.ClosestHitKHR;
- pub const MissNV = ExecutionModel.MissKHR;
- pub const CallableNV = ExecutionModel.CallableKHR;
+ 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,
- PhysicalStorageBuffer64 = 5348,
-
- pub const PhysicalStorageBuffer64EXT = AddressingModel.PhysicalStorageBuffer64;
+ logical = 0,
+ physical32 = 1,
+ physical64 = 2,
+ physical_storage_buffer64 = 5348,
};
pub const MemoryModel = enum(u32) {
- Simple = 0,
- GLSL450 = 1,
- OpenCL = 2,
- Vulkan = 3,
-
- pub const VulkanKHR = MemoryModel.Vulkan;
+ simple = 0,
+ glsl450 = 1,
+ open_cl = 2,
+ vulkan = 3,
};
pub const ExecutionMode = enum(u32) {
- Invocations = 0,
- SpacingEqual = 1,
- SpacingFractionalEven = 2,
- SpacingFractionalOdd = 3,
- VertexOrderCw = 4,
- VertexOrderCcw = 5,
- PixelCenterInteger = 6,
- OriginUpperLeft = 7,
- OriginLowerLeft = 8,
- EarlyFragmentTests = 9,
- PointMode = 10,
- Xfb = 11,
- DepthReplacing = 12,
- DepthGreater = 14,
- DepthLess = 15,
- DepthUnchanged = 16,
- LocalSize = 17,
- LocalSizeHint = 18,
- InputPoints = 19,
- InputLines = 20,
- InputLinesAdjacency = 21,
- Triangles = 22,
- InputTrianglesAdjacency = 23,
- Quads = 24,
- Isolines = 25,
- OutputVertices = 26,
- OutputPoints = 27,
- OutputLineStrip = 28,
- OutputTriangleStrip = 29,
- VecTypeHint = 30,
- ContractionOff = 31,
- Initializer = 33,
- Finalizer = 34,
- SubgroupSize = 35,
- SubgroupsPerWorkgroup = 36,
- SubgroupsPerWorkgroupId = 37,
- LocalSizeId = 38,
- LocalSizeHintId = 39,
- NonCoherentColorAttachmentReadEXT = 4169,
- NonCoherentDepthAttachmentReadEXT = 4170,
- NonCoherentStencilAttachmentReadEXT = 4171,
- SubgroupUniformControlFlowKHR = 4421,
- PostDepthCoverage = 4446,
- DenormPreserve = 4459,
- DenormFlushToZero = 4460,
- SignedZeroInfNanPreserve = 4461,
- RoundingModeRTE = 4462,
- RoundingModeRTZ = 4463,
- EarlyAndLateFragmentTestsAMD = 5017,
- StencilRefReplacingEXT = 5027,
- CoalescingAMDX = 5069,
- MaxNodeRecursionAMDX = 5071,
- StaticNumWorkgroupsAMDX = 5072,
- ShaderIndexAMDX = 5073,
- MaxNumWorkgroupsAMDX = 5077,
- StencilRefUnchangedFrontAMD = 5079,
- StencilRefGreaterFrontAMD = 5080,
- StencilRefLessFrontAMD = 5081,
- StencilRefUnchangedBackAMD = 5082,
- StencilRefGreaterBackAMD = 5083,
- StencilRefLessBackAMD = 5084,
- QuadDerivativesKHR = 5088,
- RequireFullQuadsKHR = 5089,
- OutputLinesEXT = 5269,
- OutputPrimitivesEXT = 5270,
- DerivativeGroupQuadsNV = 5289,
- DerivativeGroupLinearNV = 5290,
- OutputTrianglesEXT = 5298,
- PixelInterlockOrderedEXT = 5366,
- PixelInterlockUnorderedEXT = 5367,
- SampleInterlockOrderedEXT = 5368,
- SampleInterlockUnorderedEXT = 5369,
- ShadingRateInterlockOrderedEXT = 5370,
- ShadingRateInterlockUnorderedEXT = 5371,
- SharedLocalMemorySizeINTEL = 5618,
- RoundingModeRTPINTEL = 5620,
- RoundingModeRTNINTEL = 5621,
- FloatingPointModeALTINTEL = 5622,
- FloatingPointModeIEEEINTEL = 5623,
- MaxWorkgroupSizeINTEL = 5893,
- MaxWorkDimINTEL = 5894,
- NoGlobalOffsetINTEL = 5895,
- NumSIMDWorkitemsINTEL = 5896,
- SchedulerTargetFmaxMhzINTEL = 5903,
- MaximallyReconvergesKHR = 6023,
- FPFastMathDefault = 6028,
- StreamingInterfaceINTEL = 6154,
- RegisterMapInterfaceINTEL = 6160,
- NamedBarrierCountINTEL = 6417,
- MaximumRegistersINTEL = 6461,
- MaximumRegistersIdINTEL = 6462,
- NamedMaximumRegistersINTEL = 6463,
-
- pub const OutputLinesNV = ExecutionMode.OutputLinesEXT;
- pub const OutputPrimitivesNV = ExecutionMode.OutputPrimitivesEXT;
- pub const OutputTrianglesNV = ExecutionMode.OutputTrianglesEXT;
+ 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 },
- SpacingEqual,
- SpacingFractionalEven,
- SpacingFractionalOdd,
- VertexOrderCw,
- VertexOrderCcw,
- PixelCenterInteger,
- OriginUpperLeft,
- OriginLowerLeft,
- EarlyFragmentTests,
- PointMode,
- Xfb,
- DepthReplacing,
- DepthGreater,
- DepthLess,
- DepthUnchanged,
- LocalSize: struct { x_size: LiteralInteger, y_size: LiteralInteger, z_size: LiteralInteger },
- LocalSizeHint: struct { x_size: LiteralInteger, y_size: LiteralInteger, z_size: LiteralInteger },
- InputPoints,
- InputLines,
- InputLinesAdjacency,
- Triangles,
- InputTrianglesAdjacency,
- Quads,
- Isolines,
- OutputVertices: struct { vertex_count: LiteralInteger },
- OutputPoints,
- OutputLineStrip,
- OutputTriangleStrip,
- VecTypeHint: struct { vector_type: LiteralInteger },
- ContractionOff,
- Initializer,
- Finalizer,
- SubgroupSize: struct { subgroup_size: LiteralInteger },
- SubgroupsPerWorkgroup: struct { subgroups_per_workgroup: LiteralInteger },
- SubgroupsPerWorkgroupId: struct { subgroups_per_workgroup: IdRef },
- LocalSizeId: struct { x_size: IdRef, y_size: IdRef, z_size: IdRef },
- LocalSizeHintId: struct { x_size_hint: IdRef, y_size_hint: IdRef, z_size_hint: IdRef },
- NonCoherentColorAttachmentReadEXT,
- NonCoherentDepthAttachmentReadEXT,
- NonCoherentStencilAttachmentReadEXT,
- SubgroupUniformControlFlowKHR,
- PostDepthCoverage,
- DenormPreserve: struct { target_width: LiteralInteger },
- DenormFlushToZero: struct { target_width: LiteralInteger },
- SignedZeroInfNanPreserve: struct { target_width: LiteralInteger },
- RoundingModeRTE: struct { target_width: LiteralInteger },
- RoundingModeRTZ: struct { target_width: LiteralInteger },
- EarlyAndLateFragmentTestsAMD,
- StencilRefReplacingEXT,
- CoalescingAMDX,
- MaxNodeRecursionAMDX: struct { number_of_recursions: IdRef },
- StaticNumWorkgroupsAMDX: struct { x_size: IdRef, y_size: IdRef, z_size: IdRef },
- ShaderIndexAMDX: struct { shader_index: IdRef },
- MaxNumWorkgroupsAMDX: struct { x_size: IdRef, y_size: IdRef, z_size: IdRef },
- StencilRefUnchangedFrontAMD,
- StencilRefGreaterFrontAMD,
- StencilRefLessFrontAMD,
- StencilRefUnchangedBackAMD,
- StencilRefGreaterBackAMD,
- StencilRefLessBackAMD,
- QuadDerivativesKHR,
- RequireFullQuadsKHR,
- OutputLinesEXT,
- OutputPrimitivesEXT: struct { primitive_count: LiteralInteger },
- DerivativeGroupQuadsNV,
- DerivativeGroupLinearNV,
- OutputTrianglesEXT,
- PixelInterlockOrderedEXT,
- PixelInterlockUnorderedEXT,
- SampleInterlockOrderedEXT,
- SampleInterlockUnorderedEXT,
- ShadingRateInterlockOrderedEXT,
- ShadingRateInterlockUnorderedEXT,
- SharedLocalMemorySizeINTEL: struct { size: LiteralInteger },
- RoundingModeRTPINTEL: struct { target_width: LiteralInteger },
- RoundingModeRTNINTEL: struct { target_width: LiteralInteger },
- FloatingPointModeALTINTEL: struct { target_width: LiteralInteger },
- FloatingPointModeIEEEINTEL: struct { target_width: LiteralInteger },
- MaxWorkgroupSizeINTEL: struct { literal_integer_0: LiteralInteger, literal_integer_1: LiteralInteger, literal_integer_2: LiteralInteger },
- MaxWorkDimINTEL: struct { literal_integer: LiteralInteger },
- NoGlobalOffsetINTEL,
- NumSIMDWorkitemsINTEL: struct { literal_integer: LiteralInteger },
- SchedulerTargetFmaxMhzINTEL: struct { literal_integer: LiteralInteger },
- MaximallyReconvergesKHR,
- FPFastMathDefault: struct { target_type: IdRef, id_ref_1: IdRef },
- StreamingInterfaceINTEL: struct { stallfreereturn: LiteralInteger },
- RegisterMapInterfaceINTEL: struct { waitfordonewrite: LiteralInteger },
- NamedBarrierCountINTEL: struct { barrier_count: LiteralInteger },
- MaximumRegistersINTEL: struct { number_of_registers: LiteralInteger },
- MaximumRegistersIdINTEL: struct { number_of_registers: IdRef },
- NamedMaximumRegistersINTEL: struct { named_maximum_number_of_registers: NamedMaximumNumberOfRegisters },
+ 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) {
- UniformConstant = 0,
- Input = 1,
- Uniform = 2,
- Output = 3,
- Workgroup = 4,
- CrossWorkgroup = 5,
- Private = 6,
- Function = 7,
- Generic = 8,
- PushConstant = 9,
- AtomicCounter = 10,
- Image = 11,
- StorageBuffer = 12,
- TileImageEXT = 4172,
- NodePayloadAMDX = 5068,
- NodeOutputPayloadAMDX = 5076,
- CallableDataKHR = 5328,
- IncomingCallableDataKHR = 5329,
- RayPayloadKHR = 5338,
- HitAttributeKHR = 5339,
- IncomingRayPayloadKHR = 5342,
- ShaderRecordBufferKHR = 5343,
- PhysicalStorageBuffer = 5349,
- HitObjectAttributeNV = 5385,
- TaskPayloadWorkgroupEXT = 5402,
- CodeSectionINTEL = 5605,
- DeviceOnlyINTEL = 5936,
- HostOnlyINTEL = 5937,
-
- pub const CallableDataNV = StorageClass.CallableDataKHR;
- pub const IncomingCallableDataNV = StorageClass.IncomingCallableDataKHR;
- pub const RayPayloadNV = StorageClass.RayPayloadKHR;
- pub const HitAttributeNV = StorageClass.HitAttributeKHR;
- pub const IncomingRayPayloadNV = StorageClass.IncomingRayPayloadKHR;
- pub const ShaderRecordBufferNV = StorageClass.ShaderRecordBufferKHR;
- pub const PhysicalStorageBufferEXT = StorageClass.PhysicalStorageBuffer;
+ 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,
- SubpassData = 6,
- TileImageDataEXT = 4173,
+ @"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,
- ClampToEdge = 1,
- Clamp = 2,
- Repeat = 3,
- RepeatMirrored = 4,
+ none = 0,
+ clamp_to_edge = 1,
+ clamp = 2,
+ repeat = 3,
+ repeat_mirrored = 4,
};
pub const SamplerFilterMode = enum(u32) {
- Nearest = 0,
- Linear = 1,
+ 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,
- R11fG11fB10f = 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,
+ 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,
- RGx = 11,
- RGBx = 12,
- Depth = 13,
- DepthStencil = 14,
- sRGB = 15,
- sRGBx = 16,
- sRGBA = 17,
- sBGRA = 18,
- ABGR = 19,
+ 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) {
- SnormInt8 = 0,
- SnormInt16 = 1,
- UnormInt8 = 2,
- UnormInt16 = 3,
- UnormShort565 = 4,
- UnormShort555 = 5,
- UnormInt101010 = 6,
- SignedInt8 = 7,
- SignedInt16 = 8,
- SignedInt32 = 9,
- UnsignedInt8 = 10,
- UnsignedInt16 = 11,
- UnsignedInt32 = 12,
- HalfFloat = 13,
- Float = 14,
- UnormInt24 = 15,
- UnormInt101010_2 = 16,
- UnsignedIntRaw10EXT = 19,
- UnsignedIntRaw12EXT = 20,
+ 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,
+ rte = 0,
+ rtz = 1,
+ rtp = 2,
+ rtn = 3,
};
pub const FPDenormMode = enum(u32) {
- Preserve = 0,
- FlushToZero = 1,
+ 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,
+ 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,
+ ieee = 0,
+ alt = 1,
};
pub const OverflowModes = enum(u32) {
- WRAP = 0,
- SAT = 1,
- SAT_ZERO = 2,
- SAT_SYM = 3,
+ wrap = 0,
+ sat = 1,
+ sat_zero = 2,
+ sat_sym = 3,
};
pub const LinkageType = enum(u32) {
- Export = 0,
- Import = 1,
- LinkOnceODR = 2,
+ @"export" = 0,
+ import = 1,
+ link_once_odr = 2,
};
pub const AccessQualifier = enum(u32) {
- ReadOnly = 0,
- WriteOnly = 1,
- ReadWrite = 2,
+ read_only = 0,
+ write_only = 1,
+ read_write = 2,
};
pub const HostAccessQualifier = enum(u32) {
- NoneINTEL = 0,
- ReadINTEL = 1,
- WriteINTEL = 2,
- ReadWriteINTEL = 3,
+ none_intel = 0,
+ read_intel = 1,
+ write_intel = 2,
+ read_write_intel = 3,
};
pub const FunctionParameterAttribute = enum(u32) {
- Zext = 0,
- Sext = 1,
- ByVal = 2,
- Sret = 3,
- NoAlias = 4,
- NoCapture = 5,
- NoWrite = 6,
- NoReadWrite = 7,
- RuntimeAlignedINTEL = 5940,
+ 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) {
- RelaxedPrecision = 0,
- SpecId = 1,
- Block = 2,
- BufferBlock = 3,
- RowMajor = 4,
- ColMajor = 5,
- ArrayStride = 6,
- MatrixStride = 7,
- GLSLShared = 8,
- GLSLPacked = 9,
- CPacked = 10,
- BuiltIn = 11,
- NoPerspective = 13,
- Flat = 14,
- Patch = 15,
- Centroid = 16,
- Sample = 17,
- Invariant = 18,
- Restrict = 19,
- Aliased = 20,
- Volatile = 21,
- Constant = 22,
- Coherent = 23,
- NonWritable = 24,
- NonReadable = 25,
- Uniform = 26,
- UniformId = 27,
- SaturatedConversion = 28,
- Stream = 29,
- Location = 30,
- Component = 31,
- Index = 32,
- Binding = 33,
- DescriptorSet = 34,
- Offset = 35,
- XfbBuffer = 36,
- XfbStride = 37,
- FuncParamAttr = 38,
- FPRoundingMode = 39,
- FPFastMathMode = 40,
- LinkageAttributes = 41,
- NoContraction = 42,
- InputAttachmentIndex = 43,
- Alignment = 44,
- MaxByteOffset = 45,
- AlignmentId = 46,
- MaxByteOffsetId = 47,
- NoSignedWrap = 4469,
- NoUnsignedWrap = 4470,
- WeightTextureQCOM = 4487,
- BlockMatchTextureQCOM = 4488,
- BlockMatchSamplerQCOM = 4499,
- ExplicitInterpAMD = 4999,
- NodeSharesPayloadLimitsWithAMDX = 5019,
- NodeMaxPayloadsAMDX = 5020,
- TrackFinishWritingAMDX = 5078,
- PayloadNodeNameAMDX = 5091,
- OverrideCoverageNV = 5248,
- PassthroughNV = 5250,
- ViewportRelativeNV = 5252,
- SecondaryViewportRelativeNV = 5256,
- PerPrimitiveEXT = 5271,
- PerViewNV = 5272,
- PerTaskNV = 5273,
- PerVertexKHR = 5285,
- NonUniform = 5300,
- RestrictPointer = 5355,
- AliasedPointer = 5356,
- HitObjectShaderRecordBufferNV = 5386,
- BindlessSamplerNV = 5398,
- BindlessImageNV = 5399,
- BoundSamplerNV = 5400,
- BoundImageNV = 5401,
- SIMTCallINTEL = 5599,
- ReferencedIndirectlyINTEL = 5602,
- ClobberINTEL = 5607,
- SideEffectsINTEL = 5608,
- VectorComputeVariableINTEL = 5624,
- FuncParamIOKindINTEL = 5625,
- VectorComputeFunctionINTEL = 5626,
- StackCallINTEL = 5627,
- GlobalVariableOffsetINTEL = 5628,
- CounterBuffer = 5634,
- UserSemantic = 5635,
- UserTypeGOOGLE = 5636,
- FunctionRoundingModeINTEL = 5822,
- FunctionDenormModeINTEL = 5823,
- RegisterINTEL = 5825,
- MemoryINTEL = 5826,
- NumbanksINTEL = 5827,
- BankwidthINTEL = 5828,
- MaxPrivateCopiesINTEL = 5829,
- SinglepumpINTEL = 5830,
- DoublepumpINTEL = 5831,
- MaxReplicatesINTEL = 5832,
- SimpleDualPortINTEL = 5833,
- MergeINTEL = 5834,
- BankBitsINTEL = 5835,
- ForcePow2DepthINTEL = 5836,
- StridesizeINTEL = 5883,
- WordsizeINTEL = 5884,
- TrueDualPortINTEL = 5885,
- BurstCoalesceINTEL = 5899,
- CacheSizeINTEL = 5900,
- DontStaticallyCoalesceINTEL = 5901,
- PrefetchINTEL = 5902,
- StallEnableINTEL = 5905,
- FuseLoopsInFunctionINTEL = 5907,
- MathOpDSPModeINTEL = 5909,
- AliasScopeINTEL = 5914,
- NoAliasINTEL = 5915,
- InitiationIntervalINTEL = 5917,
- MaxConcurrencyINTEL = 5918,
- PipelineEnableINTEL = 5919,
- BufferLocationINTEL = 5921,
- IOPipeStorageINTEL = 5944,
- FunctionFloatingPointModeINTEL = 6080,
- SingleElementVectorINTEL = 6085,
- VectorComputeCallableFunctionINTEL = 6087,
- MediaBlockIOINTEL = 6140,
- StallFreeINTEL = 6151,
- FPMaxErrorDecorationINTEL = 6170,
- LatencyControlLabelINTEL = 6172,
- LatencyControlConstraintINTEL = 6173,
- ConduitKernelArgumentINTEL = 6175,
- RegisterMapKernelArgumentINTEL = 6176,
- MMHostInterfaceAddressWidthINTEL = 6177,
- MMHostInterfaceDataWidthINTEL = 6178,
- MMHostInterfaceLatencyINTEL = 6179,
- MMHostInterfaceReadWriteModeINTEL = 6180,
- MMHostInterfaceMaxBurstINTEL = 6181,
- MMHostInterfaceWaitRequestINTEL = 6182,
- StableKernelArgumentINTEL = 6183,
- HostAccessINTEL = 6188,
- InitModeINTEL = 6190,
- ImplementInRegisterMapINTEL = 6191,
- CacheControlLoadINTEL = 6442,
- CacheControlStoreINTEL = 6443,
-
- pub const PerPrimitiveNV = Decoration.PerPrimitiveEXT;
- pub const PerVertexNV = Decoration.PerVertexKHR;
- pub const NonUniformEXT = Decoration.NonUniform;
- pub const RestrictPointerEXT = Decoration.RestrictPointer;
- pub const AliasedPointerEXT = Decoration.AliasedPointer;
- pub const HlslCounterBufferGOOGLE = Decoration.CounterBuffer;
- pub const HlslSemanticGOOGLE = Decoration.UserSemantic;
+ 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) {
- RelaxedPrecision,
- SpecId: struct { specialization_constant_id: LiteralInteger },
- Block,
- BufferBlock,
- RowMajor,
- ColMajor,
- ArrayStride: struct { array_stride: LiteralInteger },
- MatrixStride: struct { matrix_stride: LiteralInteger },
- GLSLShared,
- GLSLPacked,
- CPacked,
- BuiltIn: struct { built_in: BuiltIn },
- NoPerspective,
- Flat,
- Patch,
- Centroid,
- Sample,
- Invariant,
- Restrict,
- Aliased,
- Volatile,
- Constant,
- Coherent,
- NonWritable,
- NonReadable,
- Uniform,
- UniformId: struct { execution: IdScope },
- SaturatedConversion,
- Stream: struct { stream_number: LiteralInteger },
- Location: struct { location: LiteralInteger },
- Component: struct { component: LiteralInteger },
- Index: struct { index: LiteralInteger },
- Binding: struct { binding_point: LiteralInteger },
- DescriptorSet: struct { descriptor_set: LiteralInteger },
- Offset: struct { byte_offset: LiteralInteger },
- XfbBuffer: struct { xfb_buffer_number: LiteralInteger },
- XfbStride: struct { xfb_stride: LiteralInteger },
- FuncParamAttr: struct { function_parameter_attribute: FunctionParameterAttribute },
- FPRoundingMode: struct { fprounding_mode: FPRoundingMode },
- FPFastMathMode: struct { fpfast_math_mode: FPFastMathMode },
- LinkageAttributes: struct { name: LiteralString, linkage_type: LinkageType },
- NoContraction,
- InputAttachmentIndex: struct { attachment_index: LiteralInteger },
- Alignment: struct { alignment: LiteralInteger },
- MaxByteOffset: struct { max_byte_offset: LiteralInteger },
- AlignmentId: struct { alignment: IdRef },
- MaxByteOffsetId: struct { max_byte_offset: IdRef },
- NoSignedWrap,
- NoUnsignedWrap,
- WeightTextureQCOM,
- BlockMatchTextureQCOM,
- BlockMatchSamplerQCOM,
- ExplicitInterpAMD,
- NodeSharesPayloadLimitsWithAMDX: struct { payload_array: IdRef },
- NodeMaxPayloadsAMDX: struct { max_number_of_payloads: IdRef },
- TrackFinishWritingAMDX,
- PayloadNodeNameAMDX: struct { node_name: LiteralString },
- OverrideCoverageNV,
- PassthroughNV,
- ViewportRelativeNV,
- SecondaryViewportRelativeNV: struct { offset: LiteralInteger },
- PerPrimitiveEXT,
- PerViewNV,
- PerTaskNV,
- PerVertexKHR,
- NonUniform,
- RestrictPointer,
- AliasedPointer,
- HitObjectShaderRecordBufferNV,
- BindlessSamplerNV,
- BindlessImageNV,
- BoundSamplerNV,
- BoundImageNV,
- SIMTCallINTEL: struct { n: LiteralInteger },
- ReferencedIndirectlyINTEL,
- ClobberINTEL: struct { register: LiteralString },
- SideEffectsINTEL,
- VectorComputeVariableINTEL,
- FuncParamIOKindINTEL: struct { kind: LiteralInteger },
- VectorComputeFunctionINTEL,
- StackCallINTEL,
- GlobalVariableOffsetINTEL: struct { offset: LiteralInteger },
- CounterBuffer: struct { counter_buffer: IdRef },
- UserSemantic: struct { semantic: LiteralString },
- UserTypeGOOGLE: struct { user_type: LiteralString },
- FunctionRoundingModeINTEL: struct { target_width: LiteralInteger, fp_rounding_mode: FPRoundingMode },
- FunctionDenormModeINTEL: struct { target_width: LiteralInteger, fp_denorm_mode: FPDenormMode },
- RegisterINTEL,
- MemoryINTEL: struct { memory_type: LiteralString },
- NumbanksINTEL: struct { banks: LiteralInteger },
- BankwidthINTEL: struct { bank_width: LiteralInteger },
- MaxPrivateCopiesINTEL: struct { maximum_copies: LiteralInteger },
- SinglepumpINTEL,
- DoublepumpINTEL,
- MaxReplicatesINTEL: struct { maximum_replicates: LiteralInteger },
- SimpleDualPortINTEL,
- MergeINTEL: struct { merge_key: LiteralString, merge_type: LiteralString },
- BankBitsINTEL: struct { bank_bits: []const LiteralInteger = &.{} },
- ForcePow2DepthINTEL: struct { force_key: LiteralInteger },
- StridesizeINTEL: struct { stride_size: LiteralInteger },
- WordsizeINTEL: struct { word_size: LiteralInteger },
- TrueDualPortINTEL,
- BurstCoalesceINTEL,
- CacheSizeINTEL: struct { cache_size_in_bytes: LiteralInteger },
- DontStaticallyCoalesceINTEL,
- PrefetchINTEL: struct { prefetcher_size_in_bytes: LiteralInteger },
- StallEnableINTEL,
- FuseLoopsInFunctionINTEL,
- MathOpDSPModeINTEL: struct { mode: LiteralInteger, propagate: LiteralInteger },
- AliasScopeINTEL: struct { aliasing_scopes_list: IdRef },
- NoAliasINTEL: struct { aliasing_scopes_list: IdRef },
- InitiationIntervalINTEL: struct { cycles: LiteralInteger },
- MaxConcurrencyINTEL: struct { invocations: LiteralInteger },
- PipelineEnableINTEL: struct { enable: LiteralInteger },
- BufferLocationINTEL: struct { buffer_location_id: LiteralInteger },
- IOPipeStorageINTEL: struct { io_pipe_id: LiteralInteger },
- FunctionFloatingPointModeINTEL: struct { target_width: LiteralInteger, fp_operation_mode: FPOperationMode },
- SingleElementVectorINTEL,
- VectorComputeCallableFunctionINTEL,
- MediaBlockIOINTEL,
- StallFreeINTEL,
- FPMaxErrorDecorationINTEL: struct { max_error: LiteralFloat },
- LatencyControlLabelINTEL: struct { latency_label: LiteralInteger },
- LatencyControlConstraintINTEL: struct { relative_to: LiteralInteger, control_type: LiteralInteger, relative_cycle: LiteralInteger },
- ConduitKernelArgumentINTEL,
- RegisterMapKernelArgumentINTEL,
- MMHostInterfaceAddressWidthINTEL: struct { addresswidth: LiteralInteger },
- MMHostInterfaceDataWidthINTEL: struct { datawidth: LiteralInteger },
- MMHostInterfaceLatencyINTEL: struct { latency: LiteralInteger },
- MMHostInterfaceReadWriteModeINTEL: struct { readwritemode: AccessQualifier },
- MMHostInterfaceMaxBurstINTEL: struct { maxburstcount: LiteralInteger },
- MMHostInterfaceWaitRequestINTEL: struct { waitrequest: LiteralInteger },
- StableKernelArgumentINTEL,
- HostAccessINTEL: struct { access: HostAccessQualifier, name: LiteralString },
- InitModeINTEL: struct { trigger: InitializationModeQualifier },
- ImplementInRegisterMapINTEL: struct { value: LiteralInteger },
- CacheControlLoadINTEL: struct { cache_level: LiteralInteger, cache_control: LoadCacheControl },
- CacheControlStoreINTEL: struct { cache_level: LiteralInteger, cache_control: StoreCacheControl },
+ 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,
- PointSize = 1,
- ClipDistance = 3,
- CullDistance = 4,
- VertexId = 5,
- InstanceId = 6,
- PrimitiveId = 7,
- InvocationId = 8,
- Layer = 9,
- ViewportIndex = 10,
- TessLevelOuter = 11,
- TessLevelInner = 12,
- TessCoord = 13,
- PatchVertices = 14,
- FragCoord = 15,
- PointCoord = 16,
- FrontFacing = 17,
- SampleId = 18,
- SamplePosition = 19,
- SampleMask = 20,
- FragDepth = 22,
- HelperInvocation = 23,
- NumWorkgroups = 24,
- WorkgroupSize = 25,
- WorkgroupId = 26,
- LocalInvocationId = 27,
- GlobalInvocationId = 28,
- LocalInvocationIndex = 29,
- WorkDim = 30,
- GlobalSize = 31,
- EnqueuedWorkgroupSize = 32,
- GlobalOffset = 33,
- GlobalLinearId = 34,
- SubgroupSize = 36,
- SubgroupMaxSize = 37,
- NumSubgroups = 38,
- NumEnqueuedSubgroups = 39,
- SubgroupId = 40,
- SubgroupLocalInvocationId = 41,
- VertexIndex = 42,
- InstanceIndex = 43,
- CoreIDARM = 4160,
- CoreCountARM = 4161,
- CoreMaxIDARM = 4162,
- WarpIDARM = 4163,
- WarpMaxIDARM = 4164,
- SubgroupEqMask = 4416,
- SubgroupGeMask = 4417,
- SubgroupGtMask = 4418,
- SubgroupLeMask = 4419,
- SubgroupLtMask = 4420,
- BaseVertex = 4424,
- BaseInstance = 4425,
- DrawIndex = 4426,
- PrimitiveShadingRateKHR = 4432,
- DeviceIndex = 4438,
- ViewIndex = 4440,
- ShadingRateKHR = 4444,
- BaryCoordNoPerspAMD = 4992,
- BaryCoordNoPerspCentroidAMD = 4993,
- BaryCoordNoPerspSampleAMD = 4994,
- BaryCoordSmoothAMD = 4995,
- BaryCoordSmoothCentroidAMD = 4996,
- BaryCoordSmoothSampleAMD = 4997,
- BaryCoordPullModelAMD = 4998,
- FragStencilRefEXT = 5014,
- CoalescedInputCountAMDX = 5021,
- ShaderIndexAMDX = 5073,
- ViewportMaskNV = 5253,
- SecondaryPositionNV = 5257,
- SecondaryViewportMaskNV = 5258,
- PositionPerViewNV = 5261,
- ViewportMaskPerViewNV = 5262,
- FullyCoveredEXT = 5264,
- TaskCountNV = 5274,
- PrimitiveCountNV = 5275,
- PrimitiveIndicesNV = 5276,
- ClipDistancePerViewNV = 5277,
- CullDistancePerViewNV = 5278,
- LayerPerViewNV = 5279,
- MeshViewCountNV = 5280,
- MeshViewIndicesNV = 5281,
- BaryCoordKHR = 5286,
- BaryCoordNoPerspKHR = 5287,
- FragSizeEXT = 5292,
- FragInvocationCountEXT = 5293,
- PrimitivePointIndicesEXT = 5294,
- PrimitiveLineIndicesEXT = 5295,
- PrimitiveTriangleIndicesEXT = 5296,
- CullPrimitiveEXT = 5299,
- LaunchIdKHR = 5319,
- LaunchSizeKHR = 5320,
- WorldRayOriginKHR = 5321,
- WorldRayDirectionKHR = 5322,
- ObjectRayOriginKHR = 5323,
- ObjectRayDirectionKHR = 5324,
- RayTminKHR = 5325,
- RayTmaxKHR = 5326,
- InstanceCustomIndexKHR = 5327,
- ObjectToWorldKHR = 5330,
- WorldToObjectKHR = 5331,
- HitTNV = 5332,
- HitKindKHR = 5333,
- CurrentRayTimeNV = 5334,
- HitTriangleVertexPositionsKHR = 5335,
- HitMicroTriangleVertexPositionsNV = 5337,
- HitMicroTriangleVertexBarycentricsNV = 5344,
- IncomingRayFlagsKHR = 5351,
- RayGeometryIndexKHR = 5352,
- WarpsPerSMNV = 5374,
- SMCountNV = 5375,
- WarpIDNV = 5376,
- SMIDNV = 5377,
- HitKindFrontFacingMicroTriangleNV = 5405,
- HitKindBackFacingMicroTriangleNV = 5406,
- CullMaskKHR = 6021,
-
- pub const SubgroupEqMaskKHR = BuiltIn.SubgroupEqMask;
- pub const SubgroupGeMaskKHR = BuiltIn.SubgroupGeMask;
- pub const SubgroupGtMaskKHR = BuiltIn.SubgroupGtMask;
- pub const SubgroupLeMaskKHR = BuiltIn.SubgroupLeMask;
- pub const SubgroupLtMaskKHR = BuiltIn.SubgroupLtMask;
- pub const BaryCoordNV = BuiltIn.BaryCoordKHR;
- pub const BaryCoordNoPerspNV = BuiltIn.BaryCoordNoPerspKHR;
- pub const FragmentSizeNV = BuiltIn.FragSizeEXT;
- pub const InvocationsPerPixelNV = BuiltIn.FragInvocationCountEXT;
- pub const LaunchIdNV = BuiltIn.LaunchIdKHR;
- pub const LaunchSizeNV = BuiltIn.LaunchSizeKHR;
- pub const WorldRayOriginNV = BuiltIn.WorldRayOriginKHR;
- pub const WorldRayDirectionNV = BuiltIn.WorldRayDirectionKHR;
- pub const ObjectRayOriginNV = BuiltIn.ObjectRayOriginKHR;
- pub const ObjectRayDirectionNV = BuiltIn.ObjectRayDirectionKHR;
- pub const RayTminNV = BuiltIn.RayTminKHR;
- pub const RayTmaxNV = BuiltIn.RayTmaxKHR;
- pub const InstanceCustomIndexNV = BuiltIn.InstanceCustomIndexKHR;
- pub const ObjectToWorldNV = BuiltIn.ObjectToWorldKHR;
- pub const WorldToObjectNV = BuiltIn.WorldToObjectKHR;
- pub const HitKindNV = BuiltIn.HitKindKHR;
- pub const IncomingRayFlagsNV = BuiltIn.IncomingRayFlagsKHR;
+ 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) {
- CrossDevice = 0,
- Device = 1,
- Workgroup = 2,
- Subgroup = 3,
- Invocation = 4,
- QueueFamily = 5,
- ShaderCallKHR = 6,
-
- pub const QueueFamilyKHR = Scope.QueueFamily;
+ 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,
- InclusiveScan = 1,
- ExclusiveScan = 2,
- ClusteredReduce = 3,
- PartitionedReduceNV = 6,
- PartitionedInclusiveScanNV = 7,
- PartitionedExclusiveScanNV = 8,
+ 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) {
- NoWait = 0,
- WaitKernel = 1,
- WaitWorkGroup = 2,
+ 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,
- ImageBasic = 13,
- ImageReadWrite = 14,
- ImageMipmap = 15,
- Pipes = 17,
- Groups = 18,
- DeviceEnqueue = 19,
- LiteralSampler = 20,
- AtomicStorage = 21,
- Int16 = 22,
- TessellationPointSize = 23,
- GeometryPointSize = 24,
- ImageGatherExtended = 25,
- StorageImageMultisample = 27,
- UniformBufferArrayDynamicIndexing = 28,
- SampledImageArrayDynamicIndexing = 29,
- StorageBufferArrayDynamicIndexing = 30,
- StorageImageArrayDynamicIndexing = 31,
- ClipDistance = 32,
- CullDistance = 33,
- ImageCubeArray = 34,
- SampleRateShading = 35,
- ImageRect = 36,
- SampledRect = 37,
- GenericPointer = 38,
- Int8 = 39,
- InputAttachment = 40,
- SparseResidency = 41,
- MinLod = 42,
- Sampled1D = 43,
- Image1D = 44,
- SampledCubeArray = 45,
- SampledBuffer = 46,
- ImageBuffer = 47,
- ImageMSArray = 48,
- StorageImageExtendedFormats = 49,
- ImageQuery = 50,
- DerivativeControl = 51,
- InterpolationFunction = 52,
- TransformFeedback = 53,
- GeometryStreams = 54,
- StorageImageReadWithoutFormat = 55,
- StorageImageWriteWithoutFormat = 56,
- MultiViewport = 57,
- SubgroupDispatch = 58,
- NamedBarrier = 59,
- PipeStorage = 60,
- GroupNonUniform = 61,
- GroupNonUniformVote = 62,
- GroupNonUniformArithmetic = 63,
- GroupNonUniformBallot = 64,
- GroupNonUniformShuffle = 65,
- GroupNonUniformShuffleRelative = 66,
- GroupNonUniformClustered = 67,
- GroupNonUniformQuad = 68,
- ShaderLayer = 69,
- ShaderViewportIndex = 70,
- UniformDecoration = 71,
- CoreBuiltinsARM = 4165,
- TileImageColorReadAccessEXT = 4166,
- TileImageDepthReadAccessEXT = 4167,
- TileImageStencilReadAccessEXT = 4168,
- FragmentShadingRateKHR = 4422,
- SubgroupBallotKHR = 4423,
- DrawParameters = 4427,
- WorkgroupMemoryExplicitLayoutKHR = 4428,
- WorkgroupMemoryExplicitLayout8BitAccessKHR = 4429,
- WorkgroupMemoryExplicitLayout16BitAccessKHR = 4430,
- SubgroupVoteKHR = 4431,
- StorageBuffer16BitAccess = 4433,
- UniformAndStorageBuffer16BitAccess = 4434,
- StoragePushConstant16 = 4435,
- StorageInputOutput16 = 4436,
- DeviceGroup = 4437,
- MultiView = 4439,
- VariablePointersStorageBuffer = 4441,
- VariablePointers = 4442,
- AtomicStorageOps = 4445,
- SampleMaskPostDepthCoverage = 4447,
- StorageBuffer8BitAccess = 4448,
- UniformAndStorageBuffer8BitAccess = 4449,
- StoragePushConstant8 = 4450,
- DenormPreserve = 4464,
- DenormFlushToZero = 4465,
- SignedZeroInfNanPreserve = 4466,
- RoundingModeRTE = 4467,
- RoundingModeRTZ = 4468,
- RayQueryProvisionalKHR = 4471,
- RayQueryKHR = 4472,
- RayTraversalPrimitiveCullingKHR = 4478,
- RayTracingKHR = 4479,
- TextureSampleWeightedQCOM = 4484,
- TextureBoxFilterQCOM = 4485,
- TextureBlockMatchQCOM = 4486,
- TextureBlockMatch2QCOM = 4498,
- Float16ImageAMD = 5008,
- ImageGatherBiasLodAMD = 5009,
- FragmentMaskAMD = 5010,
- StencilExportEXT = 5013,
- ImageReadWriteLodAMD = 5015,
- Int64ImageEXT = 5016,
- ShaderClockKHR = 5055,
- ShaderEnqueueAMDX = 5067,
- QuadControlKHR = 5087,
- SampleMaskOverrideCoverageNV = 5249,
- GeometryShaderPassthroughNV = 5251,
- ShaderViewportIndexLayerEXT = 5254,
- ShaderViewportMaskNV = 5255,
- ShaderStereoViewNV = 5259,
- PerViewAttributesNV = 5260,
- FragmentFullyCoveredEXT = 5265,
- MeshShadingNV = 5266,
- ImageFootprintNV = 5282,
- MeshShadingEXT = 5283,
- FragmentBarycentricKHR = 5284,
- ComputeDerivativeGroupQuadsNV = 5288,
- FragmentDensityEXT = 5291,
- GroupNonUniformPartitionedNV = 5297,
- ShaderNonUniform = 5301,
- RuntimeDescriptorArray = 5302,
- InputAttachmentArrayDynamicIndexing = 5303,
- UniformTexelBufferArrayDynamicIndexing = 5304,
- StorageTexelBufferArrayDynamicIndexing = 5305,
- UniformBufferArrayNonUniformIndexing = 5306,
- SampledImageArrayNonUniformIndexing = 5307,
- StorageBufferArrayNonUniformIndexing = 5308,
- StorageImageArrayNonUniformIndexing = 5309,
- InputAttachmentArrayNonUniformIndexing = 5310,
- UniformTexelBufferArrayNonUniformIndexing = 5311,
- StorageTexelBufferArrayNonUniformIndexing = 5312,
- RayTracingPositionFetchKHR = 5336,
- RayTracingNV = 5340,
- RayTracingMotionBlurNV = 5341,
- VulkanMemoryModel = 5345,
- VulkanMemoryModelDeviceScope = 5346,
- PhysicalStorageBufferAddresses = 5347,
- ComputeDerivativeGroupLinearNV = 5350,
- RayTracingProvisionalKHR = 5353,
- CooperativeMatrixNV = 5357,
- FragmentShaderSampleInterlockEXT = 5363,
- FragmentShaderShadingRateInterlockEXT = 5372,
- ShaderSMBuiltinsNV = 5373,
- FragmentShaderPixelInterlockEXT = 5378,
- DemoteToHelperInvocation = 5379,
- DisplacementMicromapNV = 5380,
- RayTracingOpacityMicromapEXT = 5381,
- ShaderInvocationReorderNV = 5383,
- BindlessTextureNV = 5390,
- RayQueryPositionFetchKHR = 5391,
- AtomicFloat16VectorNV = 5404,
- RayTracingDisplacementMicromapNV = 5409,
- RawAccessChainsNV = 5414,
- SubgroupShuffleINTEL = 5568,
- SubgroupBufferBlockIOINTEL = 5569,
- SubgroupImageBlockIOINTEL = 5570,
- SubgroupImageMediaBlockIOINTEL = 5579,
- RoundToInfinityINTEL = 5582,
- FloatingPointModeINTEL = 5583,
- IntegerFunctions2INTEL = 5584,
- FunctionPointersINTEL = 5603,
- IndirectReferencesINTEL = 5604,
- AsmINTEL = 5606,
- AtomicFloat32MinMaxEXT = 5612,
- AtomicFloat64MinMaxEXT = 5613,
- AtomicFloat16MinMaxEXT = 5616,
- VectorComputeINTEL = 5617,
- VectorAnyINTEL = 5619,
- ExpectAssumeKHR = 5629,
- SubgroupAvcMotionEstimationINTEL = 5696,
- SubgroupAvcMotionEstimationIntraINTEL = 5697,
- SubgroupAvcMotionEstimationChromaINTEL = 5698,
- VariableLengthArrayINTEL = 5817,
- FunctionFloatControlINTEL = 5821,
- FPGAMemoryAttributesINTEL = 5824,
- FPFastMathModeINTEL = 5837,
- ArbitraryPrecisionIntegersINTEL = 5844,
- ArbitraryPrecisionFloatingPointINTEL = 5845,
- UnstructuredLoopControlsINTEL = 5886,
- FPGALoopControlsINTEL = 5888,
- KernelAttributesINTEL = 5892,
- FPGAKernelAttributesINTEL = 5897,
- FPGAMemoryAccessesINTEL = 5898,
- FPGAClusterAttributesINTEL = 5904,
- LoopFuseINTEL = 5906,
- FPGADSPControlINTEL = 5908,
- MemoryAccessAliasingINTEL = 5910,
- FPGAInvocationPipeliningAttributesINTEL = 5916,
- FPGABufferLocationINTEL = 5920,
- ArbitraryPrecisionFixedPointINTEL = 5922,
- USMStorageClassesINTEL = 5935,
- RuntimeAlignedAttributeINTEL = 5939,
- IOPipesINTEL = 5943,
- BlockingPipesINTEL = 5945,
- FPGARegINTEL = 5948,
- DotProductInputAll = 6016,
- DotProductInput4x8Bit = 6017,
- DotProductInput4x8BitPacked = 6018,
- DotProduct = 6019,
- RayCullMaskKHR = 6020,
- CooperativeMatrixKHR = 6022,
- BitInstructions = 6025,
- GroupNonUniformRotateKHR = 6026,
- FloatControls2 = 6029,
- AtomicFloat32AddEXT = 6033,
- AtomicFloat64AddEXT = 6034,
- LongCompositesINTEL = 6089,
- OptNoneINTEL = 6094,
- AtomicFloat16AddEXT = 6095,
- DebugInfoModuleINTEL = 6114,
- BFloat16ConversionINTEL = 6115,
- SplitBarrierINTEL = 6141,
- FPGAClusterAttributesV2INTEL = 6150,
- FPGAKernelAttributesv2INTEL = 6161,
- FPMaxErrorINTEL = 6169,
- FPGALatencyControlINTEL = 6171,
- FPGAArgumentInterfacesINTEL = 6174,
- GlobalVariableHostAccessINTEL = 6187,
- GlobalVariableFPGADecorationsINTEL = 6189,
- GroupUniformArithmeticKHR = 6400,
- MaskedGatherScatterINTEL = 6427,
- CacheControlsINTEL = 6441,
- RegisterLimitsINTEL = 6460,
-
- pub const StorageUniformBufferBlock16 = Capability.StorageBuffer16BitAccess;
- pub const StorageUniform16 = Capability.UniformAndStorageBuffer16BitAccess;
- pub const ShaderViewportIndexLayerNV = Capability.ShaderViewportIndexLayerEXT;
- pub const FragmentBarycentricNV = Capability.FragmentBarycentricKHR;
- pub const ShadingRateNV = Capability.FragmentDensityEXT;
- pub const ShaderNonUniformEXT = Capability.ShaderNonUniform;
- pub const RuntimeDescriptorArrayEXT = Capability.RuntimeDescriptorArray;
- pub const InputAttachmentArrayDynamicIndexingEXT = Capability.InputAttachmentArrayDynamicIndexing;
- pub const UniformTexelBufferArrayDynamicIndexingEXT = Capability.UniformTexelBufferArrayDynamicIndexing;
- pub const StorageTexelBufferArrayDynamicIndexingEXT = Capability.StorageTexelBufferArrayDynamicIndexing;
- pub const UniformBufferArrayNonUniformIndexingEXT = Capability.UniformBufferArrayNonUniformIndexing;
- pub const SampledImageArrayNonUniformIndexingEXT = Capability.SampledImageArrayNonUniformIndexing;
- pub const StorageBufferArrayNonUniformIndexingEXT = Capability.StorageBufferArrayNonUniformIndexing;
- pub const StorageImageArrayNonUniformIndexingEXT = Capability.StorageImageArrayNonUniformIndexing;
- pub const InputAttachmentArrayNonUniformIndexingEXT = Capability.InputAttachmentArrayNonUniformIndexing;
- pub const UniformTexelBufferArrayNonUniformIndexingEXT = Capability.UniformTexelBufferArrayNonUniformIndexing;
- pub const StorageTexelBufferArrayNonUniformIndexingEXT = Capability.StorageTexelBufferArrayNonUniformIndexing;
- pub const VulkanMemoryModelKHR = Capability.VulkanMemoryModel;
- pub const VulkanMemoryModelDeviceScopeKHR = Capability.VulkanMemoryModelDeviceScope;
- pub const PhysicalStorageBufferAddressesEXT = Capability.PhysicalStorageBufferAddresses;
- pub const DemoteToHelperInvocationEXT = Capability.DemoteToHelperInvocation;
- pub const DotProductInputAllKHR = Capability.DotProductInputAll;
- pub const DotProductInput4x8BitKHR = Capability.DotProductInput4x8Bit;
- pub const DotProductInput4x8BitPackedKHR = Capability.DotProductInput4x8BitPacked;
- pub const DotProductKHR = Capability.DotProduct;
+ 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) {
- RayQueryCandidateIntersectionKHR = 0,
- RayQueryCommittedIntersectionKHR = 1,
+ ray_query_candidate_intersection_khr = 0,
+ ray_query_committed_intersection_khr = 1,
};
pub const RayQueryCommittedIntersectionType = enum(u32) {
- RayQueryCommittedIntersectionNoneKHR = 0,
- RayQueryCommittedIntersectionTriangleKHR = 1,
- RayQueryCommittedIntersectionGeneratedKHR = 2,
+ 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) {
- RayQueryCandidateIntersectionTriangleKHR = 0,
- RayQueryCandidateIntersectionAABBKHR = 1,
+ ray_query_candidate_intersection_triangle_khr = 0,
+ ray_query_candidate_intersection_aabbkhr = 1,
};
pub const PackedVectorFormat = enum(u32) {
- PackedVectorFormat4x8Bit = 0,
-
- pub const PackedVectorFormat4x8BitKHR = PackedVectorFormat.PackedVectorFormat4x8Bit;
+ packed_vector_format4x8bit = 0,
};
pub const CooperativeMatrixOperands = packed struct {
- MatrixASignedComponentsKHR: bool = false,
- MatrixBSignedComponentsKHR: bool = false,
- MatrixCSignedComponentsKHR: bool = false,
- MatrixResultSignedComponentsKHR: bool = false,
- SaturatingAccumulationKHR: bool = false,
+ 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,
@@ -4935,52 +5213,75 @@ pub const CooperativeMatrixOperands = packed struct {
_reserved_bit_31: bool = false,
};
pub const CooperativeMatrixLayout = enum(u32) {
- RowMajorKHR = 0,
- ColumnMajorKHR = 1,
+ row_major_khr = 0,
+ column_major_khr = 1,
+ row_blocked_interleaved_arm = 4202,
+ column_blocked_interleaved_arm = 4203,
};
pub const CooperativeMatrixUse = enum(u32) {
- MatrixAKHR = 0,
- MatrixBKHR = 1,
- MatrixAccumulatorKHR = 2,
+ matrix_akhr = 0,
+ matrix_bkhr = 1,
+ matrix_accumulator_khr = 2,
};
-pub const InitializationModeQualifier = enum(u32) {
- InitOnDeviceReprogramINTEL = 0,
- InitOnDeviceResetINTEL = 1,
-};
-pub const LoadCacheControl = enum(u32) {
- UncachedINTEL = 0,
- CachedINTEL = 1,
- StreamingINTEL = 2,
- InvalidateAfterReadINTEL = 3,
- ConstCachedINTEL = 4,
-};
-pub const StoreCacheControl = enum(u32) {
- UncachedINTEL = 0,
- WriteThroughINTEL = 1,
- WriteBackINTEL = 2,
- StreamingINTEL = 3,
+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 NamedMaximumNumberOfRegisters = enum(u32) {
- AutoINTEL = 0,
+pub const TensorClampMode = enum(u32) {
+ undefined = 0,
+ constant = 1,
+ clamp_to_edge = 2,
+ repeat = 3,
+ repeat_mirrored = 4,
};
-pub const @"OpenCL.DebugInfo.100.DebugInfoFlags" = packed struct {
- FlagIsProtected: bool = false,
- FlagIsPrivate: bool = false,
- FlagIsLocal: bool = false,
- FlagIsDefinition: bool = false,
- FlagFwdDecl: bool = false,
- FlagArtificial: bool = false,
- FlagExplicit: bool = false,
- FlagPrototyped: bool = false,
- FlagObjectPointer: bool = false,
- FlagStaticMember: bool = false,
- FlagIndirectVariable: bool = false,
- FlagLValueReference: bool = false,
- FlagRValueReference: bool = false,
- FlagIsOptimized: bool = false,
- FlagIsEnumClass: bool = false,
- FlagTypePassByValue: bool = false,
- FlagTypePassByReference: bool = false,
+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,
@@ -4996,76 +5297,81 @@ pub const @"OpenCL.DebugInfo.100.DebugInfoFlags" = packed struct {
_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 @"OpenCL.DebugInfo.100.DebugBaseTypeAttributeEncoding" = enum(u32) {
- Unspecified = 0,
- Address = 1,
- Boolean = 2,
- Float = 3,
- Signed = 4,
- SignedChar = 5,
- Unsigned = 6,
- UnsignedChar = 7,
-};
-pub const @"OpenCL.DebugInfo.100.DebugCompositeType" = enum(u32) {
- Class = 0,
- Structure = 1,
- Union = 2,
+pub const InitializationModeQualifier = enum(u32) {
+ init_on_device_reprogram_intel = 0,
+ init_on_device_reset_intel = 1,
};
-pub const @"OpenCL.DebugInfo.100.DebugTypeQualifier" = enum(u32) {
- ConstType = 0,
- VolatileType = 1,
- RestrictType = 2,
- AtomicType = 3,
+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 @"OpenCL.DebugInfo.100.DebugOperation" = enum(u32) {
- Deref = 0,
- Plus = 1,
- Minus = 2,
- PlusUconst = 3,
- BitPiece = 4,
- Swap = 5,
- Xderef = 6,
- StackValue = 7,
- Constu = 8,
- Fragment = 9,
-
- pub const Extended = union(@"OpenCL.DebugInfo.100.DebugOperation") {
- Deref,
- Plus,
- Minus,
- PlusUconst: struct { literal_integer: LiteralInteger },
- BitPiece: struct { literal_integer_0: LiteralInteger, literal_integer_1: LiteralInteger },
- Swap,
- Xderef,
- StackValue,
- Constu: struct { literal_integer: LiteralInteger },
- Fragment: struct { literal_integer_0: LiteralInteger, literal_integer_1: LiteralInteger },
- };
+pub const StoreCacheControl = enum(u32) {
+ uncached_intel = 0,
+ write_through_intel = 1,
+ write_back_intel = 2,
+ streaming_intel = 3,
};
-pub const @"OpenCL.DebugInfo.100.DebugImportedEntity" = enum(u32) {
- ImportedModule = 0,
- ImportedDeclaration = 1,
+pub const NamedMaximumNumberOfRegisters = enum(u32) {
+ auto_intel = 0,
};
-pub const @"NonSemantic.Shader.DebugInfo.100.DebugInfoFlags" = packed struct {
- FlagIsProtected: bool = false,
- FlagIsPrivate: bool = false,
- FlagIsLocal: bool = false,
- FlagIsDefinition: bool = false,
- FlagFwdDecl: bool = false,
- FlagArtificial: bool = false,
- FlagExplicit: bool = false,
- FlagPrototyped: bool = false,
- FlagObjectPointer: bool = false,
- FlagStaticMember: bool = false,
- FlagIndirectVariable: bool = false,
- FlagLValueReference: bool = false,
- FlagRValueReference: bool = false,
- FlagIsOptimized: bool = false,
- FlagIsEnumClass: bool = false,
- FlagTypePassByValue: bool = false,
- FlagTypePassByReference: bool = false,
- FlagUnknownPhysicalLayout: bool = false,
+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,
@@ -5081,12 +5387,40 @@ pub const @"NonSemantic.Shader.DebugInfo.100.DebugInfoFlags" = packed struct {
_reserved_bit_30: bool = false,
_reserved_bit_31: bool = false,
};
-pub const @"NonSemantic.Shader.DebugInfo.100.BuildIdentifierFlags" = packed struct {
- IdentifierPossibleDuplicates: bool = false,
- _reserved_bit_1: bool = false,
- _reserved_bit_2: bool = false,
- _reserved_bit_3: bool = false,
- _reserved_bit_4: 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,
@@ -5114,59 +5448,205 @@ pub const @"NonSemantic.Shader.DebugInfo.100.BuildIdentifierFlags" = packed stru
_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 @"NonSemantic.Shader.DebugInfo.100.DebugBaseTypeAttributeEncoding" = enum(u32) {
- Unspecified = 0,
- Address = 1,
- Boolean = 2,
- Float = 3,
- Signed = 4,
- SignedChar = 5,
- Unsigned = 6,
- UnsignedChar = 7,
+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 @"NonSemantic.Shader.DebugInfo.100.DebugCompositeType" = enum(u32) {
- Class = 0,
- Structure = 1,
- Union = 2,
+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 @"NonSemantic.Shader.DebugInfo.100.DebugTypeQualifier" = enum(u32) {
- ConstType = 0,
- VolatileType = 1,
- RestrictType = 2,
- AtomicType = 3,
+pub const @"DebugInfo.DebugCompositeType" = enum(u32) {
+ class = 0,
+ structure = 1,
+ @"union" = 2,
};
-pub const @"NonSemantic.Shader.DebugInfo.100.DebugOperation" = enum(u32) {
- Deref = 0,
- Plus = 1,
- Minus = 2,
- PlusUconst = 3,
- BitPiece = 4,
- Swap = 5,
- Xderef = 6,
- StackValue = 7,
- Constu = 8,
- Fragment = 9,
+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(@"NonSemantic.Shader.DebugInfo.100.DebugOperation") {
- Deref,
- Plus,
- Minus,
- PlusUconst: struct { id_ref: IdRef },
- BitPiece: struct { id_ref_0: IdRef, id_ref_1: IdRef },
- Swap,
- Xderef,
- StackValue,
- Constu: struct { id_ref: IdRef },
- Fragment: struct { id_ref_0: IdRef, id_ref_1: IdRef },
+ 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 @"NonSemantic.Shader.DebugInfo.100.DebugImportedEntity" = enum(u32) {
- ImportedModule = 0,
- ImportedDeclaration = 1,
+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 {
- MayUsePrintf: bool = false,
+ may_use_printf: bool = false,
_reserved_bit_1: bool = false,
_reserved_bit_2: bool = false,
_reserved_bit_3: bool = false,
@@ -5199,21 +5679,55 @@ pub const @"NonSemantic.ClspvReflection.6.KernelPropertyFlags" = packed struct {
_reserved_bit_30: bool = false,
_reserved_bit_31: bool = false,
};
-pub const @"DebugInfo.DebugInfoFlags" = packed struct {
- FlagIsProtected: bool = false,
- FlagIsPrivate: bool = false,
- FlagIsLocal: bool = false,
- FlagIsDefinition: bool = false,
- FlagFwdDecl: bool = false,
- FlagArtificial: bool = false,
- FlagExplicit: bool = false,
- FlagPrototyped: bool = false,
- FlagObjectPointer: bool = false,
- FlagStaticMember: bool = false,
- FlagIndirectVariable: bool = false,
- FlagLValueReference: bool = false,
- FlagRValueReference: bool = false,
- FlagIsOptimized: 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,
@@ -5233,11298 +5747,12669 @@ pub const @"DebugInfo.DebugInfoFlags" = packed struct {
_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,
- SignedChar = 6,
- Unsigned = 7,
- UnsignedChar = 8,
+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 @"DebugInfo.DebugCompositeType" = enum(u32) {
- Class = 0,
- Structure = 1,
- Union = 2,
+pub const @"NonSemantic.Shader.DebugInfo.100.DebugCompositeType" = enum(u32) {
+ class = 0,
+ structure = 1,
+ @"union" = 2,
};
-pub const @"DebugInfo.DebugTypeQualifier" = enum(u32) {
- ConstType = 0,
- VolatileType = 1,
- RestrictType = 2,
+pub const @"NonSemantic.Shader.DebugInfo.100.DebugTypeQualifier" = enum(u32) {
+ const_type = 0,
+ volatile_type = 1,
+ restrict_type = 2,
+ atomic_type = 3,
};
-pub const @"DebugInfo.DebugOperation" = enum(u32) {
- Deref = 0,
- Plus = 1,
- Minus = 2,
- PlusUconst = 3,
- BitPiece = 4,
- Swap = 5,
- Xderef = 6,
- StackValue = 7,
- Constu = 8,
+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(@"DebugInfo.DebugOperation") {
- Deref,
- Plus,
- Minus,
- PlusUconst: struct { literal_integer: LiteralInteger },
- BitPiece: struct { literal_integer_0: LiteralInteger, literal_integer_1: LiteralInteger },
- Swap,
- Xderef,
- StackValue,
- Constu: struct { literal_integer: LiteralInteger },
+ 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,
- @"OpenCL.std",
- @"GLSL.std.450",
- @"OpenCL.DebugInfo.100",
- SPV_AMD_shader_ballot,
- @"NonSemantic.Shader.DebugInfo.100",
- @"NonSemantic.VkspReflection",
- @"NonSemantic.ClspvReflection.6",
- SPV_AMD_gcn_shader,
- SPV_AMD_shader_trinary_minmax,
- DebugInfo,
- @"NonSemantic.DebugPrintf",
- SPV_AMD_shader_explicit_vertex_parameter,
- @"NonSemantic.DebugBreak",
+ 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 => &[_]Instruction{
+ .core => &.{
.{
.name = "OpNop",
.opcode = 0,
- .operands = &[_]Operand{},
+ .operands = &.{},
},
.{
.name = "OpUndef",
.opcode = 1,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
},
},
.{
.name = "OpSourceContinued",
.opcode = 2,
- .operands = &[_]Operand{
- .{ .kind = .LiteralString, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .literal_string, .quantifier = .required },
},
},
.{
.name = "OpSource",
.opcode = 3,
- .operands = &[_]Operand{
- .{ .kind = .SourceLanguage, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
- .{ .kind = .LiteralString, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .LiteralString, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .literal_string, .quantifier = .required },
},
},
.{
.name = "OpName",
.opcode = 5,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralString, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .literal_string, .quantifier = .required },
},
},
.{
.name = "OpMemberName",
.opcode = 6,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralString, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .literal_integer, .quantifier = .required },
+ .{ .kind = .literal_string, .quantifier = .required },
},
},
.{
.name = "OpString",
.opcode = 7,
- .operands = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .LiteralString, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .literal_string, .quantifier = .required },
},
},
.{
.name = "OpLine",
.opcode = 8,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .literal_integer, .quantifier = .required },
+ .{ .kind = .literal_integer, .quantifier = .required },
},
},
.{
.name = "OpExtension",
.opcode = 10,
- .operands = &[_]Operand{
- .{ .kind = .LiteralString, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .literal_string, .quantifier = .required },
},
},
.{
.name = "OpExtInstImport",
.opcode = 11,
- .operands = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .LiteralString, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .literal_string, .quantifier = .required },
},
},
.{
.name = "OpExtInst",
.opcode = 12,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralExtInstInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
+ .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 = &[_]Operand{
- .{ .kind = .AddressingModel, .quantifier = .required },
- .{ .kind = .MemoryModel, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .addressing_model, .quantifier = .required },
+ .{ .kind = .memory_model, .quantifier = .required },
},
},
.{
.name = "OpEntryPoint",
.opcode = 15,
- .operands = &[_]Operand{
- .{ .kind = .ExecutionModel, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralString, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ExecutionMode, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .execution_mode, .quantifier = .required },
},
},
.{
.name = "OpCapability",
.opcode = 17,
- .operands = &[_]Operand{
- .{ .kind = .Capability, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .capability, .quantifier = .required },
},
},
.{
.name = "OpTypeVoid",
.opcode = 19,
- .operands = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result, .quantifier = .required },
},
},
.{
.name = "OpTypeBool",
.opcode = 20,
- .operands = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result, .quantifier = .required },
},
},
.{
.name = "OpTypeInt",
.opcode = 21,
- .operands = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .literal_integer, .quantifier = .required },
+ .{ .kind = .literal_integer, .quantifier = .required },
},
},
.{
.name = "OpTypeFloat",
.opcode = 22,
- .operands = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .literal_integer, .quantifier = .required },
+ .{ .kind = .fp_encoding, .quantifier = .optional },
},
},
.{
.name = "OpTypeVector",
.opcode = 23,
- .operands = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .literal_integer, .quantifier = .required },
},
},
.{
.name = "OpTypeMatrix",
.opcode = 24,
- .operands = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .literal_integer, .quantifier = .required },
},
},
.{
.name = "OpTypeImage",
.opcode = 25,
- .operands = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .Dim, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .ImageFormat, .quantifier = .required },
- .{ .kind = .AccessQualifier, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result, .quantifier = .required },
},
},
.{
.name = "OpTypeSampledImage",
.opcode = 27,
- .operands = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpTypeArray",
.opcode = 28,
- .operands = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpTypeRuntimeArray",
.opcode = 29,
- .operands = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpTypeStruct",
.opcode = 30,
- .operands = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
+ .operands = &.{
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .variadic },
},
},
.{
.name = "OpTypeOpaque",
.opcode = 31,
- .operands = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .LiteralString, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .literal_string, .quantifier = .required },
},
},
.{
.name = "OpTypePointer",
.opcode = 32,
- .operands = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .StorageClass, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .storage_class, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpTypeFunction",
.opcode = 33,
- .operands = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
+ .operands = &.{
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .variadic },
},
},
.{
.name = "OpTypeEvent",
.opcode = 34,
- .operands = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result, .quantifier = .required },
},
},
.{
.name = "OpTypeDeviceEvent",
.opcode = 35,
- .operands = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result, .quantifier = .required },
},
},
.{
.name = "OpTypeReserveId",
.opcode = 36,
- .operands = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result, .quantifier = .required },
},
},
.{
.name = "OpTypeQueue",
.opcode = 37,
- .operands = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result, .quantifier = .required },
},
},
.{
.name = "OpTypePipe",
.opcode = 38,
- .operands = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .AccessQualifier, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .access_qualifier, .quantifier = .required },
},
},
.{
.name = "OpTypeForwardPointer",
.opcode = 39,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .StorageClass, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .storage_class, .quantifier = .required },
},
},
.{
.name = "OpConstantTrue",
.opcode = 41,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
},
},
.{
.name = "OpConstantFalse",
.opcode = 42,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
},
},
.{
.name = "OpConstant",
.opcode = 43,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .LiteralContextDependentNumber, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .literal_context_dependent_number, .quantifier = .required },
},
},
.{
.name = "OpConstantComposite",
.opcode = 44,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .variadic },
},
},
.{
.name = "OpConstantSampler",
.opcode = 45,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .SamplerAddressingMode, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .SamplerFilterMode, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
},
},
.{
.name = "OpSpecConstantTrue",
.opcode = 48,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
},
},
.{
.name = "OpSpecConstantFalse",
.opcode = 49,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
},
},
.{
.name = "OpSpecConstant",
.opcode = 50,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .LiteralContextDependentNumber, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .literal_context_dependent_number, .quantifier = .required },
},
},
.{
.name = "OpSpecConstantComposite",
.opcode = 51,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .variadic },
},
},
.{
.name = "OpSpecConstantOp",
.opcode = 52,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .LiteralSpecConstantOpInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .FunctionControl, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
},
},
.{
.name = "OpFunctionEnd",
.opcode = 56,
- .operands = &[_]Operand{},
+ .operands = &.{},
},
.{
.name = "OpFunctionCall",
.opcode = 57,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .StorageClass, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .MemoryAccess, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .MemoryAccess, .quantifier = .optional },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .memory_access, .quantifier = .optional },
},
},
.{
.name = "OpCopyMemory",
.opcode = 63,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .MemoryAccess, .quantifier = .optional },
- .{ .kind = .MemoryAccess, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .MemoryAccess, .quantifier = .optional },
- .{ .kind = .MemoryAccess, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpInBoundsPtrAccessChain",
.opcode = 70,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .Decoration, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .decoration, .quantifier = .required },
},
},
.{
.name = "OpMemberDecorate",
.opcode = 72,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .Decoration, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .literal_integer, .quantifier = .required },
+ .{ .kind = .decoration, .quantifier = .required },
},
},
.{
.name = "OpDecorationGroup",
.opcode = 73,
- .operands = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result, .quantifier = .required },
},
},
.{
.name = "OpGroupDecorate",
.opcode = 74,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .variadic },
},
},
.{
.name = "OpGroupMemberDecorate",
.opcode = 75,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .PairIdRefLiteralInteger, .quantifier = .variadic },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .pair_id_ref_literal_integer, .quantifier = .variadic },
},
},
.{
.name = "OpVectorExtractDynamic",
.opcode = 77,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .variadic },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .variadic },
},
},
.{
.name = "OpCompositeExtract",
.opcode = 81,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .variadic },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .variadic },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpTranspose",
.opcode = 84,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSampledImage",
.opcode = 86,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpImageQueryFormat",
.opcode = 101,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpImageQueryOrder",
.opcode = 102,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpImageQuerySizeLod",
.opcode = 103,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpImageQueryLod",
.opcode = 105,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpImageQuerySamples",
.opcode = 107,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpConvertFToU",
.opcode = 109,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpConvertFToS",
.opcode = 110,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpConvertSToF",
.opcode = 111,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpConvertUToF",
.opcode = 112,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpUConvert",
.opcode = 113,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSConvert",
.opcode = 114,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpFConvert",
.opcode = 115,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpQuantizeToF16",
.opcode = 116,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpConvertPtrToU",
.opcode = 117,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSatConvertSToU",
.opcode = 118,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSatConvertUToS",
.opcode = 119,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpConvertUToPtr",
.opcode = 120,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpPtrCastToGeneric",
.opcode = 121,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpGenericCastToPtr",
.opcode = 122,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpGenericCastToPtrExplicit",
.opcode = 123,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .StorageClass, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSNegate",
.opcode = 126,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpFNegate",
.opcode = 127,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpIAdd",
.opcode = 128,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpAll",
.opcode = 155,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpIsNan",
.opcode = 156,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpIsInf",
.opcode = 157,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpIsFinite",
.opcode = 158,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpIsNormal",
.opcode = 159,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSignBitSet",
.opcode = 160,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpLessOrGreater",
.opcode = 161,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSelect",
.opcode = 169,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpBitFieldInsert",
.opcode = 201,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpBitCount",
.opcode = 205,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpDPdx",
.opcode = 207,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpDPdy",
.opcode = 208,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpFwidth",
.opcode = 209,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpDPdxFine",
.opcode = 210,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpDPdyFine",
.opcode = 211,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpFwidthFine",
.opcode = 212,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpDPdxCoarse",
.opcode = 213,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpDPdyCoarse",
.opcode = 214,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpFwidthCoarse",
.opcode = 215,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpEmitVertex",
.opcode = 218,
- .operands = &[_]Operand{},
+ .operands = &.{},
},
.{
.name = "OpEndPrimitive",
.opcode = 219,
- .operands = &[_]Operand{},
+ .operands = &.{},
},
.{
.name = "OpEmitStreamVertex",
.opcode = 220,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpEndStreamPrimitive",
.opcode = 221,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpControlBarrier",
.opcode = 224,
- .operands = &[_]Operand{
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_scope, .quantifier = .required },
+ .{ .kind = .id_scope, .quantifier = .required },
+ .{ .kind = .id_memory_semantics, .quantifier = .required },
},
},
.{
.name = "OpMemoryBarrier",
.opcode = 225,
- .operands = &[_]Operand{
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_scope, .quantifier = .required },
+ .{ .kind = .id_memory_semantics, .quantifier = .required },
},
},
.{
.name = "OpAtomicLoad",
.opcode = 227,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .PairIdRefIdRef, .quantifier = .variadic },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LoopControl, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .loop_control, .quantifier = .required },
},
},
.{
.name = "OpSelectionMerge",
.opcode = 247,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .SelectionControl, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .selection_control, .quantifier = .required },
},
},
.{
.name = "OpLabel",
.opcode = 248,
- .operands = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result, .quantifier = .required },
},
},
.{
.name = "OpBranch",
.opcode = 249,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpBranchConditional",
.opcode = 250,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .variadic },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .PairLiteralIntegerIdRef, .quantifier = .variadic },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .pair_literal_integer_id_ref, .quantifier = .variadic },
},
},
.{
.name = "OpKill",
.opcode = 252,
- .operands = &[_]Operand{},
+ .operands = &.{},
},
.{
.name = "OpReturn",
.opcode = 253,
- .operands = &[_]Operand{},
+ .operands = &.{},
},
.{
.name = "OpReturnValue",
.opcode = 254,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpUnreachable",
.opcode = 255,
- .operands = &[_]Operand{},
+ .operands = &.{},
},
.{
.name = "OpLifetimeStart",
.opcode = 256,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .literal_integer, .quantifier = .required },
},
},
.{
.name = "OpLifetimeStop",
.opcode = 257,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .literal_integer, .quantifier = .required },
},
},
.{
.name = "OpGroupAsyncCopy",
.opcode = 259,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_scope, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpGroupAll",
.opcode = 261,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpGetNumPipePackets",
.opcode = 283,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpReleaseEvent",
.opcode = 298,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpCreateUserEvent",
.opcode = 299,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
},
},
.{
.name = "OpIsValidEvent",
.opcode = 300,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSetUserEventStatus",
.opcode = 301,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpCaptureEventProfilingInfo",
.opcode = 302,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpGetDefaultQueue",
.opcode = 303,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
},
},
.{
.name = "OpBuildNDRange",
.opcode = 304,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpNoLine",
.opcode = 317,
- .operands = &[_]Operand{},
+ .operands = &.{},
},
.{
.name = "OpAtomicFlagTestAndSet",
.opcode = 318,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_scope, .quantifier = .required },
+ .{ .kind = .id_memory_semantics, .quantifier = .required },
},
},
.{
.name = "OpImageSparseRead",
.opcode = 320,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpTypePipeStorage",
.opcode = 322,
- .operands = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result, .quantifier = .required },
},
},
.{
.name = "OpConstantPipeStorage",
.opcode = 323,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpGetKernelLocalSizeForSubgroupCount",
.opcode = 325,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result, .quantifier = .required },
},
},
.{
.name = "OpNamedBarrierInitialize",
.opcode = 328,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpMemoryNamedBarrier",
.opcode = 329,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_scope, .quantifier = .required },
+ .{ .kind = .id_memory_semantics, .quantifier = .required },
},
},
.{
.name = "OpModuleProcessed",
.opcode = 330,
- .operands = &[_]Operand{
- .{ .kind = .LiteralString, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .literal_string, .quantifier = .required },
},
},
.{
.name = "OpExecutionModeId",
.opcode = 331,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ExecutionMode, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .execution_mode, .quantifier = .required },
},
},
.{
.name = "OpDecorateId",
.opcode = 332,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .Decoration, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .decoration, .quantifier = .required },
},
},
.{
.name = "OpGroupNonUniformElect",
.opcode = 333,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_scope, .quantifier = .required },
},
},
.{
.name = "OpGroupNonUniformAll",
.opcode = 334,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpPtrEqual",
.opcode = 401,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .optional },
},
},
.{
.name = "OpStencilAttachmentReadEXT",
.opcode = 4162,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .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 = &[_]Operand{},
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSubgroupFirstInvocationKHR",
.opcode = 4422,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAnyKHR",
.opcode = 4429,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAllEqualKHR",
.opcode = 4430,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpGroupNonUniformRotateKHR",
.opcode = 4431,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpConvertUToAccelerationStructureKHR",
.opcode = 4447,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpIgnoreIntersectionKHR",
.opcode = 4448,
- .operands = &[_]Operand{},
+ .operands = &.{},
},
.{
.name = "OpTerminateRayKHR",
.opcode = 4449,
- .operands = &[_]Operand{},
+ .operands = &.{},
},
.{
.name = "OpSDot",
.opcode = 4450,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .PackedVectorFormat, .quantifier = .optional },
- },
- },
- .{
- .name = "OpSDotKHR",
- .opcode = 4450,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .PackedVectorFormat, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .PackedVectorFormat, .quantifier = .optional },
- },
- },
- .{
- .name = "OpUDotKHR",
- .opcode = 4451,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .PackedVectorFormat, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .PackedVectorFormat, .quantifier = .optional },
- },
- },
- .{
- .name = "OpSUDotKHR",
- .opcode = 4452,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .PackedVectorFormat, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .PackedVectorFormat, .quantifier = .optional },
- },
- },
- .{
- .name = "OpSDotAccSatKHR",
- .opcode = 4453,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .PackedVectorFormat, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .PackedVectorFormat, .quantifier = .optional },
- },
- },
- .{
- .name = "OpUDotAccSatKHR",
- .opcode = 4454,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .PackedVectorFormat, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .PackedVectorFormat, .quantifier = .optional },
- },
- },
- .{
- .name = "OpSUDotAccSatKHR",
- .opcode = 4455,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .PackedVectorFormat, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
- .{ .kind = .MemoryAccess, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
- .{ .kind = .MemoryAccess, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .CooperativeMatrixOperands, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result, .quantifier = .required },
},
},
.{
.name = "OpRayQueryInitializeKHR",
.opcode = 4473,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpRayQueryGenerateIntersectionKHR",
.opcode = 4475,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpRayQueryConfirmIntersectionKHR",
.opcode = 4476,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpRayQueryProceedKHR",
.opcode = 4477,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpRayQueryGetIntersectionTypeKHR",
.opcode = 4479,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_scope, .quantifier = .required },
},
},
.{
- .name = "OpFinalizeNodePayloadsAMDX",
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "OpInitializeNodePayloadsAMDX",
+ .name = "OpNodePayloadArrayLengthAMDX",
.opcode = 5090,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpGroupNonUniformQuadAnyKHR",
.opcode = 5111,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpHitObjectRecordHitMotionNV",
.opcode = 5249,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpHitObjectGetObjectToWorldNV",
.opcode = 5253,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpHitObjectGetObjectRayDirectionNV",
.opcode = 5254,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpHitObjectGetObjectRayOriginNV",
.opcode = 5255,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpHitObjectTraceRayMotionNV",
.opcode = 5256,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpHitObjectGetShaderBindingTableRecordIndexNV",
.opcode = 5258,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpHitObjectRecordEmptyNV",
.opcode = 5259,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpHitObjectTraceRayNV",
.opcode = 5260,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpHitObjectGetCurrentTimeNV",
.opcode = 5265,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpHitObjectGetAttributesNV",
.opcode = 5266,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpHitObjectGetHitKindNV",
.opcode = 5267,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpHitObjectGetPrimitiveIndexNV",
.opcode = 5268,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpHitObjectGetGeometryIndexNV",
.opcode = 5269,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpHitObjectGetInstanceIdNV",
.opcode = 5270,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpHitObjectGetInstanceCustomIndexNV",
.opcode = 5271,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpHitObjectGetWorldRayDirectionNV",
.opcode = 5272,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpHitObjectGetWorldRayOriginNV",
.opcode = 5273,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpHitObjectGetRayTMaxNV",
.opcode = 5274,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpHitObjectGetRayTMinNV",
.opcode = 5275,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpHitObjectIsEmptyNV",
.opcode = 5276,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpHitObjectIsHitNV",
.opcode = 5277,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpHitObjectIsMissNV",
.opcode = 5278,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpReorderThreadWithHitObjectNV",
.opcode = 5279,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .optional },
+ .{ .kind = .id_ref, .quantifier = .optional },
},
},
.{
.name = "OpReorderThreadWithHintNV",
.opcode = 5280,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpTypeHitObjectNV",
.opcode = 5281,
- .operands = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result, .quantifier = .required },
},
},
.{
.name = "OpImageSampleFootprintNV",
.opcode = 5283,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .ImageOperands, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpGroupNonUniformPartitionNV",
.opcode = 5296,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpWritePackedPrimitiveIndices4x8NV",
.opcode = 5299,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpFetchMicroTriangleVertexPositionNV",
.opcode = 5300,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = "OpReportIntersectionNV",
- .opcode = 5334,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{},
+ .operands = &.{},
},
.{
.name = "OpTerminateRayNV",
.opcode = 5336,
- .operands = &[_]Operand{},
+ .operands = &.{},
},
.{
.name = "OpTraceNV",
.opcode = 5337,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
- },
- .{
- .name = "OpTypeAccelerationStructureNV",
- .opcode = 5341,
- .operands = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result, .quantifier = .required },
},
},
.{
.name = "OpExecuteCallableNV",
.opcode = 5344,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .MemoryAccess, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .MemoryAccess, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpBeginInvocationInterlockEXT",
.opcode = 5364,
- .operands = &[_]Operand{},
+ .operands = &.{},
},
.{
.name = "OpEndInvocationInterlockEXT",
.opcode = 5365,
- .operands = &[_]Operand{},
+ .operands = &.{},
},
.{
- .name = "OpDemoteToHelperInvocation",
- .opcode = 5380,
- .operands = &[_]Operand{},
+ .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 = "OpDemoteToHelperInvocationEXT",
+ .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 = &[_]Operand{},
+ .operands = &.{},
},
.{
.name = "OpIsHelperInvocationEXT",
.opcode = 5381,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpConvertUToSamplerNV",
.opcode = 5392,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpConvertImageToUNV",
.opcode = 5393,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpConvertSamplerToUNV",
.opcode = 5394,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpConvertUToSampledImageNV",
.opcode = 5395,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpConvertSampledImageToUNV",
.opcode = 5396,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSamplerImageAddressingModeNV",
.opcode = 5397,
- .operands = &[_]Operand{
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .literal_integer, .quantifier = .required },
},
},
.{
.name = "OpRawAccessChainNV",
.opcode = 5398,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .RawAccessChainOperands, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSubgroupBlockWriteINTEL",
.opcode = 5576,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSubgroupImageBlockReadINTEL",
.opcode = 5577,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSubgroupImageMediaBlockReadINTEL",
.opcode = 5580,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpUCountTrailingZerosINTEL",
.opcode = 5586,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpAbsISubINTEL",
.opcode = 5587,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpFunctionPointerCallINTEL",
.opcode = 5601,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .variadic },
},
},
.{
.name = "OpAsmTargetINTEL",
.opcode = 5609,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .LiteralString, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .literal_string, .quantifier = .required },
},
},
.{
.name = "OpAsmINTEL",
.opcode = 5610,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralString, .quantifier = .required },
- .{ .kind = .LiteralString, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpExpectKHR",
.opcode = 5631,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .Decoration, .quantifier = .required },
- },
- },
- .{
- .name = "OpDecorateStringGOOGLE",
- .opcode = 5632,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .Decoration, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .decoration, .quantifier = .required },
},
},
.{
.name = "OpMemberDecorateString",
.opcode = 5633,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .Decoration, .quantifier = .required },
- },
- },
- .{
- .name = "OpMemberDecorateStringGOOGLE",
- .opcode = 5633,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .Decoration, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .literal_integer, .quantifier = .required },
+ .{ .kind = .decoration, .quantifier = .required },
},
},
.{
.name = "OpVmeImageINTEL",
.opcode = 5699,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpTypeAvcImePayloadINTEL",
.opcode = 5701,
- .operands = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result, .quantifier = .required },
},
},
.{
.name = "OpTypeAvcRefPayloadINTEL",
.opcode = 5702,
- .operands = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result, .quantifier = .required },
},
},
.{
.name = "OpTypeAvcSicPayloadINTEL",
.opcode = 5703,
- .operands = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result, .quantifier = .required },
},
},
.{
.name = "OpTypeAvcMcePayloadINTEL",
.opcode = 5704,
- .operands = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result, .quantifier = .required },
},
},
.{
.name = "OpTypeAvcMceResultINTEL",
.opcode = 5705,
- .operands = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result, .quantifier = .required },
},
},
.{
.name = "OpTypeAvcImeResultINTEL",
.opcode = 5706,
- .operands = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result, .quantifier = .required },
},
},
.{
.name = "OpTypeAvcImeResultSingleReferenceStreamoutINTEL",
.opcode = 5707,
- .operands = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result, .quantifier = .required },
},
},
.{
.name = "OpTypeAvcImeResultDualReferenceStreamoutINTEL",
.opcode = 5708,
- .operands = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result, .quantifier = .required },
},
},
.{
.name = "OpTypeAvcImeSingleReferenceStreaminINTEL",
.opcode = 5709,
- .operands = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result, .quantifier = .required },
},
},
.{
.name = "OpTypeAvcImeDualReferenceStreaminINTEL",
.opcode = 5710,
- .operands = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result, .quantifier = .required },
},
},
.{
.name = "OpTypeAvcRefResultINTEL",
.opcode = 5711,
- .operands = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result, .quantifier = .required },
},
},
.{
.name = "OpTypeAvcSicResultINTEL",
.opcode = 5712,
- .operands = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL",
.opcode = 5713,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL",
.opcode = 5722,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL",
.opcode = 5723,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL",
.opcode = 5724,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL",
.opcode = 5727,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAvcMceSetAcOnlyHaarINTEL",
.opcode = 5728,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL",
.opcode = 5729,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAvcMceConvertToImeResultINTEL",
.opcode = 5733,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAvcMceConvertToRefPayloadINTEL",
.opcode = 5734,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAvcMceConvertToRefResultINTEL",
.opcode = 5735,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAvcMceConvertToSicPayloadINTEL",
.opcode = 5736,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAvcMceConvertToSicResultINTEL",
.opcode = 5737,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAvcMceGetMotionVectorsINTEL",
.opcode = 5738,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAvcMceGetInterDistortionsINTEL",
.opcode = 5739,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAvcMceGetBestInterDistortionsINTEL",
.opcode = 5740,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAvcMceGetInterMajorShapeINTEL",
.opcode = 5741,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAvcMceGetInterMinorShapeINTEL",
.opcode = 5742,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAvcMceGetInterDirectionsINTEL",
.opcode = 5743,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAvcMceGetInterMotionVectorCountINTEL",
.opcode = 5744,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAvcMceGetInterReferenceIdsINTEL",
.opcode = 5745,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL",
.opcode = 5746,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAvcImeSetMaxMotionVectorCountINTEL",
.opcode = 5753,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL",
.opcode = 5755,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAvcImeGetSingleReferenceStreaminINTEL",
.opcode = 5766,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAvcImeGetDualReferenceStreaminINTEL",
.opcode = 5767,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL",
.opcode = 5768,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAvcImeStripDualReferenceStreamoutINTEL",
.opcode = 5769,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL",
.opcode = 5770,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL",
.opcode = 5778,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL",
.opcode = 5779,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL",
.opcode = 5780,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAvcFmeInitializeINTEL",
.opcode = 5781,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAvcRefSetBidirectionalMixDisableINTEL",
.opcode = 5784,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAvcRefSetBilinearFilterEnableINTEL",
.opcode = 5785,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL",
.opcode = 5786,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAvcSicInitializeINTEL",
.opcode = 5791,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAvcSicConfigureSkcINTEL",
.opcode = 5792,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL",
.opcode = 5797,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL",
.opcode = 5801,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAvcSicGetIpeLumaShapeINTEL",
.opcode = 5809,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL",
.opcode = 5810,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL",
.opcode = 5811,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAvcSicGetPackedIpeLumaModesINTEL",
.opcode = 5812,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAvcSicGetIpeChromaModeINTEL",
.opcode = 5813,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL",
.opcode = 5814,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL",
.opcode = 5815,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSubgroupAvcSicGetInterRawSadsINTEL",
.opcode = 5816,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpVariableLengthArrayINTEL",
.opcode = 5818,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpSaveMemoryINTEL",
.opcode = 5819,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
},
},
.{
.name = "OpRestoreMemoryINTEL",
.opcode = 5820,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpArbitraryFloatSinCosPiINTEL",
.opcode = 5840,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .LiteralInteger, .quantifier = .variadic },
+ .operands = &.{
+ .{ .kind = .literal_integer, .quantifier = .variadic },
},
},
.{
.name = "OpAliasDomainDeclINTEL",
.opcode = 5911,
- .operands = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .operands = &.{
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .optional },
},
},
.{
.name = "OpAliasScopeDeclINTEL",
.opcode = 5912,
- .operands = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .operands = &.{
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .optional },
},
},
.{
.name = "OpAliasScopeListDeclINTEL",
.opcode = 5913,
- .operands = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
+ .operands = &.{
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .variadic },
},
},
.{
.name = "OpFixedSqrtINTEL",
.opcode = 5923,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpCrossWorkgroupCastToPtrINTEL",
.opcode = 5938,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpReadPipeBlockingINTEL",
.opcode = 5946,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpRayQueryGetRayTMinKHR",
.opcode = 6016,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpRayQueryGetRayFlagsKHR",
.opcode = 6017,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpRayQueryGetIntersectionTKHR",
.opcode = 6018,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpRayQueryGetIntersectionObjectRayDirectionKHR",
.opcode = 6027,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpRayQueryGetWorldRayOriginKHR",
.opcode = 6030,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpRayQueryGetIntersectionObjectToWorldKHR",
.opcode = 6031,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .AccessQualifier, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .access_qualifier, .quantifier = .required },
},
},
.{
.name = "OpTypeStructContinuedINTEL",
.opcode = 6090,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .variadic },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .variadic },
},
},
.{
.name = "OpConstantCompositeContinuedINTEL",
.opcode = 6091,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .variadic },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .variadic },
},
},
.{
.name = "OpSpecConstantCompositeContinuedINTEL",
.opcode = 6092,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .variadic },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .variadic },
},
},
.{
.name = "OpCompositeConstructContinuedINTEL",
.opcode = 6096,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .variadic },
},
},
.{
.name = "OpConvertFToBF16INTEL",
.opcode = 6116,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpConvertBF16ToFINTEL",
.opcode = 6117,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "OpControlBarrierArriveINTEL",
.opcode = 6142,
- .operands = &[_]Operand{
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_scope, .quantifier = .required },
+ .{ .kind = .id_scope, .quantifier = .required },
+ .{ .kind = .id_memory_semantics, .quantifier = .required },
},
},
.{
.name = "OpControlBarrierWaitINTEL",
.opcode = 6143,
- .operands = &[_]Operand{
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .IdMemorySemantics, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_scope, .quantifier = .required },
+ .{ .kind = .id_scope, .quantifier = .required },
+ .{ .kind = .id_memory_semantics, .quantifier = .required },
},
},
.{
- .name = "OpGroupIMulKHR",
- .opcode = 6401,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "OpArithmeticFenceEXT",
+ .opcode = 6145,
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "OpGroupFMulKHR",
- .opcode = 6402,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .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 = "OpGroupBitwiseAndKHR",
- .opcode = 6403,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "OpTaskSequenceAsyncINTEL",
+ .opcode = 6164,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .variadic },
},
},
.{
- .name = "OpGroupBitwiseOrKHR",
- .opcode = 6404,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "OpTaskSequenceGetINTEL",
+ .opcode = 6165,
+ .operands = &.{
+ .{ .kind = .id_result_type, .quantifier = .required },
+ .{ .kind = .id_result, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "OpGroupBitwiseXorKHR",
- .opcode = 6405,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "OpTaskSequenceReleaseINTEL",
+ .opcode = 6166,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "OpGroupLogicalAndKHR",
- .opcode = 6406,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "OpTypeTaskSequenceINTEL",
+ .opcode = 6199,
+ .operands = &.{
+ .{ .kind = .id_result, .quantifier = .required },
},
},
.{
- .name = "OpGroupLogicalOrKHR",
- .opcode = 6407,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "OpSubgroupBlockPrefetchINTEL",
+ .opcode = 6221,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .memory_access, .quantifier = .optional },
},
},
.{
- .name = "OpGroupLogicalXorKHR",
- .opcode = 6408,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdScope, .quantifier = .required },
- .{ .kind = .GroupOperation, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = "OpMaskedGatherINTEL",
- .opcode = 6428,
- .operands = &[_]Operand{
- .{ .kind = .IdResultType, .quantifier = .required },
- .{ .kind = .IdResult, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .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 = "OpMaskedScatterINTEL",
- .opcode = 6429,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .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 },
},
},
- },
- .@"OpenCL.std" => &[_]Instruction{
.{
- .name = "acos",
- .opcode = 0,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .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 = "acosh",
- .opcode = 1,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .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 = "acospi",
- .opcode = 2,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .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 = "asin",
- .opcode = 3,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .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 = "asinh",
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "asinpi",
+ .name = "UMax3AMD",
.opcode = 5,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "atan",
+ .name = "SMax3AMD",
.opcode = 6,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "atan2",
+ .name = "FMid3AMD",
.opcode = 7,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "atanh",
+ .name = "UMid3AMD",
.opcode = 8,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "atanpi",
+ .name = "SMid3AMD",
.opcode = 9,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
+ },
+ .spv_ext_inst_type_tosa_001000_1 => &.{
.{
- .name = "atan2pi",
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "cbrt",
+ .name = "ERF",
.opcode = 11,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "ceil",
+ .name = "SIGMOID",
.opcode = 12,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "copysign",
+ .name = "TANH",
.opcode = 13,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "cos",
+ .name = "ADD",
.opcode = 14,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "cosh",
+ .name = "ARITHMETIC_RIGHT_SHIFT",
.opcode = 15,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "cospi",
+ .name = "BITWISE_AND",
.opcode = 16,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "erfc",
+ .name = "BITWISE_OR",
.opcode = 17,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "erf",
+ .name = "BITWISE_XOR",
.opcode = 18,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "exp",
+ .name = "INTDIV",
.opcode = 19,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "exp2",
+ .name = "LOGICAL_AND",
.opcode = 20,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "exp10",
+ .name = "LOGICAL_LEFT_SHIFT",
.opcode = 21,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "expm1",
+ .name = "LOGICAL_RIGHT_SHIFT",
.opcode = 22,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "fabs",
+ .name = "LOGICAL_OR",
.opcode = 23,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "fdim",
+ .name = "LOGICAL_XOR",
.opcode = 24,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "floor",
+ .name = "MAXIMUM",
.opcode = 25,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "fma",
+ .name = "MINIMUM",
.opcode = 26,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "fmax",
+ .name = "MUL",
.opcode = 27,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "fmin",
+ .name = "POW",
.opcode = 28,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "fmod",
+ .name = "SUB",
.opcode = 29,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "fract",
+ .name = "TABLE",
.opcode = 30,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "frexp",
+ .name = "ABS",
.opcode = 31,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "hypot",
+ .name = "BITWISE_NOT",
.opcode = 32,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "ilogb",
+ .name = "CEIL",
.opcode = 33,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "ldexp",
+ .name = "CLZ",
.opcode = 34,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "lgamma",
+ .name = "COS",
.opcode = 35,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "lgamma_r",
+ .name = "EXP",
.opcode = 36,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "log",
+ .name = "FLOOR",
.opcode = 37,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "log2",
+ .name = "LOG",
.opcode = 38,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "log10",
+ .name = "LOGICAL_NOT",
.opcode = 39,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "log1p",
+ .name = "NEGATE",
.opcode = 40,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "logb",
+ .name = "RECIPROCAL",
.opcode = 41,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "mad",
+ .name = "RSQRT",
.opcode = 42,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "maxmag",
+ .name = "SIN",
.opcode = 43,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "minmag",
+ .name = "SELECT",
.opcode = 44,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "modf",
+ .name = "EQUAL",
.opcode = 45,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "nan",
+ .name = "GREATER",
.opcode = 46,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "nextafter",
+ .name = "GREATER_EQUAL",
.opcode = 47,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "pow",
+ .name = "REDUCE_ALL",
.opcode = 48,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "pown",
+ .name = "REDUCE_ANY",
.opcode = 49,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "powr",
+ .name = "REDUCE_MAX",
.opcode = 50,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "remainder",
+ .name = "REDUCE_MIN",
.opcode = 51,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "remquo",
+ .name = "REDUCE_PRODUCT",
.opcode = 52,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "rint",
+ .name = "REDUCE_SUM",
.opcode = 53,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "rootn",
+ .name = "CONCAT",
.opcode = 54,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .variadic },
},
},
.{
- .name = "round",
+ .name = "PAD",
.opcode = 55,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "rsqrt",
+ .name = "RESHAPE",
.opcode = 56,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "sin",
+ .name = "REVERSE",
.opcode = 57,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "sincos",
+ .name = "SLICE",
.opcode = 58,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "sinh",
+ .name = "TILE",
.opcode = 59,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "sinpi",
+ .name = "TRANSPOSE",
.opcode = 60,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "sqrt",
+ .name = "GATHER",
.opcode = 61,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "tan",
+ .name = "SCATTER",
.opcode = 62,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "tanh",
+ .name = "RESIZE",
.opcode = 63,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = "tanpi",
+ .name = "CAST",
.opcode = 64,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "tgamma",
+ .name = "RESCALE",
.opcode = 65,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = "trunc",
- .opcode = 66,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = "half_cos",
- .opcode = 67,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "StartCounter",
+ .opcode = 2,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "half_divide",
- .opcode = 68,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "StopCounter",
+ .opcode = 3,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "half_exp",
- .opcode = 69,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .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 = "half_exp2",
- .opcode = 70,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "SpecializationMapEntry",
+ .opcode = 5,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "half_exp10",
- .opcode = 71,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .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 = "half_log",
- .opcode = 72,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .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 = "half_log2",
- .opcode = 73,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .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 = "half_log10",
- .opcode = 74,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "InterpolateAtVertexAMD",
+ .opcode = 1,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
+ },
+ .debug_info => &.{
.{
- .name = "half_powr",
- .opcode = 75,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- },
+ .name = "DebugInfoNone",
+ .opcode = 0,
+ .operands = &.{},
},
.{
- .name = "half_recip",
- .opcode = 76,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "DebugCompilationUnit",
+ .opcode = 1,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .literal_integer, .quantifier = .required },
+ .{ .kind = .literal_integer, .quantifier = .required },
},
},
.{
- .name = "half_rsqrt",
- .opcode = 77,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .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 = "half_sin",
- .opcode = 78,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .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 = "half_sqrt",
- .opcode = 79,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "DebugTypeQualifier",
+ .opcode = 4,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .debug_info_debug_type_qualifier, .quantifier = .required },
},
},
.{
- .name = "half_tan",
- .opcode = 80,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "DebugTypeArray",
+ .opcode = 5,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .variadic },
},
},
.{
- .name = "native_cos",
- .opcode = 81,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "DebugTypeVector",
+ .opcode = 6,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .literal_integer, .quantifier = .required },
},
},
.{
- .name = "native_divide",
- .opcode = 82,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .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 = "native_exp",
- .opcode = 83,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "DebugTypeFunction",
+ .opcode = 8,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .variadic },
},
},
.{
- .name = "native_exp2",
- .opcode = 84,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = "native_exp10",
- .opcode = 85,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = "native_log",
- .opcode = 86,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = "native_log2",
- .opcode = 87,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = "native_log10",
- .opcode = 88,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "DebugTypePtrToMember",
+ .opcode = 13,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "native_powr",
- .opcode = 89,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "DebugTypeTemplate",
+ .opcode = 14,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .variadic },
},
},
.{
- .name = "native_recip",
- .opcode = 90,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = "native_rsqrt",
- .opcode = 91,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .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 = "native_sin",
- .opcode = 92,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .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 = "native_sqrt",
- .opcode = 93,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = "native_tan",
- .opcode = 94,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = "fclamp",
- .opcode = 95,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .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 = "degrees",
- .opcode = 96,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = "fmax_common",
- .opcode = 97,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "DebugLexicalBlockDiscriminator",
+ .opcode = 22,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .literal_integer, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "fmin_common",
- .opcode = 98,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "DebugScope",
+ .opcode = 23,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .optional },
},
},
.{
- .name = "mix",
- .opcode = 99,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = "radians",
- .opcode = 100,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = "step",
- .opcode = 101,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "DebugInlinedVariable",
+ .opcode = 27,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "smoothstep",
- .opcode = 102,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "DebugDeclare",
+ .opcode = 28,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "sign",
- .opcode = 103,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "DebugValue",
+ .opcode = 29,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .variadic },
},
},
.{
- .name = "cross",
- .opcode = 104,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "DebugOperation",
+ .opcode = 30,
+ .operands = &.{
+ .{ .kind = .debug_info_debug_operation, .quantifier = .required },
+ .{ .kind = .literal_integer, .quantifier = .variadic },
},
},
.{
- .name = "distance",
- .opcode = 105,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "DebugExpression",
+ .opcode = 31,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .variadic },
},
},
.{
- .name = "length",
- .opcode = 106,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = "normalize",
- .opcode = 107,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = "fast_distance",
- .opcode = 108,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = "fast_length",
- .opcode = 109,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .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 = "fast_normalize",
- .opcode = 110,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .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 = "s_abs",
- .opcode = 141,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "DebugTypeQualifier",
+ .opcode = 4,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .open_cl_debug_info_100_debug_type_qualifier, .quantifier = .required },
},
},
.{
- .name = "s_abs_diff",
- .opcode = 142,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "DebugTypeArray",
+ .opcode = 5,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .variadic },
},
},
.{
- .name = "s_add_sat",
- .opcode = 143,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "DebugTypeVector",
+ .opcode = 6,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .literal_integer, .quantifier = .required },
},
},
.{
- .name = "u_add_sat",
- .opcode = 144,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .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 = "s_hadd",
- .opcode = 145,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .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 = "u_hadd",
- .opcode = 146,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = "s_rhadd",
- .opcode = 147,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = "u_rhadd",
- .opcode = 148,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = "s_clamp",
- .opcode = 149,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = "u_clamp",
- .opcode = 150,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "DebugTypePtrToMember",
+ .opcode = 13,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "clz",
- .opcode = 151,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "DebugTypeTemplate",
+ .opcode = 14,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .variadic },
},
},
.{
- .name = "ctz",
- .opcode = 152,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = "s_mad_hi",
- .opcode = 153,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .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 = "u_mad_sat",
- .opcode = 154,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .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 = "s_mad_sat",
- .opcode = 155,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = "s_max",
- .opcode = 156,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = "u_max",
- .opcode = 157,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .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 = "s_min",
- .opcode = 158,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = "u_min",
- .opcode = 159,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "DebugLexicalBlockDiscriminator",
+ .opcode = 22,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .literal_integer, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "s_mul_hi",
- .opcode = 160,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "DebugScope",
+ .opcode = 23,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .optional },
},
},
.{
- .name = "rotate",
- .opcode = 161,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = "s_sub_sat",
- .opcode = 162,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = "u_sub_sat",
- .opcode = 163,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "DebugInlinedVariable",
+ .opcode = 27,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "u_upsample",
- .opcode = 164,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "DebugDeclare",
+ .opcode = 28,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "s_upsample",
- .opcode = 165,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .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 = "popcount",
- .opcode = 166,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "DebugOperation",
+ .opcode = 30,
+ .operands = &.{
+ .{ .kind = .open_cl_debug_info_100_debug_operation, .quantifier = .required },
+ .{ .kind = .literal_integer, .quantifier = .variadic },
},
},
.{
- .name = "s_mad24",
- .opcode = 167,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "DebugExpression",
+ .opcode = 31,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .variadic },
},
},
.{
- .name = "u_mad24",
- .opcode = 168,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = "s_mul24",
- .opcode = 169,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "DebugMacroUndef",
+ .opcode = 33,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .literal_integer, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "u_mul24",
- .opcode = 170,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .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 = "vloadn",
- .opcode = 171,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .name = "DebugSource",
+ .opcode = 35,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .optional },
},
},
.{
- .name = "vstoren",
- .opcode = 172,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = "vload_half",
- .opcode = 173,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = "vload_halfn",
- .opcode = 174,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = "vstore_half",
- .opcode = 175,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = "vstore_half_r",
- .opcode = 176,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .FPRoundingMode, .quantifier = .required },
+ .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 = "vstore_halfn",
- .opcode = 177,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "ProgramScopeVariablesStorageBuffer",
+ .opcode = 28,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "vstore_halfn_r",
- .opcode = 178,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .FPRoundingMode, .quantifier = .required },
+ .name = "ProgramScopeVariablePointerRelocation",
+ .opcode = 29,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "vloada_halfn",
- .opcode = 179,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .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 = "vstorea_halfn",
- .opcode = 180,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .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 = "vstorea_halfn_r",
- .opcode = 181,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .FPRoundingMode, .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 = "shuffle",
- .opcode = 182,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .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 = "shuffle2",
- .opcode = 183,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .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 = "printf",
- .opcode = 184,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
+ .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 = "prefetch",
- .opcode = 185,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "ConstantDataPointerPushConstant",
+ .opcode = 36,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "bitselect",
- .opcode = 186,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "ProgramScopeVariablePointerPushConstant",
+ .opcode = 37,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "select",
- .opcode = 187,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "PrintfInfo",
+ .opcode = 38,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .variadic },
},
},
.{
- .name = "u_abs",
- .opcode = 201,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "PrintfBufferStorageBuffer",
+ .opcode = 39,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "u_abs_diff",
- .opcode = 202,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "PrintfBufferPointerPushConstant",
+ .opcode = 40,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "u_mul_hi",
- .opcode = 203,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .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 = "u_mad_hi",
- .opcode = 204,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "WorkgroupVariableSize",
+ .opcode = 42,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
},
- .@"GLSL.std.450" => &[_]Instruction{
+ .glsl_std_450 => &.{
.{
.name = "Round",
.opcode = 1,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "RoundEven",
.opcode = 2,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "Trunc",
.opcode = 3,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "FAbs",
.opcode = 4,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "SAbs",
.opcode = 5,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "FSign",
.opcode = 6,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "SSign",
.opcode = 7,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "Floor",
.opcode = 8,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "Ceil",
.opcode = 9,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "Fract",
.opcode = 10,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "Radians",
.opcode = 11,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "Degrees",
.opcode = 12,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "Sin",
.opcode = 13,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "Cos",
.opcode = 14,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "Tan",
.opcode = 15,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "Asin",
.opcode = 16,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "Acos",
.opcode = 17,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "Atan",
.opcode = 18,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "Sinh",
.opcode = 19,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "Cosh",
.opcode = 20,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "Tanh",
.opcode = 21,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "Asinh",
.opcode = 22,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "Acosh",
.opcode = 23,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "Atanh",
.opcode = 24,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "Atan2",
.opcode = 25,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "Pow",
.opcode = 26,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "Exp",
.opcode = 27,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "Log",
.opcode = 28,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "Exp2",
.opcode = 29,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "Log2",
.opcode = 30,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "Sqrt",
.opcode = 31,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "InverseSqrt",
.opcode = 32,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "Determinant",
.opcode = 33,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "MatrixInverse",
.opcode = 34,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "Modf",
.opcode = 35,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "ModfStruct",
.opcode = 36,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "FMin",
.opcode = 37,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "UMin",
.opcode = 38,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "SMin",
.opcode = 39,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "FMax",
.opcode = 40,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "UMax",
.opcode = 41,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "SMax",
.opcode = 42,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "FClamp",
.opcode = 43,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "UClamp",
.opcode = 44,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "SClamp",
.opcode = 45,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "FMix",
.opcode = 46,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "IMix",
.opcode = 47,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "Step",
.opcode = 48,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "SmoothStep",
.opcode = 49,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "Fma",
.opcode = 50,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "Frexp",
.opcode = 51,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "FrexpStruct",
.opcode = 52,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "Ldexp",
.opcode = 53,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "PackSnorm4x8",
.opcode = 54,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "PackUnorm4x8",
.opcode = 55,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "PackSnorm2x16",
.opcode = 56,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "PackUnorm2x16",
.opcode = 57,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "PackHalf2x16",
.opcode = 58,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "PackDouble2x32",
.opcode = 59,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "UnpackSnorm2x16",
.opcode = 60,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "UnpackUnorm2x16",
.opcode = 61,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "UnpackHalf2x16",
.opcode = 62,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "UnpackSnorm4x8",
.opcode = 63,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "UnpackUnorm4x8",
.opcode = 64,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "UnpackDouble2x32",
.opcode = 65,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "Length",
.opcode = 66,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "Distance",
.opcode = 67,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "Cross",
.opcode = 68,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "Normalize",
.opcode = 69,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "FaceForward",
.opcode = 70,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "Reflect",
.opcode = 71,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "Refract",
.opcode = 72,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "FindILsb",
.opcode = 73,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "FindSMsb",
.opcode = 74,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "FindUMsb",
.opcode = 75,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "InterpolateAtCentroid",
.opcode = 76,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "InterpolateAtSample",
.opcode = 77,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "InterpolateAtOffset",
.opcode = 78,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "NMin",
.opcode = 79,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "NMax",
.opcode = 80,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "NClamp",
.opcode = 81,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
},
- .@"OpenCL.DebugInfo.100" => &[_]Instruction{
+ .spv_amd_shader_ballot => &.{
.{
- .name = "DebugInfoNone",
+ .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 = &[_]Operand{},
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ },
},
.{
- .name = "DebugCompilationUnit",
+ .name = "acosh",
.opcode = 1,
- .operands = &[_]Operand{
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .SourceLanguage, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugTypeBasic",
+ .name = "acospi",
.opcode = 2,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .@"OpenCL.DebugInfo.100.DebugBaseTypeAttributeEncoding", .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugTypePointer",
+ .name = "asin",
.opcode = 3,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .StorageClass, .quantifier = .required },
- .{ .kind = .@"OpenCL.DebugInfo.100.DebugInfoFlags", .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugTypeQualifier",
+ .name = "asinh",
.opcode = 4,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .@"OpenCL.DebugInfo.100.DebugTypeQualifier", .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugTypeArray",
+ .name = "asinpi",
.opcode = 5,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugTypeVector",
+ .name = "atan",
.opcode = 6,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugTypedef",
+ .name = "atan2",
.opcode = 7,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugTypeFunction",
+ .name = "atanh",
.opcode = 8,
- .operands = &[_]Operand{
- .{ .kind = .@"OpenCL.DebugInfo.100.DebugInfoFlags", .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugTypeEnum",
+ .name = "atanpi",
.opcode = 9,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .@"OpenCL.DebugInfo.100.DebugInfoFlags", .quantifier = .required },
- .{ .kind = .PairIdRefIdRef, .quantifier = .variadic },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugTypeComposite",
+ .name = "atan2pi",
.opcode = 10,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .@"OpenCL.DebugInfo.100.DebugCompositeType", .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .@"OpenCL.DebugInfo.100.DebugInfoFlags", .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugTypeMember",
+ .name = "cbrt",
.opcode = 11,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .@"OpenCL.DebugInfo.100.DebugInfoFlags", .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugTypeInheritance",
+ .name = "ceil",
.opcode = 12,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .@"OpenCL.DebugInfo.100.DebugInfoFlags", .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugTypePtrToMember",
+ .name = "copysign",
.opcode = 13,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugTypeTemplate",
+ .name = "cos",
.opcode = 14,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugTypeTemplateParameter",
+ .name = "cosh",
.opcode = 15,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugTypeTemplateTemplateParameter",
+ .name = "cospi",
.opcode = 16,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugTypeTemplateParameterPack",
+ .name = "erfc",
.opcode = 17,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugGlobalVariable",
+ .name = "erf",
.opcode = 18,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .@"OpenCL.DebugInfo.100.DebugInfoFlags", .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugFunctionDeclaration",
+ .name = "exp",
.opcode = 19,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .@"OpenCL.DebugInfo.100.DebugInfoFlags", .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugFunction",
+ .name = "exp2",
.opcode = 20,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .@"OpenCL.DebugInfo.100.DebugInfoFlags", .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugLexicalBlock",
+ .name = "exp10",
.opcode = 21,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugLexicalBlockDiscriminator",
+ .name = "expm1",
.opcode = 22,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugScope",
+ .name = "fabs",
.opcode = 23,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugNoScope",
+ .name = "fdim",
.opcode = 24,
- .operands = &[_]Operand{},
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ },
},
.{
- .name = "DebugInlinedAt",
+ .name = "floor",
.opcode = 25,
- .operands = &[_]Operand{
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugLocalVariable",
+ .name = "fma",
.opcode = 26,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .@"OpenCL.DebugInfo.100.DebugInfoFlags", .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .optional },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugInlinedVariable",
+ .name = "fmax",
.opcode = 27,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugDeclare",
+ .name = "fmin",
.opcode = 28,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugValue",
+ .name = "fmod",
.opcode = 29,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugOperation",
+ .name = "fract",
.opcode = 30,
- .operands = &[_]Operand{
- .{ .kind = .@"OpenCL.DebugInfo.100.DebugOperation", .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .variadic },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugExpression",
+ .name = "frexp",
.opcode = 31,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .variadic },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugMacroDef",
+ .name = "hypot",
.opcode = 32,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .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 = "DebugMacroUndef",
- .opcode = 33,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "powr",
+ .opcode = 50,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugImportedEntity",
- .opcode = 34,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .@"OpenCL.DebugInfo.100.DebugImportedEntity", .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "remainder",
+ .opcode = 51,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugSource",
- .opcode = 35,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .name = "remquo",
+ .opcode = 52,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugModuleINTEL",
- .opcode = 36,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .name = "rint",
+ .opcode = 53,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
- },
- .SPV_AMD_shader_ballot => &[_]Instruction{
.{
- .name = "SwizzleInvocationsAMD",
- .opcode = 1,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "rootn",
+ .opcode = 54,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "SwizzleInvocationsMaskedAMD",
- .opcode = 2,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "round",
+ .opcode = 55,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "WriteInvocationAMD",
- .opcode = 3,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "rsqrt",
+ .opcode = 56,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "MbcntAMD",
- .opcode = 4,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "sin",
+ .opcode = 57,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
- },
- .@"NonSemantic.Shader.DebugInfo.100" => &[_]Instruction{
.{
- .name = "DebugInfoNone",
- .opcode = 0,
- .operands = &[_]Operand{},
+ .name = "sincos",
+ .opcode = 58,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ },
},
.{
- .name = "DebugCompilationUnit",
- .opcode = 1,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "sinh",
+ .opcode = 59,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugTypeBasic",
- .opcode = 2,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "sinpi",
+ .opcode = 60,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugTypePointer",
- .opcode = 3,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "sqrt",
+ .opcode = 61,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugTypeQualifier",
- .opcode = 4,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "tan",
+ .opcode = 62,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugTypeArray",
- .opcode = 5,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
+ .name = "tanh",
+ .opcode = 63,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugTypeVector",
- .opcode = 6,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "tanpi",
+ .opcode = 64,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugTypedef",
- .opcode = 7,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "tgamma",
+ .opcode = 65,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugTypeFunction",
- .opcode = 8,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
+ .name = "trunc",
+ .opcode = 66,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugTypeEnum",
- .opcode = 9,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .PairIdRefIdRef, .quantifier = .variadic },
+ .name = "half_cos",
+ .opcode = 67,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugTypeComposite",
- .opcode = 10,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
+ .name = "half_divide",
+ .opcode = 68,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugTypeMember",
- .opcode = 11,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .name = "half_exp",
+ .opcode = 69,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugTypeInheritance",
- .opcode = 12,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "half_exp2",
+ .opcode = 70,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugTypePtrToMember",
- .opcode = 13,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "half_exp10",
+ .opcode = 71,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugTypeTemplate",
- .opcode = 14,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
+ .name = "half_log",
+ .opcode = 72,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugTypeTemplateParameter",
- .opcode = 15,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "half_log2",
+ .opcode = 73,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugTypeTemplateTemplateParameter",
- .opcode = 16,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "half_log10",
+ .opcode = 74,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugTypeTemplateParameterPack",
- .opcode = 17,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
+ .name = "half_powr",
+ .opcode = 75,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugGlobalVariable",
- .opcode = 18,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .name = "half_recip",
+ .opcode = 76,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugFunctionDeclaration",
- .opcode = 19,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "half_rsqrt",
+ .opcode = 77,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugFunction",
- .opcode = 20,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .name = "half_sin",
+ .opcode = 78,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugLexicalBlock",
- .opcode = 21,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .name = "half_sqrt",
+ .opcode = 79,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugLexicalBlockDiscriminator",
- .opcode = 22,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "half_tan",
+ .opcode = 80,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugScope",
- .opcode = 23,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .name = "native_cos",
+ .opcode = 81,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugNoScope",
- .opcode = 24,
- .operands = &[_]Operand{},
+ .name = "native_divide",
+ .opcode = 82,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ },
},
.{
- .name = "DebugInlinedAt",
- .opcode = 25,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .name = "native_exp",
+ .opcode = 83,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugLocalVariable",
- .opcode = 26,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .name = "native_exp2",
+ .opcode = 84,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugInlinedVariable",
- .opcode = 27,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "native_exp10",
+ .opcode = 85,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugDeclare",
- .opcode = 28,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
+ .name = "native_log",
+ .opcode = 86,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugValue",
- .opcode = 29,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
+ .name = "native_log2",
+ .opcode = 87,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugOperation",
- .opcode = 30,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
+ .name = "native_log10",
+ .opcode = 88,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugExpression",
- .opcode = 31,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .variadic },
+ .name = "native_powr",
+ .opcode = 89,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugMacroDef",
- .opcode = 32,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .name = "native_recip",
+ .opcode = 90,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugMacroUndef",
- .opcode = 33,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "native_rsqrt",
+ .opcode = 91,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugImportedEntity",
- .opcode = 34,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "native_sin",
+ .opcode = 92,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugSource",
- .opcode = 35,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .name = "native_sqrt",
+ .opcode = 93,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugFunctionDefinition",
- .opcode = 101,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "native_tan",
+ .opcode = 94,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugSourceContinued",
- .opcode = 102,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "fclamp",
+ .opcode = 95,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugLine",
- .opcode = 103,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "degrees",
+ .opcode = 96,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugNoLine",
- .opcode = 104,
- .operands = &[_]Operand{},
+ .name = "fmax_common",
+ .opcode = 97,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ },
},
.{
- .name = "DebugBuildIdentifier",
- .opcode = 105,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "fmin_common",
+ .opcode = 98,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugStoragePath",
- .opcode = 106,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "mix",
+ .opcode = 99,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugEntryPoint",
- .opcode = 107,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "radians",
+ .opcode = 100,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DebugTypeMatrix",
- .opcode = 108,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "step",
+ .opcode = 101,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
- },
- .@"NonSemantic.VkspReflection" => &[_]Instruction{
.{
- .name = "Configuration",
- .opcode = 1,
- .operands = &[_]Operand{
- .{ .kind = .LiteralString, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralString, .quantifier = .required },
- .{ .kind = .LiteralString, .quantifier = .required },
- .{ .kind = .LiteralString, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .name = "smoothstep",
+ .opcode = 102,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "StartCounter",
- .opcode = 2,
- .operands = &[_]Operand{
- .{ .kind = .LiteralString, .quantifier = .required },
+ .name = "sign",
+ .opcode = 103,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "StopCounter",
- .opcode = 3,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "cross",
+ .opcode = 104,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "PushConstants",
- .opcode = 4,
- .operands = &[_]Operand{
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralString, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .name = "distance",
+ .opcode = 105,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "SpecializationMapEntry",
- .opcode = 5,
- .operands = &[_]Operand{
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .name = "length",
+ .opcode = 106,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DescriptorSetBuffer",
- .opcode = 6,
- .operands = &[_]Operand{
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .name = "normalize",
+ .opcode = 107,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DescriptorSetImage",
- .opcode = 7,
- .operands = &[_]Operand{
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .name = "fast_distance",
+ .opcode = 108,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "DescriptorSetSampler",
- .opcode = 8,
- .operands = &[_]Operand{
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralFloat, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralFloat, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralFloat, .quantifier = .required },
- .{ .kind = .LiteralFloat, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .name = "fast_length",
+ .opcode = 109,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
- },
- .@"NonSemantic.ClspvReflection.6" => &[_]Instruction{
.{
- .name = "Kernel",
- .opcode = 1,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
- .{ .kind = .IdRef, .quantifier = .optional },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .name = "fast_normalize",
+ .opcode = 110,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "ArgumentInfo",
- .opcode = 2,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
- .{ .kind = .IdRef, .quantifier = .optional },
- .{ .kind = .IdRef, .quantifier = .optional },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .name = "s_abs",
+ .opcode = 141,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "ArgumentStorageBuffer",
- .opcode = 3,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .name = "s_abs_diff",
+ .opcode = 142,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "ArgumentUniform",
- .opcode = 4,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .name = "s_add_sat",
+ .opcode = 143,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "ArgumentPodStorageBuffer",
- .opcode = 5,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .name = "u_add_sat",
+ .opcode = 144,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "ArgumentPodUniform",
- .opcode = 6,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .name = "s_hadd",
+ .opcode = 145,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "ArgumentPodPushConstant",
- .opcode = 7,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .name = "u_hadd",
+ .opcode = 146,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "ArgumentSampledImage",
- .opcode = 8,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .name = "s_rhadd",
+ .opcode = 147,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "ArgumentStorageImage",
- .opcode = 9,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .name = "u_rhadd",
+ .opcode = 148,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "ArgumentSampler",
- .opcode = 10,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .name = "s_clamp",
+ .opcode = 149,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "ArgumentWorkgroup",
- .opcode = 11,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .name = "u_clamp",
+ .opcode = 150,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "SpecConstantWorkgroupSize",
- .opcode = 12,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "clz",
+ .opcode = 151,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "SpecConstantGlobalOffset",
- .opcode = 13,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "ctz",
+ .opcode = 152,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "SpecConstantWorkDim",
- .opcode = 14,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .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 = "PushConstantGlobalOffset",
- .opcode = 15,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .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 = "PushConstantEnqueuedLocalSize",
- .opcode = 16,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .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 = "PushConstantGlobalSize",
- .opcode = 17,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "s_max",
+ .opcode = 156,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "PushConstantRegionOffset",
- .opcode = 18,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "u_max",
+ .opcode = 157,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "PushConstantNumWorkgroups",
- .opcode = 19,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "s_min",
+ .opcode = 158,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "PushConstantRegionGroupOffset",
- .opcode = 20,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "u_min",
+ .opcode = 159,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "ConstantDataStorageBuffer",
- .opcode = 21,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "s_mul_hi",
+ .opcode = 160,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "ConstantDataUniform",
- .opcode = 22,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "rotate",
+ .opcode = 161,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "LiteralSampler",
- .opcode = 23,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "s_sub_sat",
+ .opcode = 162,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "PropertyRequiredWorkgroupSize",
- .opcode = 24,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "u_sub_sat",
+ .opcode = 163,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "SpecConstantSubgroupMaxSize",
- .opcode = 25,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "u_upsample",
+ .opcode = 164,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "ArgumentPointerPushConstant",
- .opcode = 26,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .name = "s_upsample",
+ .opcode = 165,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "ArgumentPointerUniform",
- .opcode = 27,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .name = "popcount",
+ .opcode = 166,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "ProgramScopeVariablesStorageBuffer",
- .opcode = 28,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "s_mad24",
+ .opcode = 167,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "ProgramScopeVariablePointerRelocation",
- .opcode = 29,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "u_mad24",
+ .opcode = 168,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "ImageArgumentInfoChannelOrderPushConstant",
- .opcode = 30,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "s_mul24",
+ .opcode = 169,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "ImageArgumentInfoChannelDataTypePushConstant",
- .opcode = 31,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "u_mul24",
+ .opcode = 170,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "ImageArgumentInfoChannelOrderUniform",
- .opcode = 32,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "vloadn",
+ .opcode = 171,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .literal_integer, .quantifier = .required },
},
},
.{
- .name = "ImageArgumentInfoChannelDataTypeUniform",
- .opcode = 33,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "vstoren",
+ .opcode = 172,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "ArgumentStorageTexelBuffer",
- .opcode = 34,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .name = "vload_half",
+ .opcode = 173,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "ArgumentUniformTexelBuffer",
- .opcode = 35,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .name = "vload_halfn",
+ .opcode = 174,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .literal_integer, .quantifier = .required },
},
},
.{
- .name = "ConstantDataPointerPushConstant",
- .opcode = 36,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "vstore_half",
+ .opcode = 175,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "ProgramScopeVariablePointerPushConstant",
- .opcode = 37,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .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 = "PrintfInfo",
- .opcode = 38,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
+ .name = "vstore_halfn",
+ .opcode = 177,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "PrintfBufferStorageBuffer",
- .opcode = 39,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .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 = "PrintfBufferPointerPushConstant",
- .opcode = 40,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "vloada_halfn",
+ .opcode = 179,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .literal_integer, .quantifier = .required },
},
},
.{
- .name = "NormalizedSamplerMaskPushConstant",
- .opcode = 41,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "vstorea_halfn",
+ .opcode = 180,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
- },
- .SPV_AMD_gcn_shader => &[_]Instruction{
.{
- .name = "CubeFaceIndexAMD",
- .opcode = 1,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .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 = "CubeFaceCoordAMD",
- .opcode = 2,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "shuffle",
+ .opcode = 182,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "TimeAMD",
- .opcode = 3,
- .operands = &[_]Operand{},
- },
- },
- .SPV_AMD_shader_trinary_minmax => &[_]Instruction{
- .{
- .name = "FMin3AMD",
- .opcode = 1,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "shuffle2",
+ .opcode = 183,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "UMin3AMD",
- .opcode = 2,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "printf",
+ .opcode = 184,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .variadic },
},
},
.{
- .name = "SMin3AMD",
- .opcode = 3,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "prefetch",
+ .opcode = 185,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "FMax3AMD",
- .opcode = 4,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "bitselect",
+ .opcode = 186,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "UMax3AMD",
- .opcode = 5,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "select",
+ .opcode = 187,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "SMax3AMD",
- .opcode = 6,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "u_abs",
+ .opcode = 201,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "FMid3AMD",
- .opcode = 7,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "u_abs_diff",
+ .opcode = 202,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "UMid3AMD",
- .opcode = 8,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "u_mul_hi",
+ .opcode = 203,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
- .name = "SMid3AMD",
- .opcode = 9,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "u_mad_hi",
+ .opcode = 204,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
},
- .DebugInfo => &[_]Instruction{
+ .non_semantic_shader_debug_info_100 => &.{
.{
.name = "DebugInfoNone",
.opcode = 0,
- .operands = &[_]Operand{},
+ .operands = &.{},
},
.{
.name = "DebugCompilationUnit",
.opcode = 1,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .@"DebugInfo.DebugBaseTypeAttributeEncoding", .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .StorageClass, .quantifier = .required },
- .{ .kind = .@"DebugInfo.DebugInfoFlags", .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "DebugTypeQualifier",
.opcode = 4,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .@"DebugInfo.DebugTypeQualifier", .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "DebugTypeArray",
.opcode = 5,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .variadic },
},
},
.{
.name = "DebugTypeVector",
.opcode = 6,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "DebugTypedef",
.opcode = 7,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .variadic },
},
},
.{
.name = "DebugTypeEnum",
.opcode = 9,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .@"DebugInfo.DebugInfoFlags", .quantifier = .required },
- .{ .kind = .PairIdRefIdRef, .quantifier = .variadic },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .@"DebugInfo.DebugCompositeType", .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .@"DebugInfo.DebugInfoFlags", .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .@"DebugInfo.DebugInfoFlags", .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .@"DebugInfo.DebugInfoFlags", .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "DebugTypeTemplate",
.opcode = 14,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .variadic },
},
},
.{
.name = "DebugTypeTemplateParameter",
.opcode = 15,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .@"DebugInfo.DebugInfoFlags", .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .@"DebugInfo.DebugInfoFlags", .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .@"DebugInfo.DebugInfoFlags", .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "DebugScope",
.opcode = 23,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .optional },
},
},
.{
.name = "DebugNoScope",
.opcode = 24,
- .operands = &[_]Operand{},
+ .operands = &.{},
},
.{
.name = "DebugInlinedAt",
.opcode = 25,
- .operands = &[_]Operand{
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .optional },
},
},
.{
.name = "DebugLocalVariable",
.opcode = 26,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
.{
.name = "DebugDeclare",
.opcode = 28,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
+ .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 = &[_]Operand{
- .{ .kind = .@"DebugInfo.DebugOperation", .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .variadic },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .variadic },
},
},
.{
.name = "DebugExpression",
.opcode = 31,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .variadic },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .variadic },
},
},
.{
.name = "DebugMacroDef",
.opcode = 32,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .optional },
+ .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 = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .LiteralInteger, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
- },
- .@"NonSemantic.DebugPrintf" => &[_]Instruction{
.{
- .name = "DebugPrintf",
- .opcode = 1,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .variadic },
+ .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 },
},
},
- },
- .SPV_AMD_shader_explicit_vertex_parameter => &[_]Instruction{
.{
- .name = "InterpolateAtVertexAMD",
- .opcode = 1,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
- .{ .kind = .IdRef, .quantifier = .required },
+ .name = "DebugSource",
+ .opcode = 35,
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
+ .{ .kind = .id_ref, .quantifier = .optional },
},
},
- },
- .@"NonSemantic.DebugBreak" => &[_]Instruction{
.{
- .name = "DebugBreak",
- .opcode = 1,
- .operands = &[_]Operand{},
+ .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 => &[_]Instruction{
+ .zig => &.{
.{
.name = "InvocationGlobal",
.opcode = 0,
- .operands = &[_]Operand{
- .{ .kind = .IdRef, .quantifier = .required },
+ .operands = &.{
+ .{ .kind = .id_ref, .quantifier = .required },
},
},
},
src/codegen/spirv.zig
@@ -15,9 +15,7 @@ const InternPool = @import("../InternPool.zig");
const spec = @import("spirv/spec.zig");
const Opcode = spec.Opcode;
const Word = spec.Word;
-const IdRef = spec.IdRef;
-const IdResult = spec.IdResult;
-const IdResultType = spec.IdResultType;
+const Id = spec.Id;
const StorageClass = spec.StorageClass;
const SpvModule = @import("spirv/Module.zig");
@@ -26,7 +24,7 @@ const IdRange = SpvModule.IdRange;
const SpvSection = @import("spirv/Section.zig");
const SpvAssembler = @import("spirv/Assembler.zig");
-const InstMap = std.AutoHashMapUnmanaged(Air.Inst.Index, IdRef);
+const InstMap = std.AutoHashMapUnmanaged(Air.Inst.Index, Id);
pub fn legalizeFeatures(_: *const std.Target) *const Air.Legalize.Features {
return comptime &.initMany(&.{
@@ -42,10 +40,10 @@ pub fn legalizeFeatures(_: *const std.Target) *const Air.Legalize.Features {
pub const zig_call_abi_ver = 3;
pub const big_int_bits = 32;
-const InternMap = std.AutoHashMapUnmanaged(struct { InternPool.Index, NavGen.Repr }, IdResult);
+const InternMap = std.AutoHashMapUnmanaged(struct { InternPool.Index, NavGen.Repr }, Id);
const PtrTypeMap = std.AutoHashMapUnmanaged(
struct { InternPool.Index, StorageClass, NavGen.Repr },
- struct { ty_id: IdRef, fwd_emitted: bool },
+ struct { ty_id: Id, fwd_emitted: bool },
);
const ControlFlow = union(enum) {
@@ -55,10 +53,10 @@ const ControlFlow = union(enum) {
/// inside the block must reach the outside.
const Block = union(enum) {
const Incoming = struct {
- src_label: IdRef,
+ src_label: Id,
/// Instruction that returns an u32 value of the
/// `Air.Inst.Index` that control flow should jump to.
- next_block: IdRef,
+ next_block: Id,
};
const SelectionMerge = struct {
@@ -69,7 +67,7 @@ const ControlFlow = union(enum) {
/// The label id of the cond_br's merge block.
/// For the top-most element in the stack, this
/// value is undefined.
- merge_block: IdRef,
+ merge_block: Id,
};
/// For a `selection` type block, we cannot use early exits, and we
@@ -100,7 +98,7 @@ const ControlFlow = union(enum) {
/// of conditions that jump to the loop exit.
merges: std.ArrayListUnmanaged(Incoming) = .empty,
/// The label id of the loop's merge block.
- merge_block: IdRef,
+ merge_block: Id,
},
fn deinit(self: *Structured.Block, a: Allocator) void {
@@ -116,17 +114,17 @@ const ControlFlow = union(enum) {
block_stack: std.ArrayListUnmanaged(*Structured.Block) = .empty,
/// Maps `block` inst indices to the variable that the block's result
/// value must be written to.
- block_results: std.AutoHashMapUnmanaged(Air.Inst.Index, IdRef) = .empty,
+ block_results: std.AutoHashMapUnmanaged(Air.Inst.Index, Id) = .empty,
};
const Unstructured = struct {
const Incoming = struct {
- src_label: IdRef,
- break_value_id: IdRef,
+ src_label: Id,
+ break_value_id: Id,
};
const Block = struct {
- label: ?IdRef = null,
+ label: ?Id = null,
incoming_blocks: std.ArrayListUnmanaged(Incoming) = .empty,
};
@@ -318,7 +316,7 @@ const NavGen = struct {
/// An array of function argument result-ids. Each index corresponds with the
/// function argument of the same index.
- args: std.ArrayListUnmanaged(IdRef) = .empty,
+ args: std.ArrayListUnmanaged(Id) = .empty,
/// A counter to keep track of how many `arg` instructions we've seen yet.
next_arg_index: u32 = 0,
@@ -337,7 +335,7 @@ const NavGen = struct {
control_flow: ControlFlow,
/// The label of the SPIR-V block we are currently generating.
- current_block_label: IdRef,
+ current_block_label: Id,
/// The code (prologue and body) for the function we are currently generating code for.
func: SpvModule.Fn = .{},
@@ -436,17 +434,17 @@ const NavGen = struct {
/// This imports the "default" extended instruction set for the target
/// For OpenCL, OpenCL.std.100. For Vulkan and OpenGL, GLSL.std.450.
- fn importExtendedSet(self: *NavGen) !IdResult {
+ fn importExtendedSet(self: *NavGen) !Id {
const target = self.spv.target;
return switch (target.os.tag) {
- .opencl, .amdhsa => try self.spv.importInstructionSet(.@"OpenCL.std"),
- .vulkan, .opengl => try self.spv.importInstructionSet(.@"GLSL.std.450"),
+ .opencl, .amdhsa => try self.spv.importInstructionSet(.open_cl_std),
+ .vulkan, .opengl => try self.spv.importInstructionSet(.glsl_std_450),
else => unreachable,
};
}
/// Fetch the result-id for a previously generated instruction or constant.
- fn resolve(self: *NavGen, inst: Air.Inst.Ref) !IdRef {
+ fn resolve(self: *NavGen, inst: Air.Inst.Ref) !Id {
const pt = self.pt;
const zcu = pt.zcu;
if (try self.air.value(inst, pt)) |val| {
@@ -468,7 +466,7 @@ const NavGen = struct {
return self.inst_results.get(index).?; // Assertion means instruction does not dominate usage.
}
- fn resolveUav(self: *NavGen, val: InternPool.Index) !IdRef {
+ fn resolveUav(self: *NavGen, val: InternPool.Index) !Id {
// TODO: This cannot be a function at this point, but it should probably be handled anyway.
const zcu = self.pt.zcu;
@@ -476,16 +474,16 @@ const NavGen = struct {
const decl_ptr_ty_id = try self.ptrType(ty, self.spvStorageClass(.generic), .indirect);
const spv_decl_index = blk: {
- const entry = try self.object.uav_link.getOrPut(self.object.gpa, .{ val, .Function });
+ const entry = try self.object.uav_link.getOrPut(self.object.gpa, .{ val, .function });
if (entry.found_existing) {
- try self.addFunctionDep(entry.value_ptr.*, .Function);
+ try self.addFunctionDep(entry.value_ptr.*, .function);
const result_id = self.spv.declPtr(entry.value_ptr.*).result_id;
return try self.castToGeneric(decl_ptr_ty_id, result_id);
}
const spv_decl_index = try self.spv.allocDecl(.invocation_global);
- try self.addFunctionDep(spv_decl_index, .Function);
+ try self.addFunctionDep(spv_decl_index, .function);
entry.value_ptr.* = spv_decl_index;
break :blk spv_decl_index;
};
@@ -536,7 +534,7 @@ const NavGen = struct {
try self.spv.debugNameFmt(initializer_id, "initializer of __anon_{d}", .{@intFromEnum(val)});
- const fn_decl_ptr_ty_id = try self.ptrType(ty, .Function, .indirect);
+ const fn_decl_ptr_ty_id = try self.ptrType(ty, .function, .indirect);
try self.spv.sections.types_globals_constants.emit(self.spv.gpa, .OpExtInst, .{
.id_result_type = fn_decl_ptr_ty_id,
.id_result = result_id,
@@ -552,7 +550,7 @@ const NavGen = struct {
fn addFunctionDep(self: *NavGen, decl_index: SpvModule.Decl.Index, storage_class: StorageClass) !void {
if (self.spv.version.minor < 4) {
// Before version 1.4, the interface’s storage classes are limited to the Input and Output
- if (storage_class == .Input or storage_class == .Output) {
+ if (storage_class == .input or storage_class == .output) {
try self.func.decl_deps.put(self.spv.gpa, decl_index, {});
}
} else {
@@ -560,7 +558,7 @@ const NavGen = struct {
}
}
- fn castToGeneric(self: *NavGen, type_id: IdRef, ptr_id: IdRef) !IdRef {
+ fn castToGeneric(self: *NavGen, type_id: Id, ptr_id: Id) !Id {
if (self.spv.hasFeature(.generic_pointer)) {
const result_id = self.spv.allocId();
try self.func.body.emit(self.spv.gpa, .OpPtrCastToGeneric, .{
@@ -578,7 +576,7 @@ const NavGen = struct {
/// block we are currently generating.
/// Note that there is no such thing as nested blocks like in ZIR or AIR, so we don't need to
/// keep track of the previous block.
- fn beginSpvBlock(self: *NavGen, label: IdResult) !void {
+ fn beginSpvBlock(self: *NavGen, label: Id) !void {
try self.func.body.emit(self.spv.gpa, .OpLabel, .{ .id_result = label });
self.current_block_label = label;
}
@@ -705,7 +703,7 @@ const NavGen = struct {
}
/// Emits a bool constant in a particular representation.
- fn constBool(self: *NavGen, value: bool, repr: Repr) !IdRef {
+ fn constBool(self: *NavGen, value: bool, repr: Repr) !Id {
return switch (repr) {
.indirect => self.constInt(Type.u1, @intFromBool(value)),
.direct => self.spv.constBool(value),
@@ -715,7 +713,7 @@ const NavGen = struct {
/// Emits an integer constant.
/// This function, unlike SpvModule.constInt, takes care to bitcast
/// the value to an unsigned int first for Kernels.
- fn constInt(self: *NavGen, ty: Type, value: anytype) !IdRef {
+ fn constInt(self: *NavGen, ty: Type, value: anytype) !Id {
const zcu = self.pt.zcu;
const scalar_ty = ty.scalarType(zcu);
const int_info = scalar_ty.intInfo(zcu);
@@ -773,7 +771,7 @@ const NavGen = struct {
return self.constructCompositeSplat(ty, result_id);
}
- pub fn constructComposite(self: *NavGen, result_ty_id: IdRef, constituents: []const IdRef) !IdRef {
+ pub fn constructComposite(self: *NavGen, result_ty_id: Id, constituents: []const Id) !Id {
const result_id = self.spv.allocId();
try self.func.body.emit(self.gpa, .OpCompositeConstruct, .{
.id_result_type = result_ty_id,
@@ -785,11 +783,11 @@ const NavGen = struct {
/// Construct a composite at runtime with all lanes set to the same value.
/// ty must be an aggregate type.
- fn constructCompositeSplat(self: *NavGen, ty: Type, constituent: IdRef) !IdRef {
+ fn constructCompositeSplat(self: *NavGen, ty: Type, constituent: Id) !Id {
const zcu = self.pt.zcu;
const n: usize = @intCast(ty.arrayLen(zcu));
- const constituents = try self.gpa.alloc(IdRef, n);
+ const constituents = try self.gpa.alloc(Id, n);
defer self.gpa.free(constituents);
@memset(constituents, constituent);
@@ -803,7 +801,7 @@ const NavGen = struct {
/// is done by emitting a sequence of instructions that initialize the value.
//
/// This function should only be called during function code generation.
- fn constant(self: *NavGen, ty: Type, val: Value, repr: Repr) !IdRef {
+ fn constant(self: *NavGen, ty: Type, val: Value, repr: Repr) !Id {
// Note: Using intern_map can only be used with constants that DO NOT generate any runtime code!!
// Ideally that should be all constants in the future, or it should be cleaned up somehow. For
// now, only use the intern_map on case-by-case basis by breaking to :cache.
@@ -909,7 +907,7 @@ const NavGen = struct {
.payload => |payload| payload,
});
- var constituents: [2]IdRef = undefined;
+ var constituents: [2]Id = undefined;
var types: [2]Type = undefined;
if (eu_layout.error_first) {
constituents[0] = try self.constant(err_ty, err_val, .indirect);
@@ -967,7 +965,7 @@ const NavGen = struct {
inline .array_type, .vector_type => |array_type, tag| {
const elem_ty = Type.fromInterned(array_type.child);
- const constituents = try self.gpa.alloc(IdRef, @intCast(ty.arrayLenIncludingSentinel(zcu)));
+ const constituents = try self.gpa.alloc(Id, @intCast(ty.arrayLenIncludingSentinel(zcu)));
defer self.gpa.free(constituents);
const child_repr: Repr = switch (tag) {
@@ -1015,7 +1013,7 @@ const NavGen = struct {
var types = std.ArrayList(Type).init(self.gpa);
defer types.deinit();
- var constituents = std.ArrayList(IdRef).init(self.gpa);
+ var constituents = std.ArrayList(Id).init(self.gpa);
defer constituents.deinit();
var it = struct_type.iterateRuntimeOrder(ip);
@@ -1064,7 +1062,7 @@ const NavGen = struct {
return cacheable_id;
}
- fn constantPtr(self: *NavGen, ptr_val: Value) Error!IdRef {
+ fn constantPtr(self: *NavGen, ptr_val: Value) Error!Id {
const pt = self.pt;
if (ptr_val.isUndef(pt.zcu)) {
@@ -1080,7 +1078,7 @@ const NavGen = struct {
return self.derivePtr(derivation);
}
- fn derivePtr(self: *NavGen, derivation: Value.PointerDeriveStep) Error!IdRef {
+ fn derivePtr(self: *NavGen, derivation: Value.PointerDeriveStep) Error!Id {
const pt = self.pt;
const zcu = pt.zcu;
switch (derivation) {
@@ -1159,7 +1157,7 @@ const NavGen = struct {
self: *NavGen,
ty: Type,
uav: InternPool.Key.Ptr.BaseAddr.Uav,
- ) !IdRef {
+ ) !Id {
// TODO: Merge this function with constantDeclRef.
const pt = self.pt;
@@ -1182,7 +1180,7 @@ const NavGen = struct {
// Uav refs are always generic.
assert(ty.ptrAddressSpace(zcu) == .generic);
- const decl_ptr_ty_id = try self.ptrType(uav_ty, .Generic, .indirect);
+ const decl_ptr_ty_id = try self.ptrType(uav_ty, .generic, .indirect);
const ptr_id = try self.resolveUav(uav.val);
if (decl_ptr_ty_id != ty_id) {
@@ -1199,7 +1197,7 @@ const NavGen = struct {
}
}
- fn constantNavRef(self: *NavGen, ty: Type, nav_index: InternPool.Nav.Index) !IdRef {
+ fn constantNavRef(self: *NavGen, ty: Type, nav_index: InternPool.Nav.Index) !Id {
const pt = self.pt;
const zcu = pt.zcu;
const ip = &zcu.intern_pool;
@@ -1240,7 +1238,7 @@ const NavGen = struct {
const decl_ptr_ty_id = try self.ptrType(nav_ty, storage_class, .indirect);
const ptr_id = switch (storage_class) {
- .Generic => try self.castToGeneric(decl_ptr_ty_id, decl_id),
+ .generic => try self.castToGeneric(decl_ptr_ty_id, decl_id),
else => decl_id,
};
@@ -1272,7 +1270,7 @@ const NavGen = struct {
/// The integer type that is returned by this function is the type that is used to perform
/// actual operations (as well as store) a Zig type of a particular number of bits. To create
/// a type with an exact size, use SpvModule.intType.
- fn intType(self: *NavGen, signedness: std.builtin.Signedness, bits: u16) !IdRef {
+ fn intType(self: *NavGen, signedness: std.builtin.Signedness, bits: u16) !Id {
const backing_bits, const big_int = self.backingIntBits(bits);
if (big_int) {
if (backing_bits > 64) {
@@ -1289,12 +1287,12 @@ const NavGen = struct {
};
}
- fn arrayType(self: *NavGen, len: u32, child_ty: IdRef) !IdRef {
+ fn arrayType(self: *NavGen, len: u32, child_ty: Id) !Id {
const len_id = try self.constInt(Type.u32, len);
return self.spv.arrayType(len_id, child_ty);
}
- fn ptrType(self: *NavGen, child_ty: Type, storage_class: StorageClass, child_repr: Repr) !IdRef {
+ fn ptrType(self: *NavGen, child_ty: Type, storage_class: StorageClass, child_repr: Repr) !Id {
const zcu = self.pt.zcu;
const ip = &zcu.intern_pool;
const key = .{ child_ty.toIntern(), storage_class, child_repr };
@@ -1323,7 +1321,7 @@ const NavGen = struct {
.vulkan, .opengl => {
if (child_ty.zigTypeTag(zcu) == .@"struct") {
switch (storage_class) {
- .Uniform, .PushConstant => try self.spv.decorate(child_ty_id, .Block),
+ .uniform, .push_constant => try self.spv.decorate(child_ty_id, .block),
else => {},
}
}
@@ -1331,7 +1329,7 @@ const NavGen = struct {
switch (ip.indexToKey(child_ty.toIntern())) {
.func_type, .opaque_type => {},
else => {
- try self.spv.decorate(result_id, .{ .ArrayStride = .{ .array_stride = @intCast(child_ty.abiSize(zcu)) } });
+ try self.spv.decorate(result_id, .{ .array_stride = .{ .array_stride = @intCast(child_ty.abiSize(zcu)) } });
},
}
},
@@ -1349,9 +1347,9 @@ const NavGen = struct {
return result_id;
}
- fn functionType(self: *NavGen, return_ty: Type, param_types: []const Type) !IdRef {
+ fn functionType(self: *NavGen, return_ty: Type, param_types: []const Type) !Id {
const return_ty_id = try self.resolveFnReturnType(return_ty);
- const param_ids = try self.gpa.alloc(IdRef, param_types.len);
+ const param_ids = try self.gpa.alloc(Id, param_types.len);
defer self.gpa.free(param_ids);
for (param_types, param_ids) |param_ty, *param_id| {
@@ -1379,7 +1377,7 @@ const NavGen = struct {
/// padding: [padding_size]u8,
/// }
/// If any of the fields' size is 0, it will be omitted.
- fn resolveUnionType(self: *NavGen, ty: Type) !IdRef {
+ fn resolveUnionType(self: *NavGen, ty: Type) !Id {
const zcu = self.pt.zcu;
const ip = &zcu.intern_pool;
const union_obj = zcu.typeToUnion(ty).?;
@@ -1394,7 +1392,7 @@ const NavGen = struct {
return try self.resolveType(Type.fromInterned(union_obj.enum_tag_ty), .indirect);
}
- var member_types: [4]IdRef = undefined;
+ var member_types: [4]Id = undefined;
var member_names: [4][]const u8 = undefined;
const u8_ty_id = try self.resolveType(Type.u8, .direct);
@@ -1433,7 +1431,7 @@ const NavGen = struct {
return result_id;
}
- fn resolveFnReturnType(self: *NavGen, ret_ty: Type) !IdRef {
+ fn resolveFnReturnType(self: *NavGen, ret_ty: Type) !Id {
const zcu = self.pt.zcu;
if (!ret_ty.hasRuntimeBitsIgnoreComptime(zcu)) {
// If the return type is an error set or an error union, then we make this
@@ -1450,7 +1448,7 @@ const NavGen = struct {
}
/// Turn a Zig type into a SPIR-V Type, and return a reference to it.
- fn resolveType(self: *NavGen, ty: Type, repr: Repr) Error!IdRef {
+ fn resolveType(self: *NavGen, ty: Type, repr: Repr) Error!Id {
if (self.intern_map.get(.{ ty.toIntern(), repr })) |id| {
return id;
}
@@ -1460,7 +1458,7 @@ const NavGen = struct {
return id;
}
- fn resolveTypeInner(self: *NavGen, ty: Type, repr: Repr) Error!IdRef {
+ fn resolveTypeInner(self: *NavGen, ty: Type, repr: Repr) Error!Id {
const pt = self.pt;
const zcu = pt.zcu;
const ip = &zcu.intern_pool;
@@ -1564,7 +1562,7 @@ const NavGen = struct {
const result_id = try self.arrayType(total_len, elem_ty_id);
switch (self.spv.target.os.tag) {
.vulkan, .opengl => {
- try self.spv.decorate(result_id, .{ .ArrayStride = .{
+ try self.spv.decorate(result_id, .{ .array_stride = .{
.array_stride = @intCast(elem_ty.abiSize(zcu)),
} });
},
@@ -1604,7 +1602,7 @@ const NavGen = struct {
assert(!fn_info.is_var_args);
// Note: Logic is different from functionType().
- const param_ty_ids = try self.gpa.alloc(IdRef, fn_info.param_types.len);
+ const param_ty_ids = try self.gpa.alloc(Id, fn_info.param_types.len);
defer self.gpa.free(param_ty_ids);
var param_index: usize = 0;
for (fn_info.param_types.get(ip)) |param_ty_index| {
@@ -1655,7 +1653,7 @@ const NavGen = struct {
.@"struct" => {
const struct_type = switch (ip.indexToKey(ty.toIntern())) {
.tuple_type => |tuple| {
- const member_types = try self.gpa.alloc(IdRef, tuple.values.len);
+ const member_types = try self.gpa.alloc(Id, tuple.values.len);
defer self.gpa.free(member_types);
var member_index: usize = 0;
@@ -1683,7 +1681,7 @@ const NavGen = struct {
return try self.resolveType(Type.fromInterned(struct_type.backingIntTypeUnordered(ip)), .direct);
}
- var member_types = std.ArrayList(IdRef).init(self.gpa);
+ var member_types = std.ArrayList(Id).init(self.gpa);
defer member_types.deinit();
var member_names = std.ArrayList([]const u8).init(self.gpa);
@@ -1701,7 +1699,7 @@ const NavGen = struct {
switch (self.spv.target.os.tag) {
.vulkan, .opengl => {
- try self.spv.decorateMember(result_id, index, .{ .Offset = .{
+ try self.spv.decorateMember(result_id, index, .{ .offset = .{
.byte_offset = @intCast(ty.structFieldOffset(field_index, zcu)),
} });
},
@@ -1765,7 +1763,7 @@ const NavGen = struct {
const payload_ty_id = try self.resolveType(payload_ty, .indirect);
- var member_types: [2]IdRef = undefined;
+ var member_types: [2]Id = undefined;
var member_names: [2][]const u8 = undefined;
if (eu_layout.error_first) {
// Put the error first
@@ -1809,30 +1807,30 @@ const NavGen = struct {
fn spvStorageClass(self: *NavGen, as: std.builtin.AddressSpace) StorageClass {
return switch (as) {
- .generic => if (self.spv.hasFeature(.generic_pointer)) .Generic else .Function,
+ .generic => if (self.spv.hasFeature(.generic_pointer)) .generic else .function,
.global => switch (self.spv.target.os.tag) {
- .opencl, .amdhsa => .CrossWorkgroup,
- else => .StorageBuffer,
+ .opencl, .amdhsa => .cross_workgroup,
+ else => .storage_buffer,
},
.push_constant => {
- return .PushConstant;
+ return .push_constant;
},
.output => {
- return .Output;
+ return .output;
},
.uniform => {
- return .Uniform;
+ return .uniform;
},
.storage_buffer => {
- return .StorageBuffer;
+ return .storage_buffer;
},
.physical_storage_buffer => {
- return .PhysicalStorageBuffer;
+ return .physical_storage_buffer;
},
- .constant => .UniformConstant,
- .shared => .Workgroup,
- .local => .Function,
- .input => .Input,
+ .constant => .uniform_constant,
+ .shared => .workgroup,
+ .local => .function,
+ .input => .input,
.gs,
.fs,
.ss,
@@ -1980,22 +1978,22 @@ const NavGen = struct {
value: Temporary.Value,
const Value = union(enum) {
- singleton: IdResult,
+ singleton: Id,
exploded_vector: IdRange,
};
- fn init(ty: Type, singleton: IdResult) Temporary {
+ fn init(ty: Type, singleton: Id) Temporary {
return .{ .ty = ty, .value = .{ .singleton = singleton } };
}
- fn materialize(self: Temporary, ng: *NavGen) !IdResult {
+ fn materialize(self: Temporary, ng: *NavGen) !Id {
const zcu = ng.pt.zcu;
switch (self.value) {
.singleton => |id| return id,
.exploded_vector => |range| {
assert(self.ty.isVector(zcu));
assert(self.ty.vectorLen(zcu) == range.len);
- const constituents = try ng.gpa.alloc(IdRef, range.len);
+ const constituents = try ng.gpa.alloc(Id, range.len);
defer ng.gpa.free(constituents);
for (constituents, 0..range.len) |*id, i| {
id.* = range.at(i);
@@ -2170,16 +2168,16 @@ const NavGen = struct {
/// on the operation and input value.
const Value = union(enum) {
/// A single scalar value that is used by a scalar operation.
- scalar: IdResult,
+ scalar: Id,
/// A single scalar that is broadcasted in an unrolled operation.
- scalar_broadcast: IdResult,
+ scalar_broadcast: Id,
/// A vector represented by a consecutive list of IDs that is used in an unrolled operation.
vector_exploded: IdRange,
};
/// Query the value at a particular index of the operation. Note that
/// the index is *not* the component/lane, but the index of the *operation*.
- fn at(self: PreparedOperand, i: usize) IdResult {
+ fn at(self: PreparedOperand, i: usize) Id {
switch (self.value) {
.scalar => |id| {
assert(i == 0);
@@ -2253,9 +2251,9 @@ const NavGen = struct {
for (0..ops) |i| {
try self.func.body.emitRaw(self.spv.gpa, opcode, 3);
- self.func.body.writeOperand(spec.IdResultType, op_result_ty_id);
- self.func.body.writeOperand(IdResult, results.at(i));
- self.func.body.writeOperand(IdResult, op_src.at(i));
+ self.func.body.writeOperand(spec.Id, op_result_ty_id);
+ self.func.body.writeOperand(Id, results.at(i));
+ self.func.body.writeOperand(Id, op_src.at(i));
}
return v.finalize(result_ty, results);
@@ -2388,10 +2386,10 @@ const NavGen = struct {
for (0..ops) |i| {
try self.func.body.emitRaw(self.spv.gpa, opcode, 4);
- self.func.body.writeOperand(spec.IdResultType, op_result_ty_id);
- self.func.body.writeOperand(IdResult, results.at(i));
- self.func.body.writeOperand(IdResult, op_lhs.at(i));
- self.func.body.writeOperand(IdResult, op_rhs.at(i));
+ self.func.body.writeOperand(spec.Id, op_result_ty_id);
+ self.func.body.writeOperand(Id, results.at(i));
+ self.func.body.writeOperand(Id, op_lhs.at(i));
+ self.func.body.writeOperand(Id, op_rhs.at(i));
}
return v.finalize(result_ty, results);
@@ -2442,9 +2440,9 @@ const NavGen = struct {
}) |opcode| {
for (0..ops) |i| {
try self.func.body.emitRaw(self.spv.gpa, opcode, 3);
- self.func.body.writeOperand(spec.IdResultType, op_result_ty_id);
- self.func.body.writeOperand(IdResult, results.at(i));
- self.func.body.writeOperand(IdResult, op_operand.at(i));
+ self.func.body.writeOperand(spec.Id, op_result_ty_id);
+ self.func.body.writeOperand(Id, results.at(i));
+ self.func.body.writeOperand(Id, op_operand.at(i));
}
} else {
const set = try self.importExtendedSet();
@@ -2583,10 +2581,10 @@ const NavGen = struct {
}) |opcode| {
for (0..ops) |i| {
try self.func.body.emitRaw(self.spv.gpa, opcode, 4);
- self.func.body.writeOperand(spec.IdResultType, op_result_ty_id);
- self.func.body.writeOperand(IdResult, results.at(i));
- self.func.body.writeOperand(IdResult, op_lhs.at(i));
- self.func.body.writeOperand(IdResult, op_rhs.at(i));
+ self.func.body.writeOperand(spec.Id, op_result_ty_id);
+ self.func.body.writeOperand(Id, results.at(i));
+ self.func.body.writeOperand(Id, op_lhs.at(i));
+ self.func.body.writeOperand(Id, op_rhs.at(i));
}
} else {
const set = try self.importExtendedSet();
@@ -2702,10 +2700,10 @@ const NavGen = struct {
const op_result = self.spv.allocId();
try self.func.body.emitRaw(self.spv.gpa, opcode, 4);
- self.func.body.writeOperand(spec.IdResultType, op_result_ty_id);
- self.func.body.writeOperand(IdResult, op_result);
- self.func.body.writeOperand(IdResult, lhs_op.at(i));
- self.func.body.writeOperand(IdResult, rhs_op.at(i));
+ self.func.body.writeOperand(spec.Id, op_result_ty_id);
+ self.func.body.writeOperand(Id, op_result);
+ self.func.body.writeOperand(Id, lhs_op.at(i));
+ self.func.body.writeOperand(Id, rhs_op.at(i));
// The above operation returns a struct. We might want to expand
// Temporary to deal with the fact that these are structs eventually,
@@ -2804,8 +2802,8 @@ const NavGen = struct {
const buffer_struct_ty_id = self.spv.allocId();
try self.spv.structType(buffer_struct_ty_id, &.{anyerror_ty_id}, &.{"error_out"});
- try self.spv.decorate(buffer_struct_ty_id, .Block);
- try self.spv.decorateMember(buffer_struct_ty_id, 0, .{ .Offset = .{ .byte_offset = 0 } });
+ try self.spv.decorate(buffer_struct_ty_id, .block);
+ try self.spv.decorateMember(buffer_struct_ty_id, 0, .{ .offset = .{ .byte_offset = 0 } });
const ptr_buffer_struct_ty_id = self.spv.allocId();
try self.spv.sections.types_globals_constants.emit(self.spv.gpa, .OpTypePointer, .{
@@ -2820,15 +2818,15 @@ const NavGen = struct {
.id_result = buffer_struct_id,
.storage_class = self.spvStorageClass(.global),
});
- try self.spv.decorate(buffer_struct_id, .{ .DescriptorSet = .{ .descriptor_set = 0 } });
- try self.spv.decorate(buffer_struct_id, .{ .Binding = .{ .binding_point = 0 } });
+ try self.spv.decorate(buffer_struct_id, .{ .descriptor_set = .{ .descriptor_set = 0 } });
+ try self.spv.decorate(buffer_struct_id, .{ .binding = .{ .binding_point = 0 } });
self.object.error_buffer = spv_err_decl_index;
}
try self.spv.sections.execution_modes.emit(self.spv.gpa, .OpExecutionMode, .{
.entry_point = kernel_id,
- .mode = .{ .LocalSize = .{
+ .mode = .{ .local_size = .{
.x_size = 1,
.y_size = 1,
.z_size = 1,
@@ -2873,7 +2871,7 @@ const NavGen = struct {
.pointer = p_error_id,
.object = error_id,
.memory_access = .{
- .Aligned = .{ .literal_integer = @intCast(Type.abiAlignment(.anyerror, zcu).toByteUnits().?) },
+ .aligned = .{ .literal_integer = @intCast(Type.abiAlignment(.anyerror, zcu).toByteUnits().?) },
},
});
try section.emit(self.spv.gpa, .OpReturn, {});
@@ -2885,8 +2883,8 @@ const NavGen = struct {
defer self.gpa.free(test_name);
const execution_mode: spec.ExecutionModel = switch (target.os.tag) {
- .vulkan, .opengl => .GLCompute,
- .opencl, .amdhsa => .Kernel,
+ .vulkan, .opengl => .gl_compute,
+ .opencl, .amdhsa => .kernel,
else => unreachable,
};
@@ -2983,7 +2981,7 @@ const NavGen = struct {
assert(maybe_init_val == null); // TODO
const storage_class = self.spvStorageClass(nav.getAddrspace());
- assert(storage_class != .Generic); // These should be instance globals
+ assert(storage_class != .generic); // These should be instance globals
const ptr_ty_id = try self.ptrType(ty, storage_class, .indirect);
@@ -2993,38 +2991,8 @@ const NavGen = struct {
.storage_class = storage_class,
});
- if (nav.fqn.eqlSlice("position", ip)) {
- try self.spv.decorate(result_id, .{ .BuiltIn = .{ .built_in = .Position } });
- } else if (nav.fqn.eqlSlice("point_size", ip)) {
- try self.spv.decorate(result_id, .{ .BuiltIn = .{ .built_in = .PointSize } });
- } else if (nav.fqn.eqlSlice("invocation_id", ip)) {
- try self.spv.decorate(result_id, .{ .BuiltIn = .{ .built_in = .InvocationId } });
- } else if (nav.fqn.eqlSlice("frag_coord", ip)) {
- try self.spv.decorate(result_id, .{ .BuiltIn = .{ .built_in = .FragCoord } });
- } else if (nav.fqn.eqlSlice("point_coord", ip)) {
- try self.spv.decorate(result_id, .{ .BuiltIn = .{ .built_in = .PointCoord } });
- } else if (nav.fqn.eqlSlice("front_facing", ip)) {
- try self.spv.decorate(result_id, .{ .BuiltIn = .{ .built_in = .FrontFacing } });
- } else if (nav.fqn.eqlSlice("sample_mask", ip)) {
- try self.spv.decorate(result_id, .{ .BuiltIn = .{ .built_in = .SampleMask } });
- } else if (nav.fqn.eqlSlice("frag_depth", ip)) {
- try self.spv.decorate(result_id, .{ .BuiltIn = .{ .built_in = .FragDepth } });
- } else if (nav.fqn.eqlSlice("num_workgroups", ip)) {
- try self.spv.decorate(result_id, .{ .BuiltIn = .{ .built_in = .NumWorkgroups } });
- } else if (nav.fqn.eqlSlice("workgroup_size", ip)) {
- try self.spv.decorate(result_id, .{ .BuiltIn = .{ .built_in = .WorkgroupSize } });
- } else if (nav.fqn.eqlSlice("workgroup_id", ip)) {
- try self.spv.decorate(result_id, .{ .BuiltIn = .{ .built_in = .WorkgroupId } });
- } else if (nav.fqn.eqlSlice("local_invocation_id", ip)) {
- try self.spv.decorate(result_id, .{ .BuiltIn = .{ .built_in = .LocalInvocationId } });
- } else if (nav.fqn.eqlSlice("global_invocation_id", ip)) {
- try self.spv.decorate(result_id, .{ .BuiltIn = .{ .built_in = .GlobalInvocationId } });
- } else if (nav.fqn.eqlSlice("local_invocation_index", ip)) {
- try self.spv.decorate(result_id, .{ .BuiltIn = .{ .built_in = .LocalInvocationIndex } });
- } else if (nav.fqn.eqlSlice("vertex_index", ip)) {
- try self.spv.decorate(result_id, .{ .BuiltIn = .{ .built_in = .VertexIndex } });
- } else if (nav.fqn.eqlSlice("instance_index", ip)) {
- try self.spv.decorate(result_id, .{ .BuiltIn = .{ .built_in = .InstanceIndex } });
+ if (std.meta.stringToEnum(spec.BuiltIn, nav.fqn.toSlice(ip))) |builtin| {
+ try self.spv.decorate(result_id, .{ .built_in = .{ .built_in = builtin } });
}
try self.spv.debugName(result_id, nav.fqn.toSlice(ip));
@@ -3040,7 +3008,7 @@ const NavGen = struct {
try self.spv.declareDeclDeps(spv_decl_index, &.{});
- const ptr_ty_id = try self.ptrType(ty, .Function, .indirect);
+ const ptr_ty_id = try self.ptrType(ty, .function, .indirect);
if (maybe_init_val) |init_val| {
// TODO: Combine with resolveAnonDecl?
@@ -3109,7 +3077,7 @@ const NavGen = struct {
/// Convert representation from indirect (in memory) to direct (in 'register')
/// This converts the argument type from resolveType(ty, .indirect) to resolveType(ty, .direct).
- fn convertToDirect(self: *NavGen, ty: Type, operand_id: IdRef) !IdRef {
+ fn convertToDirect(self: *NavGen, ty: Type, operand_id: Id) !Id {
const pt = self.pt;
const zcu = pt.zcu;
switch (ty.scalarType(zcu).zigTypeTag(zcu)) {
@@ -3136,7 +3104,7 @@ const NavGen = struct {
/// Convert representation from direct (in 'register) to direct (in memory)
/// This converts the argument type from resolveType(ty, .direct) to resolveType(ty, .indirect).
- fn convertToIndirect(self: *NavGen, ty: Type, operand_id: IdRef) !IdRef {
+ fn convertToIndirect(self: *NavGen, ty: Type, operand_id: Id) !Id {
const zcu = self.pt.zcu;
switch (ty.scalarType(zcu).zigTypeTag(zcu)) {
.bool => {
@@ -3147,7 +3115,7 @@ const NavGen = struct {
}
}
- fn extractField(self: *NavGen, result_ty: Type, object: IdRef, field: u32) !IdRef {
+ fn extractField(self: *NavGen, result_ty: Type, object: Id, field: u32) !Id {
const result_ty_id = try self.resolveType(result_ty, .indirect);
const result_id = self.spv.allocId();
const indexes = [_]u32{field};
@@ -3161,7 +3129,7 @@ const NavGen = struct {
return try self.convertToDirect(result_ty, result_id);
}
- fn extractVectorComponent(self: *NavGen, result_ty: Type, vector_id: IdRef, field: u32) !IdRef {
+ fn extractVectorComponent(self: *NavGen, result_ty: Type, vector_id: Id, field: u32) !Id {
const result_ty_id = try self.resolveType(result_ty, .direct);
const result_id = self.spv.allocId();
const indexes = [_]u32{field};
@@ -3179,14 +3147,14 @@ const NavGen = struct {
is_volatile: bool = false,
};
- fn load(self: *NavGen, value_ty: Type, ptr_id: IdRef, options: MemoryOptions) !IdRef {
+ fn load(self: *NavGen, value_ty: Type, ptr_id: Id, options: MemoryOptions) !Id {
const zcu = self.pt.zcu;
const alignment: u32 = @intCast(value_ty.abiAlignment(zcu).toByteUnits().?);
const indirect_value_ty_id = try self.resolveType(value_ty, .indirect);
const result_id = self.spv.allocId();
- const access = spec.MemoryAccess.Extended{
- .Volatile = options.is_volatile,
- .Aligned = .{ .literal_integer = alignment },
+ const access: spec.MemoryAccess.Extended = .{
+ .@"volatile" = options.is_volatile,
+ .aligned = .{ .literal_integer = alignment },
};
try self.func.body.emit(self.spv.gpa, .OpLoad, .{
.id_result_type = indirect_value_ty_id,
@@ -3197,11 +3165,9 @@ const NavGen = struct {
return try self.convertToDirect(value_ty, result_id);
}
- fn store(self: *NavGen, value_ty: Type, ptr_id: IdRef, value_id: IdRef, options: MemoryOptions) !void {
+ fn store(self: *NavGen, value_ty: Type, ptr_id: Id, value_id: Id, options: MemoryOptions) !void {
const indirect_value_id = try self.convertToIndirect(value_ty, value_id);
- const access = spec.MemoryAccess.Extended{
- .Volatile = options.is_volatile,
- };
+ const access: spec.MemoryAccess.Extended = .{ .@"volatile" = options.is_volatile };
try self.func.body.emit(self.spv.gpa, .OpStore, .{
.pointer = ptr_id,
.object = indirect_value_id,
@@ -3222,7 +3188,7 @@ const NavGen = struct {
return;
const air_tags = self.air.instructions.items(.tag);
- const maybe_result_id: ?IdRef = switch (air_tags[@intFromEnum(inst)]) {
+ const maybe_result_id: ?Id = switch (air_tags[@intFromEnum(inst)]) {
// zig fmt: off
.add, .add_wrap, .add_optimized => try self.airArithOp(inst, .f_add, .i_add, .i_add),
.sub, .sub_wrap, .sub_optimized => try self.airArithOp(inst, .f_sub, .i_sub, .i_sub),
@@ -3390,7 +3356,7 @@ const NavGen = struct {
try self.inst_results.putNoClobber(self.gpa, inst, result_id);
}
- fn airBinOpSimple(self: *NavGen, inst: Air.Inst.Index, op: BinaryOp) !?IdRef {
+ fn airBinOpSimple(self: *NavGen, inst: Air.Inst.Index, op: BinaryOp) !?Id {
const bin_op = self.air.instructions.items(.data)[@intFromEnum(inst)].bin_op;
const lhs = try self.temporary(bin_op.lhs);
const rhs = try self.temporary(bin_op.rhs);
@@ -3399,7 +3365,7 @@ const NavGen = struct {
return try result.materialize(self);
}
- fn airShift(self: *NavGen, inst: Air.Inst.Index, unsigned: BinaryOp, signed: BinaryOp) !?IdRef {
+ fn airShift(self: *NavGen, inst: Air.Inst.Index, unsigned: BinaryOp, signed: BinaryOp) !?Id {
const zcu = self.pt.zcu;
const bin_op = self.air.instructions.items(.data)[@intFromEnum(inst)].bin_op;
@@ -3438,7 +3404,7 @@ const NavGen = struct {
const MinMax = enum { min, max };
- fn airMinMax(self: *NavGen, inst: Air.Inst.Index, op: MinMax) !?IdRef {
+ fn airMinMax(self: *NavGen, inst: Air.Inst.Index, op: MinMax) !?Id {
const bin_op = self.air.instructions.items(.data)[@intFromEnum(inst)].bin_op;
const lhs = try self.temporary(bin_op.lhs);
@@ -3503,7 +3469,7 @@ const NavGen = struct {
}
}
- fn airDivFloor(self: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airDivFloor(self: *NavGen, inst: Air.Inst.Index) !?Id {
const bin_op = self.air.instructions.items(.data)[@intFromEnum(inst)].bin_op;
const lhs = try self.temporary(bin_op.lhs);
@@ -3560,7 +3526,7 @@ const NavGen = struct {
}
}
- fn airDivTrunc(self: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airDivTrunc(self: *NavGen, inst: Air.Inst.Index) !?Id {
const bin_op = self.air.instructions.items(.data)[@intFromEnum(inst)].bin_op;
const lhs = try self.temporary(bin_op.lhs);
@@ -3588,7 +3554,7 @@ const NavGen = struct {
}
}
- fn airUnOpSimple(self: *NavGen, inst: Air.Inst.Index, op: UnaryOp) !?IdRef {
+ fn airUnOpSimple(self: *NavGen, inst: Air.Inst.Index, op: UnaryOp) !?Id {
const un_op = self.air.instructions.items(.data)[@intFromEnum(inst)].un_op;
const operand = try self.temporary(un_op);
const result = try self.buildUnary(op, operand);
@@ -3601,7 +3567,7 @@ const NavGen = struct {
comptime fop: BinaryOp,
comptime sop: BinaryOp,
comptime uop: BinaryOp,
- ) !?IdRef {
+ ) !?Id {
const bin_op = self.air.instructions.items(.data)[@intFromEnum(inst)].bin_op;
const lhs = try self.temporary(bin_op.lhs);
@@ -3622,7 +3588,7 @@ const NavGen = struct {
return try result.materialize(self);
}
- fn airAbs(self: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airAbs(self: *NavGen, inst: Air.Inst.Index) !?Id {
const ty_op = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_op;
const operand = try self.temporary(ty_op.operand);
// Note: operand_ty may be signed, while ty is always unsigned!
@@ -3662,7 +3628,7 @@ const NavGen = struct {
comptime add: BinaryOp,
comptime ucmp: CmpPredicate,
comptime scmp: CmpPredicate,
- ) !?IdRef {
+ ) !?Id {
_ = scmp;
// Note: OpIAddCarry and OpISubBorrow are not really useful here: For unsigned numbers,
// there is in both cases only one extra operation required. For signed operations,
@@ -3725,7 +3691,7 @@ const NavGen = struct {
return try self.constructComposite(result_ty_id, &.{ try result.materialize(self), try ov.materialize(self) });
}
- fn airMulOverflow(self: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airMulOverflow(self: *NavGen, inst: Air.Inst.Index) !?Id {
const pt = self.pt;
const ty_pl = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_pl;
@@ -3897,7 +3863,7 @@ const NavGen = struct {
return try self.constructComposite(result_ty_id, &.{ try result.materialize(self), try ov.materialize(self) });
}
- fn airShlOverflow(self: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airShlOverflow(self: *NavGen, inst: Air.Inst.Index) !?Id {
const zcu = self.pt.zcu;
const ty_pl = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_pl;
@@ -3938,7 +3904,7 @@ const NavGen = struct {
return try self.constructComposite(result_ty_id, &.{ try result.materialize(self), try ov.materialize(self) });
}
- fn airMulAdd(self: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airMulAdd(self: *NavGen, inst: Air.Inst.Index) !?Id {
const pl_op = self.air.instructions.items(.data)[@intFromEnum(inst)].pl_op;
const extra = self.air.extraData(Air.Bin, pl_op.payload).data;
@@ -3954,7 +3920,7 @@ const NavGen = struct {
return try result.materialize(self);
}
- fn airClzCtz(self: *NavGen, inst: Air.Inst.Index, op: UnaryOp) !?IdRef {
+ fn airClzCtz(self: *NavGen, inst: Air.Inst.Index, op: UnaryOp) !?Id {
if (self.liveness.isUnused(inst)) return null;
const zcu = self.pt.zcu;
@@ -3979,7 +3945,7 @@ const NavGen = struct {
return try result.materialize(self);
}
- fn airSelect(self: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airSelect(self: *NavGen, inst: Air.Inst.Index) !?Id {
const pl_op = self.air.instructions.items(.data)[@intFromEnum(inst)].pl_op;
const extra = self.air.extraData(Air.Bin, pl_op.payload).data;
const pred = try self.temporary(pl_op.operand);
@@ -3990,7 +3956,7 @@ const NavGen = struct {
return try result.materialize(self);
}
- fn airSplat(self: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airSplat(self: *NavGen, inst: Air.Inst.Index) !?Id {
const ty_op = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_op;
const operand_id = try self.resolve(ty_op.operand);
@@ -3999,7 +3965,7 @@ const NavGen = struct {
return try self.constructCompositeSplat(result_ty, operand_id);
}
- fn airReduce(self: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airReduce(self: *NavGen, inst: Air.Inst.Index) !?Id {
const zcu = self.pt.zcu;
const reduce = self.air.instructions.items(.data)[@intFromEnum(inst)].reduce;
const operand = try self.resolve(reduce.operand);
@@ -4062,16 +4028,16 @@ const NavGen = struct {
result_id = self.spv.allocId();
try self.func.body.emitRaw(self.spv.gpa, opcode, 4);
- self.func.body.writeOperand(spec.IdResultType, scalar_ty_id);
- self.func.body.writeOperand(spec.IdResult, result_id);
- self.func.body.writeOperand(spec.IdResultType, lhs);
- self.func.body.writeOperand(spec.IdResultType, rhs);
+ self.func.body.writeOperand(spec.Id, scalar_ty_id);
+ self.func.body.writeOperand(spec.Id, result_id);
+ self.func.body.writeOperand(spec.Id, lhs);
+ self.func.body.writeOperand(spec.Id, rhs);
}
return result_id;
}
- fn airShuffleOne(ng: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airShuffleOne(ng: *NavGen, inst: Air.Inst.Index) !?Id {
const pt = ng.pt;
const zcu = pt.zcu;
const gpa = zcu.gpa;
@@ -4082,7 +4048,7 @@ const NavGen = struct {
const elem_ty = result_ty.childType(zcu);
const operand = try ng.resolve(unwrapped.operand);
- const constituents = try gpa.alloc(IdRef, mask.len);
+ const constituents = try gpa.alloc(Id, mask.len);
defer gpa.free(constituents);
for (constituents, mask) |*id, mask_elem| {
@@ -4096,7 +4062,7 @@ const NavGen = struct {
return try ng.constructComposite(result_ty_id, constituents);
}
- fn airShuffleTwo(ng: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airShuffleTwo(ng: *NavGen, inst: Air.Inst.Index) !?Id {
const pt = ng.pt;
const zcu = pt.zcu;
const gpa = zcu.gpa;
@@ -4109,7 +4075,7 @@ const NavGen = struct {
const operand_a = try ng.resolve(unwrapped.operand_a);
const operand_b = try ng.resolve(unwrapped.operand_b);
- const constituents = try gpa.alloc(IdRef, mask.len);
+ const constituents = try gpa.alloc(Id, mask.len);
defer gpa.free(constituents);
for (constituents, mask) |*id, mask_elem| {
@@ -4124,8 +4090,8 @@ const NavGen = struct {
return try ng.constructComposite(result_ty_id, constituents);
}
- fn indicesToIds(self: *NavGen, indices: []const u32) ![]IdRef {
- const ids = try self.gpa.alloc(IdRef, indices.len);
+ fn indicesToIds(self: *NavGen, indices: []const u32) ![]Id {
+ const ids = try self.gpa.alloc(Id, indices.len);
errdefer self.gpa.free(ids);
for (indices, ids) |index, *id| {
id.* = try self.constInt(Type.u32, index);
@@ -4136,10 +4102,10 @@ const NavGen = struct {
fn accessChainId(
self: *NavGen,
- result_ty_id: IdRef,
- base: IdRef,
- indices: []const IdRef,
- ) !IdRef {
+ result_ty_id: Id,
+ base: Id,
+ indices: []const Id,
+ ) !Id {
const result_id = self.spv.allocId();
try self.func.body.emit(self.spv.gpa, .OpInBoundsAccessChain, .{
.id_result_type = result_ty_id,
@@ -4156,10 +4122,10 @@ const NavGen = struct {
/// is the latter and PtrAccessChain is the former.
fn accessChain(
self: *NavGen,
- result_ty_id: IdRef,
- base: IdRef,
+ result_ty_id: Id,
+ base: Id,
indices: []const u32,
- ) !IdRef {
+ ) !Id {
const ids = try self.indicesToIds(indices);
defer self.gpa.free(ids);
return try self.accessChainId(result_ty_id, base, ids);
@@ -4167,11 +4133,11 @@ const NavGen = struct {
fn ptrAccessChain(
self: *NavGen,
- result_ty_id: IdRef,
- base: IdRef,
- element: IdRef,
+ result_ty_id: Id,
+ base: Id,
+ element: Id,
indices: []const u32,
- ) !IdRef {
+ ) !Id {
const ids = try self.indicesToIds(indices);
defer self.gpa.free(ids);
@@ -4199,7 +4165,7 @@ const NavGen = struct {
return result_id;
}
- fn ptrAdd(self: *NavGen, result_ty: Type, ptr_ty: Type, ptr_id: IdRef, offset_id: IdRef) !IdRef {
+ fn ptrAdd(self: *NavGen, result_ty: Type, ptr_ty: Type, ptr_id: Id, offset_id: Id) !Id {
const zcu = self.pt.zcu;
const result_ty_id = try self.resolveType(result_ty, .direct);
@@ -4220,7 +4186,7 @@ const NavGen = struct {
}
}
- fn airPtrAdd(self: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airPtrAdd(self: *NavGen, inst: Air.Inst.Index) !?Id {
const ty_pl = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_pl;
const bin_op = self.air.extraData(Air.Bin, ty_pl.payload).data;
const ptr_id = try self.resolve(bin_op.lhs);
@@ -4231,7 +4197,7 @@ const NavGen = struct {
return try self.ptrAdd(result_ty, ptr_ty, ptr_id, offset_id);
}
- fn airPtrSub(self: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airPtrSub(self: *NavGen, inst: Air.Inst.Index) !?Id {
const ty_pl = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_pl;
const bin_op = self.air.extraData(Air.Bin, ty_pl.payload).data;
const ptr_id = try self.resolve(bin_op.lhs);
@@ -4427,7 +4393,7 @@ const NavGen = struct {
self: *NavGen,
inst: Air.Inst.Index,
comptime op: std.math.CompareOperator,
- ) !?IdRef {
+ ) !?Id {
const bin_op = self.air.instructions.items(.data)[@intFromEnum(inst)].bin_op;
const lhs = try self.temporary(bin_op.lhs);
const rhs = try self.temporary(bin_op.rhs);
@@ -4436,7 +4402,7 @@ const NavGen = struct {
return try result.materialize(self);
}
- fn airVectorCmp(self: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airVectorCmp(self: *NavGen, inst: Air.Inst.Index) !?Id {
const ty_pl = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_pl;
const vec_cmp = self.air.extraData(Air.VectorCmp, ty_pl.payload).data;
const lhs = try self.temporary(vec_cmp.lhs);
@@ -4452,8 +4418,8 @@ const NavGen = struct {
self: *NavGen,
dst_ty: Type,
src_ty: Type,
- src_id: IdRef,
- ) !IdRef {
+ src_id: Id,
+ ) !Id {
const zcu = self.pt.zcu;
const src_ty_id = try self.resolveType(src_ty, .direct);
const dst_ty_id = try self.resolveType(dst_ty, .direct);
@@ -4489,9 +4455,9 @@ const NavGen = struct {
break :blk result_id;
}
- const dst_ptr_ty_id = try self.ptrType(dst_ty, .Function, .indirect);
+ const dst_ptr_ty_id = try self.ptrType(dst_ty, .function, .indirect);
- const tmp_id = try self.alloc(src_ty, .{ .storage_class = .Function });
+ const tmp_id = try self.alloc(src_ty, .{ .storage_class = .function });
try self.store(src_ty, tmp_id, src_id, .{});
const casted_ptr_id = self.spv.allocId();
try self.func.body.emit(self.spv.gpa, .OpBitcast, .{
@@ -4515,7 +4481,7 @@ const NavGen = struct {
return result_id;
}
- fn airBitCast(self: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airBitCast(self: *NavGen, inst: Air.Inst.Index) !?Id {
const ty_op = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_op;
const operand_ty = self.typeOf(ty_op.operand);
const result_ty = self.typeOfIndex(inst);
@@ -4528,7 +4494,7 @@ const NavGen = struct {
return try self.bitCast(result_ty, operand_ty, operand_id);
}
- fn airIntCast(self: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airIntCast(self: *NavGen, inst: Air.Inst.Index) !?Id {
const ty_op = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_op;
const src = try self.temporary(ty_op.operand);
const dst_ty = self.typeOfIndex(inst);
@@ -4554,7 +4520,7 @@ const NavGen = struct {
return try result.materialize(self);
}
- fn intFromPtr(self: *NavGen, operand_id: IdRef) !IdRef {
+ fn intFromPtr(self: *NavGen, operand_id: Id) !Id {
const result_type_id = try self.resolveType(Type.usize, .direct);
const result_id = self.spv.allocId();
try self.func.body.emit(self.spv.gpa, .OpConvertPtrToU, .{
@@ -4565,7 +4531,7 @@ const NavGen = struct {
return result_id;
}
- fn airFloatFromInt(self: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airFloatFromInt(self: *NavGen, inst: Air.Inst.Index) !?Id {
const ty_op = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_op;
const operand_ty = self.typeOf(ty_op.operand);
const operand_id = try self.resolve(ty_op.operand);
@@ -4573,7 +4539,7 @@ const NavGen = struct {
return try self.floatFromInt(result_ty, operand_ty, operand_id);
}
- fn floatFromInt(self: *NavGen, result_ty: Type, operand_ty: Type, operand_id: IdRef) !IdRef {
+ fn floatFromInt(self: *NavGen, result_ty: Type, operand_ty: Type, operand_id: Id) !Id {
const operand_info = self.arithmeticTypeInfo(operand_ty);
const result_id = self.spv.allocId();
const result_ty_id = try self.resolveType(result_ty, .direct);
@@ -4592,14 +4558,14 @@ const NavGen = struct {
return result_id;
}
- fn airIntFromFloat(self: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airIntFromFloat(self: *NavGen, inst: Air.Inst.Index) !?Id {
const ty_op = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_op;
const operand_id = try self.resolve(ty_op.operand);
const result_ty = self.typeOfIndex(inst);
return try self.intFromFloat(result_ty, operand_id);
}
- fn intFromFloat(self: *NavGen, result_ty: Type, operand_id: IdRef) !IdRef {
+ fn intFromFloat(self: *NavGen, result_ty: Type, operand_id: Id) !Id {
const result_info = self.arithmeticTypeInfo(result_ty);
const result_ty_id = try self.resolveType(result_ty, .direct);
const result_id = self.spv.allocId();
@@ -4618,7 +4584,7 @@ const NavGen = struct {
return result_id;
}
- fn airFloatCast(self: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airFloatCast(self: *NavGen, inst: Air.Inst.Index) !?Id {
const ty_op = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_op;
const operand = try self.temporary(ty_op.operand);
const dest_ty = self.typeOfIndex(inst);
@@ -4626,7 +4592,7 @@ const NavGen = struct {
return try result.materialize(self);
}
- fn airNot(self: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airNot(self: *NavGen, inst: Air.Inst.Index) !?Id {
const ty_op = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_op;
const operand = try self.temporary(ty_op.operand);
const result_ty = self.typeOfIndex(inst);
@@ -4645,7 +4611,7 @@ const NavGen = struct {
return try result.materialize(self);
}
- fn airArrayToSlice(self: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airArrayToSlice(self: *NavGen, inst: Air.Inst.Index) !?Id {
const pt = self.pt;
const zcu = pt.zcu;
const ty_op = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_op;
@@ -4670,7 +4636,7 @@ const NavGen = struct {
return try self.constructComposite(slice_ty_id, &.{ elem_ptr_id, len_id });
}
- fn airSlice(self: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airSlice(self: *NavGen, inst: Air.Inst.Index) !?Id {
const ty_pl = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_pl;
const bin_op = self.air.extraData(Air.Bin, ty_pl.payload).data;
const ptr_id = try self.resolve(bin_op.lhs);
@@ -4680,7 +4646,7 @@ const NavGen = struct {
return try self.constructComposite(slice_ty_id, &.{ ptr_id, len_id });
}
- fn airAggregateInit(self: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airAggregateInit(self: *NavGen, inst: Air.Inst.Index) !?Id {
const pt = self.pt;
const zcu = pt.zcu;
const ip = &zcu.intern_pool;
@@ -4732,7 +4698,7 @@ const NavGen = struct {
const types = try self.gpa.alloc(Type, elements.len);
defer self.gpa.free(types);
- const constituents = try self.gpa.alloc(IdRef, elements.len);
+ const constituents = try self.gpa.alloc(Id, elements.len);
defer self.gpa.free(constituents);
var index: usize = 0;
@@ -4771,7 +4737,7 @@ const NavGen = struct {
},
.vector => {
const n_elems = result_ty.vectorLen(zcu);
- const elem_ids = try self.gpa.alloc(IdRef, n_elems);
+ const elem_ids = try self.gpa.alloc(Id, n_elems);
defer self.gpa.free(elem_ids);
for (elements, 0..) |element, i| {
@@ -4784,7 +4750,7 @@ const NavGen = struct {
.array => {
const array_info = result_ty.arrayInfo(zcu);
const n_elems: usize = @intCast(result_ty.arrayLenIncludingSentinel(zcu));
- const elem_ids = try self.gpa.alloc(IdRef, n_elems);
+ const elem_ids = try self.gpa.alloc(Id, n_elems);
defer self.gpa.free(elem_ids);
for (elements, 0..) |element, i| {
@@ -4803,7 +4769,7 @@ const NavGen = struct {
}
}
- fn sliceOrArrayLen(self: *NavGen, operand_id: IdRef, ty: Type) !IdRef {
+ fn sliceOrArrayLen(self: *NavGen, operand_id: Id, ty: Type) !Id {
const pt = self.pt;
const zcu = pt.zcu;
switch (ty.ptrSize(zcu)) {
@@ -4819,7 +4785,7 @@ const NavGen = struct {
}
}
- fn sliceOrArrayPtr(self: *NavGen, operand_id: IdRef, ty: Type) !IdRef {
+ fn sliceOrArrayPtr(self: *NavGen, operand_id: Id, ty: Type) !Id {
const zcu = self.pt.zcu;
if (ty.isSlice(zcu)) {
const ptr_ty = ty.slicePtrFieldType(zcu);
@@ -4849,14 +4815,14 @@ const NavGen = struct {
return self.fail("TODO implement airMemcpy for spirv", .{});
}
- fn airSliceField(self: *NavGen, inst: Air.Inst.Index, field: u32) !?IdRef {
+ fn airSliceField(self: *NavGen, inst: Air.Inst.Index, field: u32) !?Id {
const ty_op = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_op;
const field_ty = self.typeOfIndex(inst);
const operand_id = try self.resolve(ty_op.operand);
return try self.extractField(field_ty, operand_id, field);
}
- fn airSliceElemPtr(self: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airSliceElemPtr(self: *NavGen, inst: Air.Inst.Index) !?Id {
const zcu = self.pt.zcu;
const ty_pl = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_pl;
const bin_op = self.air.extraData(Air.Bin, ty_pl.payload).data;
@@ -4873,7 +4839,7 @@ const NavGen = struct {
return try self.ptrAccessChain(ptr_ty_id, slice_ptr, index_id, &.{});
}
- fn airSliceElemVal(self: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airSliceElemVal(self: *NavGen, inst: Air.Inst.Index) !?Id {
const zcu = self.pt.zcu;
const bin_op = self.air.instructions.items(.data)[@intFromEnum(inst)].bin_op;
const slice_ty = self.typeOf(bin_op.lhs);
@@ -4890,7 +4856,7 @@ const NavGen = struct {
return try self.load(slice_ty.childType(zcu), elem_ptr, .{ .is_volatile = slice_ty.isVolatilePtr(zcu) });
}
- fn ptrElemPtr(self: *NavGen, ptr_ty: Type, ptr_id: IdRef, index_id: IdRef) !IdRef {
+ fn ptrElemPtr(self: *NavGen, ptr_ty: Type, ptr_id: Id, index_id: Id) !Id {
const zcu = self.pt.zcu;
// Construct new pointer type for the resulting pointer
const elem_ty = ptr_ty.elemType2(zcu); // use elemType() so that we get T for *[N]T.
@@ -4905,7 +4871,7 @@ const NavGen = struct {
}
}
- fn airPtrElemPtr(self: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airPtrElemPtr(self: *NavGen, inst: Air.Inst.Index) !?Id {
const pt = self.pt;
const zcu = pt.zcu;
const ty_pl = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_pl;
@@ -4923,7 +4889,7 @@ const NavGen = struct {
return try self.ptrElemPtr(src_ptr_ty, ptr_id, index_id);
}
- fn airArrayElemVal(self: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airArrayElemVal(self: *NavGen, inst: Air.Inst.Index) !?Id {
const zcu = self.pt.zcu;
const bin_op = self.air.instructions.items(.data)[@intFromEnum(inst)].bin_op;
const array_ty = self.typeOf(bin_op.lhs);
@@ -4938,14 +4904,14 @@ const NavGen = struct {
const is_vector = array_ty.isVector(zcu);
const elem_repr: Repr = if (is_vector) .direct else .indirect;
- const ptr_array_ty_id = try self.ptrType(array_ty, .Function, .direct);
- const ptr_elem_ty_id = try self.ptrType(elem_ty, .Function, elem_repr);
+ const ptr_array_ty_id = try self.ptrType(array_ty, .function, .direct);
+ const ptr_elem_ty_id = try self.ptrType(elem_ty, .function, elem_repr);
const tmp_id = self.spv.allocId();
try self.func.prologue.emit(self.spv.gpa, .OpVariable, .{
.id_result_type = ptr_array_ty_id,
.id_result = tmp_id,
- .storage_class = .Function,
+ .storage_class = .function,
});
try self.func.body.emit(self.spv.gpa, .OpStore, .{
@@ -4973,7 +4939,7 @@ const NavGen = struct {
return try self.convertToDirect(elem_ty, result_id);
}
- fn airPtrElemVal(self: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airPtrElemVal(self: *NavGen, inst: Air.Inst.Index) !?Id {
const zcu = self.pt.zcu;
const bin_op = self.air.instructions.items(.data)[@intFromEnum(inst)].bin_op;
const ptr_ty = self.typeOf(bin_op.lhs);
@@ -5029,7 +4995,7 @@ const NavGen = struct {
}
}
- fn airGetUnionTag(self: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airGetUnionTag(self: *NavGen, inst: Air.Inst.Index) !?Id {
const ty_op = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_op;
const un_ty = self.typeOf(ty_op.operand);
@@ -5048,8 +5014,8 @@ const NavGen = struct {
self: *NavGen,
ty: Type,
active_field: u32,
- payload: ?IdRef,
- ) !IdRef {
+ payload: ?Id,
+ ) !Id {
// To initialize a union, generate a temporary variable with the
// union type, then get the field pointer and pointer-cast it to the
// right type to store it. Finally load the entire union.
@@ -5100,20 +5066,20 @@ const NavGen = struct {
return try self.constInt(tag_ty, tag_int);
}
- const tmp_id = try self.alloc(ty, .{ .storage_class = .Function });
+ const tmp_id = try self.alloc(ty, .{ .storage_class = .function });
if (layout.tag_size != 0) {
- const tag_ptr_ty_id = try self.ptrType(tag_ty, .Function, .indirect);
+ const tag_ptr_ty_id = try self.ptrType(tag_ty, .function, .indirect);
const ptr_id = try self.accessChain(tag_ptr_ty_id, tmp_id, &.{@as(u32, @intCast(layout.tag_index))});
const tag_id = try self.constInt(tag_ty, tag_int);
try self.store(tag_ty, ptr_id, tag_id, .{});
}
if (payload_ty.hasRuntimeBitsIgnoreComptime(zcu)) {
- const pl_ptr_ty_id = try self.ptrType(layout.payload_ty, .Function, .indirect);
+ const pl_ptr_ty_id = try self.ptrType(layout.payload_ty, .function, .indirect);
const pl_ptr_id = try self.accessChain(pl_ptr_ty_id, tmp_id, &.{layout.payload_index});
const active_pl_ptr_id = if (!layout.payload_ty.eql(payload_ty, zcu)) blk: {
- const active_pl_ptr_ty_id = try self.ptrType(payload_ty, .Function, .indirect);
+ const active_pl_ptr_ty_id = try self.ptrType(payload_ty, .function, .indirect);
const active_pl_ptr_id = self.spv.allocId();
try self.func.body.emit(self.spv.gpa, .OpBitcast, .{
.id_result_type = active_pl_ptr_ty_id,
@@ -5134,7 +5100,7 @@ const NavGen = struct {
return try self.load(ty, tmp_id, .{});
}
- fn airUnionInit(self: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airUnionInit(self: *NavGen, inst: Air.Inst.Index) !?Id {
const pt = self.pt;
const zcu = pt.zcu;
const ip = &zcu.intern_pool;
@@ -5151,7 +5117,7 @@ const NavGen = struct {
return try self.unionInit(ty, extra.field_index, payload);
}
- fn airStructFieldVal(self: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airStructFieldVal(self: *NavGen, inst: Air.Inst.Index) !?Id {
const pt = self.pt;
const zcu = pt.zcu;
const ty_pl = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_pl;
@@ -5216,13 +5182,13 @@ const NavGen = struct {
const layout = self.unionLayout(object_ty);
assert(layout.has_payload);
- const tmp_id = try self.alloc(object_ty, .{ .storage_class = .Function });
+ const tmp_id = try self.alloc(object_ty, .{ .storage_class = .function });
try self.store(object_ty, tmp_id, object_id, .{});
- const pl_ptr_ty_id = try self.ptrType(layout.payload_ty, .Function, .indirect);
+ const pl_ptr_ty_id = try self.ptrType(layout.payload_ty, .function, .indirect);
const pl_ptr_id = try self.accessChain(pl_ptr_ty_id, tmp_id, &.{layout.payload_index});
- const active_pl_ptr_ty_id = try self.ptrType(field_ty, .Function, .indirect);
+ const active_pl_ptr_ty_id = try self.ptrType(field_ty, .function, .indirect);
const active_pl_ptr_id = self.spv.allocId();
try self.func.body.emit(self.spv.gpa, .OpBitcast, .{
.id_result_type = active_pl_ptr_ty_id,
@@ -5236,7 +5202,7 @@ const NavGen = struct {
}
}
- fn airFieldParentPtr(self: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airFieldParentPtr(self: *NavGen, inst: Air.Inst.Index) !?Id {
const pt = self.pt;
const zcu = pt.zcu;
const ty_pl = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_pl;
@@ -5273,9 +5239,9 @@ const NavGen = struct {
self: *NavGen,
result_ptr_ty: Type,
object_ptr_ty: Type,
- object_ptr: IdRef,
+ object_ptr: Id,
field_index: u32,
- ) !IdRef {
+ ) !Id {
const result_ty_id = try self.resolveType(result_ptr_ty, .direct);
const zcu = self.pt.zcu;
@@ -5318,7 +5284,7 @@ const NavGen = struct {
}
}
- fn airStructFieldPtrIndex(self: *NavGen, inst: Air.Inst.Index, field_index: u32) !?IdRef {
+ fn airStructFieldPtrIndex(self: *NavGen, inst: Air.Inst.Index, field_index: u32) !?Id {
const ty_op = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_op;
const struct_ptr = try self.resolve(ty_op.operand);
const struct_ptr_ty = self.typeOf(ty_op.operand);
@@ -5327,7 +5293,7 @@ const NavGen = struct {
}
const AllocOptions = struct {
- initializer: ?IdRef = null,
+ initializer: ?Id = null,
/// The final storage class of the pointer. This may be either `.Generic` or `.Function`.
/// In either case, the local is allocated in the `.Function` storage class, and optionally
/// cast back to `.Generic`.
@@ -5342,8 +5308,8 @@ const NavGen = struct {
self: *NavGen,
ty: Type,
options: AllocOptions,
- ) !IdRef {
- const ptr_fn_ty_id = try self.ptrType(ty, .Function, .indirect);
+ ) !Id {
+ const ptr_fn_ty_id = try self.ptrType(ty, .function, .indirect);
// SPIR-V requires that OpVariable declarations for locals go into the first block, so we are just going to
// directly generate them into func.prologue instead of the body.
@@ -5351,7 +5317,7 @@ const NavGen = struct {
try self.func.prologue.emit(self.spv.gpa, .OpVariable, .{
.id_result_type = ptr_fn_ty_id,
.id_result = var_id,
- .storage_class = .Function,
+ .storage_class = .function,
.initializer = options.initializer,
});
@@ -5361,17 +5327,17 @@ const NavGen = struct {
}
switch (options.storage_class) {
- .Generic => {
- const ptr_gn_ty_id = try self.ptrType(ty, .Generic, .indirect);
+ .generic => {
+ const ptr_gn_ty_id = try self.ptrType(ty, .generic, .indirect);
// Convert to a generic pointer
return self.castToGeneric(ptr_gn_ty_id, var_id);
},
- .Function => return var_id,
+ .function => return var_id,
else => unreachable,
}
}
- fn airAlloc(self: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airAlloc(self: *NavGen, inst: Air.Inst.Index) !?Id {
const zcu = self.pt.zcu;
const ptr_ty = self.typeOfIndex(inst);
const child_ty = ptr_ty.childType(zcu);
@@ -5380,7 +5346,7 @@ const NavGen = struct {
});
}
- fn airArg(self: *NavGen) IdRef {
+ fn airArg(self: *NavGen) Id {
defer self.next_arg_index += 1;
return self.args.items[self.next_arg_index];
}
@@ -5389,14 +5355,14 @@ const NavGen = struct {
/// block to jump to. This function emits instructions, so it should be emitted
/// inside the merge block of the block.
/// This function should only be called with structured control flow generation.
- fn structuredNextBlock(self: *NavGen, incoming: []const ControlFlow.Structured.Block.Incoming) !IdRef {
+ fn structuredNextBlock(self: *NavGen, incoming: []const ControlFlow.Structured.Block.Incoming) !Id {
assert(self.control_flow == .structured);
const result_id = self.spv.allocId();
const block_id_ty_id = try self.resolveType(Type.u32, .direct);
try self.func.body.emitRaw(self.spv.gpa, .OpPhi, @intCast(2 + incoming.len * 2)); // result type + result + variable/parent...
- self.func.body.writeOperand(spec.IdResultType, block_id_ty_id);
- self.func.body.writeOperand(spec.IdRef, result_id);
+ self.func.body.writeOperand(spec.Id, block_id_ty_id);
+ self.func.body.writeOperand(spec.Id, result_id);
for (incoming) |incoming_block| {
self.func.body.writeOperand(spec.PairIdRefIdRef, .{ incoming_block.next_block, incoming_block.src_label });
@@ -5408,7 +5374,7 @@ const NavGen = struct {
/// Jumps to the block with the target block-id. This function must only be called when
/// terminating a body, there should be no instructions after it.
/// This function should only be called with structured control flow generation.
- fn structuredBreak(self: *NavGen, target_block: IdRef) !void {
+ fn structuredBreak(self: *NavGen, target_block: Id) !void {
assert(self.control_flow == .structured);
const sblock = self.control_flow.structured.block_stack.getLast();
@@ -5448,12 +5414,12 @@ const NavGen = struct {
/// Using loops; loops can be early exited by jumping to the merge block at
/// any time.
loop: struct {
- merge_label: IdRef,
- continue_label: IdRef,
+ merge_label: Id,
+ continue_label: Id,
},
},
body: []const Air.Inst.Index,
- ) !IdRef {
+ ) !Id {
assert(self.control_flow == .structured);
var sblock: ControlFlow.Structured.Block = switch (block_merge_type) {
@@ -5533,13 +5499,13 @@ const NavGen = struct {
}
}
- fn airBlock(self: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airBlock(self: *NavGen, inst: Air.Inst.Index) !?Id {
const inst_datas = self.air.instructions.items(.data);
const extra = self.air.extraData(Air.Block, inst_datas[@intFromEnum(inst)].ty_pl.payload);
return self.lowerBlock(inst, @ptrCast(self.air.extra.items[extra.end..][0..extra.data.body_len]));
}
- fn lowerBlock(self: *NavGen, inst: Air.Inst.Index, body: []const Air.Inst.Index) !?IdRef {
+ fn lowerBlock(self: *NavGen, inst: Air.Inst.Index, body: []const Air.Inst.Index) !?Id {
// In AIR, a block doesn't really define an entry point like a block, but
// more like a scope that breaks can jump out of and "return" a value from.
// This cannot be directly modelled in SPIR-V, so in a block instruction,
@@ -5584,8 +5550,8 @@ const NavGen = struct {
// result type + result + variable/parent...
2 + @as(u16, @intCast(block.incoming_blocks.items.len * 2)),
);
- self.func.body.writeOperand(spec.IdResultType, result_type_id);
- self.func.body.writeOperand(spec.IdRef, result_id);
+ self.func.body.writeOperand(spec.Id, result_type_id);
+ self.func.body.writeOperand(spec.Id, result_id);
for (block.incoming_blocks.items) |incoming| {
self.func.body.writeOperand(
@@ -5599,7 +5565,7 @@ const NavGen = struct {
};
const maybe_block_result_var_id = if (have_block_result) blk: {
- const block_result_var_id = try self.alloc(ty, .{ .storage_class = .Function });
+ const block_result_var_id = try self.alloc(ty, .{ .storage_class = .function });
try cf.block_results.putNoClobber(self.gpa, inst, block_result_var_id);
break :blk block_result_var_id;
} else null;
@@ -5823,7 +5789,7 @@ const NavGen = struct {
}
}
- fn airLoad(self: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airLoad(self: *NavGen, inst: Air.Inst.Index) !?Id {
const zcu = self.pt.zcu;
const ty_op = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_op;
const ptr_ty = self.typeOf(ty_op.operand);
@@ -5894,7 +5860,7 @@ const NavGen = struct {
});
}
- fn airTry(self: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airTry(self: *NavGen, inst: Air.Inst.Index) !?Id {
const zcu = self.pt.zcu;
const pl_op = self.air.instructions.items(.data)[@intFromEnum(inst)].pl_op;
const err_union_id = try self.resolve(pl_op.operand);
@@ -5964,7 +5930,7 @@ const NavGen = struct {
return try self.extractField(payload_ty, err_union_id, eu_layout.payloadFieldIndex());
}
- fn airErrUnionErr(self: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airErrUnionErr(self: *NavGen, inst: Air.Inst.Index) !?Id {
const zcu = self.pt.zcu;
const ty_op = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_op;
const operand_id = try self.resolve(ty_op.operand);
@@ -5987,7 +5953,7 @@ const NavGen = struct {
return try self.extractField(Type.anyerror, operand_id, eu_layout.errorFieldIndex());
}
- fn airErrUnionPayload(self: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airErrUnionPayload(self: *NavGen, inst: Air.Inst.Index) !?Id {
const ty_op = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_op;
const operand_id = try self.resolve(ty_op.operand);
const payload_ty = self.typeOfIndex(inst);
@@ -6000,7 +5966,7 @@ const NavGen = struct {
return try self.extractField(payload_ty, operand_id, eu_layout.payloadFieldIndex());
}
- fn airWrapErrUnionErr(self: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airWrapErrUnionErr(self: *NavGen, inst: Air.Inst.Index) !?Id {
const zcu = self.pt.zcu;
const ty_op = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_op;
const err_union_ty = self.typeOfIndex(inst);
@@ -6014,7 +5980,7 @@ const NavGen = struct {
const payload_ty_id = try self.resolveType(payload_ty, .indirect);
- var members: [2]IdRef = undefined;
+ var members: [2]Id = undefined;
members[eu_layout.errorFieldIndex()] = operand_id;
members[eu_layout.payloadFieldIndex()] = try self.spv.constUndef(payload_ty_id);
@@ -6026,7 +5992,7 @@ const NavGen = struct {
return try self.constructComposite(err_union_ty_id, &members);
}
- fn airWrapErrUnionPayload(self: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airWrapErrUnionPayload(self: *NavGen, inst: Air.Inst.Index) !?Id {
const ty_op = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_op;
const err_union_ty = self.typeOfIndex(inst);
const operand_id = try self.resolve(ty_op.operand);
@@ -6037,7 +6003,7 @@ const NavGen = struct {
return try self.constInt(Type.anyerror, 0);
}
- var members: [2]IdRef = undefined;
+ var members: [2]Id = undefined;
members[eu_layout.errorFieldIndex()] = try self.constInt(Type.anyerror, 0);
members[eu_layout.payloadFieldIndex()] = try self.convertToIndirect(payload_ty, operand_id);
@@ -6049,7 +6015,7 @@ const NavGen = struct {
return try self.constructComposite(err_union_ty_id, &members);
}
- fn airIsNull(self: *NavGen, inst: Air.Inst.Index, is_pointer: bool, pred: enum { is_null, is_non_null }) !?IdRef {
+ fn airIsNull(self: *NavGen, inst: Air.Inst.Index, is_pointer: bool, pred: enum { is_null, is_non_null }) !?Id {
const pt = self.pt;
const zcu = pt.zcu;
const un_op = self.air.instructions.items(.data)[@intFromEnum(inst)].un_op;
@@ -6126,7 +6092,7 @@ const NavGen = struct {
};
}
- fn airIsErr(self: *NavGen, inst: Air.Inst.Index, pred: enum { is_err, is_non_err }) !?IdRef {
+ fn airIsErr(self: *NavGen, inst: Air.Inst.Index, pred: enum { is_err, is_non_err }) !?Id {
const zcu = self.pt.zcu;
const un_op = self.air.instructions.items(.data)[@intFromEnum(inst)].un_op;
const operand_id = try self.resolve(un_op);
@@ -6164,7 +6130,7 @@ const NavGen = struct {
return result_id;
}
- fn airUnwrapOptional(self: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airUnwrapOptional(self: *NavGen, inst: Air.Inst.Index) !?Id {
const pt = self.pt;
const zcu = pt.zcu;
const ty_op = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_op;
@@ -6181,7 +6147,7 @@ const NavGen = struct {
return try self.extractField(payload_ty, operand_id, 0);
}
- fn airUnwrapOptionalPtr(self: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airUnwrapOptionalPtr(self: *NavGen, inst: Air.Inst.Index) !?Id {
const pt = self.pt;
const zcu = pt.zcu;
const ty_op = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_op;
@@ -6206,7 +6172,7 @@ const NavGen = struct {
return try self.accessChain(result_ty_id, operand_id, &.{0});
}
- fn airWrapOptional(self: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airWrapOptional(self: *NavGen, inst: Air.Inst.Index) !?Id {
const pt = self.pt;
const zcu = pt.zcu;
const ty_op = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_op;
@@ -6224,7 +6190,7 @@ const NavGen = struct {
}
const payload_id = try self.convertToIndirect(payload_ty, operand_id);
- const members = [_]IdRef{ payload_id, try self.constBool(true, .indirect) };
+ const members = [_]Id{ payload_id, try self.constBool(true, .indirect) };
const optional_ty_id = try self.resolveType(optional_ty, .direct);
return try self.constructComposite(optional_ty_id, &members);
}
@@ -6294,8 +6260,8 @@ const NavGen = struct {
// Emit the instruction before generating the blocks.
try self.func.body.emitRaw(self.spv.gpa, .OpSwitch, 2 + (cond_words + 1) * num_conditions);
- self.func.body.writeOperand(IdRef, cond_indirect);
- self.func.body.writeOperand(IdRef, default);
+ self.func.body.writeOperand(Id, cond_indirect);
+ self.func.body.writeOperand(Id, default);
// Emit each of the cases
{
@@ -6322,7 +6288,7 @@ const NavGen = struct {
else => unreachable,
};
self.func.body.writeOperand(spec.LiteralContextDependentNumber, int_lit);
- self.func.body.writeOperand(IdRef, label);
+ self.func.body.writeOperand(Id, label);
}
}
}
@@ -6399,7 +6365,7 @@ const NavGen = struct {
});
}
- fn airDbgInlineBlock(self: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airDbgInlineBlock(self: *NavGen, inst: Air.Inst.Index) !?Id {
const zcu = self.pt.zcu;
const inst_datas = self.air.instructions.items(.data);
const extra = self.air.extraData(Air.DbgInlineBlock, inst_datas[@intFromEnum(inst)].ty_pl.payload);
@@ -6416,7 +6382,7 @@ const NavGen = struct {
try self.spv.debugName(target_id, name.toSlice(self.air));
}
- fn airAssembly(self: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airAssembly(self: *NavGen, inst: Air.Inst.Index) !?Id {
const zcu = self.pt.zcu;
const ty_pl = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_pl;
const extra = self.air.extraData(Air.Asm, ty_pl.payload);
@@ -6586,7 +6552,7 @@ const NavGen = struct {
return null;
}
- fn airCall(self: *NavGen, inst: Air.Inst.Index, modifier: std.builtin.CallModifier) !?IdRef {
+ fn airCall(self: *NavGen, inst: Air.Inst.Index, modifier: std.builtin.CallModifier) !?Id {
_ = modifier;
const pt = self.pt;
@@ -6608,7 +6574,7 @@ const NavGen = struct {
const callee_id = try self.resolve(pl_op.operand);
comptime assert(zig_call_abi_ver == 3);
- const params = try self.gpa.alloc(spec.IdRef, args.len);
+ const params = try self.gpa.alloc(spec.Id, args.len);
defer self.gpa.free(params);
var n_params: usize = 0;
for (args) |arg| {
@@ -6637,7 +6603,7 @@ const NavGen = struct {
return result_id;
}
- fn builtin3D(self: *NavGen, result_ty: Type, builtin: spec.BuiltIn, dimension: u32, out_of_range_value: anytype) !IdRef {
+ fn builtin3D(self: *NavGen, result_ty: Type, builtin: spec.BuiltIn, dimension: u32, out_of_range_value: anytype) !Id {
if (dimension >= 3) {
return try self.constInt(result_ty, out_of_range_value);
}
@@ -6645,7 +6611,7 @@ const NavGen = struct {
.len = 3,
.child = result_ty.toIntern(),
});
- const ptr_ty_id = try self.ptrType(vec_ty, .Input, .indirect);
+ const ptr_ty_id = try self.ptrType(vec_ty, .input, .indirect);
const spv_decl_index = try self.spv.builtin(ptr_ty_id, builtin);
try self.func.decl_deps.put(self.spv.gpa, spv_decl_index, {});
const ptr = self.spv.declPtr(spv_decl_index).result_id;
@@ -6653,34 +6619,34 @@ const NavGen = struct {
return try self.extractVectorComponent(result_ty, vec, dimension);
}
- fn airWorkItemId(self: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airWorkItemId(self: *NavGen, inst: Air.Inst.Index) !?Id {
if (self.liveness.isUnused(inst)) return null;
const pl_op = self.air.instructions.items(.data)[@intFromEnum(inst)].pl_op;
const dimension = pl_op.payload;
// TODO: Should we make these builtins return usize?
- const result_id = try self.builtin3D(Type.u64, .LocalInvocationId, dimension, 0);
+ const result_id = try self.builtin3D(Type.u64, .local_invocation_id, dimension, 0);
const tmp = Temporary.init(Type.u64, result_id);
const result = try self.buildConvert(Type.u32, tmp);
return try result.materialize(self);
}
- fn airWorkGroupSize(self: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airWorkGroupSize(self: *NavGen, inst: Air.Inst.Index) !?Id {
if (self.liveness.isUnused(inst)) return null;
const pl_op = self.air.instructions.items(.data)[@intFromEnum(inst)].pl_op;
const dimension = pl_op.payload;
// TODO: Should we make these builtins return usize?
- const result_id = try self.builtin3D(Type.u64, .WorkgroupSize, dimension, 0);
+ const result_id = try self.builtin3D(Type.u64, .workgroup_size, dimension, 0);
const tmp = Temporary.init(Type.u64, result_id);
const result = try self.buildConvert(Type.u32, tmp);
return try result.materialize(self);
}
- fn airWorkGroupId(self: *NavGen, inst: Air.Inst.Index) !?IdRef {
+ fn airWorkGroupId(self: *NavGen, inst: Air.Inst.Index) !?Id {
if (self.liveness.isUnused(inst)) return null;
const pl_op = self.air.instructions.items(.data)[@intFromEnum(inst)].pl_op;
const dimension = pl_op.payload;
// TODO: Should we make these builtins return usize?
- const result_id = try self.builtin3D(Type.u64, .WorkgroupId, dimension, 0);
+ const result_id = try self.builtin3D(Type.u64, .workgroup_id, dimension, 0);
const tmp = Temporary.init(Type.u64, result_id);
const result = try self.buildConvert(Type.u32, tmp);
return try result.materialize(self);
src/link/SpirV/BinaryModule.zig
@@ -7,7 +7,7 @@ const spec = @import("../../codegen/spirv/spec.zig");
const Opcode = spec.Opcode;
const Word = spec.Word;
const InstructionSet = spec.InstructionSet;
-const ResultId = spec.IdResult;
+const ResultId = spec.Id;
const BinaryModule = @This();
@@ -254,8 +254,8 @@ pub const Parser = struct {
// with ALL operations that return an int or float.
const spec_operands = inst_spec.operands;
if (spec_operands.len >= 2 and
- spec_operands[0].kind == .IdResultType and
- spec_operands[1].kind == .IdResult)
+ spec_operands[0].kind == .id_result_type and
+ spec_operands[1].kind == .id_result)
{
if (operands.len < 2) return error.InvalidOperands;
if (binary.arith_type_width.get(@enumFromInt(operands[0]))) |width| {
@@ -288,8 +288,8 @@ pub const Parser = struct {
var offset: usize = 0;
switch (inst.opcode) {
.OpSpecConstantOp => {
- assert(operands[0].kind == .IdResultType);
- assert(operands[1].kind == .IdResult);
+ assert(operands[0].kind == .id_result_type);
+ assert(operands[1].kind == .id_result);
offset = try self.parseOperandsResultIds(binary, inst, operands[0..2], offset, offsets);
if (offset >= inst.operands.len) return error.InvalidPhysicalFormat;
@@ -297,13 +297,13 @@ pub const Parser = struct {
const spec_index = self.opcode_table.get(mapSetAndOpcode(.core, spec_opcode)) orelse
return error.InvalidPhysicalFormat;
const spec_operands = InstructionSet.core.instructions()[spec_index].operands;
- assert(spec_operands[0].kind == .IdResultType);
- assert(spec_operands[1].kind == .IdResult);
+ assert(spec_operands[0].kind == .id_result_type);
+ assert(spec_operands[1].kind == .id_result);
offset = try self.parseOperandsResultIds(binary, inst, spec_operands[2..], offset + 1, offsets);
},
.OpExtInst => {
- assert(operands[0].kind == .IdResultType);
- assert(operands[1].kind == .IdResult);
+ assert(operands[0].kind == .id_result_type);
+ assert(operands[1].kind == .id_result);
offset = try self.parseOperandsResultIds(binary, inst, operands[0..2], offset, offsets);
if (offset + 1 >= inst.operands.len) return error.InvalidPhysicalFormat;
@@ -405,8 +405,8 @@ pub const Parser = struct {
offset += 1;
},
else => switch (kind) {
- .LiteralInteger, .LiteralFloat => offset += 1,
- .LiteralString => while (true) {
+ .literal_integer, .literal_float => offset += 1,
+ .literal_string => while (true) {
if (offset >= inst.operands.len) return error.InvalidPhysicalFormat;
const word = inst.operands[offset];
offset += 1;
@@ -419,7 +419,7 @@ pub const Parser = struct {
break;
}
},
- .LiteralContextDependentNumber => {
+ .literal_context_dependent_number => {
assert(inst.opcode == .OpConstant or inst.opcode == .OpSpecConstantOp);
const bit_width = binary.arith_type_width.get(@enumFromInt(inst.operands[0])) orelse {
log.err("invalid LiteralContextDependentNumber type {}", .{inst.operands[0]});
@@ -431,9 +431,9 @@ pub const Parser = struct {
else => unreachable,
};
},
- .LiteralExtInstInteger => unreachable,
- .LiteralSpecConstantOpInteger => unreachable,
- .PairLiteralIntegerIdRef => { // Switch case
+ .literal_ext_inst_integer => unreachable,
+ .literal_spec_constant_op_integer => unreachable,
+ .pair_literal_integer_id_ref => { // Switch case
assert(inst.opcode == .OpSwitch);
const bit_width = binary.arith_type_width.get(@enumFromInt(inst.operands[0])) orelse {
log.err("invalid OpSwitch type {}", .{inst.operands[0]});
@@ -447,11 +447,11 @@ pub const Parser = struct {
try offsets.append(@intCast(offset));
offset += 1;
},
- .PairIdRefLiteralInteger => {
+ .pair_id_ref_literal_integer => {
try offsets.append(@intCast(offset));
offset += 2;
},
- .PairIdRefIdRef => {
+ .pair_id_ref_id_ref => {
try offsets.append(@intCast(offset));
try offsets.append(@intCast(offset + 1));
offset += 2;
src/link/SpirV/deduplicate.zig
@@ -7,7 +7,7 @@ const BinaryModule = @import("BinaryModule.zig");
const Section = @import("../../codegen/spirv/Section.zig");
const spec = @import("../../codegen/spirv/spec.zig");
const Opcode = spec.Opcode;
-const ResultId = spec.IdResult;
+const ResultId = spec.Id;
const Word = spec.Word;
fn canDeduplicate(opcode: Opcode) bool {
@@ -20,9 +20,9 @@ fn canDeduplicate(opcode: Opcode) bool {
// Debug decoration-style instructions
.OpName, .OpMemberName => true,
else => switch (opcode.class()) {
- .TypeDeclaration,
- .ConstantCreation,
- .Annotation,
+ .type_declaration,
+ .constant_creation,
+ .annotation,
=> true,
else => false,
},
@@ -86,8 +86,8 @@ const ModuleInfo = struct {
if (!canDeduplicate(inst.opcode)) continue;
const result_id_index: u16 = switch (inst.opcode.class()) {
- .TypeDeclaration, .Annotation, .Debug => 0,
- .ConstantCreation => 1,
+ .type_declaration, .annotation, .debug => 0,
+ .constant_creation => 1,
else => unreachable,
};
@@ -101,13 +101,13 @@ const ModuleInfo = struct {
};
switch (inst.opcode.class()) {
- .Annotation, .Debug => {
+ .annotation, .debug => {
try decorations.append(arena, .{
.target_id = result_id,
.entity = entity,
});
},
- .TypeDeclaration, .ConstantCreation => {
+ .type_declaration, .constant_creation => {
const entry = try entities.getOrPut(result_id);
if (entry.found_existing) {
log.err("type or constant {f} has duplicate definition", .{result_id});
@@ -469,7 +469,7 @@ pub fn run(parser: *BinaryModule.Parser, binary: *BinaryModule, progress: std.Pr
const inst_spec = parser.getInstSpec(inst.opcode).?;
const maybe_result_id_offset: ?u16 = for (0..2) |i| {
- if (inst_spec.operands.len > i and inst_spec.operands[i].kind == .IdResult) {
+ if (inst_spec.operands.len > i and inst_spec.operands[i].kind == .id_result) {
break @intCast(i);
}
} else null;
@@ -488,7 +488,7 @@ pub fn run(parser: *BinaryModule.Parser, binary: *BinaryModule, progress: std.Pr
}
switch (inst.opcode.class()) {
- .Annotation, .Debug => {
+ .annotation, .debug => {
// For decoration-style instructions, only emit them
// if the target is not removed.
const target: ResultId = @enumFromInt(inst.operands[0]);
@@ -515,7 +515,7 @@ pub fn run(parser: *BinaryModule.Parser, binary: *BinaryModule, progress: std.Pr
// Debug and Annotation instructions don't need the forward pointer, and it
// messes up the logical layout of the module.
switch (inst.opcode.class()) {
- .TypeDeclaration, .ConstantCreation, .Memory => {},
+ .type_declaration, .constant_creation, .memory => {},
else => continue,
}
src/link/SpirV/lower_invocation_globals.zig
@@ -6,7 +6,7 @@ const log = std.log.scoped(.spirv_link);
const BinaryModule = @import("BinaryModule.zig");
const Section = @import("../../codegen/spirv/Section.zig");
const spec = @import("../../codegen/spirv/spec.zig");
-const ResultId = spec.IdResult;
+const ResultId = spec.Id;
const Word = spec.Word;
/// This structure contains all the stuff that we need to parse from the module in
@@ -626,7 +626,7 @@ const ModuleBuilder = struct {
try self.section.emit(self.arena, .OpVariable, .{
.id_result_type = global_info.ty,
.id_result = id,
- .storage_class = .Function,
+ .storage_class = .function,
.initializer = null,
});
}
src/link/SpirV/prune_unused.zig
@@ -15,14 +15,14 @@ const BinaryModule = @import("BinaryModule.zig");
const Section = @import("../../codegen/spirv/Section.zig");
const spec = @import("../../codegen/spirv/spec.zig");
const Opcode = spec.Opcode;
-const ResultId = spec.IdResult;
+const ResultId = spec.Id;
const Word = spec.Word;
/// Return whether a particular opcode's instruction can be pruned.
/// These are idempotent instructions at globals scope and instructions
/// within functions that do not have any side effects.
/// The opcodes that return true here do not necessarily need to
-/// have an .IdResult. If they don't, then they are regarded
+/// have an .Id. If they don't, then they are regarded
/// as 'decoration'-style instructions that don't keep their
/// operands alive, but will be emitted if they are.
fn canPrune(op: Opcode) bool {
@@ -34,12 +34,12 @@ fn canPrune(op: Opcode) bool {
// instruction has any non-trivial side effects (like OpLoad
// with the Volatile memory semantics).
return switch (op.class()) {
- .TypeDeclaration,
- .Conversion,
- .Arithmetic,
- .RelationalAndLogical,
- .Bit,
- .Annotation,
+ .type_declaration,
+ .conversion,
+ .arithmetic,
+ .relational_and_logical,
+ .bit,
+ .annotation,
=> true,
else => switch (op) {
.OpFunction,
@@ -111,7 +111,7 @@ const ModuleInfo = struct {
// Result-id can only be the first or second operand
const maybe_result_id: ?ResultId = for (0..2) |i| {
- if (inst_spec.operands.len > i and inst_spec.operands[i].kind == .IdResult) {
+ if (inst_spec.operands.len > i and inst_spec.operands[i].kind == .id_result) {
break @enumFromInt(inst.operands[i]);
}
} else null;
@@ -305,7 +305,7 @@ pub fn run(parser: *BinaryModule.Parser, binary: *BinaryModule, progress: std.Pr
// Result-id can only be the first or second operand
const result_id: ResultId = for (0..2) |i| {
- if (inst_spec.operands.len > i and inst_spec.operands[i].kind == .IdResult) {
+ if (inst_spec.operands.len > i and inst_spec.operands[i].kind == .id_result) {
break @enumFromInt(inst.operands[i]);
}
} else {
src/link/SpirV.zig
@@ -42,7 +42,7 @@ const Value = @import("../Value.zig");
const SpvModule = @import("../codegen/spirv/Module.zig");
const Section = @import("../codegen/spirv/Section.zig");
const spec = @import("../codegen/spirv/spec.zig");
-const IdResult = spec.IdResult;
+const Id = spec.Id;
const Word = spec.Word;
const BinaryModule = @import("SpirV/BinaryModule.zig");
@@ -144,15 +144,15 @@ pub fn updateExports(
const cc = Type.fromInterned(nav_ty).fnCallingConvention(zcu);
const exec_model: spec.ExecutionModel = switch (target.os.tag) {
.vulkan, .opengl => switch (cc) {
- .spirv_vertex => .Vertex,
- .spirv_fragment => .Fragment,
- .spirv_kernel => .GLCompute,
+ .spirv_vertex => .vertex,
+ .spirv_fragment => .fragment,
+ .spirv_kernel => .gl_compute,
// TODO: We should integrate with the Linkage capability and export this function
.spirv_device => return,
else => unreachable,
},
.opencl => switch (cc) {
- .spirv_kernel => .Kernel,
+ .spirv_kernel => .kernel,
// TODO: We should integrate with the Linkage capability and export this function
.spirv_device => return,
else => unreachable,
tools/spirv/grammar.zig
@@ -37,9 +37,11 @@ pub const InstructionPrintingClass = struct {
pub const Instruction = struct {
opname: []const u8,
class: ?[]const u8 = null, // Note: Only available in the core registry.
+ aliases: [][]const u8 = &[_][]const u8{},
opcode: u32,
operands: []Operand = &[_]Operand{},
capabilities: [][]const u8 = &[_][]const u8{},
+ provisional: bool = false,
// DebugModuleINTEL has this...
capability: ?[]const u8 = null,
extensions: [][]const u8 = &[_][]const u8{},
@@ -81,6 +83,7 @@ pub const OperandKind = struct {
pub const Enumerant = struct {
enumerant: []const u8,
+ aliases: [][]const u8 = &[_][]const u8{},
value: union(enum) {
bitflag: []const u8, // Hexadecimal representation of the value
int: u31,
@@ -100,6 +103,7 @@ pub const Enumerant = struct {
pub const jsonStringify = @compileError("not supported");
},
capabilities: [][]const u8 = &[_][]const u8{},
+ provisional: bool = false,
/// Valid for .ValueEnum and .BitEnum
extensions: [][]const u8 = &[_][]const u8{},
/// `quantifier` will always be `null`.
tools/gen_spirv_spec.zig
@@ -59,26 +59,28 @@ const set_names = std.StaticStringMap([]const u8).initComptime(.{
.{ "nonsemantic.debugprintf", "NonSemantic.DebugPrintf" },
.{ "spv-amd-shader-explicit-vertex-parameter", "SPV_AMD_shader_explicit_vertex_parameter" },
.{ "nonsemantic.debugbreak", "NonSemantic.DebugBreak" },
+ .{ "tosa.001000.1", "SPV_EXT_INST_TYPE_TOSA_001000_1" },
.{ "zig", "zig" },
});
+var arena = std.heap.ArenaAllocator.init(std.heap.smp_allocator);
+const allocator = arena.allocator();
+
pub fn main() !void {
- var arena = std.heap.ArenaAllocator.init(std.heap.page_allocator);
defer arena.deinit();
- const a = arena.allocator();
- const args = try std.process.argsAlloc(a);
+ const args = try std.process.argsAlloc(allocator);
if (args.len != 3) {
usageAndExit(args[0], 1);
}
- const json_path = try std.fs.path.join(a, &.{ args[1], "include/spirv/unified1/" });
+ const json_path = try std.fs.path.join(allocator, &.{ args[1], "include/spirv/unified1/" });
const dir = try std.fs.cwd().openDir(json_path, .{ .iterate = true });
- const core_spec = try readRegistry(CoreRegistry, a, dir, "spirv.core.grammar.json");
+ const core_spec = try readRegistry(CoreRegistry, dir, "spirv.core.grammar.json");
std.sort.block(Instruction, core_spec.instructions, CmpInst{}, CmpInst.lt);
- var exts = std.ArrayList(Extension).init(a);
+ var exts = std.ArrayList(Extension).init(allocator);
var it = dir.iterate();
while (try it.next()) |entry| {
@@ -86,18 +88,43 @@ pub fn main() !void {
continue;
}
- try readExtRegistry(&exts, a, dir, entry.name);
+ try readExtRegistry(&exts, dir, entry.name);
}
- try readExtRegistry(&exts, a, std.fs.cwd(), args[2]);
+ try readExtRegistry(&exts, std.fs.cwd(), args[2]);
+
+ const output_buf = try allocator.alloc(u8, 1024 * 1024);
+ var fbs = std.io.fixedBufferStream(output_buf);
+ var adapter = fbs.writer().adaptToNewApi();
+ const w = &adapter.new_interface;
+ try render(w, core_spec, exts.items);
+ var output: [:0]u8 = @ptrCast(fbs.getWritten());
+ output[output.len] = 0;
+
+ var tree = try std.zig.Ast.parse(allocator, output, .zig);
+ var color: std.zig.Color = .on;
- var buffer: [4000]u8 = undefined;
- var w = std.fs.File.stdout().writerStreaming(&buffer);
- try render(&w, a, core_spec, exts.items);
- try w.flush();
+ if (tree.errors.len != 0) {
+ try std.zig.printAstErrorsToStderr(allocator, tree, "", color);
+ return;
+ }
+
+ var zir = try std.zig.AstGen.generate(allocator, tree);
+ if (zir.hasCompileErrors()) {
+ var wip_errors: std.zig.ErrorBundle.Wip = undefined;
+ try wip_errors.init(allocator);
+ defer wip_errors.deinit();
+ try wip_errors.addZirErrorMessages(zir, tree, output, "");
+ var error_bundle = try wip_errors.toOwnedBundle("");
+ defer error_bundle.deinit(allocator);
+ error_bundle.renderToStdErr(color.renderOptions());
+ }
+
+ const formatted_output = try tree.render(allocator);
+ _ = try std.fs.File.stdout().write(formatted_output);
}
-fn readExtRegistry(exts: *std.ArrayList(Extension), a: Allocator, dir: std.fs.Dir, sub_path: []const u8) !void {
+fn readExtRegistry(exts: *std.ArrayList(Extension), dir: std.fs.Dir, sub_path: []const u8) !void {
const filename = std.fs.path.basename(sub_path);
if (!std.mem.startsWith(u8, filename, "extinst.")) {
return;
@@ -105,22 +132,22 @@ fn readExtRegistry(exts: *std.ArrayList(Extension), a: Allocator, dir: std.fs.Di
std.debug.assert(std.mem.endsWith(u8, filename, ".grammar.json"));
const name = filename["extinst.".len .. filename.len - ".grammar.json".len];
- const spec = try readRegistry(ExtensionRegistry, a, dir, sub_path);
+ const spec = try readRegistry(ExtensionRegistry, dir, sub_path);
std.sort.block(Instruction, spec.instructions, CmpInst{}, CmpInst.lt);
try exts.append(.{ .name = set_names.get(name).?, .spec = spec });
}
-fn readRegistry(comptime RegistryType: type, a: Allocator, dir: std.fs.Dir, path: []const u8) !RegistryType {
- const spec = try dir.readFileAlloc(a, path, std.math.maxInt(usize));
+fn readRegistry(comptime RegistryType: type, dir: std.fs.Dir, path: []const u8) !RegistryType {
+ const spec = try dir.readFileAlloc(allocator, path, std.math.maxInt(usize));
// Required for json parsing.
@setEvalBranchQuota(10000);
- var scanner = std.json.Scanner.initCompleteInput(a, spec);
+ var scanner = std.json.Scanner.initCompleteInput(allocator, spec);
var diagnostics = std.json.Diagnostics{};
scanner.enableDiagnostics(&diagnostics);
- const parsed = std.json.parseFromTokenSource(RegistryType, a, &scanner, .{}) catch |err| {
+ const parsed = std.json.parseFromTokenSource(RegistryType, allocator, &scanner, .{}) catch |err| {
std.debug.print("{s}:{}:{}:\n", .{ path, diagnostics.getLine(), diagnostics.getColumn() });
return err;
};
@@ -129,11 +156,8 @@ fn readRegistry(comptime RegistryType: type, a: Allocator, dir: std.fs.Dir, path
/// Returns a set with types that require an extra struct for the `Instruction` interface
/// to the spir-v spec, or whether the original type can be used.
-fn extendedStructs(
- a: Allocator,
- kinds: []const OperandKind,
-) !ExtendedStructSet {
- var map = ExtendedStructSet.init(a);
+fn extendedStructs(kinds: []const OperandKind) !ExtendedStructSet {
+ var map = ExtendedStructSet.init(allocator);
try map.ensureTotalCapacity(@as(u32, @intCast(kinds.len)));
for (kinds) |kind| {
@@ -167,7 +191,7 @@ fn tagPriorityScore(tag: []const u8) usize {
}
}
-fn render(writer: *std.io.Writer, a: Allocator, registry: CoreRegistry, extensions: []const Extension) !void {
+fn render(writer: *std.io.Writer, registry: CoreRegistry, extensions: []const Extension) !void {
try writer.writeAll(
\\//! This file is auto-generated by tools/gen_spirv_spec.zig.
\\
@@ -185,22 +209,17 @@ fn render(writer: *std.io.Writer, a: Allocator, registry: CoreRegistry, extensio
\\};
\\
\\pub const Word = u32;
- \\pub const IdResult = enum(Word) {
+ \\pub const Id = enum(Word) {
\\ none,
\\ _,
\\
- \\ pub fn format(self: IdResult, writer: *std.io.Writer) std.io.Writer.Error!void {
+ \\ 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 IdResultType = IdResult;
- \\pub const IdRef = IdResult;
- \\
- \\pub const IdMemorySemantics = IdRef;
- \\pub const IdScope = IdRef;
\\
\\pub const LiteralInteger = Word;
\\pub const LiteralFloat = Word;
@@ -215,9 +234,9 @@ fn render(writer: *std.io.Writer, a: Allocator, registry: CoreRegistry, extensio
\\};
\\pub const LiteralExtInstInteger = struct{ inst: Word };
\\pub const LiteralSpecConstantOpInteger = struct { opcode: Opcode };
- \\pub const PairLiteralIntegerIdRef = struct { value: LiteralInteger, label: IdRef };
- \\pub const PairIdRefLiteralInteger = struct { target: IdRef, member: LiteralInteger };
- \\pub const PairIdRefIdRef = [2]IdRef;
+ \\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,
@@ -255,7 +274,7 @@ fn render(writer: *std.io.Writer, a: Allocator, registry: CoreRegistry, extensio
);
try writer.print(
- \\pub const version = Version{{ .major = {}, .minor = {}, .patch = {} }};
+ \\pub const version: Version = .{{ .major = {}, .minor = {}, .patch = {} }};
\\pub const magic_number: Word = {s};
\\
\\
@@ -266,7 +285,7 @@ fn render(writer: *std.io.Writer, a: Allocator, registry: CoreRegistry, extensio
// Merge the operand kinds from all extensions together.
// var all_operand_kinds = std.ArrayList(OperandKind).init(a);
// try all_operand_kinds.appendSlice(registry.operand_kinds);
- var all_operand_kinds = OperandKindMap.init(a);
+ var all_operand_kinds = OperandKindMap.init(allocator);
for (registry.operand_kinds) |kind| {
try all_operand_kinds.putNoClobber(.{ "core", kind.kind }, kind);
}
@@ -279,35 +298,33 @@ fn render(writer: *std.io.Writer, a: Allocator, registry: CoreRegistry, extensio
try all_operand_kinds.ensureUnusedCapacity(ext.spec.operand_kinds.len);
for (ext.spec.operand_kinds) |kind| {
var new_kind = kind;
- new_kind.kind = try std.mem.join(a, ".", &.{ ext.name, kind.kind });
+ new_kind.kind = try std.mem.join(allocator, ".", &.{ ext.name, kind.kind });
try all_operand_kinds.putNoClobber(.{ ext.name, kind.kind }, new_kind);
}
}
- const extended_structs = try extendedStructs(a, all_operand_kinds.values());
+ const extended_structs = try extendedStructs(all_operand_kinds.values());
// Note: extensions don't seem to have class.
- try renderClass(writer, a, registry.instructions);
+ try renderClass(writer, registry.instructions);
try renderOperandKind(writer, all_operand_kinds.values());
- try renderOpcodes(writer, a, registry.instructions, extended_structs);
- try renderOperandKinds(writer, a, all_operand_kinds.values(), extended_structs);
- try renderInstructionSet(writer, a, registry, extensions, all_operand_kinds);
+ try renderOpcodes(writer, registry.instructions, extended_structs);
+ try renderOperandKinds(writer, all_operand_kinds.values(), extended_structs);
+ try renderInstructionSet(writer, registry, extensions, all_operand_kinds);
}
fn renderInstructionSet(
writer: anytype,
- a: Allocator,
core: CoreRegistry,
extensions: []const Extension,
all_operand_kinds: OperandKindMap,
) !void {
- _ = a;
try writer.writeAll(
\\pub const InstructionSet = enum {
\\ core,
);
for (extensions) |ext| {
- try writer.print("{p},\n", .{std.zig.fmtId(ext.name)});
+ try writer.print("{f},\n", .{formatId(ext.name)});
}
try writer.writeAll(
@@ -340,14 +357,14 @@ fn renderInstructionsCase(
// but there aren't so many total aliases and that would add more overhead in total. We will
// just filter those out when needed.
- try writer.print(".{p_} => &[_]Instruction{{\n", .{std.zig.fmtId(set_name)});
+ try writer.print(".{f} => &.{{\n", .{formatId(set_name)});
for (instructions) |inst| {
try writer.print(
\\.{{
\\ .name = "{s}",
\\ .opcode = {},
- \\ .operands = &[_]Operand{{
+ \\ .operands = &.{{
\\
, .{ inst.opname, inst.opcode });
@@ -362,7 +379,7 @@ fn renderInstructionsCase(
const kind = all_operand_kinds.get(.{ set_name, operand.kind }) orelse
all_operand_kinds.get(.{ "core", operand.kind }).?;
- try writer.print(".{{.kind = .{p_}, .quantifier = .{s}}},\n", .{ std.zig.fmtId(kind.kind), quantifier });
+ try writer.print(".{{.kind = .{f}, .quantifier = .{s}}},\n", .{ formatId(kind.kind), quantifier });
}
try writer.writeAll(
@@ -378,54 +395,69 @@ fn renderInstructionsCase(
);
}
-fn renderClass(writer: anytype, a: Allocator, instructions: []const Instruction) !void {
- var class_map = std.StringArrayHashMap(void).init(a);
+fn renderClass(writer: anytype, instructions: []const Instruction) !void {
+ var class_map = std.StringArrayHashMap(void).init(allocator);
for (instructions) |inst| {
- if (std.mem.eql(u8, inst.class.?, "@exclude")) {
- continue;
- }
+ if (std.mem.eql(u8, inst.class.?, "@exclude")) continue;
try class_map.put(inst.class.?, {});
}
try writer.writeAll("pub const Class = enum {\n");
for (class_map.keys()) |class| {
- try renderInstructionClass(writer, class);
- try writer.writeAll(",\n");
+ try writer.print("{f},\n", .{formatId(class)});
}
try writer.writeAll("};\n\n");
}
-fn renderInstructionClass(writer: anytype, class: []const u8) !void {
- // Just assume that these wont clobber zig builtin types.
- var prev_was_sep = true;
- for (class) |c| {
- switch (c) {
- '-', '_' => prev_was_sep = true,
- else => if (prev_was_sep) {
- try writer.writeByte(std.ascii.toUpper(c));
- prev_was_sep = false;
- } else {
- try writer.writeByte(std.ascii.toLower(c));
- },
+const Formatter = struct {
+ data: []const u8,
+
+ fn format(f: Formatter, writer: *std.io.Writer) std.io.Writer.Error!void {
+ var id_buf: [128]u8 = undefined;
+ var fbs = std.io.fixedBufferStream(&id_buf);
+ const fw = fbs.writer();
+ for (f.data, 0..) |c, i| {
+ switch (c) {
+ '-', '_', '.', '~', ' ' => fw.writeByte('_') catch return error.WriteFailed,
+ 'a'...'z', '0'...'9' => fw.writeByte(c) catch return error.WriteFailed,
+ 'A'...'Z' => {
+ if ((i > 0 and std.ascii.isLower(f.data[i - 1])) or
+ (i > 0 and std.ascii.isUpper(f.data[i - 1]) and
+ i + 1 < f.data.len and std.ascii.isLower(f.data[i + 1])))
+ {
+ _ = fw.write(&.{ '_', std.ascii.toLower(c) }) catch return error.WriteFailed;
+ } else {
+ fw.writeByte(std.ascii.toLower(c)) catch return error.WriteFailed;
+ }
+ },
+ else => unreachable,
+ }
}
+
+ // make sure that this won't clobber with zig keywords
+ try writer.print("{f}", .{std.zig.fmtId(fbs.getWritten())});
}
+};
+
+fn formatId(identifier: []const u8) std.fmt.Alt(Formatter, Formatter.format) {
+ return .{ .data = .{ .data = identifier } };
}
fn renderOperandKind(writer: anytype, operands: []const OperandKind) !void {
try writer.writeAll(
\\pub const OperandKind = enum {
- \\ Opcode,
+ \\ opcode,
\\
);
for (operands) |operand| {
- try writer.print("{p},\n", .{std.zig.fmtId(operand.kind)});
+ try writer.print("{f},\n", .{formatId(operand.kind)});
}
try writer.writeAll(
\\
\\pub fn category(self: OperandKind) OperandCategory {
\\ return switch (self) {
- \\ .Opcode => .literal,
+ \\ .opcode => .literal,
\\
);
for (operands) |operand| {
@@ -436,26 +468,26 @@ fn renderOperandKind(writer: anytype, operands: []const OperandKind) !void {
.Literal => "literal",
.Composite => "composite",
};
- try writer.print(".{p_} => .{s},\n", .{ std.zig.fmtId(operand.kind), cat });
+ try writer.print(".{f} => .{s},\n", .{ formatId(operand.kind), cat });
}
try writer.writeAll(
\\ };
\\}
\\pub fn enumerants(self: OperandKind) []const Enumerant {
\\ return switch (self) {
- \\ .Opcode => unreachable,
+ \\ .opcode => unreachable,
\\
);
for (operands) |operand| {
switch (operand.category) {
.BitEnum, .ValueEnum => {},
else => {
- try writer.print(".{p_} => unreachable,\n", .{std.zig.fmtId(operand.kind)});
+ try writer.print(".{f} => unreachable,\n", .{formatId(operand.kind)});
continue;
},
}
- try writer.print(".{p_} => &[_]Enumerant{{", .{std.zig.fmtId(operand.kind)});
+ try writer.print(".{f} => &.{{", .{formatId(operand.kind)});
for (operand.enumerants.?) |enumerant| {
if (enumerant.value == .bitflag and std.mem.eql(u8, enumerant.enumerant, "None")) {
continue;
@@ -474,32 +506,30 @@ fn renderEnumerant(writer: anytype, enumerant: Enumerant) !void {
.bitflag => |flag| try writer.writeAll(flag),
.int => |int| try writer.print("{}", .{int}),
}
- try writer.writeAll(", .parameters = &[_]OperandKind{");
+ try writer.writeAll(", .parameters = &.{");
for (enumerant.parameters, 0..) |param, i| {
if (i != 0)
try writer.writeAll(", ");
// Note, param.quantifier will always be one.
- try writer.print(".{p_}", .{std.zig.fmtId(param.kind)});
+ try writer.print(".{f}", .{formatId(param.kind)});
}
try writer.writeAll("}}");
}
fn renderOpcodes(
writer: anytype,
- a: Allocator,
instructions: []const Instruction,
extended_structs: ExtendedStructSet,
) !void {
- var inst_map = std.AutoArrayHashMap(u32, usize).init(a);
+ var inst_map = std.AutoArrayHashMap(u32, usize).init(allocator);
try inst_map.ensureTotalCapacity(instructions.len);
- var aliases = std.ArrayList(struct { inst: usize, alias: usize }).init(a);
+ var aliases = std.ArrayList(struct { inst: usize, alias: usize }).init(allocator);
try aliases.ensureTotalCapacity(instructions.len);
for (instructions, 0..) |inst, i| {
- if (std.mem.eql(u8, inst.class.?, "@exclude")) {
- continue;
- }
+ if (std.mem.eql(u8, inst.class.?, "@exclude")) continue;
+
const result = inst_map.getOrPutAssumeCapacity(inst.opcode);
if (!result.found_existing) {
result.value_ptr.* = i;
@@ -525,7 +555,7 @@ fn renderOpcodes(
try writer.writeAll("pub const Opcode = enum(u16) {\n");
for (instructions_indices) |i| {
const inst = instructions[i];
- try writer.print("{p} = {},\n", .{ std.zig.fmtId(inst.opname), inst.opcode });
+ try writer.print("{f} = {},\n", .{ std.zig.fmtId(inst.opname), inst.opcode });
}
try writer.writeAll(
@@ -533,9 +563,9 @@ fn renderOpcodes(
);
for (aliases.items) |alias| {
- try writer.print("pub const {} = Opcode.{p_};\n", .{
- std.zig.fmtId(instructions[alias.inst].opname),
- std.zig.fmtId(instructions[alias.alias].opname),
+ try writer.print("pub const {f} = Opcode.{f};\n", .{
+ formatId(instructions[alias.inst].opname),
+ formatId(instructions[alias.alias].opname),
});
}
@@ -548,7 +578,7 @@ fn renderOpcodes(
for (instructions_indices) |i| {
const inst = instructions[i];
- try renderOperand(writer, .instruction, inst.opname, inst.operands, extended_structs);
+ try renderOperand(writer, .instruction, inst.opname, inst.operands, extended_structs, false);
}
try writer.writeAll(
@@ -561,9 +591,7 @@ fn renderOpcodes(
for (instructions_indices) |i| {
const inst = instructions[i];
- try writer.print(".{p_} => .", .{std.zig.fmtId(inst.opname)});
- try renderInstructionClass(writer, inst.class.?);
- try writer.writeAll(",\n");
+ try writer.print(".{f} => .{f},\n", .{ std.zig.fmtId(inst.opname), formatId(inst.class.?) });
}
try writer.writeAll(
@@ -576,14 +604,13 @@ fn renderOpcodes(
fn renderOperandKinds(
writer: anytype,
- a: Allocator,
kinds: []const OperandKind,
extended_structs: ExtendedStructSet,
) !void {
for (kinds) |kind| {
switch (kind.category) {
- .ValueEnum => try renderValueEnum(writer, a, kind, extended_structs),
- .BitEnum => try renderBitEnum(writer, a, kind, extended_structs),
+ .ValueEnum => try renderValueEnum(writer, kind, extended_structs),
+ .BitEnum => try renderBitEnum(writer, kind, extended_structs),
else => {},
}
}
@@ -591,20 +618,18 @@ fn renderOperandKinds(
fn renderValueEnum(
writer: anytype,
- a: Allocator,
enumeration: OperandKind,
extended_structs: ExtendedStructSet,
) !void {
const enumerants = enumeration.enumerants orelse return error.InvalidRegistry;
- var enum_map = std.AutoArrayHashMap(u32, usize).init(a);
+ var enum_map = std.AutoArrayHashMap(u32, usize).init(allocator);
try enum_map.ensureTotalCapacity(enumerants.len);
- var aliases = std.ArrayList(struct { enumerant: usize, alias: usize }).init(a);
+ var aliases = std.ArrayList(struct { enumerant: usize, alias: usize }).init(allocator);
try aliases.ensureTotalCapacity(enumerants.len);
for (enumerants, 0..) |enumerant, i| {
- try writer.context.flush();
const value: u31 = switch (enumerant.value) {
.int => |value| value,
// Some extensions declare ints as string
@@ -632,25 +657,25 @@ fn renderValueEnum(
const enum_indices = enum_map.values();
- try writer.print("pub const {} = enum(u32) {{\n", .{std.zig.fmtId(enumeration.kind)});
+ try writer.print("pub const {f} = enum(u32) {{\n", .{std.zig.fmtId(enumeration.kind)});
for (enum_indices) |i| {
const enumerant = enumerants[i];
// if (enumerant.value != .int) return error.InvalidRegistry;
switch (enumerant.value) {
- .int => |value| try writer.print("{p} = {},\n", .{ std.zig.fmtId(enumerant.enumerant), value }),
- .bitflag => |value| try writer.print("{p} = {s},\n", .{ std.zig.fmtId(enumerant.enumerant), value }),
+ .int => |value| try writer.print("{f} = {},\n", .{ formatId(enumerant.enumerant), value }),
+ .bitflag => |value| try writer.print("{f} = {s},\n", .{ formatId(enumerant.enumerant), value }),
}
}
try writer.writeByte('\n');
for (aliases.items) |alias| {
- try writer.print("pub const {} = {}.{p_};\n", .{
- std.zig.fmtId(enumerants[alias.enumerant].enumerant),
+ try writer.print("pub const {f} = {f}.{f};\n", .{
+ formatId(enumerants[alias.enumerant].enumerant),
std.zig.fmtId(enumeration.kind),
- std.zig.fmtId(enumerants[alias.alias].enumerant),
+ formatId(enumerants[alias.alias].enumerant),
});
}
@@ -659,11 +684,11 @@ fn renderValueEnum(
return;
}
- try writer.print("\npub const Extended = union({}) {{\n", .{std.zig.fmtId(enumeration.kind)});
+ try writer.print("\npub const Extended = union({f}) {{\n", .{std.zig.fmtId(enumeration.kind)});
for (enum_indices) |i| {
const enumerant = enumerants[i];
- try renderOperand(writer, .@"union", enumerant.enumerant, enumerant.parameters, extended_structs);
+ try renderOperand(writer, .@"union", enumerant.enumerant, enumerant.parameters, extended_structs, true);
}
try writer.writeAll("};\n};\n");
@@ -671,16 +696,15 @@ fn renderValueEnum(
fn renderBitEnum(
writer: anytype,
- a: Allocator,
enumeration: OperandKind,
extended_structs: ExtendedStructSet,
) !void {
- try writer.print("pub const {} = packed struct {{\n", .{std.zig.fmtId(enumeration.kind)});
+ try writer.print("pub const {f} = packed struct {{\n", .{std.zig.fmtId(enumeration.kind)});
var flags_by_bitpos = [_]?usize{null} ** 32;
const enumerants = enumeration.enumerants orelse return error.InvalidRegistry;
- var aliases = std.ArrayList(struct { flag: usize, alias: u5 }).init(a);
+ var aliases = std.ArrayList(struct { flag: usize, alias: u5 }).init(allocator);
try aliases.ensureTotalCapacity(enumerants.len);
for (enumerants, 0..) |enumerant, i| {
@@ -715,7 +739,7 @@ fn renderBitEnum(
for (flags_by_bitpos, 0..) |maybe_flag_index, bitpos| {
if (maybe_flag_index) |flag_index| {
- try writer.print("{p_}", .{std.zig.fmtId(enumerants[flag_index].enumerant)});
+ try writer.print("{f}", .{formatId(enumerants[flag_index].enumerant)});
} else {
try writer.print("_reserved_bit_{}", .{bitpos});
}
@@ -726,10 +750,10 @@ fn renderBitEnum(
try writer.writeByte('\n');
for (aliases.items) |alias| {
- try writer.print("pub const {}: {} = .{{.{p_} = true}};\n", .{
- std.zig.fmtId(enumerants[alias.flag].enumerant),
+ try writer.print("pub const {f}: {f} = .{{.{f} = true}};\n", .{
+ formatId(enumerants[alias.flag].enumerant),
std.zig.fmtId(enumeration.kind),
- std.zig.fmtId(enumerants[flags_by_bitpos[alias.alias].?].enumerant),
+ formatId(enumerants[flags_by_bitpos[alias.alias].?].enumerant),
});
}
@@ -747,7 +771,7 @@ fn renderBitEnum(
};
const enumerant = enumerants[flag_index];
- try renderOperand(writer, .mask, enumerant.enumerant, enumerant.parameters, extended_structs);
+ try renderOperand(writer, .mask, enumerant.enumerant, enumerant.parameters, extended_structs, true);
}
try writer.writeAll("};\n};\n");
@@ -763,11 +787,18 @@ fn renderOperand(
field_name: []const u8,
parameters: []const Operand,
extended_structs: ExtendedStructSet,
+ snake_case: bool,
) !void {
if (kind == .instruction) {
try writer.writeByte('.');
}
- try writer.print("{}", .{std.zig.fmtId(field_name)});
+
+ if (snake_case) {
+ try writer.print("{f}", .{formatId(field_name)});
+ } else {
+ try writer.print("{f}", .{std.zig.fmtId(field_name)});
+ }
+
if (parameters.len == 0) {
switch (kind) {
.@"union" => try writer.writeAll(",\n"),
@@ -787,7 +818,7 @@ fn renderOperand(
try writer.writeByte('?');
}
- try writer.writeAll("struct{");
+ try writer.writeAll("struct {");
for (parameters, 0..) |param, j| {
if (j != 0) {
@@ -804,7 +835,11 @@ fn renderOperand(
}
}
- try writer.print("{}", .{std.zig.fmtId(param.kind)});
+ if (std.mem.startsWith(u8, param.kind, "Id")) {
+ _ = try writer.write("Id");
+ } else {
+ try writer.print("{f}", .{std.zig.fmtId(param.kind)});
+ }
if (extended_structs.contains(param.kind)) {
try writer.writeAll(".Extended");
@@ -830,49 +865,24 @@ fn renderOperand(
fn renderFieldName(writer: anytype, operands: []const Operand, field_index: usize) !void {
const operand = operands[field_index];
- // Should be enough for all names - adjust as needed.
- var name_backing_buffer: [64]u8 = undefined;
- var name_buffer = std.ArrayListUnmanaged(u8).initBuffer(&name_backing_buffer);
-
derive_from_kind: {
// Operand names are often in the json encoded as "'Name'" (with two sets of quotes).
// Additionally, some operands have ~ in them at the end (D~ref~).
const name = std.mem.trim(u8, operand.name, "'~");
- if (name.len == 0) {
- break :derive_from_kind;
- }
+ if (name.len == 0) break :derive_from_kind;
- // Some names have weird characters in them (like newlines) - skip any such ones.
- // Use the same loop to transform to snake-case.
for (name) |c| {
switch (c) {
- 'a'...'z', '0'...'9' => name_buffer.appendAssumeCapacity(c),
- 'A'...'Z' => name_buffer.appendAssumeCapacity(std.ascii.toLower(c)),
- ' ', '~' => name_buffer.appendAssumeCapacity('_'),
+ 'a'...'z', '0'...'9', 'A'...'Z', ' ', '~' => continue,
else => break :derive_from_kind,
}
}
- // Assume there are no duplicate 'name' fields.
- try writer.print("{p_}", .{std.zig.fmtId(name_buffer.items)});
+ try writer.print("{f}", .{formatId(name)});
return;
}
- // Translate to snake case.
- name_buffer.items.len = 0;
- for (operand.kind, 0..) |c, i| {
- switch (c) {
- 'a'...'z', '0'...'9' => name_buffer.appendAssumeCapacity(c),
- 'A'...'Z' => if (i > 0 and std.ascii.isLower(operand.kind[i - 1])) {
- name_buffer.appendSliceAssumeCapacity(&[_]u8{ '_', std.ascii.toLower(c) });
- } else {
- name_buffer.appendAssumeCapacity(std.ascii.toLower(c));
- },
- else => unreachable, // Assume that the name is valid C-syntax (and contains no underscores).
- }
- }
-
- try writer.print("{p_}", .{std.zig.fmtId(name_buffer.items)});
+ try writer.print("{f}", .{formatId(operand.kind)});
// For fields derived from type name, there could be any amount.
// Simply check against all other fields, and if another similar one exists, add a number.