Fix missing multisample info in PrimitivesGeneratedQuery tests
authorRicardo Garcia <rgarcia@igalia.com>
Wed, 21 Sep 2022 15:06:48 +0000 (17:06 +0200)
committerMatthew Netsch <quic_mnetsch@quicinc.com>
Mon, 10 Oct 2022 16:04:01 +0000 (16:04 +0000)
The layers were complaining about the multisample state not being
passed.

Also see:
https://github.com/KhronosGroup/Vulkan-ValidationLayers/pull/4583

Affects:
dEQP-VK.transform_feedback.primitives_generated_query.*

Components: Vulkan
VK-GL-CTS issue: 3965
VK-GL-CTS issue: 3966
Vulkan issue: 3240

Change-Id: I2b27992acd0882757ef758a69faa5378b56802e7

external/vulkancts/modules/vulkan/transform_feedback/vktPrimitivesGeneratedQueryTests.cpp

index e804303..1a54a53 100644 (file)
@@ -747,6 +747,19 @@ Move<VkPipeline> PrimitivesGeneratedQueryTestInstance::makeGraphicsPipeline (con
                &dynamicStates                                                                                  // const VkDynamicState*                                pDynamicStates
        };
 
+       const VkPipelineMultisampleStateCreateInfo              multisampleStateCreateInfo              =
+       {
+               VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO,       //      VkStructureType                                                 sType;
+               nullptr,                                                                                                        //      const void*                                                             pNext;
+               0u,                                                                                                                     //      VkPipelineMultisampleStateCreateFlags   flags;
+               VK_SAMPLE_COUNT_1_BIT,                                                                          //      VkSampleCountFlagBits                                   rasterizationSamples;
+               VK_FALSE,                                                                                                       //      VkBool32                                                                sampleShadingEnable;
+               1.0f,                                                                                                           //      float                                                                   minSampleShading;
+               nullptr,                                                                                                        //      const VkSampleMask*                                             pSampleMask;
+               VK_FALSE,                                                                                                       //      VkBool32                                                                alphaToCoverageEnable;
+               VK_FALSE,                                                                                                       //      VkBool32                                                                alphaToOneEnable;
+       };
+
        return vk::makeGraphicsPipeline(vk,
                                                                        device,
                                                                        *pipelineLayout,
@@ -763,7 +776,7 @@ Move<VkPipeline> PrimitivesGeneratedQueryTestInstance::makeGraphicsPipeline (con
                                                                        patchControlPoints,
                                                                        &vertexInputStateCreateInfo,
                                                                        &rasterizationStateCreateInfo,
-                                                                       DE_NULL,        // multisampleStateCreateInfo
+                                                                       &multisampleStateCreateInfo,
                                                                        m_parameters.depthStencilAttachment ? &depthStencilStateCreateInfo : DE_NULL,
                                                                        m_parameters.staticColorWriteDisable() ? &colorBlendStateCreateInfo : DE_NULL,
                                                                        m_parameters.dynamicColorWriteDisable() ? &pipelineDynamicStateCreateInfo : DE_NULL);