Skip to content
Snippets Groups Projects
Commit 29786d7e authored by Conor McCarthy's avatar Conor McCarthy Committed by Alexandre Julliard
Browse files

tests/shader-runner: Add a 'require' directive for wave ops.

parent 9315bcb6
No related branches found
No related tags found
1 merge request!800vkd3d-shader: Wave ops part 1.
[require]
shader model >= 6.0
wave ops
[uav 0]
format r32g32b32a32 float
......
[require]
shader model >= 6.0
wave ops
[uav 0]
format r32g32b32a32 sint
......
[require]
shader model >= 6.0
wave ops
[uav 0]
format r32 uint
......
......@@ -339,6 +339,10 @@ static void parse_require_directive(struct shader_runner *runner, const char *li
{
runner->require_rov = true;
}
else if (match_string(line, "wave ops", &line))
{
runner->require_wave_ops = true;
}
else
{
fatal_error("Unknown require directive '%s'.\n", line);
......@@ -1545,6 +1549,8 @@ static bool check_requirements(const struct shader_runner *runner, const struct
return false;
if (runner->require_rov && !caps->rov)
return false;
if (runner->require_wave_ops && !caps->wave_ops)
return false;
return true;
}
......@@ -1838,6 +1844,7 @@ void run_shader_tests(struct shader_runner *runner, const struct shader_runner_c
runner->require_float64 = false;
runner->require_int64 = false;
runner->require_rov = false;
runner->require_wave_ops = false;
runner->compile_options = 0;
skip_tests = false;
}
......
......@@ -137,6 +137,7 @@ struct shader_runner_caps
bool float64;
bool int64;
bool rov;
bool wave_ops;
};
static inline unsigned int shader_runner_caps_get_feature_flags(const struct shader_runner_caps *caps)
......@@ -169,6 +170,7 @@ struct shader_runner
bool require_float64;
bool require_int64;
bool require_rov;
bool require_wave_ops;
bool last_render_failed;
......
......@@ -751,6 +751,7 @@ static void d3d12_runner_init_caps(struct d3d12_shader_runner *runner)
runner->caps.float64 = options.DoublePrecisionFloatShaderOps;
runner->caps.int64 = options1.Int64ShaderOps;
runner->caps.rov = options.ROVsSupported;
runner->caps.wave_ops = options1.WaveOps;
}
static bool device_supports_shader_model_6_0(ID3D12Device *device)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment