summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Feng Chen2023-08-23 19:35:59 +0800
committerGravatar Feng Chen2023-09-07 18:01:30 +0800
commit0145c89879f934a3f09314e29c63889c65077a8d (patch)
treea93eee61350af69b9d8cb7cf268f350c2708c9b7 /src
parentvideo_core: set vertex buffer num to 16, because mvk have when using more tha... (diff)
downloadyuzu-0145c89879f934a3f09314e29c63889c65077a8d.tar.gz
yuzu-0145c89879f934a3f09314e29c63889c65077a8d.tar.xz
yuzu-0145c89879f934a3f09314e29c63889c65077a8d.zip
video_core: Add missing scissor update when viewport scale offset disable
Diffstat (limited to 'src')
-rw-r--r--src/video_core/renderer_vulkan/vk_rasterizer.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.cpp b/src/video_core/renderer_vulkan/vk_rasterizer.cpp
index 032f694bc..3e04b7583 100644
--- a/src/video_core/renderer_vulkan/vk_rasterizer.cpp
+++ b/src/video_core/renderer_vulkan/vk_rasterizer.cpp
@@ -989,6 +989,19 @@ void RasterizerVulkan::UpdateScissorsState(Tegra::Engines::Maxwell3D::Regs& regs
989 if (!state_tracker.TouchScissors()) { 989 if (!state_tracker.TouchScissors()) {
990 return; 990 return;
991 } 991 }
992 if (!regs.viewport_scale_offset_enabled) {
993 const auto x = static_cast<float>(regs.surface_clip.x);
994 const auto y = static_cast<float>(regs.surface_clip.y);
995 const auto width = static_cast<float>(regs.surface_clip.width);
996 const auto height = static_cast<float>(regs.surface_clip.height);
997 VkRect2D scissor;
998 scissor.offset.x = static_cast<u32>(x);
999 scissor.offset.y = static_cast<u32>(y);
1000 scissor.extent.width = static_cast<u32>(width != 0.0f ? width : 1.0f);
1001 scissor.extent.height = static_cast<u32>(height != 0.0f ? height : 1.0f);
1002 scheduler.Record([scissor](vk::CommandBuffer cmdbuf) { cmdbuf.SetScissor(0, scissor); });
1003 return;
1004 }
992 u32 up_scale = 1; 1005 u32 up_scale = 1;
993 u32 down_shift = 0; 1006 u32 down_shift = 0;
994 if (texture_cache.IsRescaling()) { 1007 if (texture_cache.IsRescaling()) {