mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-09 21:47:47 +00:00
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:
committed by
Dawn LUCI CQ
parent
0778d9a48f
commit
7d34de88f1
@@ -0,0 +1,28 @@
|
||||
struct S {
|
||||
float a;
|
||||
};
|
||||
|
||||
[numthreads(1, 1, 1)]
|
||||
void main() {
|
||||
bool bool_var = false;
|
||||
const bool bool_let = false;
|
||||
int i32_var = 0;
|
||||
const int i32_let = 0;
|
||||
uint u32_var = 0u;
|
||||
const uint u32_let = 0u;
|
||||
float f32_var = 0.0f;
|
||||
const float f32_let = 0.0f;
|
||||
int2 v2i32_var = (0).xx;
|
||||
const int2 v2i32_let = (0).xx;
|
||||
uint3 v3u32_var = (0u).xxx;
|
||||
const uint3 v3u32_let = (0u).xxx;
|
||||
float4 v4f32_var = (0.0f).xxxx;
|
||||
const float4 v4f32_let = (0.0f).xxxx;
|
||||
float2x3 m2x3_var = float2x3((0.0f).xxx, (0.0f).xxx);
|
||||
const float3x4 m3x4_let = float3x4((0.0f).xxxx, (0.0f).xxxx, (0.0f).xxxx);
|
||||
float arr_var[4] = (float[4])0;
|
||||
const float arr_let[4] = (float[4])0;
|
||||
S struct_var = (S)0;
|
||||
const S struct_let = (S)0;
|
||||
return;
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
void constant_with_non_constant() {
|
||||
float a = 0.0f;
|
||||
float2 b = float2(1.0f, a);
|
||||
}
|
||||
|
||||
[numthreads(1, 1, 1)]
|
||||
void main() {
|
||||
bool bool_var1 = true;
|
||||
bool bool_var2 = true;
|
||||
bool bool_var3 = true;
|
||||
int i32_var1 = 123;
|
||||
int i32_var2 = 123;
|
||||
int i32_var3 = 1;
|
||||
uint u32_var1 = 123u;
|
||||
uint u32_var2 = 123u;
|
||||
uint u32_var3 = 1u;
|
||||
bool3 v3bool_var1 = (true).xxx;
|
||||
bool3 v3bool_var11 = (true).xxx;
|
||||
bool3 v3bool_var2 = (true).xxx;
|
||||
bool3 v3bool_var3 = (true).xxx;
|
||||
int3 v3i32_var1 = (123).xxx;
|
||||
int3 v3i32_var2 = (123).xxx;
|
||||
int3 v3i32_var3 = (1).xxx;
|
||||
uint3 v3u32_var1 = (123u).xxx;
|
||||
uint3 v3u32_var2 = (123u).xxx;
|
||||
uint3 v3u32_var3 = (1u).xxx;
|
||||
bool3 v3bool_var4 = (true).xxx;
|
||||
bool4 v4bool_var5 = bool4(true, false, true, false);
|
||||
return;
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
[numthreads(1, 1, 1)]
|
||||
void main() {
|
||||
return;
|
||||
}
|
||||
31
test/tint/types/module_scope_var.wgsl.expected.fxc.hlsl
Normal file
31
test/tint/types/module_scope_var.wgsl.expected.fxc.hlsl
Normal file
@@ -0,0 +1,31 @@
|
||||
struct S {
|
||||
float a;
|
||||
};
|
||||
|
||||
static bool bool_var = false;
|
||||
static int i32_var = 0;
|
||||
static uint u32_var = 0u;
|
||||
static float f32_var = 0.0f;
|
||||
static int2 v2i32_var = int2(0, 0);
|
||||
static uint3 v3u32_var = uint3(0u, 0u, 0u);
|
||||
static float4 v4f32_var = float4(0.0f, 0.0f, 0.0f, 0.0f);
|
||||
static float2x3 m2x3_var = float2x3(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
|
||||
static float arr_var[4] = (float[4])0;
|
||||
static S struct_var = (S)0;
|
||||
|
||||
[numthreads(1, 1, 1)]
|
||||
void main() {
|
||||
bool_var = false;
|
||||
i32_var = 0;
|
||||
u32_var = 0u;
|
||||
f32_var = 0.0f;
|
||||
v2i32_var = (0).xx;
|
||||
v3u32_var = (0u).xxx;
|
||||
v4f32_var = (0.0f).xxxx;
|
||||
m2x3_var = float2x3((0.0f).xxx, (0.0f).xxx);
|
||||
const float tint_symbol[4] = (float[4])0;
|
||||
arr_var = tint_symbol;
|
||||
const S tint_symbol_1 = (S)0;
|
||||
struct_var = tint_symbol_1;
|
||||
return;
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
static bool bool_var1 = true;
|
||||
static bool bool_var2 = true;
|
||||
static bool bool_var3 = true;
|
||||
static int i32_var1 = 1;
|
||||
static int i32_var2 = 1;
|
||||
static int i32_var3 = 1;
|
||||
static uint u32_var1 = 1u;
|
||||
static uint u32_var2 = 1u;
|
||||
static uint u32_var3 = 1u;
|
||||
static bool3 v3bool_var1 = (true).xxx;
|
||||
static bool3 v3bool_var2 = (true).xxx;
|
||||
static bool3 v3bool_var3 = (true).xxx;
|
||||
static int3 v3i32_var1 = (1).xxx;
|
||||
static int3 v3i32_var2 = (1).xxx;
|
||||
static int3 v3i32_var3 = (1).xxx;
|
||||
static uint3 v3u32_var1 = (1u).xxx;
|
||||
static uint3 v3u32_var2 = (1u).xxx;
|
||||
static uint3 v3u32_var3 = (1u).xxx;
|
||||
static bool3 v3bool_var4 = (true).xxx;
|
||||
static bool4 v4bool_var5 = bool4(true, false, true, false);
|
||||
|
||||
[numthreads(1, 1, 1)]
|
||||
void main() {
|
||||
bool_var1 = false;
|
||||
bool_var2 = false;
|
||||
bool_var3 = false;
|
||||
i32_var1 = 0;
|
||||
i32_var2 = 0;
|
||||
i32_var3 = 0;
|
||||
u32_var1 = 0u;
|
||||
u32_var2 = 0u;
|
||||
u32_var3 = 0u;
|
||||
v3bool_var1 = (false).xxx;
|
||||
v3bool_var2 = (false).xxx;
|
||||
v3bool_var3 = (false).xxx;
|
||||
v3bool_var4 = (false).xxx;
|
||||
v4bool_var5 = (false).xxxx;
|
||||
v3i32_var1 = (0).xxx;
|
||||
v3i32_var2 = (0).xxx;
|
||||
v3i32_var3 = (0).xxx;
|
||||
v3u32_var1 = (0u).xxx;
|
||||
v3u32_var2 = (0u).xxx;
|
||||
v3u32_var3 = (0u).xxx;
|
||||
return;
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
struct S {
|
||||
float a;
|
||||
};
|
||||
|
||||
static bool bool_var = false;
|
||||
static int i32_var = 0;
|
||||
static uint u32_var = 0u;
|
||||
static float f32_var = 0.0f;
|
||||
static int2 v2i32_var = (0).xx;
|
||||
static uint3 v3u32_var = (0u).xxx;
|
||||
static float4 v4f32_var = (0.0f).xxxx;
|
||||
static float2x3 m2x3_var = float2x3((0.0f).xxx, (0.0f).xxx);
|
||||
static float arr_var[4] = (float[4])0;
|
||||
static S struct_var = (S)0;
|
||||
|
||||
[numthreads(1, 1, 1)]
|
||||
void main() {
|
||||
bool_var = false;
|
||||
i32_var = 0;
|
||||
u32_var = 0u;
|
||||
f32_var = 0.0f;
|
||||
v2i32_var = (0).xx;
|
||||
v3u32_var = (0u).xxx;
|
||||
v4f32_var = (0.0f).xxxx;
|
||||
m2x3_var = float2x3((0.0f).xxx, (0.0f).xxx);
|
||||
const float tint_symbol[4] = (float[4])0;
|
||||
arr_var = tint_symbol;
|
||||
const S tint_symbol_1 = (S)0;
|
||||
struct_var = tint_symbol_1;
|
||||
return;
|
||||
}
|
||||
11
test/tint/types/parameters.wgsl.expected.fxc.hlsl
Normal file
11
test/tint/types/parameters.wgsl.expected.fxc.hlsl
Normal file
@@ -0,0 +1,11 @@
|
||||
struct S {
|
||||
float a;
|
||||
};
|
||||
|
||||
void foo(bool param_bool, int param_i32, uint param_u32, float param_f32, int2 param_v2i32, uint3 param_v3u32, float4 param_v4f32, float2x3 param_m2x3, float param_arr[4], S param_struct, inout float param_ptr_f32, inout float4 param_ptr_vec, inout float param_ptr_arr[4]) {
|
||||
}
|
||||
|
||||
[numthreads(1, 1, 1)]
|
||||
void main() {
|
||||
return;
|
||||
}
|
||||
51
test/tint/types/return_types.wgsl.expected.fxc.hlsl
Normal file
51
test/tint/types/return_types.wgsl.expected.fxc.hlsl
Normal file
@@ -0,0 +1,51 @@
|
||||
struct S {
|
||||
float a;
|
||||
};
|
||||
|
||||
bool ret_bool() {
|
||||
return false;
|
||||
}
|
||||
|
||||
int ret_i32() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint ret_u32() {
|
||||
return 0u;
|
||||
}
|
||||
|
||||
float ret_f32() {
|
||||
return 0.0f;
|
||||
}
|
||||
|
||||
int2 ret_v2i32() {
|
||||
return (0).xx;
|
||||
}
|
||||
|
||||
uint3 ret_v3u32() {
|
||||
return (0u).xxx;
|
||||
}
|
||||
|
||||
float4 ret_v4f32() {
|
||||
return (0.0f).xxxx;
|
||||
}
|
||||
|
||||
float2x3 ret_m2x3() {
|
||||
return float2x3((0.0f).xxx, (0.0f).xxx);
|
||||
}
|
||||
|
||||
typedef float ret_arr_ret[4];
|
||||
ret_arr_ret ret_arr() {
|
||||
const float tint_symbol[4] = (float[4])0;
|
||||
return tint_symbol;
|
||||
}
|
||||
|
||||
S ret_struct() {
|
||||
const S tint_symbol_1 = (S)0;
|
||||
return tint_symbol_1;
|
||||
}
|
||||
|
||||
[numthreads(1, 1, 1)]
|
||||
void main() {
|
||||
return;
|
||||
}
|
||||
7
test/tint/types/sampler.wgsl.expected.fxc.hlsl
Normal file
7
test/tint/types/sampler.wgsl.expected.fxc.hlsl
Normal file
@@ -0,0 +1,7 @@
|
||||
SamplerState s : register(s0, space0);
|
||||
SamplerComparisonState sc : register(s1, space0);
|
||||
|
||||
[numthreads(1, 1, 1)]
|
||||
void main() {
|
||||
return;
|
||||
}
|
||||
21
test/tint/types/struct_members.wgsl.expected.fxc.hlsl
Normal file
21
test/tint/types/struct_members.wgsl.expected.fxc.hlsl
Normal file
@@ -0,0 +1,21 @@
|
||||
struct S_inner {
|
||||
float a;
|
||||
};
|
||||
struct S {
|
||||
bool member_bool;
|
||||
int member_i32;
|
||||
uint member_u32;
|
||||
float member_f32;
|
||||
int2 member_v2i32;
|
||||
uint3 member_v3u32;
|
||||
float4 member_v4f32;
|
||||
float2x3 member_m2x3;
|
||||
float member_arr[4];
|
||||
S_inner member_struct;
|
||||
};
|
||||
|
||||
[numthreads(1, 1, 1)]
|
||||
void main() {
|
||||
const S s = (S)0;
|
||||
return;
|
||||
}
|
||||
6
test/tint/types/texture/depth/2d.wgsl.expected.fxc.hlsl
Normal file
6
test/tint/types/texture/depth/2d.wgsl.expected.fxc.hlsl
Normal file
@@ -0,0 +1,6 @@
|
||||
Texture2D t_f : register(t0, space0);
|
||||
|
||||
[numthreads(1, 1, 1)]
|
||||
void main() {
|
||||
return;
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
Texture2DArray t_f : register(t0, space0);
|
||||
|
||||
[numthreads(1, 1, 1)]
|
||||
void main() {
|
||||
return;
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
TextureCube t_f : register(t0, space0);
|
||||
|
||||
[numthreads(1, 1, 1)]
|
||||
void main() {
|
||||
return;
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
TextureCubeArray t_f : register(t0, space0);
|
||||
|
||||
[numthreads(1, 1, 1)]
|
||||
void main() {
|
||||
return;
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
Texture2DMS<float4> t_f : register(t0, space0);
|
||||
Texture2DMS<int4> t_i : register(t1, space0);
|
||||
Texture2DMS<uint4> t_u : register(t2, space0);
|
||||
|
||||
[numthreads(1, 1, 1)]
|
||||
void main() {
|
||||
return;
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
Texture1D<float4> t_f : register(t0, space0);
|
||||
Texture1D<int4> t_i : register(t1, space0);
|
||||
Texture1D<uint4> t_u : register(t2, space0);
|
||||
|
||||
[numthreads(1, 1, 1)]
|
||||
void main() {
|
||||
return;
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
Texture2D<float4> t_f : register(t0, space0);
|
||||
Texture2D<int4> t_i : register(t1, space0);
|
||||
Texture2D<uint4> t_u : register(t2, space0);
|
||||
|
||||
[numthreads(1, 1, 1)]
|
||||
void main() {
|
||||
return;
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
Texture2DArray<float4> t_f : register(t0, space0);
|
||||
Texture2DArray<int4> t_i : register(t1, space0);
|
||||
Texture2DArray<uint4> t_u : register(t2, space0);
|
||||
|
||||
[numthreads(1, 1, 1)]
|
||||
void main() {
|
||||
return;
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
Texture3D<float4> t_f : register(t0, space0);
|
||||
Texture3D<int4> t_i : register(t1, space0);
|
||||
Texture3D<uint4> t_u : register(t2, space0);
|
||||
|
||||
[numthreads(1, 1, 1)]
|
||||
void main() {
|
||||
return;
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
TextureCube<float4> t_f : register(t0, space0);
|
||||
TextureCube<int4> t_i : register(t1, space0);
|
||||
TextureCube<uint4> t_u : register(t2, space0);
|
||||
|
||||
[numthreads(1, 1, 1)]
|
||||
void main() {
|
||||
return;
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
TextureCubeArray<float4> t_f : register(t0, space0);
|
||||
TextureCubeArray<int4> t_i : register(t1, space0);
|
||||
TextureCubeArray<uint4> t_u : register(t2, space0);
|
||||
|
||||
[numthreads(1, 1, 1)]
|
||||
void main() {
|
||||
return;
|
||||
}
|
||||
21
test/tint/types/texture/storage/1d.wgsl.expected.fxc.hlsl
Normal file
21
test/tint/types/texture/storage/1d.wgsl.expected.fxc.hlsl
Normal file
@@ -0,0 +1,21 @@
|
||||
RWTexture1D<float4> t_rgba8unorm : register(u0, space0);
|
||||
RWTexture1D<float4> t_rgba8snorm : register(u1, space0);
|
||||
RWTexture1D<uint4> t_rgba8uint : register(u2, space0);
|
||||
RWTexture1D<int4> t_rgba8sint : register(u3, space0);
|
||||
RWTexture1D<uint4> t_rgba16uint : register(u4, space0);
|
||||
RWTexture1D<int4> t_rgba16sint : register(u5, space0);
|
||||
RWTexture1D<float4> t_rgba16float : register(u6, space0);
|
||||
RWTexture1D<uint4> t_r32uint : register(u7, space0);
|
||||
RWTexture1D<int4> t_r32sint : register(u8, space0);
|
||||
RWTexture1D<float4> t_r32float : register(u9, space0);
|
||||
RWTexture1D<uint4> t_rg32uint : register(u10, space0);
|
||||
RWTexture1D<int4> t_rg32sint : register(u11, space0);
|
||||
RWTexture1D<float4> t_rg32float : register(u12, space0);
|
||||
RWTexture1D<uint4> t_rgba32uint : register(u13, space0);
|
||||
RWTexture1D<int4> t_rgba32sint : register(u14, space0);
|
||||
RWTexture1D<float4> t_rgba32float : register(u15, space0);
|
||||
|
||||
[numthreads(1, 1, 1)]
|
||||
void main() {
|
||||
return;
|
||||
}
|
||||
21
test/tint/types/texture/storage/2d.wgsl.expected.fxc.hlsl
Normal file
21
test/tint/types/texture/storage/2d.wgsl.expected.fxc.hlsl
Normal file
@@ -0,0 +1,21 @@
|
||||
RWTexture2D<float4> t_rgba8unorm : register(u0, space0);
|
||||
RWTexture2D<float4> t_rgba8snorm : register(u1, space0);
|
||||
RWTexture2D<uint4> t_rgba8uint : register(u2, space0);
|
||||
RWTexture2D<int4> t_rgba8sint : register(u3, space0);
|
||||
RWTexture2D<uint4> t_rgba16uint : register(u4, space0);
|
||||
RWTexture2D<int4> t_rgba16sint : register(u5, space0);
|
||||
RWTexture2D<float4> t_rgba16float : register(u6, space0);
|
||||
RWTexture2D<uint4> t_r32uint : register(u7, space0);
|
||||
RWTexture2D<int4> t_r32sint : register(u8, space0);
|
||||
RWTexture2D<float4> t_r32float : register(u9, space0);
|
||||
RWTexture2D<uint4> t_rg32uint : register(u10, space0);
|
||||
RWTexture2D<int4> t_rg32sint : register(u11, space0);
|
||||
RWTexture2D<float4> t_rg32float : register(u12, space0);
|
||||
RWTexture2D<uint4> t_rgba32uint : register(u13, space0);
|
||||
RWTexture2D<int4> t_rgba32sint : register(u14, space0);
|
||||
RWTexture2D<float4> t_rgba32float : register(u15, space0);
|
||||
|
||||
[numthreads(1, 1, 1)]
|
||||
void main() {
|
||||
return;
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
RWTexture2DArray<float4> t_rgba8unorm : register(u0, space0);
|
||||
RWTexture2DArray<float4> t_rgba8snorm : register(u1, space0);
|
||||
RWTexture2DArray<uint4> t_rgba8uint : register(u2, space0);
|
||||
RWTexture2DArray<int4> t_rgba8sint : register(u3, space0);
|
||||
RWTexture2DArray<uint4> t_rgba16uint : register(u4, space0);
|
||||
RWTexture2DArray<int4> t_rgba16sint : register(u5, space0);
|
||||
RWTexture2DArray<float4> t_rgba16float : register(u6, space0);
|
||||
RWTexture2DArray<uint4> t_r32uint : register(u7, space0);
|
||||
RWTexture2DArray<int4> t_r32sint : register(u8, space0);
|
||||
RWTexture2DArray<float4> t_r32float : register(u9, space0);
|
||||
RWTexture2DArray<uint4> t_rg32uint : register(u10, space0);
|
||||
RWTexture2DArray<int4> t_rg32sint : register(u11, space0);
|
||||
RWTexture2DArray<float4> t_rg32float : register(u12, space0);
|
||||
RWTexture2DArray<uint4> t_rgba32uint : register(u13, space0);
|
||||
RWTexture2DArray<int4> t_rgba32sint : register(u14, space0);
|
||||
RWTexture2DArray<float4> t_rgba32float : register(u15, space0);
|
||||
|
||||
[numthreads(1, 1, 1)]
|
||||
void main() {
|
||||
return;
|
||||
}
|
||||
21
test/tint/types/texture/storage/3d.wgsl.expected.fxc.hlsl
Normal file
21
test/tint/types/texture/storage/3d.wgsl.expected.fxc.hlsl
Normal file
@@ -0,0 +1,21 @@
|
||||
RWTexture3D<float4> t_rgba8unorm : register(u0, space0);
|
||||
RWTexture3D<float4> t_rgba8snorm : register(u1, space0);
|
||||
RWTexture3D<uint4> t_rgba8uint : register(u2, space0);
|
||||
RWTexture3D<int4> t_rgba8sint : register(u3, space0);
|
||||
RWTexture3D<uint4> t_rgba16uint : register(u4, space0);
|
||||
RWTexture3D<int4> t_rgba16sint : register(u5, space0);
|
||||
RWTexture3D<float4> t_rgba16float : register(u6, space0);
|
||||
RWTexture3D<uint4> t_r32uint : register(u7, space0);
|
||||
RWTexture3D<int4> t_r32sint : register(u8, space0);
|
||||
RWTexture3D<float4> t_r32float : register(u9, space0);
|
||||
RWTexture3D<uint4> t_rg32uint : register(u10, space0);
|
||||
RWTexture3D<int4> t_rg32sint : register(u11, space0);
|
||||
RWTexture3D<float4> t_rg32float : register(u12, space0);
|
||||
RWTexture3D<uint4> t_rgba32uint : register(u13, space0);
|
||||
RWTexture3D<int4> t_rgba32sint : register(u14, space0);
|
||||
RWTexture3D<float4> t_rgba32float : register(u15, space0);
|
||||
|
||||
[numthreads(1, 1, 1)]
|
||||
void main() {
|
||||
return;
|
||||
}
|
||||
Reference in New Issue
Block a user