From 5534c9e27c6f01550c08d2c29060e4cd812f9e1c Mon Sep 17 00:00:00 2001 From: MSuih Date: Sat, 4 Jan 2020 17:39:16 +0200 Subject: [PATCH] Disable AA for renderers which do not support it --- rpcs3/rpcs3qt/emu_settings.cpp | 2 +- rpcs3/rpcs3qt/emu_settings.h | 9 +++++---- rpcs3/rpcs3qt/settings_dialog.cpp | 7 +++++++ 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/rpcs3/rpcs3qt/emu_settings.cpp b/rpcs3/rpcs3qt/emu_settings.cpp index 235cef2261..af80d0b584 100644 --- a/rpcs3/rpcs3qt/emu_settings.cpp +++ b/rpcs3/rpcs3qt/emu_settings.cpp @@ -186,7 +186,7 @@ emu_settings::Render_Creator::Render_Creator() #endif // Graphics Adapter - Vulkan = Render_Info(name_Vulkan, vulkanAdapters, supportsVulkan, emu_settings::VulkanAdapter); + Vulkan = Render_Info(name_Vulkan, vulkanAdapters, supportsVulkan, emu_settings::VulkanAdapter, true); OpenGL = Render_Info(name_OpenGL); NullRender = Render_Info(name_Null); diff --git a/rpcs3/rpcs3qt/emu_settings.h b/rpcs3/rpcs3qt/emu_settings.h index 4abb56cbab..aecfd93528 100644 --- a/rpcs3/rpcs3qt/emu_settings.h +++ b/rpcs3/rpcs3qt/emu_settings.h @@ -163,11 +163,12 @@ public: SettingsType type = VulkanAdapter; bool supported = true; bool has_adapters = true; + bool has_msaa = false; - Render_Info() {} - Render_Info(const QString& name) : name(name), has_adapters(false) {} - Render_Info(const QString& name, const QStringList& adapters, bool supported, SettingsType type) - : name(name), adapters(adapters), supported(supported), type(type) {} + Render_Info() = default; + explicit Render_Info(QString name) : name(std::move(name)), has_adapters(false) {} + Render_Info(QString name, QStringList adapters, bool supported, SettingsType type, bool has_msaa) + : name(std::move(name)), adapters(std::move(adapters)), supported(supported), type(type), has_msaa(has_msaa) {} }; struct Render_Creator diff --git a/rpcs3/rpcs3qt/settings_dialog.cpp b/rpcs3/rpcs3qt/settings_dialog.cpp index 03f851d309..906d5e2cde 100644 --- a/rpcs3/rpcs3qt/settings_dialog.cpp +++ b/rpcs3/rpcs3qt/settings_dialog.cpp @@ -538,6 +538,13 @@ settings_dialog::settings_dialog(std::shared_ptr guiSettings, std: xemu_settings->SetSetting(render->type, sstr(render->old_adapter)); } } + + // Enable/disable MSAA depending on renderer + ui->antiAliasing->setEnabled(renderer.has_msaa); + ui->antiAliasing->blockSignals(true); + ui->antiAliasing->setCurrentText(renderer.has_msaa ? qstr(xemu_settings->GetSetting(emu_settings::MSAA)) : tr("Disabled")); + ui->antiAliasing->blockSignals(false); + // Fill combobox with placeholder if no adapters needed if (!renderer.has_adapters) {