diff options
author | bunnei <bunneidev@gmail.com> | 2021-11-17 03:52:11 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-17 03:52:11 +0100 |
commit | 71313509f75aeafe425e531824d1faa9e7c0a40b (patch) | |
tree | cb1df371d288677fcede6a3409eb079e0d278163 /src/core/frontend | |
parent | Merge pull request #7347 from lioncash/catch (diff) | |
parent | TextureCache: Fix Automatic Anisotropic. (diff) | |
download | yuzu-71313509f75aeafe425e531824d1faa9e7c0a40b.tar yuzu-71313509f75aeafe425e531824d1faa9e7c0a40b.tar.gz yuzu-71313509f75aeafe425e531824d1faa9e7c0a40b.tar.bz2 yuzu-71313509f75aeafe425e531824d1faa9e7c0a40b.tar.lz yuzu-71313509f75aeafe425e531824d1faa9e7c0a40b.tar.xz yuzu-71313509f75aeafe425e531824d1faa9e7c0a40b.tar.zst yuzu-71313509f75aeafe425e531824d1faa9e7c0a40b.zip |
Diffstat (limited to '')
-rw-r--r-- | src/core/frontend/framebuffer_layout.cpp | 15 | ||||
-rw-r--r-- | src/core/frontend/framebuffer_layout.h | 2 |
2 files changed, 7 insertions, 10 deletions
diff --git a/src/core/frontend/framebuffer_layout.cpp b/src/core/frontend/framebuffer_layout.cpp index 0832463d6..4b58b672a 100644 --- a/src/core/frontend/framebuffer_layout.cpp +++ b/src/core/frontend/framebuffer_layout.cpp @@ -44,16 +44,13 @@ FramebufferLayout DefaultFrameLayout(u32 width, u32 height) { return res; } -FramebufferLayout FrameLayoutFromResolutionScale(u32 res_scale) { - u32 width, height; +FramebufferLayout FrameLayoutFromResolutionScale(f32 res_scale) { + const bool is_docked = Settings::values.use_docked_mode.GetValue(); + const u32 screen_width = is_docked ? ScreenDocked::Width : ScreenUndocked::Width; + const u32 screen_height = is_docked ? ScreenDocked::Height : ScreenUndocked::Height; - if (Settings::values.use_docked_mode.GetValue()) { - width = ScreenDocked::Width * res_scale; - height = ScreenDocked::Height * res_scale; - } else { - width = ScreenUndocked::Width * res_scale; - height = ScreenUndocked::Height * res_scale; - } + const u32 width = static_cast<u32>(static_cast<f32>(screen_width) * res_scale); + const u32 height = static_cast<u32>(static_cast<f32>(screen_height) * res_scale); return DefaultFrameLayout(width, height); } diff --git a/src/core/frontend/framebuffer_layout.h b/src/core/frontend/framebuffer_layout.h index e2e3bbbb3..2e36c0163 100644 --- a/src/core/frontend/framebuffer_layout.h +++ b/src/core/frontend/framebuffer_layout.h @@ -60,7 +60,7 @@ FramebufferLayout DefaultFrameLayout(u32 width, u32 height); * Convenience method to get frame layout by resolution scale * @param res_scale resolution scale factor */ -FramebufferLayout FrameLayoutFromResolutionScale(u32 res_scale); +FramebufferLayout FrameLayoutFromResolutionScale(f32 res_scale); /** * Convenience method to determine emulation aspect ratio |