diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/video_core/renderer_opengl/gl_rasterizer.cpp | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp index edb285a66..4f608f69e 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer.cpp +++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp | |||
| @@ -993,18 +993,11 @@ void RasterizerOpenGL::SyncViewport(OpenGLState& current_state) { | |||
| 993 | for (std::size_t i = 0; i < viewport_count; i++) { | 993 | for (std::size_t i = 0; i < viewport_count; i++) { |
| 994 | auto& viewport = current_state.viewports[i]; | 994 | auto& viewport = current_state.viewports[i]; |
| 995 | const auto& src = regs.viewports[i]; | 995 | const auto& src = regs.viewports[i]; |
| 996 | if (regs.viewport_transform_enabled) { | 996 | const MathUtil::Rectangle<s32> viewport_rect{regs.viewport_transform[i].GetRect()}; |
| 997 | const MathUtil::Rectangle<s32> viewport_rect{regs.viewport_transform[i].GetRect()}; | 997 | viewport.x = viewport_rect.left; |
| 998 | viewport.x = viewport_rect.left; | 998 | viewport.y = viewport_rect.bottom; |
| 999 | viewport.y = viewport_rect.bottom; | 999 | viewport.width = viewport_rect.GetWidth(); |
| 1000 | viewport.width = viewport_rect.GetWidth(); | 1000 | viewport.height = viewport_rect.GetHeight(); |
| 1001 | viewport.height = viewport_rect.GetHeight(); | ||
| 1002 | } else { | ||
| 1003 | viewport.x = src.x; | ||
| 1004 | viewport.y = src.y; | ||
| 1005 | viewport.width = src.width; | ||
| 1006 | viewport.height = src.height; | ||
| 1007 | } | ||
| 1008 | viewport.depth_range_far = regs.viewports[i].depth_range_far; | 1001 | viewport.depth_range_far = regs.viewports[i].depth_range_far; |
| 1009 | viewport.depth_range_near = regs.viewports[i].depth_range_near; | 1002 | viewport.depth_range_near = regs.viewports[i].depth_range_near; |
| 1010 | } | 1003 | } |