summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Fernando Sahmkow2022-02-05 12:30:19 +0100
committerGravatar Fernando Sahmkow2022-10-06 21:00:52 +0200
commit98b5e236d4049d1a2a4c6413486b5015b7efe2c8 (patch)
tree4bf35037d1c4819815d5cf2b3424844ae0c5bfac /src
parentNVDRV: Further refactors and eliminate old code. (diff)
downloadyuzu-98b5e236d4049d1a2a4c6413486b5015b7efe2c8.tar.gz
yuzu-98b5e236d4049d1a2a4c6413486b5015b7efe2c8.tar.xz
yuzu-98b5e236d4049d1a2a4c6413486b5015b7efe2c8.zip
Vulkan: Fix Scissor on Clears
Diffstat (limited to 'src')
-rw-r--r--src/video_core/renderer_vulkan/vk_rasterizer.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.cpp b/src/video_core/renderer_vulkan/vk_rasterizer.cpp
index a95f68231..d7b57e0f3 100644
--- a/src/video_core/renderer_vulkan/vk_rasterizer.cpp
+++ b/src/video_core/renderer_vulkan/vk_rasterizer.cpp
@@ -247,8 +247,15 @@ void RasterizerVulkan::Clear() {
247 } 247 }
248 UpdateViewportsState(regs); 248 UpdateViewportsState(regs);
249 249
250 VkRect2D default_scissor;
251 default_scissor.offset.x = 0;
252 default_scissor.offset.y = 0;
253 default_scissor.extent.width = std::numeric_limits<s32>::max();
254 default_scissor.extent.height = std::numeric_limits<s32>::max();
255
250 VkClearRect clear_rect{ 256 VkClearRect clear_rect{
251 .rect = GetScissorState(regs, 0, up_scale, down_shift), 257 .rect = regs.clear_flags.scissor ? GetScissorState(regs, 0, up_scale, down_shift)
258 : default_scissor,
252 .baseArrayLayer = regs.clear_buffers.layer, 259 .baseArrayLayer = regs.clear_buffers.layer,
253 .layerCount = 1, 260 .layerCount = 1,
254 }; 261 };