diff options
Diffstat (limited to 'lib/std')
| -rw-r--r-- | lib/std/Target.zig | 2 | ||||
| -rw-r--r-- | lib/std/Target/spirv.zig | 8 | ||||
| -rw-r--r-- | lib/std/builtin.zig | 1 |
3 files changed, 9 insertions, 2 deletions
diff --git a/lib/std/Target.zig b/lib/std/Target.zig index 9148fd5fdc..bf5a6369b5 100644 --- a/lib/std/Target.zig +++ b/lib/std/Target.zig @@ -2014,7 +2014,7 @@ pub const Cpu = struct { .global, .local, .shared => is_gpu, .constant => is_gpu and (context == null or context == .constant), .param => is_nvptx, - .input, .output, .uniform, .push_constant, .storage_buffer => is_spirv, + .input, .output, .uniform, .push_constant, .storage_buffer, .physical_storage_buffer => is_spirv, }; } }; diff --git a/lib/std/Target/spirv.zig b/lib/std/Target/spirv.zig index a2575b2fe8..90abacdd08 100644 --- a/lib/std/Target/spirv.zig +++ b/lib/std/Target/spirv.zig @@ -21,6 +21,7 @@ pub const Feature = enum { generic_pointer, vector16, shader, + variable_pointers, physical_storage_buffer, }; @@ -129,6 +130,11 @@ pub const all_features = blk: { .description = "Enable SPV_KHR_physical_storage_buffer extension and the PhysicalStorageBufferAddresses capability", .dependencies = featureSet(&[_]Feature{.v1_0}), }; + result[@intFromEnum(Feature.variable_pointers)] = .{ + .llvm_name = null, + .description = "Enable SPV_KHR_variable_pointers extension and the (VariablePointers, VariablePointersStorageBuffer) capabilities", + .dependencies = featureSet(&[_]Feature{.v1_0}), + }; const ti = @typeInfo(Feature); for (&result, 0..) |*elem, i| { elem.index = i; @@ -147,7 +153,7 @@ pub const cpu = struct { pub const vulkan_v1_2: CpuModel = .{ .name = "vulkan_v1_2", .llvm_name = null, - .features = featureSet(&[_]Feature{ .v1_5, .shader, .physical_storage_buffer }), + .features = featureSet(&[_]Feature{ .v1_5, .shader }), }; pub const opencl_v2: CpuModel = .{ diff --git a/lib/std/builtin.zig b/lib/std/builtin.zig index 852b94c324..1683cc500b 100644 --- a/lib/std/builtin.zig +++ b/lib/std/builtin.zig @@ -531,6 +531,7 @@ pub const AddressSpace = enum(u5) { uniform, push_constant, storage_buffer, + physical_storage_buffer, // AVR address spaces. flash, |
