summaryrefslogtreecommitdiff
path: root/Source/Core/DolphinQt/Config/Graphics/AdvancedWidget.cpp
diff options
context:
space:
mode:
authorPierre Bourdon <delroth@gmail.com>2023-01-26 23:15:23 +0100
committerGitHub <noreply@github.com>2023-01-26 23:15:23 +0100
commit9c9310bf44f0a7b0ad1de2e643f32ec00a553e0e (patch)
tree613159524f59f9cabe66791dfa42856026e33ad8 /Source/Core/DolphinQt/Config/Graphics/AdvancedWidget.cpp
parent09a8d9591db06ebdbe5abdd3166c76982856fc55 (diff)
parent7413be148705866efebd504ef7356377dce81274 (diff)
Merge pull request #11208 from TellowKrinkle/CPUCull
Cull vertices on the CPU
Diffstat (limited to 'Source/Core/DolphinQt/Config/Graphics/AdvancedWidget.cpp')
-rw-r--r--Source/Core/DolphinQt/Config/Graphics/AdvancedWidget.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/Source/Core/DolphinQt/Config/Graphics/AdvancedWidget.cpp b/Source/Core/DolphinQt/Config/Graphics/AdvancedWidget.cpp
index 44dbe30487..102e93e09b 100644
--- a/Source/Core/DolphinQt/Config/Graphics/AdvancedWidget.cpp
+++ b/Source/Core/DolphinQt/Config/Graphics/AdvancedWidget.cpp
@@ -159,16 +159,18 @@ void AdvancedWidget::CreateWidgets()
m_prefer_vs_for_point_line_expansion = new GraphicsBool(
// i18n: VS is short for vertex shaders.
tr("Prefer VS for Point/Line Expansion"), Config::GFX_PREFER_VS_FOR_LINE_POINT_EXPANSION);
+ m_cpu_cull = new GraphicsBool(tr("Cull Vertices on the CPU"), Config::GFX_CPU_CULL);
misc_layout->addWidget(m_enable_cropping, 0, 0);
misc_layout->addWidget(m_enable_prog_scan, 0, 1);
misc_layout->addWidget(m_backend_multithreading, 1, 0);
misc_layout->addWidget(m_prefer_vs_for_point_line_expansion, 1, 1);
+ misc_layout->addWidget(m_cpu_cull, 2, 0);
#ifdef _WIN32
m_borderless_fullscreen =
new GraphicsBool(tr("Borderless Fullscreen"), Config::GFX_BORDERLESS_FULLSCREEN);
- misc_layout->addWidget(m_borderless_fullscreen, 2, 0);
+ misc_layout->addWidget(m_borderless_fullscreen, 2, 1);
#endif
// Experimental.
@@ -369,6 +371,10 @@ void AdvancedWidget::AddDescriptions()
"for expanding points and lines, selects the vertex shader for the job. May "
"affect performance."
"<br><br>%1");
+ static const char TR_CPU_CULL_DESCRIPTION[] =
+ QT_TR_NOOP("Cull vertices on the CPU to reduce the number of draw calls required. "
+ "May affect performance and draw statistics.<br><br>"
+ "<dolphin_emphasis>If unsure, leave this unchecked.</dolphin_emphasis>");
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. "
@@ -441,6 +447,7 @@ void AdvancedWidget::AddDescriptions()
vsexpand_extra = tr(IF_UNSURE_UNCHECKED);
m_prefer_vs_for_point_line_expansion->SetDescription(
tr(TR_PREFER_VS_FOR_POINT_LINE_EXPANSION_DESCRIPTION).arg(vsexpand_extra));
+ m_cpu_cull->SetDescription(tr(TR_CPU_CULL_DESCRIPTION));
#ifdef _WIN32
m_borderless_fullscreen->SetDescription(tr(TR_BORDERLESS_FULLSCREEN_DESCRIPTION));
#endif