diff options
| author | 2018-06-04 18:11:36 -0400 | |
|---|---|---|
| committer | 2018-06-04 18:11:36 -0400 | |
| commit | 38d25a4cb2d2430fe7cceaa3104a61c2339c1d03 (patch) | |
| tree | b00d32c1f02204de623755b1e1b5348b831ec7f7 /src/video_core/renderer_opengl | |
| parent | Merge pull request #490 from BreadFish64/extension-check (diff) | |
| parent | GPU: Calculate the correct viewport dimensions based on the scale and transla... (diff) | |
| download | yuzu-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.cpp | 4 |
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 | ||
| 703 | void RasterizerOpenGL::SyncViewport(const MathUtil::Rectangle<u32>& surfaces_rect, u16 res_scale) { | 703 | void 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; |