Correct handling of independentResolveNone
authorStephen Gallimore <stephen.gallimore@broadcom.com>
Thu, 18 Jul 2019 16:48:41 +0000 (17:48 +0100)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Thu, 12 Sep 2019 16:08:42 +0000 (12:08 -0400)
Some depth/stencil resolve tests are incorrectly reported
as unsupported, when the device's supported features include
independentResolveNone but not independentResolve.

Affects:

dEQP-VK.renderpass2.depth_stencil_resolve.*

VK-GL-CTS Issue: 1882
Components: Vulkan

Change-Id: I51f3fbf1447084a052e8f57a5726435f7947384e

external/vulkancts/modules/vulkan/renderpass/vktRenderPassDepthStencilResolveTests.cpp

index 3e45bb5e1fdc495d943b0bd48b8ab5a12768f571..d093dd9275dc9dbcaec17ebff2273f26bd15843c 100644 (file)
@@ -255,16 +255,12 @@ bool DepthStencilResolveTest::isFeaturesSupported()
                        (stencilResolveMode != VK_RESOLVE_MODE_NONE_KHR))
                        TCU_THROW(NotSupportedError, "Implementation doesn't support diferent resolve modes");
        }
-       else if (depthResolveMode != stencilResolveMode)
+       else if (!dsResolveProperties.independentResolve && (depthResolveMode != stencilResolveMode))
        {
-               // when independentResolveNone is VK_FALSE then both modes must be the same
+               // when independentResolveNone and independentResolve are VK_FALSE then both modes must be the same
                TCU_THROW(NotSupportedError, "Implementation doesn't support diferent resolve modes");
        }
 
-       // check if the implementation supports all combinations of the supported depth and stencil resolve modes
-       if (!dsResolveProperties.independentResolve && (depthResolveMode != stencilResolveMode))
-               TCU_THROW(NotSupportedError, "Implementation doesn't support diferent resolve modes");
-
        return true;
 }