mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-11 06:27:54 +00:00
Move global var validation from Validator to Resolver
* Moved global variable resolving logic to new function Resolver::GlobalVariable, and moved validation logic there. * Moved global variable-related tests to resolver tests. * Fixed many tests that started failing after this change, mainly because many globals were declared with no storage class. I set most of these to "Input". Bug: tint:642 Change-Id: I0f8ea2091ed2bb3faa358f9497cd884b2994a40f Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/46940 Kokoro: Kokoro <noreply+kokoro@google.com> Reviewed-by: Ben Clayton <bclayton@google.com> Commit-Queue: Antonio Maiorano <amaiorano@google.com>
This commit is contained in:
committed by
Commit Bot service account
parent
4f154a839d
commit
bbbb0edec2
@@ -50,11 +50,11 @@ fn f() -> void {
|
||||
|
||||
TEST_F(BoundArrayAccessorsTest, Array_Idx_Nested_Scalar) {
|
||||
auto* src = R"(
|
||||
var a : array<f32, 3>;
|
||||
var<in> a : array<f32, 3>;
|
||||
|
||||
var b : array<f32, 5>;
|
||||
var<in> b : array<f32, 5>;
|
||||
|
||||
var i : u32;
|
||||
var<in> i : u32;
|
||||
|
||||
fn f() -> void {
|
||||
var c : f32 = a[ b[i] ];
|
||||
@@ -62,11 +62,11 @@ fn f() -> void {
|
||||
)";
|
||||
|
||||
auto* expect = R"(
|
||||
var a : array<f32, 3>;
|
||||
var<in> a : array<f32, 3>;
|
||||
|
||||
var b : array<f32, 5>;
|
||||
var<in> b : array<f32, 5>;
|
||||
|
||||
var i : u32;
|
||||
var<in> i : u32;
|
||||
|
||||
fn f() -> void {
|
||||
var c : f32 = a[min(u32(b[min(u32(i), 4u)]), 2u)];
|
||||
@@ -80,7 +80,7 @@ fn f() -> void {
|
||||
|
||||
TEST_F(BoundArrayAccessorsTest, Array_Idx_Scalar) {
|
||||
auto* src = R"(
|
||||
var a : array<f32, 3>;
|
||||
var<in> a : array<f32, 3>;
|
||||
|
||||
fn f() -> void {
|
||||
var b : f32 = a[1];
|
||||
@@ -88,7 +88,7 @@ fn f() -> void {
|
||||
)";
|
||||
|
||||
auto* expect = R"(
|
||||
var a : array<f32, 3>;
|
||||
var<in> a : array<f32, 3>;
|
||||
|
||||
fn f() -> void {
|
||||
var b : f32 = a[1];
|
||||
@@ -102,9 +102,9 @@ fn f() -> void {
|
||||
|
||||
TEST_F(BoundArrayAccessorsTest, Array_Idx_Expr) {
|
||||
auto* src = R"(
|
||||
var a : array<f32, 3>;
|
||||
var<in> a : array<f32, 3>;
|
||||
|
||||
var c : i32;
|
||||
var<in> c : i32;
|
||||
|
||||
fn f() -> void {
|
||||
var b : f32 = a[c + 2 - 3];
|
||||
@@ -112,9 +112,9 @@ fn f() -> void {
|
||||
)";
|
||||
|
||||
auto* expect = R"(
|
||||
var a : array<f32, 3>;
|
||||
var<in> a : array<f32, 3>;
|
||||
|
||||
var c : i32;
|
||||
var<in> c : i32;
|
||||
|
||||
fn f() -> void {
|
||||
var b : f32 = a[min(u32(((c + 2) - 3)), 2u)];
|
||||
@@ -128,7 +128,7 @@ fn f() -> void {
|
||||
|
||||
TEST_F(BoundArrayAccessorsTest, Array_Idx_Negative) {
|
||||
auto* src = R"(
|
||||
var a : array<f32, 3>;
|
||||
var<in> a : array<f32, 3>;
|
||||
|
||||
fn f() -> void {
|
||||
var b : f32 = a[-1];
|
||||
@@ -136,7 +136,7 @@ fn f() -> void {
|
||||
)";
|
||||
|
||||
auto* expect = R"(
|
||||
var a : array<f32, 3>;
|
||||
var<in> a : array<f32, 3>;
|
||||
|
||||
fn f() -> void {
|
||||
var b : f32 = a[0];
|
||||
@@ -150,7 +150,7 @@ fn f() -> void {
|
||||
|
||||
TEST_F(BoundArrayAccessorsTest, Array_Idx_OutOfBounds) {
|
||||
auto* src = R"(
|
||||
var a : array<f32, 3>;
|
||||
var<in> a : array<f32, 3>;
|
||||
|
||||
fn f() -> void {
|
||||
var b : f32 = a[3];
|
||||
@@ -158,7 +158,7 @@ fn f() -> void {
|
||||
)";
|
||||
|
||||
auto* expect = R"(
|
||||
var a : array<f32, 3>;
|
||||
var<in> a : array<f32, 3>;
|
||||
|
||||
fn f() -> void {
|
||||
var b : f32 = a[2];
|
||||
@@ -172,7 +172,7 @@ fn f() -> void {
|
||||
|
||||
TEST_F(BoundArrayAccessorsTest, Vector_Idx_Scalar) {
|
||||
auto* src = R"(
|
||||
var a : vec3<f32>;
|
||||
var<in> a : vec3<f32>;
|
||||
|
||||
fn f() -> void {
|
||||
var b : f32 = a[1];
|
||||
@@ -180,7 +180,7 @@ fn f() -> void {
|
||||
)";
|
||||
|
||||
auto* expect = R"(
|
||||
var a : vec3<f32>;
|
||||
var<in> a : vec3<f32>;
|
||||
|
||||
fn f() -> void {
|
||||
var b : f32 = a[1];
|
||||
@@ -194,9 +194,9 @@ fn f() -> void {
|
||||
|
||||
TEST_F(BoundArrayAccessorsTest, Vector_Idx_Expr) {
|
||||
auto* src = R"(
|
||||
var a : vec3<f32>;
|
||||
var<in> a : vec3<f32>;
|
||||
|
||||
var c : i32;
|
||||
var<in> c : i32;
|
||||
|
||||
fn f() -> void {
|
||||
var b : f32 = a[c + 2 - 3];
|
||||
@@ -204,9 +204,9 @@ fn f() -> void {
|
||||
)";
|
||||
|
||||
auto* expect = R"(
|
||||
var a : vec3<f32>;
|
||||
var<in> a : vec3<f32>;
|
||||
|
||||
var c : i32;
|
||||
var<in> c : i32;
|
||||
|
||||
fn f() -> void {
|
||||
var b : f32 = a[min(u32(((c + 2) - 3)), 2u)];
|
||||
@@ -220,7 +220,7 @@ fn f() -> void {
|
||||
|
||||
TEST_F(BoundArrayAccessorsTest, Vector_Swizzle_Idx_Scalar) {
|
||||
auto* src = R"(
|
||||
var a : vec3<f32>;
|
||||
var<in> a : vec3<f32>;
|
||||
|
||||
fn f() -> void {
|
||||
var b : f32 = a.xy[2];
|
||||
@@ -228,7 +228,7 @@ fn f() -> void {
|
||||
)";
|
||||
|
||||
auto* expect = R"(
|
||||
var a : vec3<f32>;
|
||||
var<in> a : vec3<f32>;
|
||||
|
||||
fn f() -> void {
|
||||
var b : f32 = a.xy[1];
|
||||
@@ -242,9 +242,9 @@ fn f() -> void {
|
||||
|
||||
TEST_F(BoundArrayAccessorsTest, Vector_Swizzle_Idx_Var) {
|
||||
auto* src = R"(
|
||||
var a : vec3<f32>;
|
||||
var<in> a : vec3<f32>;
|
||||
|
||||
var c : i32;
|
||||
var<in> c : i32;
|
||||
|
||||
fn f() -> void {
|
||||
var b : f32 = a.xy[c];
|
||||
@@ -252,9 +252,9 @@ fn f() -> void {
|
||||
)";
|
||||
|
||||
auto* expect = R"(
|
||||
var a : vec3<f32>;
|
||||
var<in> a : vec3<f32>;
|
||||
|
||||
var c : i32;
|
||||
var<in> c : i32;
|
||||
|
||||
fn f() -> void {
|
||||
var b : f32 = a.xy[min(u32(c), 1u)];
|
||||
@@ -267,9 +267,9 @@ fn f() -> void {
|
||||
}
|
||||
TEST_F(BoundArrayAccessorsTest, Vector_Swizzle_Idx_Expr) {
|
||||
auto* src = R"(
|
||||
var a : vec3<f32>;
|
||||
var<in> a : vec3<f32>;
|
||||
|
||||
var c : i32;
|
||||
var<in> c : i32;
|
||||
|
||||
fn f() -> void {
|
||||
var b : f32 = a.xy[c + 2 - 3];
|
||||
@@ -277,9 +277,9 @@ fn f() -> void {
|
||||
)";
|
||||
|
||||
auto* expect = R"(
|
||||
var a : vec3<f32>;
|
||||
var<in> a : vec3<f32>;
|
||||
|
||||
var c : i32;
|
||||
var<in> c : i32;
|
||||
|
||||
fn f() -> void {
|
||||
var b : f32 = a.xy[min(u32(((c + 2) - 3)), 1u)];
|
||||
@@ -293,7 +293,7 @@ fn f() -> void {
|
||||
|
||||
TEST_F(BoundArrayAccessorsTest, Vector_Idx_Negative) {
|
||||
auto* src = R"(
|
||||
var a : vec3<f32>;
|
||||
var<in> a : vec3<f32>;
|
||||
|
||||
fn f() -> void {
|
||||
var b : f32 = a[-1];
|
||||
@@ -301,7 +301,7 @@ fn f() -> void {
|
||||
)";
|
||||
|
||||
auto* expect = R"(
|
||||
var a : vec3<f32>;
|
||||
var<in> a : vec3<f32>;
|
||||
|
||||
fn f() -> void {
|
||||
var b : f32 = a[0];
|
||||
@@ -315,7 +315,7 @@ fn f() -> void {
|
||||
|
||||
TEST_F(BoundArrayAccessorsTest, Vector_Idx_OutOfBounds) {
|
||||
auto* src = R"(
|
||||
var a : vec3<f32>;
|
||||
var<in> a : vec3<f32>;
|
||||
|
||||
fn f() -> void {
|
||||
var b : f32 = a[3];
|
||||
@@ -323,7 +323,7 @@ fn f() -> void {
|
||||
)";
|
||||
|
||||
auto* expect = R"(
|
||||
var a : vec3<f32>;
|
||||
var<in> a : vec3<f32>;
|
||||
|
||||
fn f() -> void {
|
||||
var b : f32 = a[2];
|
||||
@@ -337,7 +337,7 @@ fn f() -> void {
|
||||
|
||||
TEST_F(BoundArrayAccessorsTest, Matrix_Idx_Scalar) {
|
||||
auto* src = R"(
|
||||
var a : mat3x2<f32>;
|
||||
var<in> a : mat3x2<f32>;
|
||||
|
||||
fn f() -> void {
|
||||
var b : f32 = a[2][1];
|
||||
@@ -345,7 +345,7 @@ fn f() -> void {
|
||||
)";
|
||||
|
||||
auto* expect = R"(
|
||||
var a : mat3x2<f32>;
|
||||
var<in> a : mat3x2<f32>;
|
||||
|
||||
fn f() -> void {
|
||||
var b : f32 = a[2][1];
|
||||
@@ -359,9 +359,9 @@ fn f() -> void {
|
||||
|
||||
TEST_F(BoundArrayAccessorsTest, Matrix_Idx_Expr_Column) {
|
||||
auto* src = R"(
|
||||
var a : mat3x2<f32>;
|
||||
var<in> a : mat3x2<f32>;
|
||||
|
||||
var c : i32;
|
||||
var<in> c : i32;
|
||||
|
||||
fn f() -> void {
|
||||
var b : f32 = a[c + 2 - 3][1];
|
||||
@@ -369,9 +369,9 @@ fn f() -> void {
|
||||
)";
|
||||
|
||||
auto* expect = R"(
|
||||
var a : mat3x2<f32>;
|
||||
var<in> a : mat3x2<f32>;
|
||||
|
||||
var c : i32;
|
||||
var<in> c : i32;
|
||||
|
||||
fn f() -> void {
|
||||
var b : f32 = a[min(u32(((c + 2) - 3)), 2u)][1];
|
||||
@@ -385,9 +385,9 @@ fn f() -> void {
|
||||
|
||||
TEST_F(BoundArrayAccessorsTest, Matrix_Idx_Expr_Row) {
|
||||
auto* src = R"(
|
||||
var a : mat3x2<f32>;
|
||||
var<in> a : mat3x2<f32>;
|
||||
|
||||
var c : i32;
|
||||
var<in> c : i32;
|
||||
|
||||
fn f() -> void {
|
||||
var b : f32 = a[1][c + 2 - 3];
|
||||
@@ -395,9 +395,9 @@ fn f() -> void {
|
||||
)";
|
||||
|
||||
auto* expect = R"(
|
||||
var a : mat3x2<f32>;
|
||||
var<in> a : mat3x2<f32>;
|
||||
|
||||
var c : i32;
|
||||
var<in> c : i32;
|
||||
|
||||
fn f() -> void {
|
||||
var b : f32 = a[1][min(u32(((c + 2) - 3)), 1u)];
|
||||
@@ -411,7 +411,7 @@ fn f() -> void {
|
||||
|
||||
TEST_F(BoundArrayAccessorsTest, Matrix_Idx_Negative_Column) {
|
||||
auto* src = R"(
|
||||
var a : mat3x2<f32>;
|
||||
var<in> a : mat3x2<f32>;
|
||||
|
||||
fn f() -> void {
|
||||
var b : f32 = a[-1][1];
|
||||
@@ -419,7 +419,7 @@ fn f() -> void {
|
||||
)";
|
||||
|
||||
auto* expect = R"(
|
||||
var a : mat3x2<f32>;
|
||||
var<in> a : mat3x2<f32>;
|
||||
|
||||
fn f() -> void {
|
||||
var b : f32 = a[0][1];
|
||||
@@ -433,7 +433,7 @@ fn f() -> void {
|
||||
|
||||
TEST_F(BoundArrayAccessorsTest, Matrix_Idx_Negative_Row) {
|
||||
auto* src = R"(
|
||||
var a : mat3x2<f32>;
|
||||
var<in> a : mat3x2<f32>;
|
||||
|
||||
fn f() -> void {
|
||||
var b : f32 = a[2][-1];
|
||||
@@ -441,7 +441,7 @@ fn f() -> void {
|
||||
)";
|
||||
|
||||
auto* expect = R"(
|
||||
var a : mat3x2<f32>;
|
||||
var<in> a : mat3x2<f32>;
|
||||
|
||||
fn f() -> void {
|
||||
var b : f32 = a[2][0];
|
||||
@@ -455,7 +455,7 @@ fn f() -> void {
|
||||
|
||||
TEST_F(BoundArrayAccessorsTest, Matrix_Idx_OutOfBounds_Column) {
|
||||
auto* src = R"(
|
||||
var a : mat3x2<f32>;
|
||||
var<in> a : mat3x2<f32>;
|
||||
|
||||
fn f() -> void {
|
||||
var b : f32 = a[5][1];
|
||||
@@ -463,7 +463,7 @@ fn f() -> void {
|
||||
)";
|
||||
|
||||
auto* expect = R"(
|
||||
var a : mat3x2<f32>;
|
||||
var<in> a : mat3x2<f32>;
|
||||
|
||||
fn f() -> void {
|
||||
var b : f32 = a[2][1];
|
||||
@@ -477,7 +477,7 @@ fn f() -> void {
|
||||
|
||||
TEST_F(BoundArrayAccessorsTest, Matrix_Idx_OutOfBounds_Row) {
|
||||
auto* src = R"(
|
||||
var a : mat3x2<f32>;
|
||||
var<in> a : mat3x2<f32>;
|
||||
|
||||
fn f() -> void {
|
||||
var b : f32 = a[2][5];
|
||||
@@ -485,7 +485,7 @@ fn f() -> void {
|
||||
)";
|
||||
|
||||
auto* expect = R"(
|
||||
var a : mat3x2<f32>;
|
||||
var<in> a : mat3x2<f32>;
|
||||
|
||||
fn f() -> void {
|
||||
var b : f32 = a[2][1];
|
||||
@@ -540,7 +540,7 @@ struct S {
|
||||
a : f32;
|
||||
b : array<f32>;
|
||||
};
|
||||
var s : S;
|
||||
var<in> s : S;
|
||||
|
||||
fn f() -> void {
|
||||
var d : f32 = s.b[25];
|
||||
@@ -554,7 +554,7 @@ struct S {
|
||||
b : array<f32>;
|
||||
};
|
||||
|
||||
var s : S;
|
||||
var<in> s : S;
|
||||
|
||||
fn f() -> void {
|
||||
var d : f32 = s.b[min(u32(25), (arrayLength(s.b) - 1u))];
|
||||
|
||||
Reference in New Issue
Block a user