mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-09-12 18:50:22 -07:00
tests/shader_runner: Avoid creating devices for backends that won't execute.
My main motivation to this is avoiding generating a lot of useless log lines from other executors when I'm interested in just one of them, but I can imagine this also somewhat improving efficiency.
This commit is contained in:
committed by
Henri Verbeet
parent
0b273ea88c
commit
fc4316f664
Notes:
Henri Verbeet
2025-03-17 15:28:49 +01:00
Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1416
@@ -1856,20 +1856,31 @@ out_destroy_context:
|
||||
void run_shader_tests_vulkan(void)
|
||||
{
|
||||
struct vulkan_shader_runner runner = {0};
|
||||
bool skip_sm2 = test_skipping_execution("Vulkan", HLSL_COMPILER, SHADER_MODEL_2_0, SHADER_MODEL_3_0);
|
||||
bool skip_sm4 = test_skipping_execution("Vulkan", HLSL_COMPILER, SHADER_MODEL_4_0, SHADER_MODEL_5_1);
|
||||
|
||||
if (skip_sm2 && skip_sm4)
|
||||
return;
|
||||
|
||||
if (!init_vulkan_runner(&runner))
|
||||
return;
|
||||
|
||||
runner.caps.minimum_shader_model = SHADER_MODEL_2_0;
|
||||
runner.caps.maximum_shader_model = SHADER_MODEL_3_0;
|
||||
run_shader_tests(&runner.r, &runner.caps, &vulkan_runner_ops, NULL);
|
||||
if (!skip_sm2)
|
||||
{
|
||||
runner.caps.minimum_shader_model = SHADER_MODEL_2_0;
|
||||
runner.caps.maximum_shader_model = SHADER_MODEL_3_0;
|
||||
run_shader_tests(&runner.r, &runner.caps, &vulkan_runner_ops, NULL);
|
||||
}
|
||||
|
||||
/* Fog requires remapping, which is only correct for sm1. */
|
||||
runner.caps.shader_caps[SHADER_CAP_FOG] = false;
|
||||
if (!skip_sm4)
|
||||
{
|
||||
/* Fog requires remapping, which is only correct for sm1. */
|
||||
runner.caps.shader_caps[SHADER_CAP_FOG] = false;
|
||||
|
||||
runner.caps.minimum_shader_model = SHADER_MODEL_4_0;
|
||||
runner.caps.maximum_shader_model = SHADER_MODEL_5_1;
|
||||
run_shader_tests(&runner.r, &runner.caps, &vulkan_runner_ops, NULL);
|
||||
runner.caps.minimum_shader_model = SHADER_MODEL_4_0;
|
||||
runner.caps.maximum_shader_model = SHADER_MODEL_5_1;
|
||||
run_shader_tests(&runner.r, &runner.caps, &vulkan_runner_ops, NULL);
|
||||
}
|
||||
|
||||
vulkan_test_context_destroy(&runner.context);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user