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.
This commit is contained in:
Robin Voetter
2022-11-25 01:31:06 +01:00
parent c22a30ac99
commit 17de4a88e9

View File

@@ -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