Fix VK_KHR_depth_stencil_resolve coverage
authorPiers Daniell <pdaniell@nvidia.com>
Fri, 26 Oct 2018 23:29:40 +0000 (17:29 -0600)
committerPiers Daniell <PDANIELL@nvidia.com>
Tue, 6 Nov 2018 16:38:00 +0000 (09:38 -0700)
commita568f4c2872de3ca1c98d703ac9a377c65a9989d
treef072a9e0fc69aa164bdcc355c6c6d0110d439d7f
parentb5ffa32eddf159985313cb4102b862381a676ef0
Fix VK_KHR_depth_stencil_resolve coverage

The way the subtest names were generated for the depth_stencil_resolve
group of tests caused coverage loss on implementations that don't
have symmetric support for depth and stencil resolve modes.

For example, the following test was constructed:
dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_2.d32_sfloat.depth_min_stencil_min_testing_depth

The goal of this test is to verify VK_RESOLVE_MODE_MIN_BIT_KHR
works for the depth aspect of a depth-only format. However, to
run this test the implementation has to support
VK_RESOLVE_MODE_MIN_BIT_KHR for stencil too, which it may not.
Running this test on such an implementation throws NotSupported,
which skips testing coverage. Since stencil is not involved
in this test it doesn't make any sense to skip the test if the
implementation doesn't support VK_RESOLVE_MODE_MIN_BIT_KHR
for stencil.

The fix is to improve the way tests are constructed such that
only VK_RESOLVE_MODE_NONE_KHR resolve mode is used on aspects
which don't exist in the format. This means the implementation
doesn't need to support unnecessary resolve modes of one aspect
to get testing coverage or the other.

Affects:

dEQP-VK.renderpass2.depth_stencil_resolve.*

Change-Id: I36b9ca066949a7897db38ab1657debd833b4117d
Components: Vulkan
android/cts/master/vk-master.txt
external/vulkancts/modules/vulkan/renderpass/vktRenderPassDepthStencilResolveTests.cpp
external/vulkancts/mustpass/1.1.3/vk-default-no-waivers.txt
external/vulkancts/mustpass/1.1.3/vk-default.txt