Fix multiview mutlisample tests
authorAlexander Galazin <alexander.galazin@arm.com>
Fri, 18 May 2018 09:51:14 +0000 (11:51 +0200)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Thu, 24 May 2018 14:12:43 +0000 (10:12 -0400)
The multiview multisample tests used VK_SAMPLE_COUNT_2_BIT
without checking that it is supported.
The minimum requirement is to support 4-bit and 1-bit only.

Affects: dEQP-VK.multiview.multisample.*

Components: Vulkan

VK-GL-CTS issue: 1152

Change-Id: Id999cbb42a5961cca1f89c709c1f0bc8d6124645

external/vulkancts/modules/vulkan/multiview/vktMultiViewRenderTests.cpp

index aab9d7d..31c4e47 100644 (file)
@@ -780,7 +780,7 @@ Move<VkPipeline> MultiViewRenderTestInstance::makeGraphicsPipeline (const VkRend
                1.0f,                                                                                                           // float                                                                        lineWidth;
        };
 
-       const VkSampleCountFlagBits                                             sampleCountFlagBits                                     = (TEST_TYPE_MULTISAMPLE == m_parameters.viewIndex) ? VK_SAMPLE_COUNT_2_BIT :
+       const VkSampleCountFlagBits                                             sampleCountFlagBits                                     = (TEST_TYPE_MULTISAMPLE == m_parameters.viewIndex) ? VK_SAMPLE_COUNT_4_BIT :
                                                                                                                                                                                  VK_SAMPLE_COUNT_1_BIT;
        const VkPipelineMultisampleStateCreateInfo              multisampleStateParams                          =
        {
@@ -2071,7 +2071,7 @@ tcu::TestStatus MultiViewMultsampleTestInstance::iterate (void)
        const deUint32                                                          subpassCount                            = static_cast<deUint32>(m_parameters.viewMasks.size());
 
        // FrameBuffer & renderPass
-       Unique<VkRenderPass>                                            renderPass                                      (makeRenderPass (*m_device, *m_logicalDevice, m_parameters.colorFormat, m_parameters.viewMasks, VK_SAMPLE_COUNT_2_BIT));
+       Unique<VkRenderPass>                                            renderPass                                      (makeRenderPass (*m_device, *m_logicalDevice, m_parameters.colorFormat, m_parameters.viewMasks, VK_SAMPLE_COUNT_4_BIT));
 
        vector<VkImageView>                                                     attachments;
        attachments.push_back(m_colorAttachment->getImageView());
@@ -3433,7 +3433,7 @@ void multiViewRenderCreateTests (tcu::TestCaseGroup* group)
        {
                MovePtr<tcu::TestCaseGroup>     groupShader                     (new tcu::TestCaseGroup(testCtx, shaderName[testTypeNdx].c_str(), ""));
                const TestType                          testType                        = static_cast<TestType>(testTypeNdx);
-               const VkSampleCountFlagBits     sampleCountFlags        = (testType == TEST_TYPE_MULTISAMPLE) ? VK_SAMPLE_COUNT_2_BIT : VK_SAMPLE_COUNT_1_BIT;
+               const VkSampleCountFlagBits     sampleCountFlags        = (testType == TEST_TYPE_MULTISAMPLE) ? VK_SAMPLE_COUNT_4_BIT : VK_SAMPLE_COUNT_1_BIT;
                const VkFormat                          colorFormat                     = (testType == TEST_TYPE_MULTISAMPLE) ? VK_FORMAT_R32G32B32A32_SFLOAT : VK_FORMAT_R8G8B8A8_UNORM;
 
                if (testTypeNdx == TEST_TYPE_DEPTH || testTypeNdx == TEST_TYPE_STENCIL)