From 7ce4c3493618e80244d846940d9946cc88d64b86 Mon Sep 17 00:00:00 2001 From: Stenzek Date: Fri, 11 Oct 2024 21:19:16 +1000 Subject: [PATCH] VulkanDevice: Scissor rect should never be negative --- src/util/vulkan_device.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/util/vulkan_device.cpp b/src/util/vulkan_device.cpp index 5dbbc8727..1bc9636ec 100644 --- a/src/util/vulkan_device.cpp +++ b/src/util/vulkan_device.cpp @@ -3752,7 +3752,9 @@ void VulkanDevice::SetScissor(const GSVector4i rc) if (m_dirty_flags & DIRTY_FLAG_INITIAL) return; - const VkRect2D vrc = {{rc.x, rc.y}, {static_cast(rc.width()), static_cast(rc.height())}}; + const GSVector4i clamped_rc = rc.max_s32(GSVector4i::zero()); + const VkRect2D vrc = {{clamped_rc.x, clamped_rc.y}, + {static_cast(clamped_rc.width()), static_cast(clamped_rc.height())}}; vkCmdSetScissor(GetCurrentCommandBuffer(), 0, 1, &vrc); }