Bug 1964776 - build(webgpu): update WGPU to 2694b323c89eb2273e1ed879d6b51fe91cde8071 r=webgpu-reviewers,supply-chain-reviewers,nical

Differential Revision: https://phabricator.services.mozilla.com/D248172
This commit is contained in:
Erich Gubler
2025-05-08 02:45:00 +00:00
committed by egubler@mozilla.com
parent 358bbfae32
commit a5dc51ef94
47 changed files with 3120 additions and 611 deletions

View File

@@ -40,9 +40,9 @@ git = "https://github.com/franziskuskiefer/cose-rust"
rev = "43c22248d136c8b38fe42ea709d08da6355cf04b"
replace-with = "vendored-sources"
[source."git+https://github.com/gfx-rs/wgpu?rev=9fccdf5cf370fcd104e37a4dc87c5db82cfd0e2b"]
[source."git+https://github.com/gfx-rs/wgpu?rev=2694b323c89eb2273e1ed879d6b51fe91cde8071"]
git = "https://github.com/gfx-rs/wgpu"
rev = "9fccdf5cf370fcd104e37a4dc87c5db82cfd0e2b"
rev = "2694b323c89eb2273e1ed879d6b51fe91cde8071"
replace-with = "vendored-sources"
[source."git+https://github.com/glandium/rust-objc?rev=4de89f5aa9851ceca4d40e7ac1e2759410c04324"]

12
Cargo.lock generated
View File

@@ -4633,7 +4633,7 @@ checksum = "a2983372caf4480544083767bf2d27defafe32af49ab4df3a0b7fc90793a3664"
[[package]]
name = "naga"
version = "25.0.0"
source = "git+https://github.com/gfx-rs/wgpu?rev=9fccdf5cf370fcd104e37a4dc87c5db82cfd0e2b#9fccdf5cf370fcd104e37a4dc87c5db82cfd0e2b"
source = "git+https://github.com/gfx-rs/wgpu?rev=2694b323c89eb2273e1ed879d6b51fe91cde8071#2694b323c89eb2273e1ed879d6b51fe91cde8071"
dependencies = [
"arrayvec",
"bit-set",
@@ -7573,7 +7573,7 @@ dependencies = [
[[package]]
name = "wgpu-core"
version = "25.0.0"
source = "git+https://github.com/gfx-rs/wgpu?rev=9fccdf5cf370fcd104e37a4dc87c5db82cfd0e2b#9fccdf5cf370fcd104e37a4dc87c5db82cfd0e2b"
source = "git+https://github.com/gfx-rs/wgpu?rev=2694b323c89eb2273e1ed879d6b51fe91cde8071#2694b323c89eb2273e1ed879d6b51fe91cde8071"
dependencies = [
"arrayvec",
"bit-set",
@@ -7603,7 +7603,7 @@ dependencies = [
[[package]]
name = "wgpu-core-deps-apple"
version = "25.0.0"
source = "git+https://github.com/gfx-rs/wgpu?rev=9fccdf5cf370fcd104e37a4dc87c5db82cfd0e2b#9fccdf5cf370fcd104e37a4dc87c5db82cfd0e2b"
source = "git+https://github.com/gfx-rs/wgpu?rev=2694b323c89eb2273e1ed879d6b51fe91cde8071#2694b323c89eb2273e1ed879d6b51fe91cde8071"
dependencies = [
"wgpu-hal",
]
@@ -7611,7 +7611,7 @@ dependencies = [
[[package]]
name = "wgpu-core-deps-windows-linux-android"
version = "25.0.0"
source = "git+https://github.com/gfx-rs/wgpu?rev=9fccdf5cf370fcd104e37a4dc87c5db82cfd0e2b#9fccdf5cf370fcd104e37a4dc87c5db82cfd0e2b"
source = "git+https://github.com/gfx-rs/wgpu?rev=2694b323c89eb2273e1ed879d6b51fe91cde8071#2694b323c89eb2273e1ed879d6b51fe91cde8071"
dependencies = [
"wgpu-hal",
]
@@ -7619,7 +7619,7 @@ dependencies = [
[[package]]
name = "wgpu-hal"
version = "25.0.0"
source = "git+https://github.com/gfx-rs/wgpu?rev=9fccdf5cf370fcd104e37a4dc87c5db82cfd0e2b#9fccdf5cf370fcd104e37a4dc87c5db82cfd0e2b"
source = "git+https://github.com/gfx-rs/wgpu?rev=2694b323c89eb2273e1ed879d6b51fe91cde8071#2694b323c89eb2273e1ed879d6b51fe91cde8071"
dependencies = [
"android_system_properties",
"arrayvec",
@@ -7655,7 +7655,7 @@ dependencies = [
[[package]]
name = "wgpu-types"
version = "25.0.0"
source = "git+https://github.com/gfx-rs/wgpu?rev=9fccdf5cf370fcd104e37a4dc87c5db82cfd0e2b#9fccdf5cf370fcd104e37a4dc87c5db82cfd0e2b"
source = "git+https://github.com/gfx-rs/wgpu?rev=2694b323c89eb2273e1ed879d6b51fe91cde8071#2694b323c89eb2273e1ed879d6b51fe91cde8071"
dependencies = [
"bitflags 2.9.0",
"bytemuck",

View File

@@ -17,7 +17,7 @@ default = []
[dependencies.wgc]
package = "wgpu-core"
git = "https://github.com/gfx-rs/wgpu"
rev = "9fccdf5cf370fcd104e37a4dc87c5db82cfd0e2b"
rev = "2694b323c89eb2273e1ed879d6b51fe91cde8071"
# TODO: remove the replay feature on the next update containing https://github.com/gfx-rs/wgpu/pull/5182
features = [
"serde",
@@ -33,32 +33,32 @@ features = [
[target.'cfg(any(target_os = "macos", target_os = "ios"))'.dependencies.wgc]
package = "wgpu-core"
git = "https://github.com/gfx-rs/wgpu"
rev = "9fccdf5cf370fcd104e37a4dc87c5db82cfd0e2b"
rev = "2694b323c89eb2273e1ed879d6b51fe91cde8071"
features = ["metal"]
# We want the wgpu-core Direct3D backends on Windows.
[target.'cfg(windows)'.dependencies.wgc]
package = "wgpu-core"
git = "https://github.com/gfx-rs/wgpu"
rev = "9fccdf5cf370fcd104e37a4dc87c5db82cfd0e2b"
rev = "2694b323c89eb2273e1ed879d6b51fe91cde8071"
features = ["dx12"]
# We want the wgpu-core Vulkan backend on Linux and Windows.
[target.'cfg(any(windows, all(unix, not(any(target_os = "macos", target_os = "ios")))))'.dependencies.wgc]
package = "wgpu-core"
git = "https://github.com/gfx-rs/wgpu"
rev = "9fccdf5cf370fcd104e37a4dc87c5db82cfd0e2b"
rev = "2694b323c89eb2273e1ed879d6b51fe91cde8071"
features = ["vulkan"]
[dependencies.wgt]
package = "wgpu-types"
git = "https://github.com/gfx-rs/wgpu"
rev = "9fccdf5cf370fcd104e37a4dc87c5db82cfd0e2b"
rev = "2694b323c89eb2273e1ed879d6b51fe91cde8071"
[dependencies.wgh]
package = "wgpu-hal"
git = "https://github.com/gfx-rs/wgpu"
rev = "9fccdf5cf370fcd104e37a4dc87c5db82cfd0e2b"
rev = "2694b323c89eb2273e1ed879d6b51fe91cde8071"
features = ["device_lost_panic", "internal_error_panic"]
[target.'cfg(windows)'.dependencies]

View File

@@ -8,8 +8,8 @@ origin:
name: wgpu
description: A cross-platform pure-Rust graphics API, modeled on the WebGPU standard
url: https://github.com/gfx-rs/wgpu
release: commit 9fccdf5cf370fcd104e37a4dc87c5db82cfd0e2b
revision: 9fccdf5cf370fcd104e37a4dc87c5db82cfd0e2b
release: 2694b323c89eb2273e1ed879d6b51fe91cde8071 (2025-05-05T19:06:23Z).
revision: 2694b323c89eb2273e1ed879d6b51fe91cde8071
license: ['MIT', 'Apache-2.0']
updatebot:

View File

@@ -3780,12 +3780,12 @@ delta = "24.0.0 -> 25.0.0"
[[audits.naga]]
who = [
"Erich Gubler <erichdongubler@gmail.com>",
"Jim Blandy <jimb@red-bean.com>",
"Teodor Tanasoaia <ttanasoaia@mozilla.com>",
"Erich Gubler <erichdongubler@gmail.com>",
]
criteria = "safe-to-deploy"
delta = "25.0.0 -> 25.0.0@git:9fccdf5cf370fcd104e37a4dc87c5db82cfd0e2b"
delta = "25.0.0 -> 25.0.0@git:2694b323c89eb2273e1ed879d6b51fe91cde8071"
importable = false
[[audits.net2]]
@@ -6075,12 +6075,12 @@ delta = "24.0.0 -> 25.0.0"
[[audits.wgpu-core]]
who = [
"Erich Gubler <erichdongubler@gmail.com>",
"Jim Blandy <jimb@red-bean.com>",
"Teodor Tanasoaia <ttanasoaia@mozilla.com>",
"Erich Gubler <erichdongubler@gmail.com>",
]
criteria = "safe-to-deploy"
delta = "25.0.0 -> 25.0.0@git:9fccdf5cf370fcd104e37a4dc87c5db82cfd0e2b"
delta = "25.0.0 -> 25.0.0@git:2694b323c89eb2273e1ed879d6b51fe91cde8071"
importable = false
[[audits.wgpu-core-deps-apple]]
@@ -6090,12 +6090,12 @@ version = "25.0.0"
[[audits.wgpu-core-deps-apple]]
who = [
"Erich Gubler <erichdongubler@gmail.com>",
"Jim Blandy <jimb@red-bean.com>",
"Teodor Tanasoaia <ttanasoaia@mozilla.com>",
"Erich Gubler <erichdongubler@gmail.com>",
]
criteria = "safe-to-deploy"
delta = "25.0.0 -> 25.0.0@git:9fccdf5cf370fcd104e37a4dc87c5db82cfd0e2b"
delta = "25.0.0 -> 25.0.0@git:2694b323c89eb2273e1ed879d6b51fe91cde8071"
importable = false
[[audits.wgpu-core-deps-windows-linux-android]]
@@ -6105,12 +6105,12 @@ version = "25.0.0"
[[audits.wgpu-core-deps-windows-linux-android]]
who = [
"Erich Gubler <erichdongubler@gmail.com>",
"Jim Blandy <jimb@red-bean.com>",
"Teodor Tanasoaia <ttanasoaia@mozilla.com>",
"Erich Gubler <erichdongubler@gmail.com>",
]
criteria = "safe-to-deploy"
delta = "25.0.0 -> 25.0.0@git:9fccdf5cf370fcd104e37a4dc87c5db82cfd0e2b"
delta = "25.0.0 -> 25.0.0@git:2694b323c89eb2273e1ed879d6b51fe91cde8071"
importable = false
[[audits.wgpu-hal]]
@@ -6198,12 +6198,12 @@ delta = "24.0.0 -> 25.0.0"
[[audits.wgpu-hal]]
who = [
"Erich Gubler <erichdongubler@gmail.com>",
"Jim Blandy <jimb@red-bean.com>",
"Teodor Tanasoaia <ttanasoaia@mozilla.com>",
"Erich Gubler <erichdongubler@gmail.com>",
]
criteria = "safe-to-deploy"
delta = "25.0.0 -> 25.0.0@git:9fccdf5cf370fcd104e37a4dc87c5db82cfd0e2b"
delta = "25.0.0 -> 25.0.0@git:2694b323c89eb2273e1ed879d6b51fe91cde8071"
importable = false
[[audits.wgpu-types]]
@@ -6286,12 +6286,12 @@ delta = "24.0.0 -> 25.0.0"
[[audits.wgpu-types]]
who = [
"Erich Gubler <erichdongubler@gmail.com>",
"Jim Blandy <jimb@red-bean.com>",
"Teodor Tanasoaia <ttanasoaia@mozilla.com>",
"Erich Gubler <erichdongubler@gmail.com>",
]
criteria = "safe-to-deploy"
delta = "25.0.0 -> 25.0.0@git:9fccdf5cf370fcd104e37a4dc87c5db82cfd0e2b"
delta = "25.0.0 -> 25.0.0@git:2694b323c89eb2273e1ed879d6b51fe91cde8071"
importable = false
[[audits.whatsys]]

View File

@@ -227,96 +227,84 @@
[:srcFormat="bc1-rgba-unorm";dstFormat="bc1-rgba-unorm";dimension="2d"]
[:srcFormat="bc1-rgba-unorm";dstFormat="bc1-rgba-unorm";dimension="3d"]
expected:
if os == "mac": FAIL
expected: FAIL
[:srcFormat="bc1-rgba-unorm";dstFormat="bc1-rgba-unorm-srgb";dimension="2d"]
expected:
if os == "linux": FAIL
[:srcFormat="bc1-rgba-unorm";dstFormat="bc1-rgba-unorm-srgb";dimension="3d"]
expected:
if os == "mac": FAIL
expected: FAIL
[:srcFormat="bc1-rgba-unorm-srgb";dstFormat="bc1-rgba-unorm";dimension="2d"]
expected:
if os == "linux": FAIL
[:srcFormat="bc1-rgba-unorm-srgb";dstFormat="bc1-rgba-unorm";dimension="3d"]
expected:
if os == "mac": FAIL
expected: FAIL
[:srcFormat="bc1-rgba-unorm-srgb";dstFormat="bc1-rgba-unorm-srgb";dimension="2d"]
expected:
if os == "linux": FAIL
[:srcFormat="bc1-rgba-unorm-srgb";dstFormat="bc1-rgba-unorm-srgb";dimension="3d"]
expected:
if os == "mac": FAIL
expected: FAIL
[:srcFormat="bc2-rgba-unorm";dstFormat="bc2-rgba-unorm";dimension="2d"]
expected:
if os == "linux": FAIL
[:srcFormat="bc2-rgba-unorm";dstFormat="bc2-rgba-unorm";dimension="3d"]
expected:
if os == "mac": FAIL
expected: FAIL
[:srcFormat="bc2-rgba-unorm";dstFormat="bc2-rgba-unorm-srgb";dimension="2d"]
expected:
if os == "linux": FAIL
[:srcFormat="bc2-rgba-unorm";dstFormat="bc2-rgba-unorm-srgb";dimension="3d"]
expected:
if os == "mac": FAIL
expected: FAIL
[:srcFormat="bc2-rgba-unorm-srgb";dstFormat="bc2-rgba-unorm";dimension="2d"]
expected:
if os == "linux": FAIL
[:srcFormat="bc2-rgba-unorm-srgb";dstFormat="bc2-rgba-unorm";dimension="3d"]
expected:
if os == "mac": FAIL
expected: FAIL
[:srcFormat="bc2-rgba-unorm-srgb";dstFormat="bc2-rgba-unorm-srgb";dimension="2d"]
expected:
if os == "linux": FAIL
[:srcFormat="bc2-rgba-unorm-srgb";dstFormat="bc2-rgba-unorm-srgb";dimension="3d"]
expected:
if os == "mac": FAIL
expected: FAIL
[:srcFormat="bc3-rgba-unorm";dstFormat="bc3-rgba-unorm";dimension="2d"]
expected:
if os == "linux": FAIL
[:srcFormat="bc3-rgba-unorm";dstFormat="bc3-rgba-unorm";dimension="3d"]
expected:
if os == "mac": FAIL
expected: FAIL
[:srcFormat="bc3-rgba-unorm";dstFormat="bc3-rgba-unorm-srgb";dimension="2d"]
expected:
if os == "linux": FAIL
[:srcFormat="bc3-rgba-unorm";dstFormat="bc3-rgba-unorm-srgb";dimension="3d"]
expected:
if os == "mac": FAIL
expected: FAIL
[:srcFormat="bc3-rgba-unorm-srgb";dstFormat="bc3-rgba-unorm";dimension="2d"]
expected:
if os == "linux": FAIL
[:srcFormat="bc3-rgba-unorm-srgb";dstFormat="bc3-rgba-unorm";dimension="3d"]
expected:
if os == "mac": FAIL
expected: FAIL
[:srcFormat="bc3-rgba-unorm-srgb";dstFormat="bc3-rgba-unorm-srgb";dimension="2d"]
expected:
if os == "linux": FAIL
[:srcFormat="bc3-rgba-unorm-srgb";dstFormat="bc3-rgba-unorm-srgb";dimension="3d"]
expected:
if os == "mac": FAIL
expected: FAIL
[:srcFormat="bc4-r-snorm";dstFormat="bc4-r-snorm";dimension="2d"]
expected:
@@ -324,8 +312,7 @@
if os == "linux": FAIL
[:srcFormat="bc4-r-snorm";dstFormat="bc4-r-snorm";dimension="3d"]
expected:
if os == "mac": FAIL
expected: FAIL
[:srcFormat="bc4-r-unorm";dstFormat="bc4-r-unorm";dimension="2d"]
expected:
@@ -333,72 +320,63 @@
if os == "linux": FAIL
[:srcFormat="bc4-r-unorm";dstFormat="bc4-r-unorm";dimension="3d"]
expected:
if os == "mac": FAIL
expected: FAIL
[:srcFormat="bc5-rg-snorm";dstFormat="bc5-rg-snorm";dimension="2d"]
expected:
if os == "linux": FAIL
[:srcFormat="bc5-rg-snorm";dstFormat="bc5-rg-snorm";dimension="3d"]
expected:
if os == "mac": FAIL
expected: FAIL
[:srcFormat="bc5-rg-unorm";dstFormat="bc5-rg-unorm";dimension="2d"]
expected:
if os == "linux": FAIL
[:srcFormat="bc5-rg-unorm";dstFormat="bc5-rg-unorm";dimension="3d"]
expected:
if os == "mac": FAIL
expected: FAIL
[:srcFormat="bc6h-rgb-float";dstFormat="bc6h-rgb-float";dimension="2d"]
expected:
if os == "linux": FAIL
[:srcFormat="bc6h-rgb-float";dstFormat="bc6h-rgb-float";dimension="3d"]
expected:
if os == "mac": FAIL
expected: FAIL
[:srcFormat="bc6h-rgb-ufloat";dstFormat="bc6h-rgb-ufloat";dimension="2d"]
expected:
if os == "linux": FAIL
[:srcFormat="bc6h-rgb-ufloat";dstFormat="bc6h-rgb-ufloat";dimension="3d"]
expected:
if os == "mac": FAIL
expected: FAIL
[:srcFormat="bc7-rgba-unorm";dstFormat="bc7-rgba-unorm";dimension="2d"]
expected:
if os == "linux": FAIL
[:srcFormat="bc7-rgba-unorm";dstFormat="bc7-rgba-unorm";dimension="3d"]
expected:
if os == "mac": FAIL
expected: FAIL
[:srcFormat="bc7-rgba-unorm";dstFormat="bc7-rgba-unorm-srgb";dimension="2d"]
expected:
if os == "linux": FAIL
[:srcFormat="bc7-rgba-unorm";dstFormat="bc7-rgba-unorm-srgb";dimension="3d"]
expected:
if os == "mac": FAIL
expected: FAIL
[:srcFormat="bc7-rgba-unorm-srgb";dstFormat="bc7-rgba-unorm";dimension="2d"]
expected:
if os == "linux": FAIL
[:srcFormat="bc7-rgba-unorm-srgb";dstFormat="bc7-rgba-unorm";dimension="3d"]
expected:
if os == "mac": FAIL
expected: FAIL
[:srcFormat="bc7-rgba-unorm-srgb";dstFormat="bc7-rgba-unorm-srgb";dimension="2d"]
expected:
if os == "linux": FAIL
[:srcFormat="bc7-rgba-unorm-srgb";dstFormat="bc7-rgba-unorm-srgb";dimension="3d"]
expected:
if os == "mac": FAIL
expected: FAIL
[:srcFormat="eac-r11snorm";dstFormat="eac-r11snorm";dimension="2d"]
@@ -812,6 +790,8 @@
if os == "linux": FAIL
[:srcFormat="bc1-rgba-unorm";dstFormat="bc1-rgba-unorm";dimension="3d"]
expected:
if os == "linux": FAIL
[:srcFormat="bc1-rgba-unorm";dstFormat="bc1-rgba-unorm-srgb";dimension="1d"]
@@ -820,6 +800,8 @@
if os == "linux": FAIL
[:srcFormat="bc1-rgba-unorm";dstFormat="bc1-rgba-unorm-srgb";dimension="3d"]
expected:
if os == "linux": FAIL
[:srcFormat="bc1-rgba-unorm-srgb";dstFormat="bc1-rgba-unorm";dimension="1d"]
@@ -828,6 +810,8 @@
if os == "linux": FAIL
[:srcFormat="bc1-rgba-unorm-srgb";dstFormat="bc1-rgba-unorm";dimension="3d"]
expected:
if os == "linux": FAIL
[:srcFormat="bc1-rgba-unorm-srgb";dstFormat="bc1-rgba-unorm-srgb";dimension="1d"]
@@ -836,6 +820,8 @@
if os == "linux": FAIL
[:srcFormat="bc1-rgba-unorm-srgb";dstFormat="bc1-rgba-unorm-srgb";dimension="3d"]
expected:
if os == "linux": FAIL
[:srcFormat="bc2-rgba-unorm";dstFormat="bc2-rgba-unorm";dimension="1d"]
@@ -844,6 +830,8 @@
if os == "linux": FAIL
[:srcFormat="bc2-rgba-unorm";dstFormat="bc2-rgba-unorm";dimension="3d"]
expected:
if os == "linux": FAIL
[:srcFormat="bc2-rgba-unorm";dstFormat="bc2-rgba-unorm-srgb";dimension="1d"]
@@ -852,6 +840,8 @@
if os == "linux": FAIL
[:srcFormat="bc2-rgba-unorm";dstFormat="bc2-rgba-unorm-srgb";dimension="3d"]
expected:
if os == "linux": FAIL
[:srcFormat="bc2-rgba-unorm-srgb";dstFormat="bc2-rgba-unorm";dimension="1d"]
@@ -860,6 +850,8 @@
if os == "linux": FAIL
[:srcFormat="bc2-rgba-unorm-srgb";dstFormat="bc2-rgba-unorm";dimension="3d"]
expected:
if os == "linux": FAIL
[:srcFormat="bc2-rgba-unorm-srgb";dstFormat="bc2-rgba-unorm-srgb";dimension="1d"]
@@ -868,6 +860,8 @@
if os == "linux": FAIL
[:srcFormat="bc2-rgba-unorm-srgb";dstFormat="bc2-rgba-unorm-srgb";dimension="3d"]
expected:
if os == "linux": FAIL
[:srcFormat="bc3-rgba-unorm";dstFormat="bc3-rgba-unorm";dimension="1d"]
@@ -876,6 +870,8 @@
if os == "linux": FAIL
[:srcFormat="bc3-rgba-unorm";dstFormat="bc3-rgba-unorm";dimension="3d"]
expected:
if os == "linux": FAIL
[:srcFormat="bc3-rgba-unorm";dstFormat="bc3-rgba-unorm-srgb";dimension="1d"]
@@ -884,6 +880,8 @@
if os == "linux": FAIL
[:srcFormat="bc3-rgba-unorm";dstFormat="bc3-rgba-unorm-srgb";dimension="3d"]
expected:
if os == "linux": FAIL
[:srcFormat="bc3-rgba-unorm-srgb";dstFormat="bc3-rgba-unorm";dimension="1d"]
@@ -892,6 +890,8 @@
if os == "linux": FAIL
[:srcFormat="bc3-rgba-unorm-srgb";dstFormat="bc3-rgba-unorm";dimension="3d"]
expected:
if os == "linux": FAIL
[:srcFormat="bc3-rgba-unorm-srgb";dstFormat="bc3-rgba-unorm-srgb";dimension="1d"]
@@ -900,6 +900,8 @@
if os == "linux": FAIL
[:srcFormat="bc3-rgba-unorm-srgb";dstFormat="bc3-rgba-unorm-srgb";dimension="3d"]
expected:
if os == "linux": FAIL
[:srcFormat="bc4-r-snorm";dstFormat="bc4-r-snorm";dimension="1d"]
@@ -909,6 +911,9 @@
if os == "linux": FAIL
[:srcFormat="bc4-r-snorm";dstFormat="bc4-r-snorm";dimension="3d"]
expected:
if os == "win": FAIL
if os == "linux": FAIL
[:srcFormat="bc4-r-unorm";dstFormat="bc4-r-unorm";dimension="1d"]
@@ -918,6 +923,9 @@
if os == "linux": FAIL
[:srcFormat="bc4-r-unorm";dstFormat="bc4-r-unorm";dimension="3d"]
expected:
if os == "win": FAIL
if os == "linux": FAIL
[:srcFormat="bc5-rg-snorm";dstFormat="bc5-rg-snorm";dimension="1d"]
@@ -926,6 +934,8 @@
if os == "linux": FAIL
[:srcFormat="bc5-rg-snorm";dstFormat="bc5-rg-snorm";dimension="3d"]
expected:
if os == "linux": FAIL
[:srcFormat="bc5-rg-unorm";dstFormat="bc5-rg-unorm";dimension="1d"]
@@ -934,6 +944,8 @@
if os == "linux": FAIL
[:srcFormat="bc5-rg-unorm";dstFormat="bc5-rg-unorm";dimension="3d"]
expected:
if os == "linux": FAIL
[:srcFormat="bc6h-rgb-float";dstFormat="bc6h-rgb-float";dimension="1d"]
@@ -942,6 +954,8 @@
if os == "linux": FAIL
[:srcFormat="bc6h-rgb-float";dstFormat="bc6h-rgb-float";dimension="3d"]
expected:
if os == "linux": FAIL
[:srcFormat="bc6h-rgb-ufloat";dstFormat="bc6h-rgb-ufloat";dimension="1d"]
@@ -950,6 +964,8 @@
if os == "linux": FAIL
[:srcFormat="bc6h-rgb-ufloat";dstFormat="bc6h-rgb-ufloat";dimension="3d"]
expected:
if os == "linux": FAIL
[:srcFormat="bc7-rgba-unorm";dstFormat="bc7-rgba-unorm";dimension="1d"]
@@ -958,6 +974,8 @@
if os == "linux": FAIL
[:srcFormat="bc7-rgba-unorm";dstFormat="bc7-rgba-unorm";dimension="3d"]
expected:
if os == "linux": FAIL
[:srcFormat="bc7-rgba-unorm";dstFormat="bc7-rgba-unorm-srgb";dimension="1d"]
@@ -966,6 +984,8 @@
if os == "linux": FAIL
[:srcFormat="bc7-rgba-unorm";dstFormat="bc7-rgba-unorm-srgb";dimension="3d"]
expected:
if os == "linux": FAIL
[:srcFormat="bc7-rgba-unorm-srgb";dstFormat="bc7-rgba-unorm";dimension="1d"]
@@ -974,6 +994,8 @@
if os == "linux": FAIL
[:srcFormat="bc7-rgba-unorm-srgb";dstFormat="bc7-rgba-unorm";dimension="3d"]
expected:
if os == "linux": FAIL
[:srcFormat="bc7-rgba-unorm-srgb";dstFormat="bc7-rgba-unorm-srgb";dimension="1d"]
@@ -982,6 +1004,8 @@
if os == "linux": FAIL
[:srcFormat="bc7-rgba-unorm-srgb";dstFormat="bc7-rgba-unorm-srgb";dimension="3d"]
expected:
if os == "linux": FAIL
[:srcFormat="eac-r11snorm";dstFormat="eac-r11snorm";dimension="1d"]

View File

@@ -1410,58 +1410,114 @@
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc1-rgba-unorm";dimension="2d"]
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc1-rgba-unorm";dimension="3d"]
expected:
if os == "win": FAIL
if os == "linux": FAIL
if os == "mac" and not debug: FAIL
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc1-rgba-unorm-srgb";dimension="2d"]
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc1-rgba-unorm-srgb";dimension="3d"]
expected:
if os == "win": FAIL
if os == "linux": FAIL
if os == "mac" and not debug: FAIL
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc2-rgba-unorm";dimension="2d"]
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc2-rgba-unorm";dimension="3d"]
expected:
if os == "win": FAIL
if os == "linux": FAIL
if os == "mac" and not debug: FAIL
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc2-rgba-unorm-srgb";dimension="2d"]
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc2-rgba-unorm-srgb";dimension="3d"]
expected:
if os == "win": FAIL
if os == "linux": FAIL
if os == "mac" and not debug: FAIL
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc3-rgba-unorm";dimension="2d"]
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc3-rgba-unorm";dimension="3d"]
expected:
if os == "win": FAIL
if os == "linux": FAIL
if os == "mac" and not debug: FAIL
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc3-rgba-unorm-srgb";dimension="2d"]
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc3-rgba-unorm-srgb";dimension="3d"]
expected:
if os == "win": FAIL
if os == "linux": FAIL
if os == "mac" and not debug: FAIL
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc4-r-snorm";dimension="2d"]
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc4-r-snorm";dimension="3d"]
expected:
if os == "win": FAIL
if os == "linux": FAIL
if os == "mac" and not debug: FAIL
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc4-r-unorm";dimension="2d"]
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc4-r-unorm";dimension="3d"]
expected:
if os == "win": FAIL
if os == "linux": FAIL
if os == "mac" and not debug: FAIL
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc5-rg-snorm";dimension="2d"]
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc5-rg-snorm";dimension="3d"]
expected:
if os == "win": FAIL
if os == "linux": FAIL
if os == "mac" and not debug: FAIL
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc5-rg-unorm";dimension="2d"]
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc5-rg-unorm";dimension="3d"]
expected:
if os == "win": FAIL
if os == "linux": FAIL
if os == "mac" and not debug: FAIL
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc6h-rgb-float";dimension="2d"]
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc6h-rgb-float";dimension="3d"]
expected:
if os == "win": FAIL
if os == "linux": FAIL
if os == "mac" and not debug: FAIL
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc6h-rgb-ufloat";dimension="2d"]
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc6h-rgb-ufloat";dimension="3d"]
expected:
if os == "win": FAIL
if os == "linux": FAIL
if os == "mac" and not debug: FAIL
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc7-rgba-unorm";dimension="2d"]
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc7-rgba-unorm";dimension="3d"]
expected:
if os == "win": FAIL
if os == "linux": FAIL
if os == "mac" and not debug: FAIL
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc7-rgba-unorm-srgb";dimension="2d"]
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc7-rgba-unorm-srgb";dimension="3d"]
expected:
if os == "win": FAIL
if os == "linux": FAIL
if os == "mac" and not debug: FAIL
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bgra8unorm";dimension="1d"]
@@ -2277,24 +2333,32 @@
if os == "mac" and not debug: FAIL
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bc2-rgba-unorm";dimension="3d"]
expected:
if os == "mac" and not debug: FAIL
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bc2-rgba-unorm-srgb";dimension="2d"]
expected:
if os == "mac" and not debug: FAIL
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bc2-rgba-unorm-srgb";dimension="3d"]
expected:
if os == "mac" and not debug: FAIL
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bc3-rgba-unorm";dimension="2d"]
expected:
if os == "mac" and not debug: FAIL
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bc3-rgba-unorm";dimension="3d"]
expected:
if os == "mac" and not debug: FAIL
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bc3-rgba-unorm-srgb";dimension="2d"]
expected:
if os == "mac" and not debug: FAIL
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bc3-rgba-unorm-srgb";dimension="3d"]
expected:
if os == "mac" and not debug: FAIL
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bc4-r-snorm";dimension="2d"]
@@ -2309,36 +2373,48 @@
if os == "mac" and not debug: FAIL
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bc5-rg-snorm";dimension="3d"]
expected:
if os == "mac" and not debug: FAIL
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bc5-rg-unorm";dimension="2d"]
expected:
if os == "mac" and not debug: FAIL
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bc5-rg-unorm";dimension="3d"]
expected:
if os == "mac" and not debug: FAIL
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bc6h-rgb-float";dimension="2d"]
expected:
if os == "mac" and not debug: FAIL
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bc6h-rgb-float";dimension="3d"]
expected:
if os == "mac" and not debug: FAIL
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bc6h-rgb-ufloat";dimension="2d"]
expected:
if os == "mac" and not debug: FAIL
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bc6h-rgb-ufloat";dimension="3d"]
expected:
if os == "mac" and not debug: FAIL
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bc7-rgba-unorm";dimension="2d"]
expected:
if os == "mac" and not debug: FAIL
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bc7-rgba-unorm";dimension="3d"]
expected:
if os == "mac" and not debug: FAIL
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bc7-rgba-unorm-srgb";dimension="2d"]
expected:
if os == "mac" and not debug: FAIL
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bc7-rgba-unorm-srgb";dimension="3d"]
expected:
if os == "mac" and not debug: FAIL
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bgra8unorm";dimension="1d"]
@@ -2772,58 +2848,86 @@
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc1-rgba-unorm";dimension="2d"]
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc1-rgba-unorm";dimension="3d"]
expected:
if os == "win": FAIL
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc1-rgba-unorm-srgb";dimension="2d"]
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc1-rgba-unorm-srgb";dimension="3d"]
expected:
if os == "win": FAIL
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc2-rgba-unorm";dimension="2d"]
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc2-rgba-unorm";dimension="3d"]
expected:
if os == "win": FAIL
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc2-rgba-unorm-srgb";dimension="2d"]
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc2-rgba-unorm-srgb";dimension="3d"]
expected:
if os == "win": FAIL
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc3-rgba-unorm";dimension="2d"]
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc3-rgba-unorm";dimension="3d"]
expected:
if os == "win": FAIL
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc3-rgba-unorm-srgb";dimension="2d"]
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc3-rgba-unorm-srgb";dimension="3d"]
expected:
if os == "win": FAIL
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc4-r-snorm";dimension="2d"]
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc4-r-snorm";dimension="3d"]
expected:
if os == "win": FAIL
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc4-r-unorm";dimension="2d"]
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc4-r-unorm";dimension="3d"]
expected:
if os == "win": FAIL
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc5-rg-snorm";dimension="2d"]
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc5-rg-snorm";dimension="3d"]
expected:
if os == "win": FAIL
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc5-rg-unorm";dimension="2d"]
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc5-rg-unorm";dimension="3d"]
expected:
if os == "win": FAIL
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc6h-rgb-float";dimension="2d"]
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc6h-rgb-float";dimension="3d"]
expected:
if os == "win": FAIL
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc6h-rgb-ufloat";dimension="2d"]
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc6h-rgb-ufloat";dimension="3d"]
expected:
if os == "win": FAIL
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc7-rgba-unorm";dimension="2d"]
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc7-rgba-unorm";dimension="3d"]
expected:
if os == "win": FAIL
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc7-rgba-unorm-srgb";dimension="2d"]
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bc7-rgba-unorm-srgb";dimension="3d"]
expected:
if os == "win": FAIL
[:initMethod="CopyB2T";checkMethod="FullCopyT2B";format="bgra8unorm";dimension="1d"]
@@ -3274,58 +3378,86 @@
[:initMethod="WriteTexture";checkMethod="FullCopyT2B";format="bc1-rgba-unorm";dimension="2d"]
[:initMethod="WriteTexture";checkMethod="FullCopyT2B";format="bc1-rgba-unorm";dimension="3d"]
expected:
if os == "win": FAIL
[:initMethod="WriteTexture";checkMethod="FullCopyT2B";format="bc1-rgba-unorm-srgb";dimension="2d"]
[:initMethod="WriteTexture";checkMethod="FullCopyT2B";format="bc1-rgba-unorm-srgb";dimension="3d"]
expected:
if os == "win": FAIL
[:initMethod="WriteTexture";checkMethod="FullCopyT2B";format="bc2-rgba-unorm";dimension="2d"]
[:initMethod="WriteTexture";checkMethod="FullCopyT2B";format="bc2-rgba-unorm";dimension="3d"]
expected:
if os == "win": FAIL
[:initMethod="WriteTexture";checkMethod="FullCopyT2B";format="bc2-rgba-unorm-srgb";dimension="2d"]
[:initMethod="WriteTexture";checkMethod="FullCopyT2B";format="bc2-rgba-unorm-srgb";dimension="3d"]
expected:
if os == "win": FAIL
[:initMethod="WriteTexture";checkMethod="FullCopyT2B";format="bc3-rgba-unorm";dimension="2d"]
[:initMethod="WriteTexture";checkMethod="FullCopyT2B";format="bc3-rgba-unorm";dimension="3d"]
expected:
if os == "win": FAIL
[:initMethod="WriteTexture";checkMethod="FullCopyT2B";format="bc3-rgba-unorm-srgb";dimension="2d"]
[:initMethod="WriteTexture";checkMethod="FullCopyT2B";format="bc3-rgba-unorm-srgb";dimension="3d"]
expected:
if os == "win": FAIL
[:initMethod="WriteTexture";checkMethod="FullCopyT2B";format="bc4-r-snorm";dimension="2d"]
[:initMethod="WriteTexture";checkMethod="FullCopyT2B";format="bc4-r-snorm";dimension="3d"]
expected:
if os == "win": FAIL
[:initMethod="WriteTexture";checkMethod="FullCopyT2B";format="bc4-r-unorm";dimension="2d"]
[:initMethod="WriteTexture";checkMethod="FullCopyT2B";format="bc4-r-unorm";dimension="3d"]
expected:
if os == "win": FAIL
[:initMethod="WriteTexture";checkMethod="FullCopyT2B";format="bc5-rg-snorm";dimension="2d"]
[:initMethod="WriteTexture";checkMethod="FullCopyT2B";format="bc5-rg-snorm";dimension="3d"]
expected:
if os == "win": FAIL
[:initMethod="WriteTexture";checkMethod="FullCopyT2B";format="bc5-rg-unorm";dimension="2d"]
[:initMethod="WriteTexture";checkMethod="FullCopyT2B";format="bc5-rg-unorm";dimension="3d"]
expected:
if os == "win": FAIL
[:initMethod="WriteTexture";checkMethod="FullCopyT2B";format="bc6h-rgb-float";dimension="2d"]
[:initMethod="WriteTexture";checkMethod="FullCopyT2B";format="bc6h-rgb-float";dimension="3d"]
expected:
if os == "win": FAIL
[:initMethod="WriteTexture";checkMethod="FullCopyT2B";format="bc6h-rgb-ufloat";dimension="2d"]
[:initMethod="WriteTexture";checkMethod="FullCopyT2B";format="bc6h-rgb-ufloat";dimension="3d"]
expected:
if os == "win": FAIL
[:initMethod="WriteTexture";checkMethod="FullCopyT2B";format="bc7-rgba-unorm";dimension="2d"]
[:initMethod="WriteTexture";checkMethod="FullCopyT2B";format="bc7-rgba-unorm";dimension="3d"]
expected:
if os == "win": FAIL
[:initMethod="WriteTexture";checkMethod="FullCopyT2B";format="bc7-rgba-unorm-srgb";dimension="2d"]
[:initMethod="WriteTexture";checkMethod="FullCopyT2B";format="bc7-rgba-unorm-srgb";dimension="3d"]
expected:
if os == "win": FAIL
[:initMethod="WriteTexture";checkMethod="FullCopyT2B";format="bgra8unorm";dimension="1d"]
@@ -3758,58 +3890,86 @@
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bc1-rgba-unorm";dimension="2d"]
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bc1-rgba-unorm";dimension="3d"]
expected:
if os == "win": FAIL
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bc1-rgba-unorm-srgb";dimension="2d"]
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bc1-rgba-unorm-srgb";dimension="3d"]
expected:
if os == "win": FAIL
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bc2-rgba-unorm";dimension="2d"]
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bc2-rgba-unorm";dimension="3d"]
expected:
if os == "win": FAIL
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bc2-rgba-unorm-srgb";dimension="2d"]
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bc2-rgba-unorm-srgb";dimension="3d"]
expected:
if os == "win": FAIL
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bc3-rgba-unorm";dimension="2d"]
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bc3-rgba-unorm";dimension="3d"]
expected:
if os == "win": FAIL
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bc3-rgba-unorm-srgb";dimension="2d"]
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bc3-rgba-unorm-srgb";dimension="3d"]
expected:
if os == "win": FAIL
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bc4-r-snorm";dimension="2d"]
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bc4-r-snorm";dimension="3d"]
expected:
if os == "win": FAIL
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bc4-r-unorm";dimension="2d"]
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bc4-r-unorm";dimension="3d"]
expected:
if os == "win": FAIL
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bc5-rg-snorm";dimension="2d"]
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bc5-rg-snorm";dimension="3d"]
expected:
if os == "win": FAIL
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bc5-rg-unorm";dimension="2d"]
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bc5-rg-unorm";dimension="3d"]
expected:
if os == "win": FAIL
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bc6h-rgb-float";dimension="2d"]
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bc6h-rgb-float";dimension="3d"]
expected:
if os == "win": FAIL
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bc6h-rgb-ufloat";dimension="2d"]
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bc6h-rgb-ufloat";dimension="3d"]
expected:
if os == "win": FAIL
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bc7-rgba-unorm";dimension="2d"]
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bc7-rgba-unorm";dimension="3d"]
expected:
if os == "win": FAIL
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bc7-rgba-unorm-srgb";dimension="2d"]
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bc7-rgba-unorm-srgb";dimension="3d"]
expected:
if os == "win": FAIL
[:initMethod="WriteTexture";checkMethod="PartialCopyT2B";format="bgra8unorm";dimension="1d"]

View File

@@ -115,58 +115,72 @@
[;checkMethod="FullCopyT2B";format="bc1-rgba-unorm";dimension="2d"]
[;checkMethod="FullCopyT2B";format="bc1-rgba-unorm";dimension="3d"]
expected: FAIL
[;checkMethod="FullCopyT2B";format="bc1-rgba-unorm-srgb";dimension="2d"]
[;checkMethod="FullCopyT2B";format="bc1-rgba-unorm-srgb";dimension="3d"]
expected: FAIL
[;checkMethod="FullCopyT2B";format="bc2-rgba-unorm";dimension="2d"]
[;checkMethod="FullCopyT2B";format="bc2-rgba-unorm";dimension="3d"]
expected: FAIL
[;checkMethod="FullCopyT2B";format="bc2-rgba-unorm-srgb";dimension="2d"]
[;checkMethod="FullCopyT2B";format="bc2-rgba-unorm-srgb";dimension="3d"]
expected: FAIL
[;checkMethod="FullCopyT2B";format="bc3-rgba-unorm";dimension="2d"]
[;checkMethod="FullCopyT2B";format="bc3-rgba-unorm";dimension="3d"]
expected: FAIL
[;checkMethod="FullCopyT2B";format="bc3-rgba-unorm-srgb";dimension="2d"]
[;checkMethod="FullCopyT2B";format="bc3-rgba-unorm-srgb";dimension="3d"]
expected: FAIL
[;checkMethod="FullCopyT2B";format="bc4-r-snorm";dimension="2d"]
[;checkMethod="FullCopyT2B";format="bc4-r-snorm";dimension="3d"]
expected: FAIL
[;checkMethod="FullCopyT2B";format="bc4-r-unorm";dimension="2d"]
[;checkMethod="FullCopyT2B";format="bc4-r-unorm";dimension="3d"]
expected: FAIL
[;checkMethod="FullCopyT2B";format="bc5-rg-snorm";dimension="2d"]
[;checkMethod="FullCopyT2B";format="bc5-rg-snorm";dimension="3d"]
expected: FAIL
[;checkMethod="FullCopyT2B";format="bc5-rg-unorm";dimension="2d"]
[;checkMethod="FullCopyT2B";format="bc5-rg-unorm";dimension="3d"]
expected: FAIL
[;checkMethod="FullCopyT2B";format="bc6h-rgb-float";dimension="2d"]
[;checkMethod="FullCopyT2B";format="bc6h-rgb-float";dimension="3d"]
expected: FAIL
[;checkMethod="FullCopyT2B";format="bc6h-rgb-ufloat";dimension="2d"]
[;checkMethod="FullCopyT2B";format="bc6h-rgb-ufloat";dimension="3d"]
expected: FAIL
[;checkMethod="FullCopyT2B";format="bc7-rgba-unorm";dimension="2d"]
[;checkMethod="FullCopyT2B";format="bc7-rgba-unorm";dimension="3d"]
expected: FAIL
[;checkMethod="FullCopyT2B";format="bc7-rgba-unorm-srgb";dimension="2d"]
[;checkMethod="FullCopyT2B";format="bc7-rgba-unorm-srgb";dimension="3d"]
expected: FAIL
[;checkMethod="FullCopyT2B";format="bgra8unorm";dimension="2d"]
@@ -492,58 +506,86 @@
[;checkMethod="FullCopyT2B";format="bc1-rgba-unorm";dimension="2d"]
[;checkMethod="FullCopyT2B";format="bc1-rgba-unorm";dimension="3d"]
expected:
if os == "win": FAIL
[;checkMethod="FullCopyT2B";format="bc1-rgba-unorm-srgb";dimension="2d"]
[;checkMethod="FullCopyT2B";format="bc1-rgba-unorm-srgb";dimension="3d"]
expected:
if os == "win": FAIL
[;checkMethod="FullCopyT2B";format="bc2-rgba-unorm";dimension="2d"]
[;checkMethod="FullCopyT2B";format="bc2-rgba-unorm";dimension="3d"]
expected:
if os == "win": FAIL
[;checkMethod="FullCopyT2B";format="bc2-rgba-unorm-srgb";dimension="2d"]
[;checkMethod="FullCopyT2B";format="bc2-rgba-unorm-srgb";dimension="3d"]
expected:
if os == "win": FAIL
[;checkMethod="FullCopyT2B";format="bc3-rgba-unorm";dimension="2d"]
[;checkMethod="FullCopyT2B";format="bc3-rgba-unorm";dimension="3d"]
expected:
if os == "win": FAIL
[;checkMethod="FullCopyT2B";format="bc3-rgba-unorm-srgb";dimension="2d"]
[;checkMethod="FullCopyT2B";format="bc3-rgba-unorm-srgb";dimension="3d"]
expected:
if os == "win": FAIL
[;checkMethod="FullCopyT2B";format="bc4-r-snorm";dimension="2d"]
[;checkMethod="FullCopyT2B";format="bc4-r-snorm";dimension="3d"]
expected:
if os == "win": FAIL
[;checkMethod="FullCopyT2B";format="bc4-r-unorm";dimension="2d"]
[;checkMethod="FullCopyT2B";format="bc4-r-unorm";dimension="3d"]
expected:
if os == "win": FAIL
[;checkMethod="FullCopyT2B";format="bc5-rg-snorm";dimension="2d"]
[;checkMethod="FullCopyT2B";format="bc5-rg-snorm";dimension="3d"]
expected:
if os == "win": FAIL
[;checkMethod="FullCopyT2B";format="bc5-rg-unorm";dimension="2d"]
[;checkMethod="FullCopyT2B";format="bc5-rg-unorm";dimension="3d"]
expected:
if os == "win": FAIL
[;checkMethod="FullCopyT2B";format="bc6h-rgb-float";dimension="2d"]
[;checkMethod="FullCopyT2B";format="bc6h-rgb-float";dimension="3d"]
expected:
if os == "win": FAIL
[;checkMethod="FullCopyT2B";format="bc6h-rgb-ufloat";dimension="2d"]
[;checkMethod="FullCopyT2B";format="bc6h-rgb-ufloat";dimension="3d"]
expected:
if os == "win": FAIL
[;checkMethod="FullCopyT2B";format="bc7-rgba-unorm";dimension="2d"]
[;checkMethod="FullCopyT2B";format="bc7-rgba-unorm";dimension="3d"]
expected:
if os == "win": FAIL
[;checkMethod="FullCopyT2B";format="bc7-rgba-unorm-srgb";dimension="2d"]
[;checkMethod="FullCopyT2B";format="bc7-rgba-unorm-srgb";dimension="3d"]
expected:
if os == "win": FAIL
[;checkMethod="FullCopyT2B";format="bgra8unorm";dimension="2d"]
@@ -902,58 +944,86 @@
[;checkMethod="PartialCopyT2B";format="bc1-rgba-unorm";dimension="2d"]
[;checkMethod="PartialCopyT2B";format="bc1-rgba-unorm";dimension="3d"]
expected:
if os == "win": FAIL
[;checkMethod="PartialCopyT2B";format="bc1-rgba-unorm-srgb";dimension="2d"]
[;checkMethod="PartialCopyT2B";format="bc1-rgba-unorm-srgb";dimension="3d"]
expected:
if os == "win": FAIL
[;checkMethod="PartialCopyT2B";format="bc2-rgba-unorm";dimension="2d"]
[;checkMethod="PartialCopyT2B";format="bc2-rgba-unorm";dimension="3d"]
expected:
if os == "win": FAIL
[;checkMethod="PartialCopyT2B";format="bc2-rgba-unorm-srgb";dimension="2d"]
[;checkMethod="PartialCopyT2B";format="bc2-rgba-unorm-srgb";dimension="3d"]
expected:
if os == "win": FAIL
[;checkMethod="PartialCopyT2B";format="bc3-rgba-unorm";dimension="2d"]
[;checkMethod="PartialCopyT2B";format="bc3-rgba-unorm";dimension="3d"]
expected:
if os == "win": FAIL
[;checkMethod="PartialCopyT2B";format="bc3-rgba-unorm-srgb";dimension="2d"]
[;checkMethod="PartialCopyT2B";format="bc3-rgba-unorm-srgb";dimension="3d"]
expected:
if os == "win": FAIL
[;checkMethod="PartialCopyT2B";format="bc4-r-snorm";dimension="2d"]
[;checkMethod="PartialCopyT2B";format="bc4-r-snorm";dimension="3d"]
expected:
if os == "win": FAIL
[;checkMethod="PartialCopyT2B";format="bc4-r-unorm";dimension="2d"]
[;checkMethod="PartialCopyT2B";format="bc4-r-unorm";dimension="3d"]
expected:
if os == "win": FAIL
[;checkMethod="PartialCopyT2B";format="bc5-rg-snorm";dimension="2d"]
[;checkMethod="PartialCopyT2B";format="bc5-rg-snorm";dimension="3d"]
expected:
if os == "win": FAIL
[;checkMethod="PartialCopyT2B";format="bc5-rg-unorm";dimension="2d"]
[;checkMethod="PartialCopyT2B";format="bc5-rg-unorm";dimension="3d"]
expected:
if os == "win": FAIL
[;checkMethod="PartialCopyT2B";format="bc6h-rgb-float";dimension="2d"]
[;checkMethod="PartialCopyT2B";format="bc6h-rgb-float";dimension="3d"]
expected:
if os == "win": FAIL
[;checkMethod="PartialCopyT2B";format="bc6h-rgb-ufloat";dimension="2d"]
[;checkMethod="PartialCopyT2B";format="bc6h-rgb-ufloat";dimension="3d"]
expected:
if os == "win": FAIL
[;checkMethod="PartialCopyT2B";format="bc7-rgba-unorm";dimension="2d"]
[;checkMethod="PartialCopyT2B";format="bc7-rgba-unorm";dimension="3d"]
expected:
if os == "win": FAIL
[;checkMethod="PartialCopyT2B";format="bc7-rgba-unorm-srgb";dimension="2d"]
[;checkMethod="PartialCopyT2B";format="bc7-rgba-unorm-srgb";dimension="3d"]
expected:
if os == "win": FAIL
[;checkMethod="PartialCopyT2B";format="bgra8unorm";dimension="2d"]

View File

@@ -920,7 +920,8 @@
[:limitTest="atMaximum";testValueName="atLimit";async=false;bindingCombination="fragment";access="read-only"]
expected:
if os == "win": FAIL
if os == "win" and debug: [PASS, FAIL]
if os == "win" and not debug: FAIL
[:limitTest="atMaximum";testValueName="atLimit";async=false;bindingCombination="fragment";access="read-write"]
expected:
@@ -963,25 +964,23 @@
[:limitTest="atMaximum";testValueName="atLimit";async=true;bindingCombination="compute";access="write-only"]
expected:
if os == "win": FAIL
if os == "win" and debug: FAIL
if os == "win" and not debug: [PASS, FAIL]
if os == "linux": [PASS, TIMEOUT, NOTRUN]
if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN]
[:limitTest="atMaximum";testValueName="atLimit";async=true;bindingCombination="fragment";access="read-only"]
expected:
if os == "win" and debug: [PASS, FAIL]
if os == "win" and not debug: FAIL
if os == "win": [PASS, FAIL]
[:limitTest="atMaximum";testValueName="atLimit";async=true;bindingCombination="fragment";access="read-write"]
expected:
if os == "win" and debug: [PASS, FAIL]
if os == "win" and not debug: FAIL
if os == "win": [PASS, FAIL]
if os == "mac": FAIL
[:limitTest="atMaximum";testValueName="atLimit";async=true;bindingCombination="fragment";access="write-only"]
expected:
if os == "win" and debug: [PASS, FAIL]
if os == "win" and not debug: FAIL
if os == "win": [PASS, FAIL]
if os == "linux": [PASS, TIMEOUT, NOTRUN]
if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN]

View File

@@ -1454,7 +1454,10 @@
[:format="bc1-rgba-unorm";dimension="3d"]
expected:
if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
if os == "win": FAIL
if os == "linux": FAIL
if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
if os == "mac" and not debug: FAIL
[:format="bc1-rgba-unorm-srgb";dimension="2d"]
expected:
@@ -1464,7 +1467,10 @@
[:format="bc1-rgba-unorm-srgb";dimension="3d"]
expected:
if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
if os == "win": FAIL
if os == "linux": FAIL
if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
if os == "mac" and not debug: FAIL
[:format="bc2-rgba-unorm";dimension="2d"]
expected:
@@ -1474,7 +1480,10 @@
[:format="bc2-rgba-unorm";dimension="3d"]
expected:
if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
if os == "win": FAIL
if os == "linux": FAIL
if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
if os == "mac" and not debug: FAIL
[:format="bc2-rgba-unorm-srgb";dimension="2d"]
expected:
@@ -1484,7 +1493,10 @@
[:format="bc2-rgba-unorm-srgb";dimension="3d"]
expected:
if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
if os == "win": FAIL
if os == "linux": FAIL
if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
if os == "mac" and not debug: FAIL
[:format="bc3-rgba-unorm";dimension="2d"]
expected:
@@ -1494,7 +1506,10 @@
[:format="bc3-rgba-unorm";dimension="3d"]
expected:
if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
if os == "win": FAIL
if os == "linux": FAIL
if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
if os == "mac" and not debug: FAIL
[:format="bc3-rgba-unorm-srgb";dimension="2d"]
expected:
@@ -1504,7 +1519,10 @@
[:format="bc3-rgba-unorm-srgb";dimension="3d"]
expected:
if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
if os == "win": FAIL
if os == "linux": FAIL
if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
if os == "mac" and not debug: FAIL
[:format="bc4-r-snorm";dimension="2d"]
expected:
@@ -1514,7 +1532,10 @@
[:format="bc4-r-snorm";dimension="3d"]
expected:
if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
if os == "win": FAIL
if os == "linux": FAIL
if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
if os == "mac" and not debug: FAIL
[:format="bc4-r-unorm";dimension="2d"]
expected:
@@ -1524,7 +1545,10 @@
[:format="bc4-r-unorm";dimension="3d"]
expected:
if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
if os == "win": FAIL
if os == "linux": FAIL
if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
if os == "mac" and not debug: FAIL
[:format="bc5-rg-snorm";dimension="2d"]
expected:
@@ -1534,7 +1558,10 @@
[:format="bc5-rg-snorm";dimension="3d"]
expected:
if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
if os == "win": FAIL
if os == "linux": FAIL
if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
if os == "mac" and not debug: FAIL
[:format="bc5-rg-unorm";dimension="2d"]
expected:
@@ -1544,7 +1571,10 @@
[:format="bc5-rg-unorm";dimension="3d"]
expected:
if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
if os == "win": FAIL
if os == "linux": FAIL
if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
if os == "mac" and not debug: FAIL
[:format="bc6h-rgb-float";dimension="2d"]
expected:
@@ -1554,7 +1584,10 @@
[:format="bc6h-rgb-float";dimension="3d"]
expected:
if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
if os == "win": FAIL
if os == "linux": FAIL
if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
if os == "mac" and not debug: FAIL
[:format="bc6h-rgb-ufloat";dimension="2d"]
expected:
@@ -1564,7 +1597,10 @@
[:format="bc6h-rgb-ufloat";dimension="3d"]
expected:
if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
if os == "win": FAIL
if os == "linux": FAIL
if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
if os == "mac" and not debug: FAIL
[:format="bc7-rgba-unorm";dimension="2d"]
expected:
@@ -1574,7 +1610,10 @@
[:format="bc7-rgba-unorm";dimension="3d"]
expected:
if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
if os == "win": FAIL
if os == "linux": FAIL
if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
if os == "mac" and not debug: FAIL
[:format="bc7-rgba-unorm-srgb";dimension="2d"]
expected:
@@ -1584,7 +1623,10 @@
[:format="bc7-rgba-unorm-srgb";dimension="3d"]
expected:
if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
if os == "win": FAIL
if os == "linux": FAIL
if os == "mac" and debug: [FAIL, TIMEOUT, NOTRUN]
if os == "mac" and not debug: FAIL
[:format="eac-r11snorm";dimension="2d"]
expected:

View File

@@ -5859,15 +5859,13 @@
[:format="r32float";usageType="render";usageCopy="src";awaitLost=false]
expected:
if os == "win": [PASS, TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "linux": [PASS, TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:format="r32float";usageType="render";usageCopy="src";awaitLost=true]
expected:
if os == "win" and debug: [PASS, TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "linux": [PASS, TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:format="r32float";usageType="render";usageCopy="src-dest";awaitLost=false]

View File

@@ -8948,14 +8948,12 @@
[:case=714;type="f16";wgSize=[128,1,1\]]
expected:
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "linux": [PASS, TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:case=714;type="f16";wgSize=[64,2,1\]]
expected:
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "linux": [PASS, TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:case=714;type="f32";wgSize=[128,1,1\]]
@@ -8965,104 +8963,87 @@
[:case=714;type="f32";wgSize=[64,2,1\]]
expected:
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "linux": [PASS, TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:case=715;type="f16";wgSize=[128,1,1\]]
expected:
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "linux": [PASS, TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:case=715;type="f16";wgSize=[64,2,1\]]
expected:
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "linux": [PASS, TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:case=715;type="f32";wgSize=[128,1,1\]]
expected:
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "linux": [PASS, TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:case=715;type="f32";wgSize=[64,2,1\]]
expected:
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "linux": [PASS, TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:case=716;type="f16";wgSize=[128,1,1\]]
expected:
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "linux": [PASS, TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:case=716;type="f16";wgSize=[64,2,1\]]
expected:
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "linux": [PASS, TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:case=716;type="f32";wgSize=[128,1,1\]]
expected:
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "linux": [PASS, TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:case=716;type="f32";wgSize=[64,2,1\]]
expected:
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "linux": [PASS, TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:case=717;type="f16";wgSize=[128,1,1\]]
expected:
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "linux": [PASS, TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:case=717;type="f16";wgSize=[64,2,1\]]
expected:
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "linux": [PASS, TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:case=717;type="f32";wgSize=[128,1,1\]]
expected:
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "linux": [PASS, TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:case=717;type="f32";wgSize=[64,2,1\]]
expected:
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "linux": [PASS, TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:case=718;type="f16";wgSize=[128,1,1\]]
expected:
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "linux": [PASS, TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:case=718;type="f16";wgSize=[64,2,1\]]
expected:
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "linux": [PASS, TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:case=718;type="f32";wgSize=[128,1,1\]]
expected:
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "linux": [PASS, TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:case=718;type="f32";wgSize=[64,2,1\]]
expected:
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "linux": [PASS, TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:case=719;type="f16";wgSize=[128,1,1\]]
@@ -9079,8 +9060,7 @@
[:case=719;type="f32";wgSize=[128,1,1\]]
expected:
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "linux": [PASS, TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:case=719;type="f32";wgSize=[64,2,1\]]

View File

@@ -2701,7 +2701,7 @@
[:stage="c";format="bc5-rg-snorm";filt="linear";mode="m"]
expected:
if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
if os == "linux": [PASS, TIMEOUT, NOTRUN]
[:stage="c";format="bc5-rg-snorm";filt="linear";mode="r"]
expected:
@@ -2745,27 +2745,27 @@
[:stage="c";format="bc7-rgba-unorm";filt="linear";mode="c"]
expected:
if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
if os == "linux": [PASS, TIMEOUT, NOTRUN]
[:stage="c";format="bc7-rgba-unorm";filt="linear";mode="m"]
expected:
if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
if os == "linux": [PASS, TIMEOUT, NOTRUN]
[:stage="c";format="bc7-rgba-unorm";filt="linear";mode="r"]
expected:
if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
if os == "linux": [PASS, TIMEOUT, NOTRUN]
[:stage="c";format="bc7-rgba-unorm";filt="nearest";mode="c"]
expected:
if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
if os == "linux": [PASS, TIMEOUT, NOTRUN]
[:stage="c";format="bc7-rgba-unorm";filt="nearest";mode="m"]
expected:
if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
if os == "linux": [PASS, TIMEOUT, NOTRUN]
[:stage="c";format="bc7-rgba-unorm";filt="nearest";mode="r"]
expected:
if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
if os == "linux": [PASS, TIMEOUT, NOTRUN]
[:stage="c";format="bc7-rgba-unorm-srgb";filt="linear";mode="c"]
expected:

View File

@@ -3058,12 +3058,20 @@
if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
[:stage="v";format="rg8sint"]
expected:
if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
[:stage="v";format="rg8snorm"]
expected:
if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
[:stage="v";format="rg8uint"]
expected:
if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
[:stage="v";format="rg8unorm"]
expected:
if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
[:stage="v";format="rgb10a2uint"]
expected:
@@ -3107,13 +3115,15 @@
[:stage="v";format="rgba8snorm"]
expected:
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
[:stage="v";format="rgba8uint"]
expected:
if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
[:stage="v";format="rgba8unorm"]
expected:
if os == "mac" and debug: [PASS, TIMEOUT, NOTRUN]
[:stage="v";format="rgba8unorm-srgb"]
expected:

View File

@@ -1556,11 +1556,8 @@
[:format="depth32float";filt="linear";modeU="r";modeV="m";offset=true]
expected:
if os == "win" and debug: [FAIL, TIMEOUT, NOTRUN]
if os == "win" and not debug: FAIL
if os == "linux" and debug: [FAIL, TIMEOUT, NOTRUN]
if os == "linux" and not debug: FAIL
if os == "mac": FAIL
if debug: [FAIL, TIMEOUT, NOTRUN]
if not debug: FAIL
[:format="depth32float";filt="linear";modeU="r";modeV="r";offset=false]
expected:

View File

@@ -2781,6 +2781,8 @@
if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
[:stage="c";format="bc1-rgba-unorm";dim="3d";filt="linear"]
expected:
if os == "mac": FAIL
[:stage="c";format="bc1-rgba-unorm";dim="3d";filt="nearest"]
@@ -2791,6 +2793,8 @@
[:stage="c";format="bc1-rgba-unorm";dim="cube";filt="nearest"]
[:stage="c";format="bc1-rgba-unorm-srgb";dim="3d";filt="linear"]
expected:
if os == "mac": FAIL
[:stage="c";format="bc1-rgba-unorm-srgb";dim="3d";filt="nearest"]
@@ -2801,6 +2805,8 @@
[:stage="c";format="bc1-rgba-unorm-srgb";dim="cube";filt="nearest"]
[:stage="c";format="bc2-rgba-unorm";dim="3d";filt="linear"]
expected:
if os == "mac": FAIL
[:stage="c";format="bc2-rgba-unorm";dim="3d";filt="nearest"]
@@ -2811,6 +2817,8 @@
[:stage="c";format="bc2-rgba-unorm";dim="cube";filt="nearest"]
[:stage="c";format="bc2-rgba-unorm-srgb";dim="3d";filt="linear"]
expected:
if os == "mac": FAIL
[:stage="c";format="bc2-rgba-unorm-srgb";dim="3d";filt="nearest"]
@@ -2821,6 +2829,8 @@
[:stage="c";format="bc2-rgba-unorm-srgb";dim="cube";filt="nearest"]
[:stage="c";format="bc3-rgba-unorm";dim="3d";filt="linear"]
expected:
if os == "mac": FAIL
[:stage="c";format="bc3-rgba-unorm";dim="3d";filt="nearest"]
@@ -2831,6 +2841,8 @@
[:stage="c";format="bc3-rgba-unorm";dim="cube";filt="nearest"]
[:stage="c";format="bc3-rgba-unorm-srgb";dim="3d";filt="linear"]
expected:
if os == "mac": FAIL
[:stage="c";format="bc3-rgba-unorm-srgb";dim="3d";filt="nearest"]
@@ -2841,6 +2853,8 @@
[:stage="c";format="bc3-rgba-unorm-srgb";dim="cube";filt="nearest"]
[:stage="c";format="bc4-r-snorm";dim="3d";filt="linear"]
expected:
if os == "mac": FAIL
[:stage="c";format="bc4-r-snorm";dim="3d";filt="nearest"]
@@ -2851,6 +2865,8 @@
[:stage="c";format="bc4-r-snorm";dim="cube";filt="nearest"]
[:stage="c";format="bc4-r-unorm";dim="3d";filt="linear"]
expected:
if os == "mac": FAIL
[:stage="c";format="bc4-r-unorm";dim="3d";filt="nearest"]
@@ -2861,6 +2877,8 @@
[:stage="c";format="bc4-r-unorm";dim="cube";filt="nearest"]
[:stage="c";format="bc5-rg-snorm";dim="3d";filt="linear"]
expected:
if os == "mac": FAIL
[:stage="c";format="bc5-rg-snorm";dim="3d";filt="nearest"]
@@ -2871,6 +2889,8 @@
[:stage="c";format="bc5-rg-snorm";dim="cube";filt="nearest"]
[:stage="c";format="bc5-rg-unorm";dim="3d";filt="linear"]
expected:
if os == "mac": FAIL
[:stage="c";format="bc5-rg-unorm";dim="3d";filt="nearest"]
@@ -2881,6 +2901,8 @@
[:stage="c";format="bc5-rg-unorm";dim="cube";filt="nearest"]
[:stage="c";format="bc7-rgba-unorm";dim="3d";filt="linear"]
expected:
if os == "mac": FAIL
[:stage="c";format="bc7-rgba-unorm";dim="3d";filt="nearest"]
@@ -2891,6 +2913,8 @@
[:stage="c";format="bc7-rgba-unorm";dim="cube";filt="nearest"]
[:stage="c";format="bc7-rgba-unorm-srgb";dim="3d";filt="linear"]
expected:
if os == "mac": FAIL
[:stage="c";format="bc7-rgba-unorm-srgb";dim="3d";filt="nearest"]
@@ -2950,12 +2974,18 @@
expected: FAIL
[:stage="c";format="eac-r11snorm";dim="3d";filt="linear"]
expected:
if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
[:stage="c";format="eac-r11snorm";dim="3d";filt="nearest"]
[:stage="c";format="eac-r11snorm";dim="cube";filt="linear"]
expected:
if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
[:stage="c";format="eac-r11snorm";dim="cube";filt="nearest"]
expected:
if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
[:stage="c";format="eac-r11unorm";dim="3d";filt="linear"]
@@ -2982,8 +3012,12 @@
if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
[:stage="c";format="eac-rg11unorm";dim="3d";filt="linear"]
expected:
if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
[:stage="c";format="eac-rg11unorm";dim="3d";filt="nearest"]
expected:
if os == "linux" and debug: [PASS, TIMEOUT, NOTRUN]
[:stage="c";format="eac-rg11unorm";dim="cube";filt="linear"]
expected:
@@ -4810,392 +4844,392 @@
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-4x4-unorm";dim="3d";filt="nearest"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-4x4-unorm";dim="cube";filt="linear"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-4x4-unorm";dim="cube";filt="nearest"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-4x4-unorm-srgb";dim="3d";filt="linear"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-4x4-unorm-srgb";dim="3d";filt="nearest"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-4x4-unorm-srgb";dim="cube";filt="linear"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-4x4-unorm-srgb";dim="cube";filt="nearest"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-5x4-unorm";dim="3d";filt="linear"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-5x4-unorm";dim="3d";filt="nearest"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-5x4-unorm";dim="cube";filt="linear"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-5x4-unorm";dim="cube";filt="nearest"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-5x4-unorm-srgb";dim="3d";filt="linear"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-5x4-unorm-srgb";dim="3d";filt="nearest"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-5x4-unorm-srgb";dim="cube";filt="linear"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-5x4-unorm-srgb";dim="cube";filt="nearest"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-5x5-unorm";dim="3d";filt="linear"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-5x5-unorm";dim="3d";filt="nearest"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-5x5-unorm";dim="cube";filt="linear"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-5x5-unorm";dim="cube";filt="nearest"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-5x5-unorm-srgb";dim="3d";filt="linear"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-5x5-unorm-srgb";dim="3d";filt="nearest"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-5x5-unorm-srgb";dim="cube";filt="linear"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-5x5-unorm-srgb";dim="cube";filt="nearest"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-6x5-unorm";dim="3d";filt="linear"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-6x5-unorm";dim="3d";filt="nearest"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-6x5-unorm";dim="cube";filt="linear"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-6x5-unorm";dim="cube";filt="nearest"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-6x5-unorm-srgb";dim="3d";filt="linear"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-6x5-unorm-srgb";dim="3d";filt="nearest"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-6x5-unorm-srgb";dim="cube";filt="linear"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-6x5-unorm-srgb";dim="cube";filt="nearest"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-6x6-unorm";dim="3d";filt="linear"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-6x6-unorm";dim="3d";filt="nearest"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-6x6-unorm";dim="cube";filt="linear"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-6x6-unorm";dim="cube";filt="nearest"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-6x6-unorm-srgb";dim="3d";filt="linear"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-6x6-unorm-srgb";dim="3d";filt="nearest"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-6x6-unorm-srgb";dim="cube";filt="linear"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-6x6-unorm-srgb";dim="cube";filt="nearest"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-8x5-unorm";dim="3d";filt="linear"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-8x5-unorm";dim="3d";filt="nearest"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-8x5-unorm";dim="cube";filt="linear"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-8x5-unorm";dim="cube";filt="nearest"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-8x5-unorm-srgb";dim="3d";filt="linear"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-8x5-unorm-srgb";dim="3d";filt="nearest"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-8x5-unorm-srgb";dim="cube";filt="linear"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-8x5-unorm-srgb";dim="cube";filt="nearest"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-8x6-unorm";dim="3d";filt="linear"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-8x6-unorm";dim="3d";filt="nearest"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-8x6-unorm";dim="cube";filt="linear"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-8x6-unorm";dim="cube";filt="nearest"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-8x6-unorm-srgb";dim="3d";filt="linear"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-8x6-unorm-srgb";dim="3d";filt="nearest"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-8x6-unorm-srgb";dim="cube";filt="linear"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-8x6-unorm-srgb";dim="cube";filt="nearest"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-8x8-unorm";dim="3d";filt="linear"]
expected:
@@ -5210,7 +5244,7 @@
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="astc-8x8-unorm";dim="cube";filt="linear"]
expected:
@@ -5350,6 +5384,7 @@
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac" and not debug: [PASS, TIMEOUT, NOTRUN]
[:stage="v";format="bc2-rgba-unorm-srgb";dim="3d";filt="nearest"]
expected:
@@ -5363,14 +5398,14 @@
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="bc2-rgba-unorm-srgb";dim="cube";filt="nearest"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="bc3-rgba-unorm";dim="3d";filt="linear"]
expected:
@@ -5385,7 +5420,7 @@
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="bc3-rgba-unorm";dim="cube";filt="linear"]
expected:
@@ -5456,14 +5491,14 @@
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="bc4-r-snorm";dim="cube";filt="nearest"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="bc4-r-unorm";dim="3d";filt="linear"]
expected:
@@ -5502,112 +5537,112 @@
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="bc5-rg-snorm";dim="3d";filt="nearest"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="bc5-rg-snorm";dim="cube";filt="linear"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="bc5-rg-snorm";dim="cube";filt="nearest"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="bc5-rg-unorm";dim="3d";filt="linear"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="bc5-rg-unorm";dim="3d";filt="nearest"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="bc5-rg-unorm";dim="cube";filt="linear"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="bc5-rg-unorm";dim="cube";filt="nearest"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="bc7-rgba-unorm";dim="3d";filt="linear"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="bc7-rgba-unorm";dim="3d";filt="nearest"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="bc7-rgba-unorm";dim="cube";filt="linear"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="bc7-rgba-unorm";dim="cube";filt="nearest"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="bc7-rgba-unorm-srgb";dim="3d";filt="linear"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="bc7-rgba-unorm-srgb";dim="3d";filt="nearest"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="bc7-rgba-unorm-srgb";dim="cube";filt="linear"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="bc7-rgba-unorm-srgb";dim="cube";filt="nearest"]
expected:
if os == "win" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and debug: [TIMEOUT, NOTRUN]
if os == "linux" and not debug: [PASS, TIMEOUT, NOTRUN]
if os == "mac" and debug: [TIMEOUT, NOTRUN]
if os == "mac": [TIMEOUT, NOTRUN]
[:stage="v";format="bgra8unorm";dim="3d";filt="linear"]
expected:

File diff suppressed because one or more lines are too long

View File

@@ -6,5 +6,7 @@ fn main() {
msl_out: { any(feature = "msl-out", all(target_vendor = "apple", feature = "msl-out-if-target-apple")) },
spv_out: { feature = "spv-out" },
wgsl_out: { feature = "wgsl-out" },
std: { any(test, spv_out, feature = "spv-in", feature = "wgsl-in", feature = "stderr") },
no_std: { not(std) },
}
}

View File

@@ -1,4 +1,4 @@
use std::sync::LazyLock;
use crate::racy_lock::RacyLock;
use hashbrown::HashSet;
@@ -499,7 +499,7 @@ pub const RESERVED_KEYWORDS: &[&str] = &[
/// significant time during [`Namer::reset`](crate::proc::Namer::reset).
///
/// See <https://github.com/gfx-rs/wgpu/pull/7338> for benchmarks.
pub static RESERVED_KEYWORD_SET: LazyLock<HashSet<&'static str>> = LazyLock::new(|| {
pub static RESERVED_KEYWORD_SET: RacyLock<HashSet<&'static str>> = RacyLock::new(|| {
let mut set = HashSet::default();
set.reserve(RESERVED_KEYWORDS.len());
for &word in RESERVED_KEYWORDS {

View File

@@ -349,7 +349,8 @@ pub struct PipelineOptions {
pub shader_stage: ShaderStage,
/// The name of the entry point.
///
/// If no entry point that matches is found while creating a [`Writer`], a error will be thrown.
/// If no entry point that matches is found while creating a [`Writer`], an
/// error will be thrown.
pub entry_point: String,
/// How many views to render to, if doing multiview rendering.
pub multiview: Option<core::num::NonZeroU32>,

View File

@@ -1,4 +1,4 @@
use std::sync::LazyLock;
use crate::racy_lock::RacyLock;
use hashbrown::HashSet;
@@ -924,7 +924,7 @@ pub const TYPES: &[&str] = &{
/// significant time during [`Namer::reset`](crate::proc::Namer::reset).
///
/// See <https://github.com/gfx-rs/wgpu/pull/7338> for benchmarks.
pub static RESERVED_SET: LazyLock<HashSet<&'static str>> = LazyLock::new(|| {
pub static RESERVED_SET: RacyLock<HashSet<&'static str>> = RacyLock::new(|| {
let mut set = HashSet::default();
set.reserve(RESERVED.len() + TYPES.len());
for &word in RESERVED {

View File

@@ -119,7 +119,7 @@ use core::fmt::Error as FmtError;
use thiserror::Error;
use crate::{back, proc};
use crate::{back, ir, proc};
#[derive(Copy, Clone, Debug, Default, PartialEq, Eq, Hash)]
#[cfg_attr(feature = "serialize", derive(serde::Serialize))]
@@ -434,6 +434,22 @@ pub struct ReflectionInfo {
pub entry_point_names: Vec<Result<String, EntryPointError>>,
}
/// A subset of options that are meant to be changed per pipeline.
#[derive(Debug, Default, Clone)]
#[cfg_attr(feature = "serialize", derive(serde::Serialize))]
#[cfg_attr(feature = "deserialize", derive(serde::Deserialize))]
#[cfg_attr(feature = "deserialize", serde(default))]
pub struct PipelineOptions {
/// The entry point to write.
///
/// Entry points are identified by a shader stage specification,
/// and a name.
///
/// If `None`, all entry points will be written. If `Some` and the entry
/// point is not found, an error will be thrown while writing.
pub entry_point: Option<(ir::ShaderStage, String)>,
}
#[derive(Error, Debug)]
pub enum Error {
#[error(transparent)]
@@ -448,6 +464,8 @@ pub enum Error {
Override,
#[error(transparent)]
ResolveArraySizeError(#[from] proc::ResolveArraySizeError),
#[error("entry point with stage {0:?} and name '{1}' not found")]
EntryPointNotFound(ir::ShaderStage, String),
}
#[derive(PartialEq, Eq, Hash)]
@@ -519,8 +537,10 @@ pub struct Writer<'a, W> {
namer: proc::Namer,
/// HLSL backend options
options: &'a Options,
/// Per-stage backend options
pipeline_options: &'a PipelineOptions,
/// Information about entry point arguments and result types.
entry_point_io: Vec<writer::EntryPointInterface>,
entry_point_io: crate::FastHashMap<usize, writer::EntryPointInterface>,
/// Set of expressions that have associated temporary variables
named_expressions: crate::NamedExpressions,
wrapped: Wrapped,

View File

@@ -12,10 +12,10 @@ use super::{
WrappedZeroValue,
},
storage::StoreValue,
BackendResult, Error, FragmentEntryPoint, Options, ShaderModel,
BackendResult, Error, FragmentEntryPoint, Options, PipelineOptions, ShaderModel,
};
use crate::{
back::{self, Baked},
back::{self, get_entry_points, Baked},
common,
proc::{self, index, NameKey},
valid, Handle, Module, RayQueryFunction, Scalar, ScalarKind, ShaderStage, TypeInner,
@@ -123,13 +123,14 @@ struct BindingArraySamplerInfo {
}
impl<'a, W: fmt::Write> super::Writer<'a, W> {
pub fn new(out: W, options: &'a Options) -> Self {
pub fn new(out: W, options: &'a Options, pipeline_options: &'a PipelineOptions) -> Self {
Self {
out,
names: crate::FastHashMap::default(),
namer: proc::Namer::default(),
options,
entry_point_io: Vec::new(),
pipeline_options,
entry_point_io: crate::FastHashMap::default(),
named_expressions: crate::NamedExpressions::default(),
wrapped: super::Wrapped::default(),
written_committed_intersection: false,
@@ -387,8 +388,12 @@ impl<'a, W: fmt::Write> super::Writer<'a, W> {
writeln!(self.out)?;
}
let ep_range = get_entry_points(module, self.pipeline_options.entry_point.as_ref())
.map_err(|(stage, name)| Error::EntryPointNotFound(stage, name))?;
// Write all entry points wrapped structs
for (index, ep) in module.entry_points.iter().enumerate() {
for index in ep_range.clone() {
let ep = &module.entry_points[index];
let ep_name = self.names[&NameKey::EntryPoint(index as u16)].clone();
let ep_io = self.write_ep_interface(
module,
@@ -397,7 +402,7 @@ impl<'a, W: fmt::Write> super::Writer<'a, W> {
&ep_name,
fragment_entry_point,
)?;
self.entry_point_io.push(ep_io);
self.entry_point_io.insert(index, ep_io);
}
// Write all regular functions
@@ -442,10 +447,11 @@ impl<'a, W: fmt::Write> super::Writer<'a, W> {
writeln!(self.out)?;
}
let mut entry_point_names = Vec::with_capacity(module.entry_points.len());
let mut translated_ep_names = Vec::with_capacity(ep_range.len());
// Write all entry points
for (index, ep) in module.entry_points.iter().enumerate() {
for index in ep_range {
let ep = &module.entry_points[index];
let info = module_info.get_entry_point(index);
if !self.options.fake_missing_bindings {
@@ -462,7 +468,7 @@ impl<'a, W: fmt::Write> super::Writer<'a, W> {
}
}
if let Some(err) = ep_error {
entry_point_names.push(Err(err));
translated_ep_names.push(Err(err));
continue;
}
}
@@ -493,10 +499,12 @@ impl<'a, W: fmt::Write> super::Writer<'a, W> {
writeln!(self.out)?;
}
entry_point_names.push(Ok(name));
translated_ep_names.push(Ok(name));
}
Ok(super::ReflectionInfo { entry_point_names })
Ok(super::ReflectionInfo {
entry_point_names: translated_ep_names,
})
}
fn write_modifier(&mut self, binding: &crate::Binding) -> BackendResult {
@@ -816,7 +824,13 @@ impl<'a, W: fmt::Write> super::Writer<'a, W> {
ep_index: u16,
) -> BackendResult {
let ep = &module.entry_points[ep_index as usize];
let ep_input = match self.entry_point_io[ep_index as usize].input.take() {
let ep_input = match self
.entry_point_io
.get_mut(&(ep_index as usize))
.unwrap()
.input
.take()
{
Some(ep_input) => ep_input,
None => return Ok(()),
};
@@ -1432,7 +1446,9 @@ impl<'a, W: fmt::Write> super::Writer<'a, W> {
}
}
back::FunctionType::EntryPoint(index) => {
if let Some(ref ep_output) = self.entry_point_io[index as usize].output {
if let Some(ref ep_output) =
self.entry_point_io.get(&(index as usize)).unwrap().output
{
write!(self.out, "{}", ep_output.ty_name)?;
} else {
self.write_type(module, result.ty)?;
@@ -1479,7 +1495,9 @@ impl<'a, W: fmt::Write> super::Writer<'a, W> {
}
}
back::FunctionType::EntryPoint(ep_index) => {
if let Some(ref ep_input) = self.entry_point_io[ep_index as usize].input {
if let Some(ref ep_input) =
self.entry_point_io.get(&(ep_index as usize)).unwrap().input
{
write!(self.out, "{} {}", ep_input.ty_name, ep_input.arg_name)?;
} else {
let stage = module.entry_points[ep_index as usize].stage;
@@ -1501,7 +1519,12 @@ impl<'a, W: fmt::Write> super::Writer<'a, W> {
}
}
if need_workgroup_variables_initialization {
if self.entry_point_io[ep_index as usize].input.is_some()
if self
.entry_point_io
.get(&(ep_index as usize))
.unwrap()
.input
.is_some()
|| !func.arguments.is_empty()
{
write!(self.out, ", ")?;
@@ -1870,9 +1893,12 @@ impl<'a, W: fmt::Write> super::Writer<'a, W> {
// for entry point returns, we may need to reshuffle the outputs into a different struct
let ep_output = match func_ctx.ty {
back::FunctionType::Function(_) => None,
back::FunctionType::EntryPoint(index) => {
self.entry_point_io[index as usize].output.as_ref()
}
back::FunctionType::EntryPoint(index) => self
.entry_point_io
.get(&(index as usize))
.unwrap()
.output
.as_ref(),
};
let final_name = match ep_output {
Some(ep_output) => {

View File

@@ -79,6 +79,33 @@ impl core::fmt::Display for Level {
}
}
/// Locate the entry point(s) to write.
///
/// If `entry_point` is given, and the specified entry point exists, returns a
/// length-1 `Range` containing the index of that entry point. If no
/// `entry_point` is given, returns the complete range of entry point indices.
/// If `entry_point` is given but does not exist, returns an error.
#[cfg(any(hlsl_out, msl_out))]
fn get_entry_points(
module: &crate::ir::Module,
entry_point: Option<&(crate::ir::ShaderStage, String)>,
) -> Result<core::ops::Range<usize>, (crate::ir::ShaderStage, String)> {
use alloc::borrow::ToOwned;
if let Some(&(stage, ref name)) = entry_point {
let Some(ep_index) = module
.entry_points
.iter()
.position(|ep| ep.stage == stage && ep.name == *name)
else {
return Err((stage, name.to_owned()));
};
Ok(ep_index..ep_index + 1)
} else {
Ok(0..module.entry_points.len())
}
}
/// Whether we're generating an entry point or a regular function.
///
/// Backend languages often require different code for a [`Function`]

View File

@@ -1,4 +1,4 @@
use std::sync::LazyLock;
use crate::racy_lock::RacyLock;
use hashbrown::HashSet;
@@ -360,7 +360,7 @@ pub const RESERVED: &[&str] = &[
/// significant time during [`Namer::reset`](crate::proc::Namer::reset).
///
/// See <https://github.com/gfx-rs/wgpu/pull/7338> for benchmarks.
pub static RESERVED_SET: LazyLock<HashSet<&'static str>> = LazyLock::new(|| {
pub static RESERVED_SET: RacyLock<HashSet<&'static str>> = RacyLock::new(|| {
let mut set = HashSet::default();
set.reserve(RESERVED.len());
for &word in RESERVED {

View File

@@ -52,7 +52,7 @@ use alloc::{
};
use core::fmt::{Error as FmtError, Write};
use crate::{arena::Handle, proc::index, valid::ModuleInfo};
use crate::{arena::Handle, ir, proc::index, valid::ModuleInfo};
mod keywords;
pub mod sampler;
@@ -184,7 +184,7 @@ pub enum Error {
#[error("can not use writeable storage buffers in fragment stage prior to MSL 1.2")]
UnsupportedWriteableStorageBuffer,
#[error("can not use writeable storage textures in {0:?} stage prior to MSL 1.2")]
UnsupportedWriteableStorageTexture(crate::ShaderStage),
UnsupportedWriteableStorageTexture(ir::ShaderStage),
#[error("can not use read-write storage textures prior to MSL 1.2")]
UnsupportedRWStorageTexture,
#[error("array of '{0}' is not supported for target MSL version")]
@@ -199,6 +199,8 @@ pub enum Error {
UnsupportedBitCast(crate::TypeInner),
#[error(transparent)]
ResolveArraySizeError(#[from] crate::proc::ResolveArraySizeError),
#[error("entry point with stage {0:?} and name '{1}' not found")]
EntryPointNotFound(ir::ShaderStage, String),
}
#[derive(Clone, Debug, PartialEq, thiserror::Error)]
@@ -420,6 +422,15 @@ pub struct VertexBufferMapping {
#[cfg_attr(feature = "deserialize", derive(serde::Deserialize))]
#[cfg_attr(feature = "deserialize", serde(default))]
pub struct PipelineOptions {
/// The entry point to write.
///
/// Entry points are identified by a shader stage specification,
/// and a name.
///
/// If `None`, all entry points will be written. If `Some` and the entry
/// point is not found, an error will be thrown while writing.
pub entry_point: Option<(ir::ShaderStage, String)>,
/// Allow `BuiltIn::PointSize` and inject it if doesn't exist.
///
/// Metal doesn't like this for non-point primitive topologies and requires it for
@@ -737,5 +748,5 @@ pub fn write_string(
#[test]
fn test_error_size() {
assert_eq!(size_of::<Error>(), 32);
assert_eq!(size_of::<Error>(), 40);
}

View File

@@ -16,7 +16,7 @@ use half::f16;
use super::{sampler as sm, Error, LocationMode, Options, PipelineOptions, TranslationInfo};
use crate::{
arena::{Handle, HandleSet},
back::{self, Baked},
back::{self, get_entry_points, Baked},
common,
proc::{
self,
@@ -5872,10 +5872,15 @@ template <typename A>
self.named_expressions.clear();
}
let ep_range = get_entry_points(module, pipeline_options.entry_point.as_ref())
.map_err(|(stage, name)| Error::EntryPointNotFound(stage, name))?;
let mut info = TranslationInfo {
entry_point_names: Vec::with_capacity(module.entry_points.len()),
entry_point_names: Vec::with_capacity(ep_range.len()),
};
for (ep_index, ep) in module.entry_points.iter().enumerate() {
for ep_index in ep_range {
let ep = &module.entry_points[ep_index];
let fun = &ep.function;
let fun_info = mod_info.get_entry_point(ep_index);
let mut ep_error = None;
@@ -7076,8 +7081,8 @@ fn test_stack_size() {
}
let stack_size = addresses_end - addresses_start;
// check the size (in debug only)
// last observed macOS value: 20528 (CI)
if !(11000..=25000).contains(&stack_size) {
// last observed macOS value: 25904 (CI), 2025-04-29
if !(11000..=27000).contains(&stack_size) {
panic!("`put_expression` stack size {stack_size} has changed!");
}
}

View File

@@ -16,6 +16,9 @@ use crate::{
Span, Statement, TypeInner, WithSpan,
};
#[cfg(no_std)]
use num_traits::float::FloatCore as _;
#[derive(Error, Debug, Clone)]
#[cfg_attr(test, derive(PartialEq))]
pub enum PipelineConstantError {

View File

@@ -14,7 +14,7 @@ use alloc::string::{String, ToString};
///
/// - If a type's WGSL form requires dynamic formatting, so that
/// returning a `&'static str` isn't feasible, consider implementing
/// [`std::fmt::Display`] on some wrapper type instead.
/// [`core::fmt::Display`] on some wrapper type instead.
pub trait ToWgsl: Sized {
/// Return WGSL source code representation of `self`.
fn to_wgsl(self) -> &'static str;
@@ -32,7 +32,7 @@ pub trait ToWgsl: Sized {
///
/// - If a type's WGSL form requires dynamic formatting, so that
/// returning a `&'static str` isn't feasible, consider implementing
/// [`std::fmt::Display`] on some wrapper type instead.
/// [`core::fmt::Display`] on some wrapper type instead.
pub trait TryToWgsl: Sized {
/// Return the WGSL form of `self` as a `'static` string.
///

View File

@@ -4,7 +4,7 @@ Keywords for [WGSL][wgsl] (WebGPU Shading Language).
[wgsl]: https://gpuweb.github.io/gpuweb/wgsl.html
*/
use std::sync::LazyLock;
use crate::racy_lock::RacyLock;
use hashbrown::HashSet;
@@ -238,7 +238,7 @@ pub const RESERVED: &[&str] = &[
/// significant time during [`Namer::reset`](crate::proc::Namer::reset).
///
/// See <https://github.com/gfx-rs/wgpu/pull/7338> for benchmarks.
pub static RESERVED_SET: LazyLock<HashSet<&'static str>> = LazyLock::new(|| {
pub static RESERVED_SET: RacyLock<HashSet<&'static str>> = RacyLock::new(|| {
let mut set = HashSet::default();
set.reserve(RESERVED.len());
for &word in RESERVED {

View File

@@ -100,20 +100,7 @@ void main() {
)]
#![no_std]
#[cfg(any(
test,
spv_out,
// Need OnceLock
hlsl_out,
msl_out,
wgsl_out,
feature = "spv-in",
feature = "wgsl-in",
feature = "stderr",
))]
#[cfg(std)]
extern crate std;
extern crate alloc;
@@ -130,6 +117,7 @@ pub mod ir;
pub mod keywords;
mod non_max_u32;
pub mod proc;
mod racy_lock;
mod span;
pub mod valid;

41
third_party/rust/naga/src/racy_lock.rs vendored Normal file
View File

@@ -0,0 +1,41 @@
#![cfg_attr(
not(any(glsl_out, hlsl_out, msl_out, feature = "wgsl-in", wgsl_out)),
expect(
dead_code,
reason = "RacyLock is only required for the above configurations"
)
)]
use alloc::boxed::Box;
use once_cell::race::OnceBox;
/// An alternative to [`LazyLock`] based on [`OnceBox`].
///
/// [`LazyLock`]: https://doc.rust-lang.org/stable/std/sync/struct.LazyLock.html
pub struct RacyLock<T: 'static> {
inner: OnceBox<T>,
init: fn() -> T,
}
impl<T: 'static> RacyLock<T> {
/// Creates a new [`RacyLock`], which will initialize using the provided `init` function.
pub const fn new(init: fn() -> T) -> Self {
Self {
inner: OnceBox::new(),
init,
}
}
/// Loads the internal value, initializing it if required.
pub fn get(&self) -> &T {
self.inner.get_or_init(|| Box::new((self.init)()))
}
}
impl<T: 'static> core::ops::Deref for RacyLock<T> {
type Target = T;
fn deref(&self) -> &Self::Target {
self.get()
}
}

File diff suppressed because one or more lines are too long

View File

@@ -979,6 +979,9 @@ impl Device {
if desc.format.is_bcn() {
self.require_features(wgt::Features::TEXTURE_COMPRESSION_BC_SLICED_3D)
.map_err(|error| CreateTextureError::MissingFeatures(desc.format, error))?;
} else if desc.format.is_astc() {
self.require_features(wgt::Features::TEXTURE_COMPRESSION_ASTC_SLICED_3D)
.map_err(|error| CreateTextureError::MissingFeatures(desc.format, error))?;
} else {
return Err(CreateTextureError::InvalidCompressedDimension(
desc.dimension,

File diff suppressed because one or more lines are too long

View File

@@ -299,9 +299,13 @@ impl super::Device {
&layout.naga_options
};
let pipeline_options = hlsl::PipelineOptions {
entry_point: Some((naga_stage, stage.entry_point.to_string())),
};
//TODO: reuse the writer
let mut source = String::new();
let mut writer = hlsl::Writer::new(&mut source, naga_options);
let mut writer = hlsl::Writer::new(&mut source, naga_options, &pipeline_options);
let reflection_info = {
profiling::scope!("naga::back::hlsl::write");
writer
@@ -315,13 +319,7 @@ impl super::Device {
naga_options.shader_model.to_str()
);
let ep_index = module
.entry_points
.iter()
.position(|ep| ep.stage == naga_stage && ep.name == stage.entry_point)
.ok_or(crate::PipelineError::EntryPoint(naga_stage))?;
let raw_ep = reflection_info.entry_point_names[ep_index]
let raw_ep = reflection_info.entry_point_names[0]
.as_ref()
.map_err(|e| crate::PipelineError::Linkage(stage_bit, format!("{e}")))?;

View File

@@ -531,6 +531,7 @@ impl super::Adapter {
.compressed_texture_astc_supports_ldr_profile()
{
features.insert(wgt::Features::TEXTURE_COMPRESSION_ASTC);
features.insert(wgt::Features::TEXTURE_COMPRESSION_ASTC_SLICED_3D);
}
if context
.glow_context
@@ -543,6 +544,7 @@ impl super::Adapter {
#[cfg(any(native, Emscripten))]
{
features.insert(wgt::Features::TEXTURE_COMPRESSION_ASTC);
features.insert(wgt::Features::TEXTURE_COMPRESSION_ASTC_SLICED_3D);
features.insert(wgt::Features::TEXTURE_COMPRESSION_ASTC_HDR);
}
} else {
@@ -550,6 +552,11 @@ impl super::Adapter {
wgt::Features::TEXTURE_COMPRESSION_ASTC,
extensions.contains("GL_KHR_texture_compression_astc_ldr"),
);
features.set(
wgt::Features::TEXTURE_COMPRESSION_ASTC_SLICED_3D,
extensions.contains("GL_KHR_texture_compression_astc_ldr")
&& extensions.contains("GL_KHR_texture_compression_astc_sliced_3d"),
);
features.set(
wgt::Features::TEXTURE_COMPRESSION_ASTC_HDR,
extensions.contains("GL_KHR_texture_compression_astc_hdr"),

View File

@@ -667,6 +667,8 @@ impl super::PrivateCapabilities {
|| Self::supports_any(device, ASTC_PIXEL_FORMAT_FEATURES),
// A13(Apple6) M1(Apple7) and later always support HDR ASTC pixel formats
format_astc_hdr: family_check && device.supports_family(MTLGPUFamily::Apple6),
// Apple3 and later supports compressed volume texture formats including ASTC Sliced 3D
format_astc_3d: family_check && device.supports_family(MTLGPUFamily::Apple3),
format_any8_unorm_srgb_all: Self::supports_any(device, ANY8_UNORM_SRGB_ALL),
format_any8_unorm_srgb_no_write: !Self::supports_any(device, ANY8_UNORM_SRGB_ALL)
&& !os_is_mac,
@@ -938,6 +940,7 @@ impl super::PrivateCapabilities {
);
features.set(F::TEXTURE_COMPRESSION_ASTC, self.format_astc);
features.set(F::TEXTURE_COMPRESSION_ASTC_HDR, self.format_astc_hdr);
features.set(F::TEXTURE_COMPRESSION_ASTC_SLICED_3D, self.format_astc_3d);
features.set(F::TEXTURE_COMPRESSION_BC, self.format_bc);
features.set(F::TEXTURE_COMPRESSION_BC_SLICED_3D, self.format_bc); // BC guarantees Sliced 3D
features.set(F::TEXTURE_COMPRESSION_ETC2, self.format_eac_etc);

View File

@@ -181,6 +181,7 @@ impl super::Device {
};
let pipeline_options = naga::back::msl::PipelineOptions {
entry_point: Some((naga_stage, stage.entry_point.to_owned())),
allow_and_force_point_size: match primitive_class {
MTLPrimitiveTopologyClass::Point => true,
_ => false,
@@ -223,7 +224,7 @@ impl super::Device {
.position(|ep| ep.stage == naga_stage && ep.name == stage.entry_point)
.ok_or(crate::PipelineError::EntryPoint(naga_stage))?;
let ep = &module.entry_points[ep_index];
let ep_name = info.entry_point_names[ep_index]
let translated_ep_name = info.entry_point_names[0]
.as_ref()
.map_err(|e| crate::PipelineError::Linkage(stage_bit, format!("{}", e)))?;
@@ -233,10 +234,12 @@ impl super::Device {
depth: ep.workgroup_size[2] as _,
};
let function = library.get_function(ep_name, None).map_err(|e| {
log::error!("get_function: {:?}", e);
crate::PipelineError::EntryPoint(naga_stage)
})?;
let function = library
.get_function(translated_ep_name, None)
.map_err(|e| {
log::error!("get_function: {:?}", e);
crate::PipelineError::EntryPoint(naga_stage)
})?;
// collect sizes indices, immutable buffers, and work group memory sizes
let ep_info = &module_info.get_entry_point(ep_index);

View File

@@ -227,6 +227,7 @@ struct PrivateCapabilities {
format_eac_etc: bool,
format_astc: bool,
format_astc_hdr: bool,
format_astc_3d: bool,
format_any8_unorm_srgb_all: bool,
format_any8_unorm_srgb_no_write: bool,
format_any8_snorm_all: bool,

View File

@@ -123,6 +123,10 @@ pub struct PhysicalDeviceFeatures {
/// Features proved by `VK_EXT_mesh_shader`
mesh_shader: Option<vk::PhysicalDeviceMeshShaderFeaturesEXT<'static>>,
/// Features provided by `VK_KHR_shader_integer_dot_product`, promoted to Vulkan 1.3.
shader_integer_dot_product:
Option<vk::PhysicalDeviceShaderIntegerDotProductFeaturesKHR<'static>>,
}
impl PhysicalDeviceFeatures {
@@ -187,6 +191,9 @@ impl PhysicalDeviceFeatures {
if let Some(ref mut feature) = self.mesh_shader {
info = info.push_next(feature);
}
if let Some(ref mut feature) = self.shader_integer_dot_product {
info = info.push_next(feature);
}
info
}
@@ -499,6 +506,16 @@ impl PhysicalDeviceFeatures {
} else {
None
},
shader_integer_dot_product: if device_api_version >= vk::API_VERSION_1_3
|| enabled_extensions.contains(&khr::shader_integer_dot_product::NAME)
{
Some(
vk::PhysicalDeviceShaderIntegerDotProductFeaturesKHR::default()
.shader_integer_dot_product(private_caps.shader_integer_dot_product),
)
} else {
None
},
}
}
@@ -700,6 +717,13 @@ impl PhysicalDeviceFeatures {
);
}
if self.core.texture_compression_astc_ldr != 0 {
features.set(
F::TEXTURE_COMPRESSION_ASTC_SLICED_3D,
supports_astc_3d(instance, phd),
);
}
if let Some((ref f16_i8, ref bit16)) = self.shader_float16 {
features.set(
F::SHADER_F16,
@@ -1006,6 +1030,11 @@ impl PhysicalDeviceProperties {
if requested_features.intersects(wgt::Features::EXPERIMENTAL_MESH_SHADER) {
extensions.push(khr::maintenance4::NAME);
}
// Optional `VK_KHR_shader_integer_dot_product`
if self.supports_extension(khr::shader_integer_dot_product::NAME) {
extensions.push(khr::shader_integer_dot_product::NAME);
}
}
// Optional `VK_KHR_swapchain_mutable_format`
@@ -1496,6 +1525,16 @@ impl super::InstanceShared {
features2 = features2.push_next(next);
}
// `VK_KHR_shader_integer_dot_product` is promoted to 1.3
if capabilities.device_api_version >= vk::API_VERSION_1_3
|| capabilities.supports_extension(khr::shader_integer_dot_product::NAME)
{
let next = features
.shader_integer_dot_product
.insert(vk::PhysicalDeviceShaderIntegerDotProductFeatures::default());
features2 = features2.push_next(next);
}
unsafe { get_device_properties.get_physical_device_features2(phd, &mut features2) };
features2.features
} else {
@@ -1679,6 +1718,9 @@ impl super::Instance {
.properties
.limits
.max_sampler_allocation_count,
shader_integer_dot_product: phd_features
.shader_integer_dot_product
.is_some_and(|ext| ext.shader_integer_dot_product != 0),
};
let capabilities = crate::Capabilities {
limits: phd_capabilities.to_wgpu_limits(),
@@ -1971,13 +2013,24 @@ impl super::Adapter {
if features.contains(wgt::Features::EXPERIMENTAL_RAY_HIT_VERTEX_RETURN) {
capabilities.push(spv::Capability::RayQueryPositionFetchKHR)
}
if self.private_caps.shader_integer_dot_product {
// See <https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_KHR_shader_integer_dot_product.html#_new_spir_v_capabilities>.
capabilities.extend(&[
spv::Capability::DotProductInputAllKHR,
spv::Capability::DotProductInput4x8BitKHR,
spv::Capability::DotProductInput4x8BitPackedKHR,
spv::Capability::DotProductKHR,
]);
}
spv::Options {
lang_version: if features
.intersects(wgt::Features::SUBGROUP | wgt::Features::SUBGROUP_VERTEX)
{
(1, 3)
} else {
(1, 0)
lang_version: match self.phd_capabilities.device_api_version {
// Use maximum supported SPIR-V version according to
// <https://github.com/KhronosGroup/Vulkan-Docs/blob/19b7651/appendices/spirvenv.adoc?plain=1#L21-L40>.
vk::API_VERSION_1_0..vk::API_VERSION_1_1 => (1, 0),
vk::API_VERSION_1_1..vk::API_VERSION_1_2 => (1, 3),
vk::API_VERSION_1_2..vk::API_VERSION_1_3 => (1, 5),
vk::API_VERSION_1_3.. => (1, 6),
_ => unreachable!(),
},
flags,
capabilities: Some(capabilities.iter().cloned().collect()),
@@ -2558,6 +2611,60 @@ fn supports_format(
}
}
fn supports_astc_3d(instance: &ash::Instance, phd: vk::PhysicalDevice) -> bool {
let mut supports = true;
let astc_formats = [
vk::Format::ASTC_4X4_UNORM_BLOCK,
vk::Format::ASTC_4X4_SRGB_BLOCK,
vk::Format::ASTC_5X4_UNORM_BLOCK,
vk::Format::ASTC_5X4_SRGB_BLOCK,
vk::Format::ASTC_5X5_UNORM_BLOCK,
vk::Format::ASTC_5X5_SRGB_BLOCK,
vk::Format::ASTC_6X5_UNORM_BLOCK,
vk::Format::ASTC_6X5_SRGB_BLOCK,
vk::Format::ASTC_6X6_UNORM_BLOCK,
vk::Format::ASTC_6X6_SRGB_BLOCK,
vk::Format::ASTC_8X5_UNORM_BLOCK,
vk::Format::ASTC_8X5_SRGB_BLOCK,
vk::Format::ASTC_8X6_UNORM_BLOCK,
vk::Format::ASTC_8X6_SRGB_BLOCK,
vk::Format::ASTC_8X8_UNORM_BLOCK,
vk::Format::ASTC_8X8_SRGB_BLOCK,
vk::Format::ASTC_10X5_UNORM_BLOCK,
vk::Format::ASTC_10X5_SRGB_BLOCK,
vk::Format::ASTC_10X6_UNORM_BLOCK,
vk::Format::ASTC_10X6_SRGB_BLOCK,
vk::Format::ASTC_10X8_UNORM_BLOCK,
vk::Format::ASTC_10X8_SRGB_BLOCK,
vk::Format::ASTC_10X10_UNORM_BLOCK,
vk::Format::ASTC_10X10_SRGB_BLOCK,
vk::Format::ASTC_12X10_UNORM_BLOCK,
vk::Format::ASTC_12X10_SRGB_BLOCK,
vk::Format::ASTC_12X12_UNORM_BLOCK,
vk::Format::ASTC_12X12_SRGB_BLOCK,
];
for &format in &astc_formats {
let result = unsafe {
instance.get_physical_device_image_format_properties(
phd,
format,
vk::ImageType::TYPE_3D,
vk::ImageTiling::OPTIMAL,
vk::ImageUsageFlags::SAMPLED,
vk::ImageCreateFlags::empty(),
)
};
if result.is_err() {
supports = false;
break;
}
}
supports
}
fn supports_bgra8unorm_storage(
instance: &ash::Instance,
phd: vk::PhysicalDevice,

View File

@@ -528,6 +528,14 @@ struct PrivateCapabilities {
zero_initialize_workgroup_memory: bool,
image_format_list: bool,
maximum_samplers: u32,
/// True if this adapter supports the [`VK_KHR_shader_integer_dot_product`] extension
/// (promoted to Vulkan 1.3).
///
/// This is used to generate optimized code for WGSL's `dot4{I, U}8Packed`.
///
/// [`VK_KHR_shader_integer_dot_product`]: https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_KHR_shader_integer_dot_product.html
shader_integer_dot_product: bool,
}
bitflags::bitflags!(

View File

@@ -1 +1 @@
{"files":{"Cargo.toml":"7b8282d267c10bb9d80708256b57a825f96f9204d101b92d700eae1f3e309b7f","LICENSE.APACHE":"a6cba85bc92e0cff7a450b1d873c0eaa2e9fc96bf472df0247a26bec77bf3ff9","LICENSE.MIT":"c7fea58d1cfe49634cd92e54fc10a9d871f4b275321a4cd8c09e449122caaeb4","src/assertions.rs":"e4d2d40bc1e870a59637f4b9574743e19565a62f6dbcc21cb18a76b666b796eb","src/cast_utils.rs":"33f03a57ccbedef2699f2305bec584c623db1fd28bfdf584d1260da4fbecd529","src/counters.rs":"e2a1c69126bdb6a35f74d5062e89e242eb955014d95c2b9e6e1b03f7b4b5bd98","src/env.rs":"26ffc91867625784159bcf391881187aa92cf92b81b1f40959ce1b96ae6d554d","src/features.rs":"f7976b411c313e2c54261be05c53a60f408f97f6d92dc8fec807352f51071db5","src/instance.rs":"984b152b4653142516b82bc5c3b8bb5e112603d19cf09aa38ede2ca5eb91d706","src/lib.rs":"b5c25adab0d761d927a5fca91918fd0a9c22e377da8acf407274aa2291801c86","src/math.rs":"3046121800bded318b7d219aea401907e7d3bba3b998df6745a71e76f0734de2","src/transfers.rs":"66fbca652e04751f7912d1b75f009d1f6ad83d41ed6c624ca7f7c34b26b480b3"},"package":null}
{"files":{"Cargo.toml":"7b8282d267c10bb9d80708256b57a825f96f9204d101b92d700eae1f3e309b7f","LICENSE.APACHE":"a6cba85bc92e0cff7a450b1d873c0eaa2e9fc96bf472df0247a26bec77bf3ff9","LICENSE.MIT":"c7fea58d1cfe49634cd92e54fc10a9d871f4b275321a4cd8c09e449122caaeb4","src/assertions.rs":"e4d2d40bc1e870a59637f4b9574743e19565a62f6dbcc21cb18a76b666b796eb","src/cast_utils.rs":"33f03a57ccbedef2699f2305bec584c623db1fd28bfdf584d1260da4fbecd529","src/counters.rs":"e2a1c69126bdb6a35f74d5062e89e242eb955014d95c2b9e6e1b03f7b4b5bd98","src/env.rs":"26ffc91867625784159bcf391881187aa92cf92b81b1f40959ce1b96ae6d554d","src/features.rs":"cc131151bf9780300c5cd421f318c61ddfdb482436defcd087d74f745ea53f06","src/instance.rs":"984b152b4653142516b82bc5c3b8bb5e112603d19cf09aa38ede2ca5eb91d706","src/lib.rs":"cb80ab9b775bd6debf9859c532faede5f519ad6625ceb0e21a59e6ffaa674154","src/math.rs":"3046121800bded318b7d219aea401907e7d3bba3b998df6745a71e76f0734de2","src/transfers.rs":"66fbca652e04751f7912d1b75f009d1f6ad83d41ed6c624ca7f7c34b26b480b3"},"package":null}

View File

@@ -37,25 +37,28 @@ mod webgpu_impl {
pub const WEBGPU_FEATURE_TEXTURE_COMPRESSION_ASTC: u64 = 1 << 5;
#[doc(hidden)]
pub const WEBGPU_FEATURE_TIMESTAMP_QUERY: u64 = 1 << 6;
pub const WEBGPU_FEATURE_TEXTURE_COMPRESSION_ASTC_SLICED_3D: u64 = 1 << 6;
#[doc(hidden)]
pub const WEBGPU_FEATURE_INDIRECT_FIRST_INSTANCE: u64 = 1 << 7;
pub const WEBGPU_FEATURE_TIMESTAMP_QUERY: u64 = 1 << 7;
#[doc(hidden)]
pub const WEBGPU_FEATURE_SHADER_F16: u64 = 1 << 8;
pub const WEBGPU_FEATURE_INDIRECT_FIRST_INSTANCE: u64 = 1 << 8;
#[doc(hidden)]
pub const WEBGPU_FEATURE_RG11B10UFLOAT_RENDERABLE: u64 = 1 << 9;
pub const WEBGPU_FEATURE_SHADER_F16: u64 = 1 << 9;
#[doc(hidden)]
pub const WEBGPU_FEATURE_BGRA8UNORM_STORAGE: u64 = 1 << 10;
pub const WEBGPU_FEATURE_RG11B10UFLOAT_RENDERABLE: u64 = 1 << 10;
#[doc(hidden)]
pub const WEBGPU_FEATURE_FLOAT32_FILTERABLE: u64 = 1 << 11;
pub const WEBGPU_FEATURE_BGRA8UNORM_STORAGE: u64 = 1 << 11;
#[doc(hidden)]
pub const WEBGPU_FEATURE_DUAL_SOURCE_BLENDING: u64 = 1 << 12;
pub const WEBGPU_FEATURE_FLOAT32_FILTERABLE: u64 = 1 << 12;
#[doc(hidden)]
pub const WEBGPU_FEATURE_DUAL_SOURCE_BLENDING: u64 = 1 << 13;
}
macro_rules! bitflags_array_impl {
@@ -1294,6 +1297,9 @@ bitflags_array! {
/// Support for this feature guarantees availability of [`TextureUsages::COPY_SRC | TextureUsages::COPY_DST | TextureUsages::TEXTURE_BINDING`] for ASTC formats with Unorm/UnormSrgb channel type.
/// [`Features::TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES`] may enable additional usages.
///
/// This feature does not guarantee availability of sliced 3d textures for ASTC formats.
/// If available, 3d support can be enabled by TEXTURE_COMPRESSION_ASTC_SLICED_3D feature.
///
/// Supported Platforms:
/// - Vulkan on Intel
/// - Mobile (some)
@@ -1301,6 +1307,23 @@ bitflags_array! {
/// This is a web and native feature.
const TEXTURE_COMPRESSION_ASTC = WEBGPU_FEATURE_TEXTURE_COMPRESSION_ASTC;
/// Allows the 3d dimension for textures with ASTC compressed formats.
///
/// This feature must be used in combination with TEXTURE_COMPRESSION_ASTC to enable 3D textures with ASTC compression.
/// It does not enable the ASTC formats by itself.
///
/// Supported Platforms:
/// - Vulkan (some)
/// - Metal on Apple3+
/// - OpenGL/WebGL (some)
///
/// Not Supported:
/// - DX12
///
/// This is a web and native feature.
const TEXTURE_COMPRESSION_ASTC_SLICED_3D = WEBGPU_FEATURE_TEXTURE_COMPRESSION_ASTC_SLICED_3D;
/// Enables use of Timestamp Queries. These queries tell the current gpu timestamp when
/// all work before the query is finished.
///

View File

@@ -2769,6 +2769,13 @@ impl TextureFormat {
self.required_features() == Features::TEXTURE_COMPRESSION_BC
}
/// Returns `true` for ASTC compressed formats.
#[must_use]
pub fn is_astc(&self) -> bool {
self.required_features() == Features::TEXTURE_COMPRESSION_ASTC
|| self.required_features() == Features::TEXTURE_COMPRESSION_ASTC_HDR
}
/// Returns the required features (if any) in order to use the texture.
#[must_use]
pub fn required_features(&self) -> Features {