mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-09-12 18:50:22 -07:00
tests: Implement multisampling in the Vulkan renderer.
This commit is contained in:
committed by
Henri Verbeet
parent
fe21318b5f
commit
737967604e
Notes:
Henri Verbeet
2024-07-11 00:41:24 +02:00
Approved-by: Giovanni Mascellani (@giomasce) Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/924
@@ -939,6 +939,14 @@ static void parse_test_directive(struct shader_runner *runner, const char *line)
|
||||
if (!runner->vs_source)
|
||||
runner->vs_source = strdup(vs_source);
|
||||
|
||||
runner->sample_count = 1;
|
||||
for (i = 0; i < runner->resource_count; ++i)
|
||||
{
|
||||
if (runner->resources[i]->desc.type == RESOURCE_TYPE_RENDER_TARGET
|
||||
|| runner->resources[i]->desc.type == RESOURCE_TYPE_DEPTH_STENCIL)
|
||||
runner->sample_count = max(runner->sample_count, runner->resources[i]->desc.sample_count);
|
||||
}
|
||||
|
||||
runner->last_render_failed = !runner->ops->draw(runner, D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST, 3, 1);
|
||||
}
|
||||
else if (match_string(line, "draw", &line))
|
||||
@@ -990,6 +998,14 @@ static void parse_test_directive(struct shader_runner *runner, const char *line)
|
||||
if (line == rest)
|
||||
instance_count = 1;
|
||||
|
||||
runner->sample_count = 1;
|
||||
for (unsigned int i = 0; i < runner->resource_count; ++i)
|
||||
{
|
||||
if (runner->resources[i]->desc.type == RESOURCE_TYPE_RENDER_TARGET
|
||||
|| runner->resources[i]->desc.type == RESOURCE_TYPE_DEPTH_STENCIL)
|
||||
runner->sample_count = max(runner->sample_count, runner->resources[i]->desc.sample_count);
|
||||
}
|
||||
|
||||
runner->last_render_failed = !runner->ops->draw(runner, topology, vertex_count, instance_count);
|
||||
}
|
||||
else if (match_string(line, "probe", &line))
|
||||
@@ -1635,6 +1651,8 @@ void run_shader_tests(struct shader_runner *runner, const struct shader_runner_c
|
||||
runner->minimum_shader_model = caps->minimum_shader_model;
|
||||
runner->maximum_shader_model = caps->maximum_shader_model;
|
||||
|
||||
runner->sample_mask = ~0u;
|
||||
|
||||
if ((testname = strrchr(test_options.filename, '/')))
|
||||
++testname;
|
||||
else
|
||||
|
Reference in New Issue
Block a user