summaryrefslogtreecommitdiff
path: root/Source/Core/DolphinQt/Config/Graphics/AdvancedWidget.cpp
diff options
context:
space:
mode:
authorTellowKrinkle <tellowkrinkle@gmail.com>2022-12-12 00:36:13 -0600
committerTellowKrinkle <tellowkrinkle@gmail.com>2023-01-25 02:21:56 -0600
commit7413be148705866efebd504ef7356377dce81274 (patch)
treec34353893aef56c5fe8b178ef5dbe63d4508b5c1 /Source/Core/DolphinQt/Config/Graphics/AdvancedWidget.cpp
parenta0e6d7c173f79b553c21d87abcccf40549113600 (diff)
VideoCommon: Add configuration option for CPUCull
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 dc104944f1..53d63e2e1f 100644
--- a/Source/Core/DolphinQt/Config/Graphics/AdvancedWidget.cpp
+++ b/Source/Core/DolphinQt/Config/Graphics/AdvancedWidget.cpp
@@ -158,16 +158,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.
@@ -368,6 +370,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. "
@@ -440,6 +446,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