From 85b0259307706119d5fe9a2a3d7938e064499c1d Mon Sep 17 00:00:00 2001 From: Ali Cheraghi Date: Sat, 27 Jun 2026 12:00:24 +0330 Subject: [PATCH] Target: chain spirv versions --- lib/std/Target/spirv.zig | 24 ++++++++++++++++++------ tools/update_cpu_features.zig | 15 ++++++++++++++- 2 files changed, 32 insertions(+), 7 deletions(-) diff --git a/lib/std/Target/spirv.zig b/lib/std/Target/spirv.zig index 90d43cdbad5a9ccc699f94e5f53483ec94d7e502..ecd3c056cf329c5c392807d19b18ba6dd36d361b 100644 --- a/lib/std/Target/spirv.zig +++ b/lib/std/Target/spirv.zig @@ -1766,32 +1766,44 @@ pub const all_features = blk: { result[@intFromEnum(Feature.v1_1)] = .{ .llvm_name = null, .description = "Enable v1_1 Extension.", - .dependencies = featureSet(&[_]Feature{}), + .dependencies = featureSet(&[_]Feature{ + .v1_0, + }), }; result[@intFromEnum(Feature.v1_2)] = .{ .llvm_name = null, .description = "Enable v1_2 Extension.", - .dependencies = featureSet(&[_]Feature{}), + .dependencies = featureSet(&[_]Feature{ + .v1_1, + }), }; result[@intFromEnum(Feature.v1_3)] = .{ .llvm_name = null, .description = "Enable v1_3 Extension.", - .dependencies = featureSet(&[_]Feature{}), + .dependencies = featureSet(&[_]Feature{ + .v1_2, + }), }; result[@intFromEnum(Feature.v1_4)] = .{ .llvm_name = null, .description = "Enable v1_4 Extension.", - .dependencies = featureSet(&[_]Feature{}), + .dependencies = featureSet(&[_]Feature{ + .v1_3, + }), }; result[@intFromEnum(Feature.v1_5)] = .{ .llvm_name = null, .description = "Enable v1_5 Extension.", - .dependencies = featureSet(&[_]Feature{}), + .dependencies = featureSet(&[_]Feature{ + .v1_4, + }), }; result[@intFromEnum(Feature.v1_6)] = .{ .llvm_name = null, .description = "Enable v1_6 Extension.", - .dependencies = featureSet(&[_]Feature{}), + .dependencies = featureSet(&[_]Feature{ + .v1_5, + }), }; result[@intFromEnum(Feature.variable_pointers)] = .{ .llvm_name = null, diff --git a/tools/update_cpu_features.zig b/tools/update_cpu_features.zig index 42432c0c36f48c831524773b882d1da75caaa723..7ee0fb9af538dc8aec13ec7cd98ac7d471f13299 100644 --- a/tools/update_cpu_features.zig +++ b/tools/update_cpu_features.zig @@ -80,7 +80,20 @@ const spirv_extra_features = blk: { feature.* = .{ .zig_name = name, .desc = "Enable " ++ name ++ " extension", - .deps = &.{}, + .deps = if (std.mem.eql(u8, name, "v1_6")) + &.{"v1_5"} + else if (std.mem.eql(u8, name, "v1_5")) + &.{"v1_4"} + else if (std.mem.eql(u8, name, "v1_4")) + &.{"v1_3"} + else if (std.mem.eql(u8, name, "v1_3")) + &.{"v1_2"} + else if (std.mem.eql(u8, name, "v1_2")) + &.{"v1_1"} + else if (std.mem.eql(u8, name, "v1_1")) + &.{"v1_0"} + else + &.{}, }; } -- 2.54.0