Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add max SPURS threads to settings menu #5982

Merged
merged 2 commits into from May 17, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
3 changes: 2 additions & 1 deletion rpcs3/Json/tooltips.json
Expand Up @@ -65,7 +65,8 @@
"disableVulkanMemAllocator": "Disables the custom Vulkan memory allocator and reverts to direct calls to VkAllocateMemory/VkFreeMemory.",
"disableFIFOReordering": "Disables RSX FIFO optimizations completely. Draws are processed as they are received by the DMA puller.",
"gpuTextureScaling": "Force all texture transfer, scaling and conversion operations on the GPU.\nMay cause texture corruption in some cases.",
"strictTextureFlushing": "Forces texture flushing even in situations where it is not necessary/correct. Known to cause visual artifacts, but useful for debugging certain texture cache issues."
"strictTextureFlushing": "Forces texture flushing even in situations where it is not necessary/correct. Known to cause visual artifacts, but useful for debugging certain texture cache issues.",
"maxSPURSThreads": "Limits the maximum number of SPURS threads in each thread group.\nMay improve performance in some cases, especially on systems with limited number of hardware threads.\nLimiting the number of threads is likely to cause crashes; it's recommended to keep this at default value."
},
"emulator": {
"misc": {
Expand Down
2 changes: 2 additions & 0 deletions rpcs3/rpcs3qt/emu_settings.h
Expand Up @@ -47,6 +47,7 @@ class emu_settings : public QObject
SPUCache,
SPUVerification,
DebugConsoleMode,
MaxSPURSThreads,

// Graphics
Renderer,
Expand Down Expand Up @@ -256,6 +257,7 @@ public Q_SLOTS:
{ SPUCache, { "Core", "SPU Cache"}},
{ SPUVerification, { "Core", "SPU Verification"}},
{ DebugConsoleMode, { "Core", "Debug Console Mode"}},
{ MaxSPURSThreads, { "Core", "Max SPURS Threads"}},

// Graphics Tab
{ Renderer, { "Video", "Renderer"}},
Expand Down
5 changes: 5 additions & 0 deletions rpcs3/rpcs3qt/settings_dialog.cpp
Expand Up @@ -1364,6 +1364,11 @@ settings_dialog::settings_dialog(std::shared_ptr<gui_settings> guiSettings, std:
xemu_settings->EnhanceCheckBox(ui->debugConsoleMode, emu_settings::DebugConsoleMode);
SubscribeTooltip(ui->debugConsoleMode, json_debug["debugConsoleMode"].toString());

// Comboboxes
xemu_settings->EnhanceComboBox(ui->maxSPURSThreads, emu_settings::MaxSPURSThreads, true);
ui->maxSPURSThreads->setItemText(ui->maxSPURSThreads->findData("6"), tr("Unlimited (Default)"));
SubscribeTooltip(ui->maxSPURSThreads, json_debug["maxSPURSThreads"].toString());

// Layout fix for High Dpi
layout()->setSizeConstraint(QLayout::SetFixedSize);
}
Expand Down
18 changes: 18 additions & 0 deletions rpcs3/rpcs3qt/settings_dialog.ui
Expand Up @@ -2336,6 +2336,24 @@
</property>
</spacer>
</item>
<item>
<widget class="QGroupBox" name="gb_max_spurs_threads">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="title">
<string>Maximum Number of SPURS Threads</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_76">
<item>
<widget class="QComboBox" name="maxSPURSThreads"/>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</item>
Expand Down