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,46 @@
uint4 tint_first_trailing_bit(uint4 v) {
uint4 x = uint4(v);
const uint4 b16 = (bool4((x & (65535u).xxxx)) ? (0u).xxxx : (16u).xxxx);
x = (x >> b16);
const uint4 b8 = (bool4((x & (255u).xxxx)) ? (0u).xxxx : (8u).xxxx);
x = (x >> b8);
const uint4 b4 = (bool4((x & (15u).xxxx)) ? (0u).xxxx : (4u).xxxx);
x = (x >> b4);
const uint4 b2 = (bool4((x & (3u).xxxx)) ? (0u).xxxx : (2u).xxxx);
x = (x >> b2);
const uint4 b1 = (bool4((x & (1u).xxxx)) ? (0u).xxxx : (1u).xxxx);
const uint4 is_zero = ((x == (0u).xxxx) ? (4294967295u).xxxx : (0u).xxxx);
return uint4((((((b16 | b8) | b4) | b2) | b1) | is_zero));
}
void firstTrailingBit_110f2c() {
uint4 arg_0 = (0u).xxxx;
uint4 res = tint_first_trailing_bit(arg_0);
}
struct tint_symbol {
float4 value : SV_Position;
};
float4 vertex_main_inner() {
firstTrailingBit_110f2c();
return (0.0f).xxxx;
}
tint_symbol vertex_main() {
const float4 inner_result = vertex_main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}
void fragment_main() {
firstTrailingBit_110f2c();
return;
}
[numthreads(1, 1, 1)]
void compute_main() {
firstTrailingBit_110f2c();
return;
}

View File

@@ -0,0 +1,46 @@
int tint_first_trailing_bit(int v) {
uint x = uint(v);
const uint b16 = (bool((x & 65535u)) ? 0u : 16u);
x = (x >> b16);
const uint b8 = (bool((x & 255u)) ? 0u : 8u);
x = (x >> b8);
const uint b4 = (bool((x & 15u)) ? 0u : 4u);
x = (x >> b4);
const uint b2 = (bool((x & 3u)) ? 0u : 2u);
x = (x >> b2);
const uint b1 = (bool((x & 1u)) ? 0u : 1u);
const uint is_zero = ((x == 0u) ? 4294967295u : 0u);
return int((((((b16 | b8) | b4) | b2) | b1) | is_zero));
}
void firstTrailingBit_3a2acc() {
int arg_0 = 1;
int res = tint_first_trailing_bit(arg_0);
}
struct tint_symbol {
float4 value : SV_Position;
};
float4 vertex_main_inner() {
firstTrailingBit_3a2acc();
return (0.0f).xxxx;
}
tint_symbol vertex_main() {
const float4 inner_result = vertex_main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}
void fragment_main() {
firstTrailingBit_3a2acc();
return;
}
[numthreads(1, 1, 1)]
void compute_main() {
firstTrailingBit_3a2acc();
return;
}

View File

@@ -0,0 +1,46 @@
uint2 tint_first_trailing_bit(uint2 v) {
uint2 x = uint2(v);
const uint2 b16 = (bool2((x & (65535u).xx)) ? (0u).xx : (16u).xx);
x = (x >> b16);
const uint2 b8 = (bool2((x & (255u).xx)) ? (0u).xx : (8u).xx);
x = (x >> b8);
const uint2 b4 = (bool2((x & (15u).xx)) ? (0u).xx : (4u).xx);
x = (x >> b4);
const uint2 b2 = (bool2((x & (3u).xx)) ? (0u).xx : (2u).xx);
x = (x >> b2);
const uint2 b1 = (bool2((x & (1u).xx)) ? (0u).xx : (1u).xx);
const uint2 is_zero = ((x == (0u).xx) ? (4294967295u).xx : (0u).xx);
return uint2((((((b16 | b8) | b4) | b2) | b1) | is_zero));
}
void firstTrailingBit_45eb10() {
uint2 arg_0 = (0u).xx;
uint2 res = tint_first_trailing_bit(arg_0);
}
struct tint_symbol {
float4 value : SV_Position;
};
float4 vertex_main_inner() {
firstTrailingBit_45eb10();
return (0.0f).xxxx;
}
tint_symbol vertex_main() {
const float4 inner_result = vertex_main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}
void fragment_main() {
firstTrailingBit_45eb10();
return;
}
[numthreads(1, 1, 1)]
void compute_main() {
firstTrailingBit_45eb10();
return;
}

View File

@@ -0,0 +1,46 @@
uint tint_first_trailing_bit(uint v) {
uint x = uint(v);
const uint b16 = (bool((x & 65535u)) ? 0u : 16u);
x = (x >> b16);
const uint b8 = (bool((x & 255u)) ? 0u : 8u);
x = (x >> b8);
const uint b4 = (bool((x & 15u)) ? 0u : 4u);
x = (x >> b4);
const uint b2 = (bool((x & 3u)) ? 0u : 2u);
x = (x >> b2);
const uint b1 = (bool((x & 1u)) ? 0u : 1u);
const uint is_zero = ((x == 0u) ? 4294967295u : 0u);
return uint((((((b16 | b8) | b4) | b2) | b1) | is_zero));
}
void firstTrailingBit_47d475() {
uint arg_0 = 1u;
uint res = tint_first_trailing_bit(arg_0);
}
struct tint_symbol {
float4 value : SV_Position;
};
float4 vertex_main_inner() {
firstTrailingBit_47d475();
return (0.0f).xxxx;
}
tint_symbol vertex_main() {
const float4 inner_result = vertex_main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}
void fragment_main() {
firstTrailingBit_47d475();
return;
}
[numthreads(1, 1, 1)]
void compute_main() {
firstTrailingBit_47d475();
return;
}

View File

@@ -0,0 +1,46 @@
int2 tint_first_trailing_bit(int2 v) {
uint2 x = uint2(v);
const uint2 b16 = (bool2((x & (65535u).xx)) ? (0u).xx : (16u).xx);
x = (x >> b16);
const uint2 b8 = (bool2((x & (255u).xx)) ? (0u).xx : (8u).xx);
x = (x >> b8);
const uint2 b4 = (bool2((x & (15u).xx)) ? (0u).xx : (4u).xx);
x = (x >> b4);
const uint2 b2 = (bool2((x & (3u).xx)) ? (0u).xx : (2u).xx);
x = (x >> b2);
const uint2 b1 = (bool2((x & (1u).xx)) ? (0u).xx : (1u).xx);
const uint2 is_zero = ((x == (0u).xx) ? (4294967295u).xx : (0u).xx);
return int2((((((b16 | b8) | b4) | b2) | b1) | is_zero));
}
void firstTrailingBit_50c072() {
int2 arg_0 = (0).xx;
int2 res = tint_first_trailing_bit(arg_0);
}
struct tint_symbol {
float4 value : SV_Position;
};
float4 vertex_main_inner() {
firstTrailingBit_50c072();
return (0.0f).xxxx;
}
tint_symbol vertex_main() {
const float4 inner_result = vertex_main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}
void fragment_main() {
firstTrailingBit_50c072();
return;
}
[numthreads(1, 1, 1)]
void compute_main() {
firstTrailingBit_50c072();
return;
}

View File

@@ -0,0 +1,46 @@
int3 tint_first_trailing_bit(int3 v) {
uint3 x = uint3(v);
const uint3 b16 = (bool3((x & (65535u).xxx)) ? (0u).xxx : (16u).xxx);
x = (x >> b16);
const uint3 b8 = (bool3((x & (255u).xxx)) ? (0u).xxx : (8u).xxx);
x = (x >> b8);
const uint3 b4 = (bool3((x & (15u).xxx)) ? (0u).xxx : (4u).xxx);
x = (x >> b4);
const uint3 b2 = (bool3((x & (3u).xxx)) ? (0u).xxx : (2u).xxx);
x = (x >> b2);
const uint3 b1 = (bool3((x & (1u).xxx)) ? (0u).xxx : (1u).xxx);
const uint3 is_zero = ((x == (0u).xxx) ? (4294967295u).xxx : (0u).xxx);
return int3((((((b16 | b8) | b4) | b2) | b1) | is_zero));
}
void firstTrailingBit_7496d6() {
int3 arg_0 = (0).xxx;
int3 res = tint_first_trailing_bit(arg_0);
}
struct tint_symbol {
float4 value : SV_Position;
};
float4 vertex_main_inner() {
firstTrailingBit_7496d6();
return (0.0f).xxxx;
}
tint_symbol vertex_main() {
const float4 inner_result = vertex_main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}
void fragment_main() {
firstTrailingBit_7496d6();
return;
}
[numthreads(1, 1, 1)]
void compute_main() {
firstTrailingBit_7496d6();
return;
}

View File

@@ -0,0 +1,46 @@
int4 tint_first_trailing_bit(int4 v) {
uint4 x = uint4(v);
const uint4 b16 = (bool4((x & (65535u).xxxx)) ? (0u).xxxx : (16u).xxxx);
x = (x >> b16);
const uint4 b8 = (bool4((x & (255u).xxxx)) ? (0u).xxxx : (8u).xxxx);
x = (x >> b8);
const uint4 b4 = (bool4((x & (15u).xxxx)) ? (0u).xxxx : (4u).xxxx);
x = (x >> b4);
const uint4 b2 = (bool4((x & (3u).xxxx)) ? (0u).xxxx : (2u).xxxx);
x = (x >> b2);
const uint4 b1 = (bool4((x & (1u).xxxx)) ? (0u).xxxx : (1u).xxxx);
const uint4 is_zero = ((x == (0u).xxxx) ? (4294967295u).xxxx : (0u).xxxx);
return int4((((((b16 | b8) | b4) | b2) | b1) | is_zero));
}
void firstTrailingBit_86551b() {
int4 arg_0 = (0).xxxx;
int4 res = tint_first_trailing_bit(arg_0);
}
struct tint_symbol {
float4 value : SV_Position;
};
float4 vertex_main_inner() {
firstTrailingBit_86551b();
return (0.0f).xxxx;
}
tint_symbol vertex_main() {
const float4 inner_result = vertex_main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}
void fragment_main() {
firstTrailingBit_86551b();
return;
}
[numthreads(1, 1, 1)]
void compute_main() {
firstTrailingBit_86551b();
return;
}

View File

@@ -0,0 +1,46 @@
uint3 tint_first_trailing_bit(uint3 v) {
uint3 x = uint3(v);
const uint3 b16 = (bool3((x & (65535u).xxx)) ? (0u).xxx : (16u).xxx);
x = (x >> b16);
const uint3 b8 = (bool3((x & (255u).xxx)) ? (0u).xxx : (8u).xxx);
x = (x >> b8);
const uint3 b4 = (bool3((x & (15u).xxx)) ? (0u).xxx : (4u).xxx);
x = (x >> b4);
const uint3 b2 = (bool3((x & (3u).xxx)) ? (0u).xxx : (2u).xxx);
x = (x >> b2);
const uint3 b1 = (bool3((x & (1u).xxx)) ? (0u).xxx : (1u).xxx);
const uint3 is_zero = ((x == (0u).xxx) ? (4294967295u).xxx : (0u).xxx);
return uint3((((((b16 | b8) | b4) | b2) | b1) | is_zero));
}
void firstTrailingBit_cb51ce() {
uint3 arg_0 = (0u).xxx;
uint3 res = tint_first_trailing_bit(arg_0);
}
struct tint_symbol {
float4 value : SV_Position;
};
float4 vertex_main_inner() {
firstTrailingBit_cb51ce();
return (0.0f).xxxx;
}
tint_symbol vertex_main() {
const float4 inner_result = vertex_main_inner();
tint_symbol wrapper_result = (tint_symbol)0;
wrapper_result.value = inner_result;
return wrapper_result;
}
void fragment_main() {
firstTrailingBit_cb51ce();
return;
}
[numthreads(1, 1, 1)]
void compute_main() {
firstTrailingBit_cb51ce();
return;
}