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,10 @@
[numthreads(1, 1, 1)]
void unused_entry_point() {
return;
}
RWByteAddressBuffer a : register(u0, space0);
void main() {
a.Store(4u, asuint((a.Load(4u) + 1u)));
}

View File

@@ -0,0 +1,63 @@
[numthreads(1, 1, 1)]
void unused_entry_point() {
return;
}
RWByteAddressBuffer buffer : register(u0, space0);
static uint v = 0u;
int idx1() {
v = (v + 1u);
return 1;
}
int idx2() {
v = (v + 1u);
return 2;
}
int idx3() {
v = (v + 1u);
return 3;
}
int idx4() {
v = (v + 1u);
return 4;
}
int idx5() {
v = (v + 1u);
return 0;
}
int idx6() {
v = (v + 1u);
return 2;
}
void main() {
const int tint_symbol_4 = idx1();
const int tint_symbol_5 = idx2();
const int tint_symbol_save = tint_symbol_4;
const int tint_symbol_save_1 = tint_symbol_5;
const int tint_symbol_1 = idx3();
{
buffer.Store((((64u * uint(tint_symbol_save)) + (16u * uint(tint_symbol_save_1))) + (4u * uint(tint_symbol_1))), asuint((asint(buffer.Load((((64u * uint(tint_symbol_save)) + (16u * uint(tint_symbol_save_1))) + (4u * uint(tint_symbol_1))))) + 1)));
[loop] while (true) {
if (!((v < 10u))) {
break;
}
{
}
{
const int tint_symbol_6 = idx4();
const int tint_symbol_7 = idx5();
const int tint_symbol_2_save = tint_symbol_6;
const int tint_symbol_2_save_1 = tint_symbol_7;
const int tint_symbol_3 = idx6();
buffer.Store((((64u * uint(tint_symbol_2_save)) + (16u * uint(tint_symbol_2_save_1))) + (4u * uint(tint_symbol_3))), asuint((asint(buffer.Load((((64u * uint(tint_symbol_2_save)) + (16u * uint(tint_symbol_2_save_1))) + (4u * uint(tint_symbol_3))))) + 1)));
}
}
}
}

View File

@@ -0,0 +1,13 @@
[numthreads(1, 1, 1)]
void unused_entry_point() {
return;
}
RWByteAddressBuffer i : register(u0, space0);
void main() {
{
[loop] for(; (i.Load(0u) < 10u); i.Store(0u, asuint((i.Load(0u) + 1u)))) {
}
}
}

View File

@@ -0,0 +1,13 @@
[numthreads(1, 1, 1)]
void unused_entry_point() {
return;
}
RWByteAddressBuffer i : register(u0, space0);
void main() {
{
[loop] for(i.Store(0u, asuint((i.Load(0u) + 1u))); (i.Load(0u) < 10u); ) {
}
}
}

View File

@@ -0,0 +1,9 @@
[numthreads(1, 1, 1)]
void unused_entry_point() {
return;
}
void main() {
int i = 0;
i = (i + 1);
}

View File

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

View File

@@ -0,0 +1,10 @@
[numthreads(1, 1, 1)]
void unused_entry_point() {
return;
}
RWByteAddressBuffer i : register(u0, space0);
void main() {
i.Store(0u, asuint((i.Load(0u) + 1u)));
}

View File

@@ -0,0 +1,12 @@
[numthreads(1, 1, 1)]
void unused_entry_point() {
return;
}
RWByteAddressBuffer a : register(u0, space0);
void main() {
const int tint_symbol_1 = 1;
a.Store((4u * uint(tint_symbol_1)), asuint((a.Load((4u * uint(tint_symbol_1))) + 1u)));
a.Store(8u, asuint((a.Load(8u) + 1u)));
}

View File

@@ -0,0 +1,10 @@
[numthreads(1, 1, 1)]
void unused_entry_point() {
return;
}
groupshared int i;
void main() {
i = (i + 1);
}