Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8
authorMatthew Netsch <quic_mnetsch@quicinc.com>
Thu, 6 Oct 2022 19:54:16 +0000 (12:54 -0700)
committerMatthew Netsch <quic_mnetsch@quicinc.com>
Thu, 6 Oct 2022 19:54:16 +0000 (12:54 -0700)
Change-Id: I56e0faf8f022888c1d28b368d7852a83575ae57d

1  2 
android/cts/master/src/vk-master-2019-03-01.txt
android/cts/master/vk-master/api.txt
external/vulkancts/modules/vulkan/api/vktApiCommandBuffersTests.cpp
external/vulkancts/modules/vulkan/api/vktApiCopiesAndBlittingTests.cpp
external/vulkancts/modules/vulkan/api/vktApiDeviceInitializationTests.cpp
external/vulkancts/modules/vulkan/api/vktApiExternalMemoryTests.cpp
external/vulkancts/modules/vulkan/api/vktApiPipelineTests.cpp
external/vulkancts/modules/vulkan/conditional_rendering/vktConditionalDrawTests.cpp
external/vulkancts/modules/vulkan/pipeline/vktPipelineMultisampleTests.cpp
external/vulkancts/modules/vulkan/robustness/vktRobustnessExtsTests.cpp
external/vulkancts/mustpass/master/vk-default/api.txt

Simple merge
@@@ -110,8 -110,14 +110,14 @@@ protected
        de::SharedPtr<Draw::Buffer>             m_indirectCountBuffer;
  };
  
+ void checkSupport(Context& context, DrawCommandType command)
+ {
+       if (command == DRAW_COMMAND_TYPE_DRAW_INDIRECT_COUNT || command == DRAW_COMMAND_TYPE_DRAW_INDEXED_INDIRECT_COUNT)
+               context.requireDeviceFunctionality("VK_KHR_draw_indirect_count");
+ }
  ConditionalDraw::ConditionalDraw (Context &context, ConditionalTestSpec testSpec)
 -      : Draw::DrawTestsBaseClass(context, testSpec.shaders[glu::SHADERTYPE_VERTEX], testSpec.shaders[glu::SHADERTYPE_FRAGMENT], vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST)
 +      : Draw::DrawTestsBaseClass(context, testSpec.shaders[glu::SHADERTYPE_VERTEX], testSpec.shaders[glu::SHADERTYPE_FRAGMENT], false, vk::VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST)
        , m_command(testSpec.command)
        , m_drawCalls(testSpec.drawCalls)
        , m_conditionalData(testSpec.conditionalData)
@@@ -4062,42 -3205,41 +4062,55 @@@ void MultisampleRenderer::initialize (C
                const deUint32 numSubpasses = m_renderType == RENDER_TYPE_DEPTHSTENCIL_ONLY ? 2u : 1u;
  
                for (deUint32 subpassIdx = 0; subpassIdx < numSubpasses; subpassIdx++)
+               {
+                       if (m_renderType == RENDER_TYPE_DEPTHSTENCIL_ONLY)
+                       {
+                               if (subpassIdx == 0)
+                               {
+                                       colorBlendStateParams.attachmentCount = 0;
+                               }
+                               else
+                               {
+                                       colorBlendStateParams.attachmentCount = 1;
+                               }
+                       }
                        for (deUint32 i = 0u; i < numTopologies; ++i)
                        {
 -                              m_graphicsPipelines.push_back(VkPipelineSp(new Unique<VkPipeline>(makeGraphicsPipeline(vk,                                                      // const DeviceInterface&                        vk
 -                                                                                                                                                                                                         vkDevice,                                    // const VkDevice                                device
 -                                                                                                                                                                                                         *m_pipelineLayout,                   // const VkPipelineLayout                        pipelineLayout
 -                                                                                                                                                                                                         *m_vertexShaderModule,               // const VkShaderModule                          vertexShaderModule
 -                                                                                                                                                                                                         DE_NULL,                                             // const VkShaderModule                          tessellationControlModule
 -                                                                                                                                                                                                         DE_NULL,                                             // const VkShaderModule                          tessellationEvalModule
 -                                                                                                                                                                                                         DE_NULL,                                             // const VkShaderModule                          geometryShaderModule
 -                                                                                                                                                                                                         *m_fragmentShaderModule,             // const VkShaderModule                          fragmentShaderModule
 -                                                                                                                                                                                                         *m_renderPass,                               // const VkRenderPass                            renderPass
 -                                                                                                                                                                                                         viewports,                                   // const std::vector<VkViewport>&                viewports
 -                                                                                                                                                                                                         scissors,                                    // const std::vector<VkRect2D>&                  scissors
 -                                                                                                                                                                                                         pTopology[i],                                // const VkPrimitiveTopology                     topology
 -                                                                                                                                                                                                         subpassIdx,                                  // const deUint32                                subpass
 -                                                                                                                                                                                                         0u,                                                  // const deUint32                                patchControlPoints
 -                                                                                                                                                                                                         &vertexInputStateParams,             // const VkPipelineVertexInputStateCreateInfo*   vertexInputStateCreateInfo
 -                                                                                                                                                                                                         DE_NULL,                                             // const VkPipelineRasterizationStateCreateInfo* rasterizationStateCreateInfo
 -                                                                                                                                                                                                         &m_multisampleStateParams,   // const VkPipelineMultisampleStateCreateInfo*   multisampleStateCreateInfo
 -                                                                                                                                                                                                         &depthStencilStateParams,    // const VkPipelineDepthStencilStateCreateInfo*  depthStencilStateCreateInfo
 -                                                                                                                                                                                                         &colorBlendStateParams))));  // const VkPipelineColorBlendStateCreateInfo*    colorBlendStateCreateInfo
 +                              const VkPipelineInputAssemblyStateCreateInfo inputAssemblyStateCreateInfo
 +                              {
 +                                      VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO,    // VkStructureType                                                                      sType
 +                                      DE_NULL,                                                                                                                // const void*                                                                          pNext
 +                                      0u,                                                                                                                             // VkPipelineInputAssemblyStateCreateFlags                      flags
 +                                      pTopology[i],                                                                                                   // VkPrimitiveTopology                                                          topology
 +                                      VK_FALSE                                                                                                                // VkBool32                                                                                     primitiveRestartEnable
 +                              };
 +
 +                              const VkGraphicsPipelineCreateInfo pipelineCreateInfo
 +                              {
 +                                      VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO,                                        // VkStructureType                                                                      sType
 +                                      m_useFragmentShadingRate ? &shadingRateStateCreateInfo : DE_NULL,       // const void*                                                                          pNext
 +                                      0u,                                                                                                                                     // VkPipelineCreateFlags                                                        flags
 +                                      (deUint32)pipelineShaderStageParams.size(),                                                     // deUint32                                                                                     stageCount
 +                                      &pipelineShaderStageParams[0],                                                                          // const VkPipelineShaderStageCreateInfo*                       pStages
 +                                      &vertexInputStateParams,                                                                                        // const VkPipelineVertexInputStateCreateInfo*          pVertexInputState
 +                                      &inputAssemblyStateCreateInfo,                                                                          // const VkPipelineInputAssemblyStateCreateInfo*        pInputAssemblyState
 +                                      DE_NULL,                                                                                                                        // const VkPipelineTessellationStateCreateInfo*         pTessellationState
 +                                      &viewportStateCreateInfo,                                                                                       // const VkPipelineViewportStateCreateInfo*                     pViewportState
 +                                      &rasterizationStateCreateInfo,                                                                          // const VkPipelineRasterizationStateCreateInfo*        pRasterizationState
 +                                      &m_multisampleStateParams,                                                                                      // const VkPipelineMultisampleStateCreateInfo*          pMultisampleState
 +                                      &depthStencilStateParams,                                                                                       // const VkPipelineDepthStencilStateCreateInfo*         pDepthStencilState
 +                                      &colorBlendStateParams,                                                                                         // const VkPipelineColorBlendStateCreateInfo*           pColorBlendState
 +                                      DE_NULL,                                                                                                                        // const VkPipelineDynamicStateCreateInfo*                      pDynamicState
 +                                      *m_pipelineLayout,                                                                                                      // VkPipelineLayout                                                                     layout
 +                                      *m_renderPass,                                                                                                          // VkRenderPass                                                                         renderPass
 +                                      subpassIdx,                                                                                                                     // deUint32                                                                                     subpass
 +                                      DE_NULL,                                                                                                                        // VkPipeline                                                                           basePipelineHandle
 +                                      0                                                                                                                                       // deInt32                                                                                      basePipelineIndex;
 +                              };
 +
 +                              m_graphicsPipelines.push_back(VkPipelineSp(new Unique<VkPipeline>(createGraphicsPipeline(vk, vkDevice, DE_NULL, &pipelineCreateInfo))));
                        }
+                       }
        }
  
        if (m_renderType == RENDER_TYPE_COPY_SAMPLES)