[video_core] Add option to control the DMA precision level at runtime (#304)

This adds an option to control the DMA precision level at runtime.

Co-authored-by: crueter <crueter@eden-emu.dev>
Co-authored-by: PavelBARABANOV <pavelbarabanov94@gmail.com>
Reviewed-on: #304
Reviewed-by: crueter <crueter@eden-emu.dev>
Co-authored-by: MaranBr <maranbr@outlook.com>
Co-committed-by: MaranBr <maranbr@outlook.com>
This commit is contained in:
MaranBr 2025-08-23 19:42:10 +02:00 committed by crueter
parent a51953e4f9
commit 5b864d406d
Signed by: crueter
GPG key ID: 425ACD2D4830EBC6
33 changed files with 262 additions and 4 deletions

View file

@ -288,12 +288,16 @@ std::unique_ptr<TranslationMap> InitializeTranslations(QWidget* parent)
"and safe to set at 16x on most GPUs."));
INSERT(Settings,
gpu_accuracy,
tr("Accuracy Level:"),
tr("GPU emulation accuracy.\nMost games render fine with Normal, but High is still "
tr("GPU Level:"),
tr("Controls the GPU emulation accuracy.\nMost games render fine with Normal, but High is still "
"required for some.\nParticles tend to only render correctly with High "
"accuracy.\nExtreme should only be used for debugging.\nThis option can "
"be changed while playing.\nSome games may require booting on high to render "
"properly."));
INSERT(Settings,
dma_accuracy,
tr("DMA Level:"),
tr("Controls the DMA precision accuracy. Higher precision can fix issues in some games, but it can also impact performance in some cases.\nIf unsure, leave it at Default."));
INSERT(Settings,
use_asynchronous_shaders,
tr("Use asynchronous shader building (Hack)"),
@ -522,6 +526,13 @@ std::unique_ptr<ComboboxTranslationMap> ComboboxEnumeration(QWidget* parent)
PAIR(GpuAccuracy, High, tr("High")),
PAIR(GpuAccuracy, Extreme, tr("Extreme")),
}});
translations->insert({Settings::EnumMetadata<Settings::DmaAccuracy>::Index(),
{
PAIR(DmaAccuracy, Default, tr("Default")),
PAIR(DmaAccuracy, Normal, tr("Normal")),
PAIR(DmaAccuracy, High, tr("High")),
PAIR(DmaAccuracy, Extreme, tr("Extreme")),
}});
translations->insert(
{Settings::EnumMetadata<Settings::CpuAccuracy>::Index(),
{