mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-21 18:59:21 +00:00
Remove some DISABLED tests.
Several of the disabled tests were added for things we may want to add in the future. This CL removes those tests and we can add back if/when we decide to implement the feature. This brings the disabled tests from 69 to 31. Change-Id: I22b66256ce4086f223d3be059450eab1a2ff7693 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/104462 Auto-Submit: Dan Sinclair <dsinclair@chromium.org> Kokoro: Kokoro <noreply+kokoro@google.com> Reviewed-by: Ben Clayton <bclayton@google.com> Commit-Queue: Ben Clayton <bclayton@google.com> Reviewed-by: David Neto <dneto@google.com>
This commit is contained in:
committed by
Dawn LUCI CQ
parent
82023d6980
commit
e89c27c648
@@ -277,86 +277,6 @@ var<private> a : array<f32, 3>;
|
||||
EXPECT_EQ(expect, str(got));
|
||||
}
|
||||
|
||||
// TODO(crbug.com/tint/1177) - Validation currently forbids arrays larger than
|
||||
// 0xffffffff. If WGSL supports 64-bit indexing, re-enable this test.
|
||||
TEST_F(RobustnessTest, DISABLED_LargeArrays_Idx) {
|
||||
auto* src = R"(
|
||||
struct S {
|
||||
a : array<f32, 0x7fffffff>,
|
||||
b : array<f32>,
|
||||
};
|
||||
@group(0) @binding(0) var<storage, read> s : S;
|
||||
|
||||
fn f() {
|
||||
// Signed
|
||||
var i32_a1 : f32 = s.a[ 0x7ffffffe];
|
||||
var i32_a2 : f32 = s.a[ 1];
|
||||
var i32_a3 : f32 = s.a[ 0];
|
||||
var i32_a4 : f32 = s.a[-1];
|
||||
var i32_a5 : f32 = s.a[-0x7fffffff];
|
||||
|
||||
var i32_b1 : f32 = s.b[ 0x7ffffffe];
|
||||
var i32_b2 : f32 = s.b[ 1];
|
||||
var i32_b3 : f32 = s.b[ 0];
|
||||
var i32_b4 : f32 = s.b[-1];
|
||||
var i32_b5 : f32 = s.b[-0x7fffffff];
|
||||
|
||||
// Unsigned
|
||||
var u32_a1 : f32 = s.a[0u];
|
||||
var u32_a2 : f32 = s.a[1u];
|
||||
var u32_a3 : f32 = s.a[0x7ffffffeu];
|
||||
var u32_a4 : f32 = s.a[0x7fffffffu];
|
||||
var u32_a5 : f32 = s.a[0x80000000u];
|
||||
var u32_a6 : f32 = s.a[0xffffffffu];
|
||||
|
||||
var u32_b1 : f32 = s.b[0u];
|
||||
var u32_b2 : f32 = s.b[1u];
|
||||
var u32_b3 : f32 = s.b[0x7ffffffeu];
|
||||
var u32_b4 : f32 = s.b[0x7fffffffu];
|
||||
var u32_b5 : f32 = s.b[0x80000000u];
|
||||
var u32_b6 : f32 = s.b[0xffffffffu];
|
||||
}
|
||||
)";
|
||||
|
||||
auto* expect = R"(
|
||||
struct S {
|
||||
a : array<f32, 2147483647>,
|
||||
b : array<f32>,
|
||||
};
|
||||
|
||||
@group(0) @binding(0) var<storage, read> s : S;
|
||||
|
||||
fn f() {
|
||||
var i32_a1 : f32 = s.a[2147483646];
|
||||
var i32_a2 : f32 = s.a[1];
|
||||
var i32_a3 : f32 = s.a[0];
|
||||
var i32_a4 : f32 = s.a[0];
|
||||
var i32_a5 : f32 = s.a[0];
|
||||
var i32_b1 : f32 = s.b[min(2147483646u, (arrayLength(&(s.b)) - 1u))];
|
||||
var i32_b2 : f32 = s.b[min(1u, (arrayLength(&(s.b)) - 1u))];
|
||||
var i32_b3 : f32 = s.b[min(0u, (arrayLength(&(s.b)) - 1u))];
|
||||
var i32_b4 : f32 = s.b[min(0u, (arrayLength(&(s.b)) - 1u))];
|
||||
var i32_b5 : f32 = s.b[min(0u, (arrayLength(&(s.b)) - 1u))];
|
||||
var u32_a1 : f32 = s.a[0u];
|
||||
var u32_a2 : f32 = s.a[1u];
|
||||
var u32_a3 : f32 = s.a[2147483646u];
|
||||
var u32_a4 : f32 = s.a[2147483646u];
|
||||
var u32_a5 : f32 = s.a[2147483646u];
|
||||
var u32_a6 : f32 = s.a[2147483646u];
|
||||
var u32_b1 : f32 = s.b[min(0u, (arrayLength(&(s.b)) - 1u))];
|
||||
var u32_b2 : f32 = s.b[min(1u, (arrayLength(&(s.b)) - 1u))];
|
||||
var u32_b3 : f32 = s.b[min(2147483646u, (arrayLength(&(s.b)) - 1u))];
|
||||
var u32_b4 : f32 = s.b[min(2147483647u, (arrayLength(&(s.b)) - 1u))];
|
||||
var u32_b5 : f32 = s.b[min(2147483648u, (arrayLength(&(s.b)) - 1u))];
|
||||
var u32_b6 : f32 = s.b[min(4294967295u, (arrayLength(&(s.b)) - 1u))];
|
||||
}
|
||||
)";
|
||||
|
||||
auto got = Run<Robustness>(src);
|
||||
|
||||
EXPECT_EQ(expect, str(got));
|
||||
}
|
||||
|
||||
TEST_F(RobustnessTest, Vector_Idx_Scalar) {
|
||||
auto* src = R"(
|
||||
var<private> a : vec3<f32>;
|
||||
|
||||
@@ -548,49 +548,6 @@ fn another_usage() {
|
||||
EXPECT_EQ(expect, str(got));
|
||||
}
|
||||
|
||||
// This sort of mixed usage isn't handled yet. Not sure if we need to just yet.
|
||||
// If we don't, then the transform should give sensible diagnostics instead of producing invalid
|
||||
// WGSL.
|
||||
// TODO(crbug.com/tint/1595)
|
||||
TEST_F(SpirvAtomicTest, DISABLED_StructComplexMixedUsage) {
|
||||
auto* src = R"(
|
||||
struct S {
|
||||
i : i32,
|
||||
}
|
||||
|
||||
@group(0) @binding(1) var<storage, read_write> s : S;
|
||||
|
||||
fn f() {
|
||||
let x : i32 = s.i;
|
||||
stub_atomicStore_i32(s.i, 1i);
|
||||
s.i = 3i;
|
||||
}
|
||||
)";
|
||||
|
||||
auto* expect =
|
||||
R"(
|
||||
struct S_atomic {
|
||||
i : atomic<i32>,
|
||||
}
|
||||
|
||||
struct S {
|
||||
i : i32,
|
||||
}
|
||||
|
||||
@group(0) @binding(1) var<storage, read_write> s : S_atomic;
|
||||
|
||||
fn f() {
|
||||
let x : i32 = atomicLoad(&s.i);
|
||||
stub_atomicStore_i32(s.i, 1i);
|
||||
atomicStore(&(s.i), 1i);
|
||||
}
|
||||
)";
|
||||
|
||||
auto got = Run(src);
|
||||
|
||||
EXPECT_EQ(expect, str(got));
|
||||
}
|
||||
|
||||
TEST_F(SpirvAtomicTest, AtomicLoad) {
|
||||
auto* src = R"(
|
||||
var<workgroup> wg_u32 : u32;
|
||||
|
||||
Reference in New Issue
Block a user