radv: fix dynamic rendering global scissor

Make sure to clamp the global scissor to the render area.

This fixes dEQP-VK.draw.dynamic_rendering.*oversized.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14170>
This commit is contained in:
Samuel Pitoiset 2021-12-13 10:21:38 +01:00 committed by Marge Bot
parent 288a670f17
commit ac8afe3f44

View file

@ -7688,8 +7688,8 @@ radv_CmdBeginRenderingKHR(VkCommandBuffer commandBuffer, const VkRenderingInfoKH
return;
}
unsigned w = MAX_FRAMEBUFFER_WIDTH;
unsigned h = MAX_FRAMEBUFFER_HEIGHT;
unsigned w = pRenderingInfo->renderArea.offset.x + pRenderingInfo->renderArea.extent.width;
unsigned h = pRenderingInfo->renderArea.offset.y + pRenderingInfo->renderArea.extent.height;
for (unsigned i = 0; i < att_count; ++i) {
RADV_FROM_HANDLE(radv_image_view, iview, iviews[i]);
w = MIN2(w, iview->extent.width);