diff --git a/rpcs3/Json/tooltips.json b/rpcs3/Json/tooltips.json index e88446d334..6930c0767f 100644 --- a/rpcs3/Json/tooltips.json +++ b/rpcs3/Json/tooltips.json @@ -16,8 +16,8 @@ "SPU": { "precise": "This is extremely slow but may fix broken graphics in some games.", "fast": "This is slower than the SPU Recompiler but significantly faster than the precise interpreter.\nGames rarely need this however.", - "ASMJIT": "This is the fastest option with very good compatibility.\nIf unsure, use this option.", - "LLVM": "Experimental. May improve performance, but may also break games." + "ASMJIT": "This is the fast option with very good compatibility.\nIf unsure, use this option.", + "LLVM": "This is the fastest option with very good compatibility.\nRecompiles the game's SPU LLVM cache before running which adds extra start-up time.\nIf you experience issues, use the ASMJIT Recompiler." }, "libraries": { "auto": "Automatically selects the LLE libraries to load.\nWhile this option works fine in most cases, liblv2 is the preferred option.", @@ -28,7 +28,7 @@ "checkboxes": { "accurateXFloat": "Fixes bugs in various games at the cost of performance.\nThis setting is only applied when SPU LLVM is active.", "spuCache": "Should normally stay enabled.\nDisable this if the cache becomes too large.\nDisabling it does not remove the existing cache.", - "enableThreadScheduler": "Allows RPCS3 to manually schedule physical cores to run specific tasks on, instead of letting the OS handle it.\nVery useful on Windows, especially for AMD Ryzen systems where it can give huge performance gains.", + "enableThreadScheduler": "Allows RPCS3 to manually schedule physical cores to run specific tasks on, instead of letting the OS handle it.\nVery useful on Windows, especially for AMD Ryzen systems where it can give huge performance gains.\nNote: This function is only implemented for AMD Ryzen CPUs.", "lowerSPUThrPrio": "Runs SPU threads with lower priority than PPU threads.\nUsually faster on an i3 or i5, possibly slower or no difference on an i7 or Ryzen.", "spuLoopDetection": "Try to detect loop conditions in SPU kernels and use them as scheduling hints.\nImproves performance and reduces CPU usage.\nMay cause severe audio stuttering in rare cases." }, @@ -59,6 +59,7 @@ "disableOnDiskShaderCache": "Disables the loading and saving of shaders from and to the shader cache in the data directory.", "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." }, "emulator": { @@ -110,7 +111,6 @@ "main": { "dumpColor": "Enable this option if you get missing graphics or broken lighting ingame.\nMight degrade performance and introduce stuttering in some cases.\nRequired for Demon's Souls.", "vsync": "By having this off you might obtain a higher frame rate at the cost of tearing artifacts in the game.", - "gpuTextureScaling": "Small to significant performance boost in most games and rarely with side effects.\nMay cause texture corruption in rare cases.", "scrictModeRendering": "Enforces strict compliance to the API specification.\nMight result in degraded performance in some games.\nCan resolve rare cases of missing graphics and flickering.\nIf unsure, don't use this option.", "disableVertexCache": "Disables the vertex cache.\nMight resolve missing or flickering graphics output.\nMay degrade performance.", "disableAsyncShaders": "Disables asynchronous shader compilation.\nFixes missing graphics while shaders are compiling but introduces stuttering.\nDisable if you do not want to deal with graphics pop-in, or for testing before filing any bug reports.", diff --git a/rpcs3/rpcs3qt/emu_settings.h b/rpcs3/rpcs3qt/emu_settings.h index 1e09e3c62b..9c98e109e1 100644 --- a/rpcs3/rpcs3qt/emu_settings.h +++ b/rpcs3/rpcs3qt/emu_settings.h @@ -160,7 +160,7 @@ public: bool supportsVulkan = false; QStringList D3D12Adapters; QStringList vulkanAdapters; - QString name_Null = tr("Null"); + QString name_Null = tr("Disable Video Output"); QString name_Vulkan = tr("Vulkan"); QString name_D3D12 = tr("D3D12[DO NOT USE]"); QString name_OpenGL = tr("OpenGL"); diff --git a/rpcs3/rpcs3qt/settings_dialog.cpp b/rpcs3/rpcs3qt/settings_dialog.cpp index 02bc323261..20f5f8af4e 100644 --- a/rpcs3/rpcs3qt/settings_dialog.cpp +++ b/rpcs3/rpcs3qt/settings_dialog.cpp @@ -459,7 +459,8 @@ settings_dialog::settings_dialog(std::shared_ptr guiSettings, std: SubscribeTooltip(ui->renderBox, json_gpu_cbo["renderBox_Linux"].toString()); SubscribeTooltip(ui->graphicsAdapterBox, json_gpu_cbo["graphicsAdapterBox_Linux"].toString()); #endif - //Change D3D12 to D3D12[DO NOT USE] + // Change displayed renderer names + ui->renderBox->setItemText(ui->renderBox->findData("Null"), render_creator.name_Null); ui->renderBox->setItemText(ui->renderBox->findData("D3D12"), render_creator.name_D3D12); xemu_settings->EnhanceComboBox(ui->resBox, emu_settings::Resolution); @@ -482,9 +483,6 @@ settings_dialog::settings_dialog(std::shared_ptr guiSettings, std: case 0: ui->anisotropicFilterOverride->setItemText(i, tr("Automatic")); break; - case 1: - ui->anisotropicFilterOverride->setItemText(i, tr("Force Disabled")); - break; case 2: case 4: case 8: @@ -504,9 +502,6 @@ settings_dialog::settings_dialog(std::shared_ptr guiSettings, std: xemu_settings->EnhanceCheckBox(ui->vsync, emu_settings::VSync); SubscribeTooltip(ui->vsync, json_gpu_main["vsync"].toString()); - xemu_settings->EnhanceCheckBox(ui->gpuTextureScaling, emu_settings::GPUTextureScaling); - SubscribeTooltip(ui->gpuTextureScaling, json_gpu_main["gpuTextureScaling"].toString()); - xemu_settings->EnhanceCheckBox(ui->stretchToDisplayArea, emu_settings::StretchToDisplayArea); SubscribeTooltip(ui->stretchToDisplayArea, json_gpu_main["stretchToDisplayArea"].toString()); @@ -724,6 +719,8 @@ settings_dialog::settings_dialog(std::shared_ptr guiSettings, std: #else SubscribeTooltip(ui->audioOutBox, json_audio["audioOutBox_Linux"].toString()); #endif + // Change displayed backend names + ui->audioOutBox->setItemText(ui->renderBox->findData("Null"), tr("Disable Audio Output")); // Checkboxes @@ -1218,6 +1215,9 @@ settings_dialog::settings_dialog(std::shared_ptr guiSettings, std: xemu_settings->EnhanceCheckBox(ui->strictTextureFlushing, emu_settings::StrictTextureFlushing); SubscribeTooltip(ui->strictTextureFlushing, json_debug["strictTextureFlushing"].toString()); + xemu_settings->EnhanceCheckBox(ui->gpuTextureScaling, emu_settings::GPUTextureScaling); + SubscribeTooltip(ui->gpuTextureScaling, json_debug["gpuTextureScaling"].toString()); + // Checkboxes: core debug options xemu_settings->EnhanceCheckBox(ui->ppuDebug, emu_settings::PPUDebug); SubscribeTooltip(ui->ppuDebug, json_debug["ppuDebug"].toString()); diff --git a/rpcs3/rpcs3qt/settings_dialog.ui b/rpcs3/rpcs3qt/settings_dialog.ui index 2063cd0dbb..b80ff2bf2d 100644 --- a/rpcs3/rpcs3qt/settings_dialog.ui +++ b/rpcs3/rpcs3qt/settings_dialog.ui @@ -100,7 +100,7 @@ - ASMJIT Recompiler (fastest) + ASMJIT Recompiler (faster) @@ -489,7 +489,7 @@ - + Default Resolution @@ -670,13 +670,6 @@ - - - - Use GPU Texture Scaling - - - @@ -871,6 +864,12 @@ QSizePolicy::MinimumExpanding + + + 0 + 0 + + @@ -2032,7 +2031,7 @@ - + true @@ -2144,6 +2143,13 @@ + + + + Use GPU Texture Scaling + + +