Commit 17de4a88e9

Robin Voetter <robin@voetter.nl>
2022-11-25 01:31:06
spirv: add Addresses capability for opencl
This capability is required to generate SPIR-V kernels with the Physical32 and Physical64 memory models, which we use in OpenCL kernels.
1 parent c22a30a
Changed files (1)
src
src/link/SpirV.zig
@@ -242,7 +242,7 @@ pub fn flushModule(self: *SpirV, comp: *Compilation, prog_node: *std.Progress.No
 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},
+        .opencl => &.{ .Kernel, .Addresses },
         .glsl450 => &.{.Shader},
         .vulkan => &.{.Shader},
         else => unreachable, // TODO