mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-12-15 08:03:30 -08:00
ci: Run the Windows tests with WARP version 1.0.16.1.
Many tests fail or even segfault with the older WARP version provided by the current CI Windows environment.
This commit is contained in:
committed by
Henri Verbeet
parent
a6c6ba6eda
commit
a7e56beb19
Notes:
Henri Verbeet
2025-10-16 15:22:00 +02:00
Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1755
@@ -133,7 +133,7 @@ out:
|
||||
|
||||
static bool run_tests_for_directory(const char *commit_dir)
|
||||
{
|
||||
char cmdline[1024], log_filename[1024], list_filename[1024], line[1024];
|
||||
char cmdline[1024], log_filename[1024], list_filename[1024], line[1024], dest_filename[1024];
|
||||
unsigned int success_count = 0, test_count = 0, timeout_count = 0;
|
||||
const char *test_arch = getenv("TEST_ARCH");
|
||||
enum program_result result;
|
||||
@@ -146,6 +146,25 @@ static bool run_tests_for_directory(const char *commit_dir)
|
||||
printf("\e[0Ksection_start:%I64d:commit_%s\r\e[0KBuilding commit %s\n",
|
||||
(uint64_t)time(NULL), commit_dir, commit_dir);
|
||||
|
||||
if (strcmp(test_arch, "64") == 0)
|
||||
{
|
||||
sprintf(dest_filename, "artifacts\\%s\\tests\\d3d10warp.dll", commit_dir);
|
||||
if (!CopyFileA(".\\warp\\build\\native\\bin\\x64\\d3d10warp.dll", dest_filename, FALSE))
|
||||
{
|
||||
fprintf(stderr, "Cannot copy d3d10warp.dll, last error %ld.\n", GetLastError());
|
||||
ret = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
sprintf(dest_filename, "artifacts\\%s\\tests\\d3d10warp.dll", commit_dir);
|
||||
if (!CopyFileA(".\\warp\\build\\native\\bin\\win32\\d3d10warp.dll", dest_filename, FALSE))
|
||||
{
|
||||
fprintf(stderr, "Cannot copy d3d10warp.dll, last error %ld.\n", GetLastError());
|
||||
ret = false;
|
||||
}
|
||||
}
|
||||
|
||||
sprintf(list_filename, "artifacts/%s/tests/shader_tests.txt", commit_dir);
|
||||
list_file = fopen(list_filename, "r");
|
||||
|
||||
|
||||
@@ -45,9 +45,8 @@ probe (1, 478) f32(0.5, 0.5, 0.5, 0.5)
|
||||
probe (638, 479) f32(0.0, 0.0, 0.0, 0.0)
|
||||
|
||||
% Centroid interpolation.
|
||||
% The WARP driver doesn't seem to support centroid interpolation for SM < 4.
|
||||
[pixel shader]
|
||||
static const float2 sample_pos = {-0.001f, 0.000f};
|
||||
static const float2 sample_pos = {0.375f, -0.125f};
|
||||
|
||||
float4 main(centroid float2 t : TEXCOORD0) : SV_Target
|
||||
{
|
||||
@@ -56,20 +55,19 @@ float4 main(centroid float2 t : TEXCOORD0) : SV_Target
|
||||
float2 diff = t.xy - ref;
|
||||
float2 expected = first_col ? sample_pos : 0.0f;
|
||||
float2 err = abs(diff - expected);
|
||||
return floor(1000.0f * float4(err, 0.0f, 0.0f));
|
||||
return floor(500.0f * float4(err, 0.0f, 0.0f));
|
||||
}
|
||||
|
||||
[test]
|
||||
clear rtv 0 1.0 1.0 1.0 1.0
|
||||
draw triangle list 3
|
||||
todo probe (1, 1) f32(0.5, 0.5, 0.5, 0.5)
|
||||
probe (1, 1) f32(0.5, 0.5, 0.5, 0.5)
|
||||
probe (638, 1) f32(0.0, 0.0, 0.0, 0.0)
|
||||
todo probe (1, 478) f32(0.5, 0.5, 0.5, 0.5)
|
||||
probe (1, 478) f32(0.5, 0.5, 0.5, 0.5)
|
||||
probe (638, 479) f32(0.0, 0.0, 0.0, 0.0)
|
||||
|
||||
% The WARP driver doesn't seem to support centroid interpolation for SM < 4.
|
||||
[pixel shader]
|
||||
static const float2 sample_pos = {-0.001f, 0.000f};
|
||||
static const float2 sample_pos = {0.375f, -0.125f};
|
||||
|
||||
float4 main(float2 t : TEXCOORD0_centRoid) : SV_Target
|
||||
{
|
||||
@@ -78,20 +76,19 @@ float4 main(float2 t : TEXCOORD0_centRoid) : SV_Target
|
||||
float2 diff = t.xy - ref;
|
||||
float2 expected = first_col ? sample_pos : 0.0f;
|
||||
float2 err = abs(diff - expected);
|
||||
return floor(1000.0f * float4(err, 0.0f, 0.0f));
|
||||
return floor(500.0f * float4(err, 0.0f, 0.0f));
|
||||
}
|
||||
|
||||
[test]
|
||||
clear rtv 0 1.0 1.0 1.0 1.0
|
||||
draw triangle list 3
|
||||
todo probe (1, 1) f32(0.5, 0.5, 0.5, 0.5)
|
||||
probe (1, 1) f32(0.5, 0.5, 0.5, 0.5)
|
||||
probe (638, 1) f32(0.0, 0.0, 0.0, 0.0)
|
||||
todo probe (1, 478) f32(0.5, 0.5, 0.5, 0.5)
|
||||
probe (1, 478) f32(0.5, 0.5, 0.5, 0.5)
|
||||
probe (638, 479) f32(0.0, 0.0, 0.0, 0.0)
|
||||
|
||||
% The WARP driver doesn't seem to support centroid interpolation for SM < 4.
|
||||
[pixel shader]
|
||||
static const float2 sample_pos = {-0.001f, 0.000f};
|
||||
static const float2 sample_pos = {0.375f, -0.125f};
|
||||
|
||||
struct ps_in
|
||||
{
|
||||
@@ -105,21 +102,20 @@ float4 main(ps_in data) : SV_Target
|
||||
float2 diff = data.t.xy - ref;
|
||||
float2 expected = first_col ? sample_pos : 0.0f;
|
||||
float2 err = abs(diff - expected);
|
||||
return floor(1000.0f * float4(err, 0.0f, 0.0f));
|
||||
return floor(500.0f * float4(err, 0.0f, 0.0f));
|
||||
}
|
||||
|
||||
[test]
|
||||
clear rtv 0 1.0 1.0 1.0 1.0
|
||||
draw triangle list 3
|
||||
todo probe (1, 1) f32(0.5, 0.5, 0.5, 0.5)
|
||||
probe (1, 1) f32(0.5, 0.5, 0.5, 0.5)
|
||||
probe (638, 1) f32(0.0, 0.0, 0.0, 0.0)
|
||||
todo probe (1, 478) f32(0.5, 0.5, 0.5, 0.5)
|
||||
probe (1, 478) f32(0.5, 0.5, 0.5, 0.5)
|
||||
probe (638, 479) f32(0.0, 0.0, 0.0, 0.0)
|
||||
|
||||
% The "_centroid" semantic modifier can be specified together with the "centroid" prefix attribute.
|
||||
% The WARP driver doesn't seem to support centroid interpolation for SM < 4.
|
||||
[pixel shader]
|
||||
static const float2 sample_pos = {-0.001f, 0.000f};
|
||||
static const float2 sample_pos = {0.375f, -0.125f};
|
||||
|
||||
float4 main(centroid float2 t : TEXCOORD0_centroid) : SV_Target
|
||||
{
|
||||
@@ -128,15 +124,15 @@ float4 main(centroid float2 t : TEXCOORD0_centroid) : SV_Target
|
||||
float2 diff = t.xy - ref;
|
||||
float2 expected = first_col ? sample_pos : 0.0f;
|
||||
float2 err = abs(diff - expected);
|
||||
return floor(1000.0f * float4(err, 0.0f, 0.0f));
|
||||
return floor(500.0f * float4(err, 0.0f, 0.0f));
|
||||
}
|
||||
|
||||
[test]
|
||||
clear rtv 0 1.0 1.0 1.0 1.0
|
||||
draw triangle list 3
|
||||
todo probe (1, 1) f32(0.5, 0.5, 0.5, 0.5)
|
||||
probe (1, 1) f32(0.5, 0.5, 0.5, 0.5)
|
||||
probe (638, 1) f32(0.0, 0.0, 0.0, 0.0)
|
||||
todo probe (1, 478) f32(0.5, 0.5, 0.5, 0.5)
|
||||
probe (1, 478) f32(0.5, 0.5, 0.5, 0.5)
|
||||
probe (638, 479) f32(0.0, 0.0, 0.0, 0.0)
|
||||
|
||||
% The semantic name is this case is "TEXCOORD_centroid", which is not valid for SM < 4.
|
||||
|
||||
Reference in New Issue
Block a user