aboutsummaryrefslogtreecommitdiff
path: root/lib/std
diff options
context:
space:
mode:
authorRobin Voetter <robin@voetter.nl>2021-01-18 23:47:25 +0100
committerRobin Voetter <robin@voetter.nl>2021-01-19 15:28:17 +0100
commit02c138fe7011346ebab5e4b24ba0f8575bb52173 (patch)
tree5f59ca5e6e25d700dd3aa9d1ea1f9be577bdb1a6 /lib/std
parentb2b87b590011d8df52874e3f9bd1f88d1b0189d1 (diff)
downloadzig-02c138fe7011346ebab5e4b24ba0f8575bb52173.tar.gz
zig-02c138fe7011346ebab5e4b24ba0f8575bb52173.zip
SPIR-V: Add glsl450 and vulkan spir-v operating system definitions
Diffstat (limited to 'lib/std')
-rw-r--r--lib/std/target.zig18
-rw-r--r--lib/std/zig/cross_target.zig4
2 files changed, 19 insertions, 3 deletions
diff --git a/lib/std/target.zig b/lib/std/target.zig
index b3e0f8afdd..66b5f560c1 100644
--- a/lib/std/target.zig
+++ b/lib/std/target.zig
@@ -57,7 +57,9 @@ pub const Target = struct {
wasi,
emscripten,
uefi,
- opencl, // SPIR-V on OpenCL
+ opencl,
+ glsl450,
+ vulkan,
other,
pub fn isDarwin(tag: Tag) bool {
@@ -249,7 +251,9 @@ pub const Target = struct {
.wasi,
.emscripten,
.uefi,
- .opencl,
+ .opencl, // TODO: OpenCL versions
+ .glsl450, // TODO: GLSL versions
+ .vulkan,
.other,
=> return .{ .none = {} },
@@ -406,6 +410,8 @@ pub const Target = struct {
.emscripten,
.uefi,
.opencl,
+ .glsl450,
+ .vulkan,
.other,
=> false,
};
@@ -497,7 +503,9 @@ pub const Target = struct {
.wasi,
.emscripten,
=> return .musl,
- .opencl, // TODO: Where should this go?
+ .opencl, // TODO: SPIR-V ABIs with Linkage capability
+ .glsl450,
+ .vulkan,
=> return .none,
}
}
@@ -1367,6 +1375,8 @@ pub const Target = struct {
.windows,
.emscripten,
.opencl,
+ .glsl450,
+ .vulkan,
.other,
=> return false,
else => return true,
@@ -1547,6 +1557,8 @@ pub const Target = struct {
.emscripten,
.wasi,
.opencl,
+ .glsl450,
+ .vulkan,
.other,
=> return result,
diff --git a/lib/std/zig/cross_target.zig b/lib/std/zig/cross_target.zig
index 1e9066b90b..c34dcc2bd3 100644
--- a/lib/std/zig/cross_target.zig
+++ b/lib/std/zig/cross_target.zig
@@ -131,6 +131,8 @@ pub const CrossTarget = struct {
.emscripten,
.uefi,
.opencl,
+ .glsl450,
+ .vulkan,
.other,
=> {
self.os_version_min = .{ .none = {} };
@@ -732,6 +734,8 @@ pub const CrossTarget = struct {
.emscripten,
.uefi,
.opencl,
+ .glsl450,
+ .vulkan,
.other,
=> return error.InvalidOperatingSystemVersion,