diff options
| author | TellowKrinkle <tellowkrinkle@gmail.com> | 2022-10-22 19:48:50 -0500 |
|---|---|---|
| committer | TellowKrinkle <tellowkrinkle@gmail.com> | 2022-10-22 20:18:02 -0500 |
| commit | 3912fa7a2ed8ce80d01edb86b5a421bf53ff69ee (patch) | |
| tree | 5cf7b3d6834906c807efedb532a15c5cd29ede33 /Source/Core | |
| parent | b567f3afcf79ab9333e9f5b17bad9aa17880b74e (diff) | |
VideoCommon: Add reasons for disabled VS expand
Diffstat (limited to 'Source/Core')
| -rw-r--r-- | Source/Core/DolphinQt/Config/Graphics/AdvancedWidget.cpp | 17 | ||||
| -rw-r--r-- | Source/Core/VideoCommon/VideoBackendBase.cpp | 1 | ||||
| -rw-r--r-- | Source/Core/VideoCommon/VideoConfig.h | 1 |
3 files changed, 17 insertions, 2 deletions
diff --git a/Source/Core/DolphinQt/Config/Graphics/AdvancedWidget.cpp b/Source/Core/DolphinQt/Config/Graphics/AdvancedWidget.cpp index dfd809f956..9c392e02ce 100644 --- a/Source/Core/DolphinQt/Config/Graphics/AdvancedWidget.cpp +++ b/Source/Core/DolphinQt/Config/Graphics/AdvancedWidget.cpp @@ -205,6 +205,7 @@ void AdvancedWidget::OnBackendChanged() Core::GetState() == Core::State::Uninitialized && g_Config.backend_info.bSupportsGeometryShaders && g_Config.backend_info.bSupportsVSLinePointExpand); + AddDescriptions(); } void AdvancedWidget::OnEmulationStateChanged(bool running) @@ -304,7 +305,7 @@ void AdvancedWidget::AddDescriptions() QT_TR_NOOP("On backends that support both using the geometry shader and the vertex shader " "for expanding points and lines, selects the vertex shader for the job. May " "affect performance." - "<br><br><dolphin_emphasis>If unsure, leave this unchecked.</dolphin_emphasis>"); + "<br><br>%1"); static const char TR_DEFER_EFB_ACCESS_INVALIDATION_DESCRIPTION[] = QT_TR_NOOP( "Defers invalidation of the EFB access cache until a GPU synchronization command " "is executed. If disabled, the cache will be invalidated with every draw call. " @@ -332,6 +333,9 @@ void AdvancedWidget::AddDescriptions() "unchecked.</dolphin_emphasis>"); #endif + static const char IF_UNSURE_UNCHECKED[] = + QT_TR_NOOP("<dolphin_emphasis>If unsure, leave this unchecked.</dolphin_emphasis>"); + m_enable_wireframe->SetDescription(tr(TR_WIREFRAME_DESCRIPTION)); m_show_statistics->SetDescription(tr(TR_SHOW_STATS_DESCRIPTION)); m_enable_format_overlay->SetDescription(tr(TR_TEXTURE_FORMAT_DESCRIPTION)); @@ -353,8 +357,17 @@ void AdvancedWidget::AddDescriptions() m_enable_cropping->SetDescription(tr(TR_CROPPING_DESCRIPTION)); m_enable_prog_scan->SetDescription(tr(TR_PROGRESSIVE_SCAN_DESCRIPTION)); m_backend_multithreading->SetDescription(tr(TR_BACKEND_MULTITHREADING_DESCRIPTION)); + QString vsexpand_extra; + if (!g_Config.backend_info.bSupportsGeometryShaders) + vsexpand_extra = tr("Forced on because %1 doesn't support geometry shaders.") + .arg(tr(g_Config.backend_info.DisplayName.c_str())); + else if (!g_Config.backend_info.bSupportsVSLinePointExpand) + vsexpand_extra = tr("Forced off because %1 doesn't support VS expansion.") + .arg(tr(g_Config.backend_info.DisplayName.c_str())); + else + vsexpand_extra = tr(IF_UNSURE_UNCHECKED); m_prefer_vs_for_point_line_expansion->SetDescription( - tr(TR_PREFER_VS_FOR_POINT_LINE_EXPANSION_DESCRIPTION)); + tr(TR_PREFER_VS_FOR_POINT_LINE_EXPANSION_DESCRIPTION).arg(vsexpand_extra)); #ifdef _WIN32 m_borderless_fullscreen->SetDescription(tr(TR_BORDERLESS_FULLSCREEN_DESCRIPTION)); #endif diff --git a/Source/Core/VideoCommon/VideoBackendBase.cpp b/Source/Core/VideoCommon/VideoBackendBase.cpp index b385883093..2b4883d22b 100644 --- a/Source/Core/VideoCommon/VideoBackendBase.cpp +++ b/Source/Core/VideoCommon/VideoBackendBase.cpp @@ -274,6 +274,7 @@ void VideoBackendBase::PopulateBackendInfo() // a value from the previously used renderer g_Config.backend_info = {}; ActivateBackend(Config::Get(Config::MAIN_GFX_BACKEND)); + g_Config.backend_info.DisplayName = g_video_backend->GetDisplayName(); g_video_backend->InitBackendInfo(); // We validate the config after initializing the backend info, as system-specific settings // such as anti-aliasing, or the selected adapter may be invalid, and should be checked. diff --git a/Source/Core/VideoCommon/VideoConfig.h b/Source/Core/VideoCommon/VideoConfig.h index 471ff5a18f..d0863a9d84 100644 --- a/Source/Core/VideoCommon/VideoConfig.h +++ b/Source/Core/VideoCommon/VideoConfig.h @@ -174,6 +174,7 @@ struct VideoConfig final struct { APIType api_type = APIType::Nothing; + std::string DisplayName; std::vector<std::string> Adapters; // for D3D std::vector<u32> AAModes; |
