tests/shader_runner: Introduce a 'depth-bounds' test option.

This commit is contained in:
Anna (navi) Figueiredo Gomes
2024-08-31 18:54:44 +02:00
committed by Henri Verbeet
parent 12a7cde092
commit 3eb2a3d0e4
Notes: Henri Verbeet 2024-09-11 15:31:24 +02:00
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1031
6 changed files with 64 additions and 11 deletions

View File

@@ -836,10 +836,10 @@ static VkPipeline create_graphics_pipeline(struct vulkan_shader_runner *runner,
ds_desc.depthTestEnable = VK_TRUE;
ds_desc.depthWriteEnable = VK_TRUE;
ds_desc.depthCompareOp = vk_compare_op_from_d3d12(runner->r.depth_func);
ds_desc.depthBoundsTestEnable = VK_FALSE;
ds_desc.depthBoundsTestEnable = runner->r.depth_bounds;
ds_desc.stencilTestEnable = VK_FALSE;
ds_desc.minDepthBounds = 0.0f;
ds_desc.maxDepthBounds = 1.0f;
ds_desc.minDepthBounds = runner->r.depth_min;
ds_desc.maxDepthBounds = runner->r.depth_max;
pipeline_desc.pDepthStencilState = &ds_desc;
break;
@@ -1818,6 +1818,12 @@ static bool init_vulkan_runner(struct vulkan_shader_runner *runner)
runner->caps.int64 = true;
}
if (ret_features->depthBounds)
{
features.depthBounds = VK_TRUE;
runner->caps.depth_bounds = true;
}
if (device_info.interlock_features.fragmentShaderSampleInterlock
&& device_info.interlock_features.fragmentShaderPixelInterlock)
{