From: Matthew Netsch Date: Thu, 6 Oct 2022 19:54:16 +0000 (-0700) Subject: Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8 X-Git-Tag: upstream/1.3.5~144^2~6^2~3^2~2^2^2~7 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e5401ddbc52f00364f2e68a64c159d233c18269a;p=platform%2Fupstream%2FVK-GL-CTS.git Merge vk-gl-cts/vulkan-cts-1.2.7 into vk-gl-cts/vulkan-cts-1.2.8 Change-Id: I56e0faf8f022888c1d28b368d7852a83575ae57d --- e5401ddbc52f00364f2e68a64c159d233c18269a diff --cc external/vulkancts/modules/vulkan/conditional_rendering/vktConditionalDrawTests.cpp index c0c75c3,81cdef5..a0977ad --- a/external/vulkancts/modules/vulkan/conditional_rendering/vktConditionalDrawTests.cpp +++ b/external/vulkancts/modules/vulkan/conditional_rendering/vktConditionalDrawTests.cpp @@@ -110,8 -110,14 +110,14 @@@ protected de::SharedPtr 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) diff --cc external/vulkancts/modules/vulkan/pipeline/vktPipelineMultisampleTests.cpp index d9822ca,cf3f21c..3c4dbb5 --- a/external/vulkancts/modules/vulkan/pipeline/vktPipelineMultisampleTests.cpp +++ b/external/vulkancts/modules/vulkan/pipeline/vktPipelineMultisampleTests.cpp @@@ -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(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& viewports - scissors, // const std::vector& 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(createGraphicsPipeline(vk, vkDevice, DE_NULL, &pipelineCreateInfo)))); } + } } if (m_renderType == RENDER_TYPE_COPY_SAMPLES)