aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRobin Voetter <robin@voetter.nl>2024-11-02 19:01:57 +0100
committerRobin Voetter <robin@voetter.nl>2024-11-09 01:53:13 +0100
commit9cd7b8359c435a7a0c1309cbf529a100d5422b4f (patch)
tree997a31142f67ef3200ee144ca8ff07bbce70bbfd /src
parentefb7539cb6cd4caf63e17f50c7eace198339460c (diff)
downloadzig-9cd7b8359c435a7a0c1309cbf529a100d5422b4f.tar.gz
zig-9cd7b8359c435a7a0c1309cbf529a100d5422b4f.zip
spirv: enable variable pointers for now
This seems to be required for ptr_elem_ptr with storage buffers. Note that this does not imply that the pointer can be regarded as physical too. Some variants of ptr_elem_ptr will need to be forbidden
Diffstat (limited to 'src')
-rw-r--r--src/link/SpirV.zig2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/link/SpirV.zig b/src/link/SpirV.zig
index 106b52a72c..b1b8945963 100644
--- a/src/link/SpirV.zig
+++ b/src/link/SpirV.zig
@@ -296,7 +296,7 @@ fn writeCapabilities(spv: *SpvModule, target: std.Target) !void {
// TODO: Integrate with a hypothetical feature system
const caps: []const spec.Capability = switch (target.os.tag) {
.opencl => &.{ .Kernel, .Addresses, .Int8, .Int16, .Int64, .Float64, .Float16, .Vector16, .GenericPointer },
- .vulkan => &.{ .Shader, .PhysicalStorageBufferAddresses, .Int8, .Int16, .Int64, .Float64, .Float16 },
+ .vulkan => &.{ .Shader, .PhysicalStorageBufferAddresses, .Int8, .Int16, .Int64, .Float64, .Float16, .VariablePointers, .VariablePointersStorageBuffer },
else => unreachable,
};