tint/test-runner: Split expectations for FXC and DXC

Change tint's `--fxc` flag to take the path of the FXC compiler DLL.
Have tint attempt to validate with both FXC and DXC if `--validate` is
passed.

Fix the 'dirsWithNoPassExpectations' logic which looks like it got
broken with the tint -> dawn merge. It also incorrectly applied
filepath.FromSlash() on windows.

Change-Id: I0f46aa5c21bc48a2abc48402c41f846aff4a8633
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/96800
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Commit-Queue: Ben Clayton <bclayton@chromium.org>
This commit is contained in:
Ben Clayton
2022-07-22 17:43:27 +00:00
committed by Dawn LUCI CQ
parent 0778d9a48f
commit 7d34de88f1
5122 changed files with 73624 additions and 206 deletions

View File

@@ -0,0 +1,17 @@
[numthreads(1, 1, 1)]
void unused_entry_point() {
return;
}
bool get_bool() {
return true;
}
void f() {
const bool tint_symbol = get_bool();
bool2 v2 = bool2((tint_symbol).xx);
const bool tint_symbol_1 = get_bool();
bool3 v3 = bool3((tint_symbol_1).xxx);
const bool tint_symbol_2 = get_bool();
bool4 v4 = bool4((tint_symbol_2).xxxx);
}

View File

@@ -0,0 +1,17 @@
[numthreads(1, 1, 1)]
void unused_entry_point() {
return;
}
float get_f32() {
return 1.0f;
}
void f() {
const float tint_symbol = get_f32();
float2 v2 = float2((tint_symbol).xx);
const float tint_symbol_1 = get_f32();
float3 v3 = float3((tint_symbol_1).xxx);
const float tint_symbol_2 = get_f32();
float4 v4 = float4((tint_symbol_2).xxxx);
}

View File

@@ -0,0 +1,17 @@
[numthreads(1, 1, 1)]
void unused_entry_point() {
return;
}
int get_i32() {
return 1;
}
void f() {
const int tint_symbol = get_i32();
int2 v2 = int2((tint_symbol).xx);
const int tint_symbol_1 = get_i32();
int3 v3 = int3((tint_symbol_1).xxx);
const int tint_symbol_2 = get_i32();
int4 v4 = int4((tint_symbol_2).xxxx);
}

View File

@@ -0,0 +1,17 @@
[numthreads(1, 1, 1)]
void unused_entry_point() {
return;
}
uint get_u32() {
return 1u;
}
void f() {
const uint tint_symbol = get_u32();
uint2 v2 = uint2((tint_symbol).xx);
const uint tint_symbol_1 = get_u32();
uint3 v3 = uint3((tint_symbol_1).xxx);
const uint tint_symbol_2 = get_u32();
uint4 v4 = uint4((tint_symbol_2).xxxx);
}

View File

@@ -0,0 +1,22 @@
[numthreads(1, 1, 1)]
void unused_entry_point() {
return;
}
void f() {
bool tint_tmp = true;
if (!tint_tmp) {
tint_tmp = false;
}
bool2 v2 = bool2(((tint_tmp)).xx);
bool tint_tmp_1 = true;
if (!tint_tmp_1) {
tint_tmp_1 = false;
}
bool3 v3 = bool3(((tint_tmp_1)).xxx);
bool tint_tmp_2 = true;
if (!tint_tmp_2) {
tint_tmp_2 = false;
}
bool4 v4 = bool4(((tint_tmp_2)).xxxx);
}

View File

@@ -0,0 +1,10 @@
[numthreads(1, 1, 1)]
void unused_entry_point() {
return;
}
void f() {
float2 v2 = float2(((1.0f + 2.0f)).xx);
float3 v3 = float3(((1.0f + 2.0f)).xxx);
float4 v4 = float4(((1.0f + 2.0f)).xxxx);
}

View File

@@ -0,0 +1,10 @@
[numthreads(1, 1, 1)]
void unused_entry_point() {
return;
}
void f() {
int2 v2 = int2(((1 + 2)).xx);
int3 v3 = int3(((1 + 2)).xxx);
int4 v4 = int4(((1 + 2)).xxxx);
}

View File

@@ -0,0 +1,10 @@
[numthreads(1, 1, 1)]
void unused_entry_point() {
return;
}
void f() {
uint2 v2 = uint2(((1u + 2u)).xx);
uint3 v3 = uint3(((1u + 2u)).xxx);
uint4 v4 = uint4(((1u + 2u)).xxxx);
}

View File

@@ -0,0 +1,10 @@
[numthreads(1, 1, 1)]
void unused_entry_point() {
return;
}
void f() {
bool2 v2 = (true).xx;
bool3 v3 = (true).xxx;
bool4 v4 = (true).xxxx;
}

View File

@@ -0,0 +1,10 @@
[numthreads(1, 1, 1)]
void unused_entry_point() {
return;
}
void f() {
float2 v2 = (1.0f).xx;
float3 v3 = (1.0f).xxx;
float4 v4 = (1.0f).xxxx;
}

View File

@@ -0,0 +1,10 @@
[numthreads(1, 1, 1)]
void unused_entry_point() {
return;
}
void f() {
int2 v2 = (1).xx;
int3 v3 = (1).xxx;
int4 v4 = (1).xxxx;
}

View File

@@ -0,0 +1,10 @@
[numthreads(1, 1, 1)]
void unused_entry_point() {
return;
}
void f() {
uint2 v2 = (1u).xx;
uint3 v3 = (1u).xxx;
uint4 v4 = (1u).xxxx;
}

View File

@@ -0,0 +1,15 @@
[numthreads(1, 1, 1)]
void unused_entry_point() {
return;
}
void f() {
bool tint_tmp = true;
if (!tint_tmp) {
tint_tmp = false;
}
bool v = (tint_tmp);
bool2 v2 = bool2((v).xx);
bool3 v3 = bool3((v).xxx);
bool4 v4 = bool4((v).xxxx);
}

View File

@@ -0,0 +1,11 @@
[numthreads(1, 1, 1)]
void unused_entry_point() {
return;
}
void f() {
float v = (1.0f + 2.0f);
float2 v2 = float2((v).xx);
float3 v3 = float3((v).xxx);
float4 v4 = float4((v).xxxx);
}

View File

@@ -0,0 +1,11 @@
[numthreads(1, 1, 1)]
void unused_entry_point() {
return;
}
void f() {
int v = (1 + 2);
int2 v2 = int2((v).xx);
int3 v3 = int3((v).xxx);
int4 v4 = int4((v).xxxx);
}

View File

@@ -0,0 +1,11 @@
[numthreads(1, 1, 1)]
void unused_entry_point() {
return;
}
void f() {
uint v = (1u + 2u);
uint2 v2 = uint2((v).xx);
uint3 v3 = uint3((v).xxx);
uint4 v4 = uint4((v).xxxx);
}

View File

@@ -0,0 +1,10 @@
[numthreads(1, 1, 1)]
void unused_entry_point() {
return;
}
void f() {
float a = 1.0f;
float b = 1.0f;
float c = 1.0f;
}