From: ziga-lunarg Date: Sun, 16 Oct 2022 22:42:52 +0000 (+0200) Subject: Fix viewport width in FSR with multiviewport tests X-Git-Tag: upstream/1.3.5~2^2^2^2~5^2~5^2~6^2~1^2~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=67f3bf68a9cb813b15b82be21f45b910352b7dd6;p=platform%2Fupstream%2FVK-GL-CTS.git Fix viewport width in FSR with multiviewport tests Tests with extent 1x1 create viewport with width equal to 0.0f Components: Vulkan VK-GL-CTS issue: 4057 Affected tests: dEQP-VK.fragment_shading_rate.* Change-Id: I99a050348de83d1790320bd5d6d711722dd1fbaf --- diff --git a/external/vulkancts/modules/vulkan/fragment_shading_rate/vktFragmentShadingRateBasic.cpp b/external/vulkancts/modules/vulkan/fragment_shading_rate/vktFragmentShadingRateBasic.cpp index d9245de..7c55857 100644 --- a/external/vulkancts/modules/vulkan/fragment_shading_rate/vktFragmentShadingRateBasic.cpp +++ b/external/vulkancts/modules/vulkan/fragment_shading_rate/vktFragmentShadingRateBasic.cpp @@ -1701,11 +1701,11 @@ tcu::TestStatus FSRTestInstance::iterate (void) // Split the viewport into left and right halves int x0 = 0, x1 = m_data.framebufferDim.width/2, x2 = m_data.framebufferDim.width; - viewports.push_back(makeViewport((float)x0, 0, (float)(x1-x0), (float)m_data.framebufferDim.height, 0.0f, 1.0f)); - scissors.push_back(makeRect2D(x0, 0, x1-x0, m_data.framebufferDim.height)); + viewports.push_back(makeViewport((float)x0, 0, std::max((float)(x1 - x0), 1.0f), (float)m_data.framebufferDim.height, 0.0f, 1.0f)); + scissors.push_back(makeRect2D(x0, 0, x1 - x0, m_data.framebufferDim.height)); - viewports.push_back(makeViewport((float)x1, 0, (float)(x2-x1), (float)m_data.framebufferDim.height, 0.0f, 1.0f)); - scissors.push_back(makeRect2D(x1, 0, x2-x1, m_data.framebufferDim.height)); + viewports.push_back(makeViewport((float)x1, 0, std::max((float)(x2 - x1), 1.0f), (float)m_data.framebufferDim.height, 0.0f, 1.0f)); + scissors.push_back(makeRect2D(x1, 0, x2 - x1, m_data.framebufferDim.height)); } else {