summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2016-12-30 05:28:27 +0100
committerbunnei <bunneidev@gmail.com>2017-01-07 09:23:22 +0100
commit22ad9094e6355e84f2e45abcd66748b2c74dfaf9 (patch)
tree1124bc25253f2c4f6adc7ec9a90aa9a3d2213ba6 /src/video_core/renderer_opengl/gl_rasterizer_cache.cpp
parentMerge pull request #2410 from Subv/sleepthread (diff)
downloadyuzu-22ad9094e6355e84f2e45abcd66748b2c74dfaf9.tar
yuzu-22ad9094e6355e84f2e45abcd66748b2c74dfaf9.tar.gz
yuzu-22ad9094e6355e84f2e45abcd66748b2c74dfaf9.tar.bz2
yuzu-22ad9094e6355e84f2e45abcd66748b2c74dfaf9.tar.lz
yuzu-22ad9094e6355e84f2e45abcd66748b2c74dfaf9.tar.xz
yuzu-22ad9094e6355e84f2e45abcd66748b2c74dfaf9.tar.zst
yuzu-22ad9094e6355e84f2e45abcd66748b2c74dfaf9.zip
Diffstat (limited to 'src/video_core/renderer_opengl/gl_rasterizer_cache.cpp')
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer_cache.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp b/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp
index 85aa06cd5..ef3b06a7b 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp
+++ b/src/video_core/renderer_opengl/gl_rasterizer_cache.cpp
@@ -556,14 +556,21 @@ RasterizerCacheOpenGL::GetFramebufferSurfaces(const Pica::Regs::FramebufferConfi
color_params.width = depth_params.width = config.GetWidth();
color_params.height = depth_params.height = config.GetHeight();
color_params.is_tiled = depth_params.is_tiled = true;
- if (VideoCore::g_scaled_resolution_enabled) {
- auto layout = VideoCore::g_emu_window->GetFramebufferLayout();
- // Assume same scaling factor for top and bottom screens
+ // Set the internal resolution, assume the same scaling factor for top and bottom screens
+ const Layout::FramebufferLayout& layout = VideoCore::g_emu_window->GetFramebufferLayout();
+ if (Settings::values.resolution_factor == 0.0f) {
+ // Auto - scale resolution to the window size
color_params.res_scale_width = depth_params.res_scale_width =
(float)layout.top_screen.GetWidth() / VideoCore::kScreenTopWidth;
color_params.res_scale_height = depth_params.res_scale_height =
(float)layout.top_screen.GetHeight() / VideoCore::kScreenTopHeight;
+ } else {
+ // Otherwise, scale the resolution by the specified factor
+ color_params.res_scale_width = Settings::values.resolution_factor;
+ depth_params.res_scale_width = Settings::values.resolution_factor;
+ color_params.res_scale_height = Settings::values.resolution_factor;
+ depth_params.res_scale_height = Settings::values.resolution_factor;
}
color_params.addr = config.GetColorBufferPhysicalAddress();