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,8 @@
[numthreads(1, 1, 1)]
void main() {
int zero[2][3] = (int[2][3])0;
const int tint_symbol[3] = {1, 2, 3};
const int tint_symbol_1[3] = {4, 5, 6};
int init[2][3] = {tint_symbol, tint_symbol_1};
return;
}

View File

@@ -0,0 +1,6 @@
[numthreads(1, 1, 1)]
void main() {
int zero[3] = (int[3])0;
int init[3] = {1, 2, 3};
return;
}

View File

@@ -0,0 +1,5 @@
[numthreads(1, 1, 1)]
void main() {
float2x3 v = float2x3(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
return;
}

View File

@@ -0,0 +1,5 @@
[numthreads(1, 1, 1)]
void main() {
int v = 0;
return;
}

View File

@@ -0,0 +1,10 @@
struct S {
int a;
float b;
};
[numthreads(1, 1, 1)]
void main() {
S v = (S)0;
return;
}

View File

@@ -0,0 +1,5 @@
[numthreads(1, 1, 1)]
void main() {
int3 v = int3(0, 0, 0);
return;
}

View File

@@ -0,0 +1,9 @@
static int zero[2][3] = (int[2][3])0;
static int init[2][3] = {{1, 2, 3}, {4, 5, 6}};
[numthreads(1, 1, 1)]
void main() {
int v0[2][3] = zero;
int v1[2][3] = init;
return;
}

View File

@@ -0,0 +1,9 @@
static int zero[3] = (int[3])0;
static int init[3] = {1, 2, 3};
[numthreads(1, 1, 1)]
void main() {
int v0[3] = zero;
int v1[3] = init;
return;
}

View File

@@ -0,0 +1,6 @@
static float2x3 v = float2x3(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
[numthreads(1, 1, 1)]
void main() {
return;
}

View File

@@ -0,0 +1,6 @@
static int v = 0;
[numthreads(1, 1, 1)]
void main() {
return;
}

View File

@@ -0,0 +1,11 @@
struct S {
int a;
float b;
};
static S v = (S)0;
[numthreads(1, 1, 1)]
void main() {
return;
}

View File

@@ -0,0 +1,6 @@
static int3 v = int3(0, 0, 0);
[numthreads(1, 1, 1)]
void main() {
return;
}

View File

@@ -0,0 +1,23 @@
groupshared int zero[2][3];
struct tint_symbol_1 {
uint local_invocation_index : SV_GroupIndex;
};
void main_inner(uint local_invocation_index) {
{
[loop] for(uint idx = local_invocation_index; (idx < 6u); idx = (idx + 1u)) {
const uint i = (idx / 3u);
const uint i_1 = (idx % 3u);
zero[i][i_1] = 0;
}
}
GroupMemoryBarrierWithGroupSync();
int v[2][3] = zero;
}
[numthreads(1, 1, 1)]
void main(tint_symbol_1 tint_symbol) {
main_inner(tint_symbol.local_invocation_index);
return;
}

View File

@@ -0,0 +1,22 @@
groupshared int zero[3];
struct tint_symbol_1 {
uint local_invocation_index : SV_GroupIndex;
};
void main_inner(uint local_invocation_index) {
{
[loop] for(uint idx = local_invocation_index; (idx < 3u); idx = (idx + 1u)) {
const uint i = idx;
zero[i] = 0;
}
}
GroupMemoryBarrierWithGroupSync();
int v[3] = zero;
}
[numthreads(1, 1, 1)]
void main(tint_symbol_1 tint_symbol) {
main_inner(tint_symbol.local_invocation_index);
return;
}

View File

@@ -0,0 +1,18 @@
groupshared float2x3 v;
struct tint_symbol_1 {
uint local_invocation_index : SV_GroupIndex;
};
void main_inner(uint local_invocation_index) {
{
v = float2x3((0.0f).xxx, (0.0f).xxx);
}
GroupMemoryBarrierWithGroupSync();
}
[numthreads(1, 1, 1)]
void main(tint_symbol_1 tint_symbol) {
main_inner(tint_symbol.local_invocation_index);
return;
}

View File

@@ -0,0 +1,18 @@
groupshared int v;
struct tint_symbol_1 {
uint local_invocation_index : SV_GroupIndex;
};
void main_inner(uint local_invocation_index) {
{
v = 0;
}
GroupMemoryBarrierWithGroupSync();
}
[numthreads(1, 1, 1)]
void main(tint_symbol_1 tint_symbol) {
main_inner(tint_symbol.local_invocation_index);
return;
}

View File

@@ -0,0 +1,24 @@
struct S {
int a;
float b;
};
groupshared S v;
struct tint_symbol_1 {
uint local_invocation_index : SV_GroupIndex;
};
void main_inner(uint local_invocation_index) {
{
const S tint_symbol_2 = (S)0;
v = tint_symbol_2;
}
GroupMemoryBarrierWithGroupSync();
}
[numthreads(1, 1, 1)]
void main(tint_symbol_1 tint_symbol) {
main_inner(tint_symbol.local_invocation_index);
return;
}

View File

@@ -0,0 +1,18 @@
groupshared int3 v;
struct tint_symbol_1 {
uint local_invocation_index : SV_GroupIndex;
};
void main_inner(uint local_invocation_index) {
{
v = (0).xxx;
}
GroupMemoryBarrierWithGroupSync();
}
[numthreads(1, 1, 1)]
void main(tint_symbol_1 tint_symbol) {
main_inner(tint_symbol.local_invocation_index);
return;
}