diff options
| author | 2022-02-05 12:30:19 +0100 | |
|---|---|---|
| committer | 2022-10-06 21:00:52 +0200 | |
| commit | 98b5e236d4049d1a2a4c6413486b5015b7efe2c8 (patch) | |
| tree | 4bf35037d1c4819815d5cf2b3424844ae0c5bfac /src | |
| parent | NVDRV: Further refactors and eliminate old code. (diff) | |
| download | yuzu-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.cpp | 9 |
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 | }; |