From 42b04b048cb8b5648375991490ad2cec9a7577d1 Mon Sep 17 00:00:00 2001 From: Wunkolo Date: Fri, 10 Nov 2023 11:36:11 -0800 Subject: [PATCH] renderer_base: Add `GetSampleCount` Only enables sample counts higher than 1 on vulkan --- src/video_core/renderer_base.cpp | 11 +++++++++++ src/video_core/renderer_base.h | 3 +++ 2 files changed, 14 insertions(+) diff --git a/src/video_core/renderer_base.cpp b/src/video_core/renderer_base.cpp index 16b59107a..dc4a15690 100644 --- a/src/video_core/renderer_base.cpp +++ b/src/video_core/renderer_base.cpp @@ -29,6 +29,17 @@ u32 RendererBase::GetResolutionScaleFactor() { : render_window.GetFramebufferLayout().GetScalingRatio(); } +u8 RendererBase::GetSampleCount() const { + const auto graphics_api = Settings::values.graphics_api.GetValue(); + + // Enabled for vulkan only for now + if (graphics_api != Settings::GraphicsAPI::Vulkan) { + return 1; + } + + return Settings::values.sample_count.GetValue(); +} + void RendererBase::UpdateCurrentFramebufferLayout(bool is_portrait_mode) { const auto update_layout = [is_portrait_mode](Frontend::EmuWindow& window) { const Layout::FramebufferLayout& layout = window.GetFramebufferLayout(); diff --git a/src/video_core/renderer_base.h b/src/video_core/renderer_base.h index 55cb90d0b..e08558bf8 100644 --- a/src/video_core/renderer_base.h +++ b/src/video_core/renderer_base.h @@ -69,6 +69,9 @@ public: /// Returns the resolution scale factor relative to the native 3DS screen resolution u32 GetResolutionScaleFactor(); + /// Returns the MSAA sample count + u8 GetSampleCount() const; + /// Updates the framebuffer layout of the contained render window handle. void UpdateCurrentFramebufferLayout(bool is_portrait_mode = {});