aboutsummaryrefslogtreecommitdiff
path: root/lib/std/Target
diff options
context:
space:
mode:
authorAli Cheraghi <alichraghi@proton.me>2025-02-19 00:06:10 +0330
committerRobin Voetter <robin@voetter.nl>2025-02-24 19:12:33 +0100
commita0eec9ce9e2f4ae40729949957bef98a2513fef7 (patch)
treef17a4ac38256a6b0601a68439f562dc477c57989 /lib/std/Target
parent1cc388d5263058f9e9eecc410eea825a9a58e143 (diff)
downloadzig-a0eec9ce9e2f4ae40729949957bef98a2513fef7.tar.gz
zig-a0eec9ce9e2f4ae40729949957bef98a2513fef7.zip
spirv: replace some unreachables with compile errors
Diffstat (limited to 'lib/std/Target')
-rw-r--r--lib/std/Target/spirv.zig42
1 files changed, 24 insertions, 18 deletions
diff --git a/lib/std/Target/spirv.zig b/lib/std/Target/spirv.zig
index 73d57060be..6657bfd971 100644
--- a/lib/std/Target/spirv.zig
+++ b/lib/std/Target/spirv.zig
@@ -17,6 +17,7 @@ pub const Feature = enum {
float64,
addresses,
matrix,
+ storage_push_constant16,
kernel,
generic_pointer,
vector16,
@@ -35,92 +36,97 @@ pub const all_features = blk: {
var result: [len]CpuFeature = undefined;
result[@intFromEnum(Feature.v1_0)] = .{
.llvm_name = null,
- .description = "SPIR-V version 1.0",
+ .description = "Enable version 1.0",
.dependencies = featureSet(&[_]Feature{}),
};
result[@intFromEnum(Feature.v1_1)] = .{
.llvm_name = null,
- .description = "SPIR-V version 1.1",
+ .description = "Enable version 1.1",
.dependencies = featureSet(&[_]Feature{.v1_0}),
};
result[@intFromEnum(Feature.v1_2)] = .{
.llvm_name = null,
- .description = "SPIR-V version 1.2",
+ .description = "Enable version 1.2",
.dependencies = featureSet(&[_]Feature{.v1_1}),
};
result[@intFromEnum(Feature.v1_3)] = .{
.llvm_name = null,
- .description = "SPIR-V version 1.3",
+ .description = "Enable version 1.3",
.dependencies = featureSet(&[_]Feature{.v1_2}),
};
result[@intFromEnum(Feature.v1_4)] = .{
.llvm_name = null,
- .description = "SPIR-V version 1.4",
+ .description = "Enable version 1.4",
.dependencies = featureSet(&[_]Feature{.v1_3}),
};
result[@intFromEnum(Feature.v1_5)] = .{
.llvm_name = null,
- .description = "SPIR-V version 1.5",
+ .description = "Enable version 1.5",
.dependencies = featureSet(&[_]Feature{.v1_4}),
};
result[@intFromEnum(Feature.v1_6)] = .{
.llvm_name = null,
- .description = "SPIR-V version 1.6",
+ .description = "Enable version 1.6",
.dependencies = featureSet(&[_]Feature{.v1_5}),
};
result[@intFromEnum(Feature.int8)] = .{
.llvm_name = null,
- .description = "Enable SPIR-V capability Int8",
+ .description = "Enable Int8 capability",
.dependencies = featureSet(&[_]Feature{.v1_0}),
};
result[@intFromEnum(Feature.int16)] = .{
.llvm_name = null,
- .description = "Enable SPIR-V capability Int16",
+ .description = "Enable Int16 capability",
.dependencies = featureSet(&[_]Feature{.v1_0}),
};
result[@intFromEnum(Feature.int64)] = .{
.llvm_name = null,
- .description = "Enable SPIR-V capability Int64",
+ .description = "Enable Int64 capability",
.dependencies = featureSet(&[_]Feature{.v1_0}),
};
result[@intFromEnum(Feature.float16)] = .{
.llvm_name = null,
- .description = "Enable SPIR-V capability Float16",
+ .description = "Enable Float16 capability",
.dependencies = featureSet(&[_]Feature{.v1_0}),
};
result[@intFromEnum(Feature.float64)] = .{
.llvm_name = null,
- .description = "Enable SPIR-V capability Float64",
+ .description = "Enable Float64 capability",
.dependencies = featureSet(&[_]Feature{.v1_0}),
};
result[@intFromEnum(Feature.addresses)] = .{
.llvm_name = null,
- .description = "Enable SPIR-V capability Addresses",
+ .description = "Enable either the Addresses capability or, SPV_KHR_physical_storage_buffer extension and the PhysicalStorageBufferAddresses capability",
.dependencies = featureSet(&[_]Feature{.v1_0}),
};
result[@intFromEnum(Feature.matrix)] = .{
.llvm_name = null,
- .description = "Enable SPIR-V capability Matrix",
+ .description = "Enable Matrix capability",
.dependencies = featureSet(&[_]Feature{.v1_0}),
};
+ result[@intFromEnum(Feature.storage_push_constant16)] = .{
+ .llvm_name = null,
+ .description = "Enable SPV_KHR_16bit_storage extension and the StoragePushConstant16 capability",
+ .dependencies = featureSet(&[_]Feature{.v1_3}),
+ };
result[@intFromEnum(Feature.kernel)] = .{
.llvm_name = null,
- .description = "Enable SPIR-V capability Kernel",
+ .description = "Enable Kernel capability",
.dependencies = featureSet(&[_]Feature{.v1_0}),
};
result[@intFromEnum(Feature.generic_pointer)] = .{
.llvm_name = null,
- .description = "Enable SPIR-V capability GenericPointer",
+ .description = "Enable GenericPointer capability",
.dependencies = featureSet(&[_]Feature{ .v1_0, .addresses }),
};
result[@intFromEnum(Feature.vector16)] = .{
.llvm_name = null,
- .description = "Enable SPIR-V capability Vector16",
+ .description = "Enable Vector16 capability",
.dependencies = featureSet(&[_]Feature{ .v1_0, .kernel }),
};
result[@intFromEnum(Feature.shader)] = .{
.llvm_name = null,
- .description = "Enable SPIR-V capability Shader",
+ .description = "Enable Shader capability",
.dependencies = featureSet(&[_]Feature{ .v1_0, .matrix }),
};
const ti = @typeInfo(Feature);