summaryrefslogtreecommitdiff
path: root/src/video_core/renderer_opengl
diff options
context:
space:
mode:
authorGravatar bunnei2018-06-04 18:11:36 -0400
committerGravatar GitHub2018-06-04 18:11:36 -0400
commit38d25a4cb2d2430fe7cceaa3104a61c2339c1d03 (patch)
treeb00d32c1f02204de623755b1e1b5348b831ec7f7 /src/video_core/renderer_opengl
parentMerge pull request #490 from BreadFish64/extension-check (diff)
parentGPU: Calculate the correct viewport dimensions based on the scale and transla... (diff)
downloadyuzu-38d25a4cb2d2430fe7cceaa3104a61c2339c1d03.tar.gz
yuzu-38d25a4cb2d2430fe7cceaa3104a61c2339c1d03.tar.xz
yuzu-38d25a4cb2d2430fe7cceaa3104a61c2339c1d03.zip
Merge pull request #515 from Subv/viewport_fix
GPU: Calculate the correct viewport dimensions based on the scale and translate registers.
Diffstat (limited to 'src/video_core/renderer_opengl')
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp
index 35c1b1890..0a33868b7 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer.cpp
+++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp
@@ -298,7 +298,7 @@ void RasterizerOpenGL::DrawArrays() {
298 const bool has_stencil = false; 298 const bool has_stencil = false;
299 const bool using_color_fb = true; 299 const bool using_color_fb = true;
300 const bool using_depth_fb = false; 300 const bool using_depth_fb = false;
301 const MathUtil::Rectangle<s32> viewport_rect{regs.viewport[0].GetRect()}; 301 const MathUtil::Rectangle<s32> viewport_rect{regs.viewport_transform[0].GetRect()};
302 302
303 const bool write_color_fb = 303 const bool write_color_fb =
304 state.color_mask.red_enabled == GL_TRUE || state.color_mask.green_enabled == GL_TRUE || 304 state.color_mask.red_enabled == GL_TRUE || state.color_mask.green_enabled == GL_TRUE ||
@@ -702,7 +702,7 @@ void RasterizerOpenGL::BindFramebufferSurfaces(const Surface& color_surface,
702 702
703void RasterizerOpenGL::SyncViewport(const MathUtil::Rectangle<u32>& surfaces_rect, u16 res_scale) { 703void RasterizerOpenGL::SyncViewport(const MathUtil::Rectangle<u32>& surfaces_rect, u16 res_scale) {
704 const auto& regs = Core::System().GetInstance().GPU().Maxwell3D().regs; 704 const auto& regs = Core::System().GetInstance().GPU().Maxwell3D().regs;
705 const MathUtil::Rectangle<s32> viewport_rect{regs.viewport[0].GetRect()}; 705 const MathUtil::Rectangle<s32> viewport_rect{regs.viewport_transform[0].GetRect()};
706 706
707 state.viewport.x = static_cast<GLint>(surfaces_rect.left) + viewport_rect.left * res_scale; 707 state.viewport.x = static_cast<GLint>(surfaces_rect.left) + viewport_rect.left * res_scale;
708 state.viewport.y = static_cast<GLint>(surfaces_rect.bottom) + viewport_rect.bottom * res_scale; 708 state.viewport.y = static_cast<GLint>(surfaces_rect.bottom) + viewport_rect.bottom * res_scale;