Add strict texture flushing to debug options

This commit is contained in:
msuih 2018-12-10 00:10:09 +00:00 committed by kd-11
parent 54bfe2e102
commit 76f94940cd
4 changed files with 14 additions and 1 deletions

View File

@ -58,7 +58,8 @@
"forceCpuBlitEmulation": "Forces emulation of all blit and image manipulation operations on the CPU.\nRequires 'Write Color Buffers' option to also be enabled in most cases to avoid missing graphics.\nSignificantly degrades performance but is more accurate in some cases.\nThis setting overrides the 'GPU texture scaling' option.",
"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."
"disableFIFOReordering": "Disables RSX FIFO optimizations completely. Draws are processed as they are received by the DMA puller.",
"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": {
"misc": {

View File

@ -70,6 +70,7 @@ public:
DisableVertexCache,
DisableOcclusionQueries,
DisableFIFOReordering,
StrictTextureFlushing,
AnisotropicFilterOverride,
ResolutionScale,
MinimumScalableDimension,
@ -269,6 +270,7 @@ private:
{ DisableVertexCache, { "Video", "Disable Vertex Cache"}},
{ DisableOcclusionQueries, { "Video", "Disable ZCull Occlusion Queries"}},
{ DisableFIFOReordering, { "Video", "Disable FIFO Reordering"}},
{ StrictTextureFlushing, { "Video", "Strict Texture Flushing"}},
{ ForceCPUBlitEmulation, { "Video", "Force CPU Blit"}},
{ DisableOnDiskShaderCache, { "Video", "Disable On-Disk Shader Cache"}},
{ DisableVulkanMemAllocator, { "Video", "Disable Vulkan Memory Allocator"}},

View File

@ -1205,6 +1205,9 @@ settings_dialog::settings_dialog(std::shared_ptr<gui_settings> guiSettings, std:
xemu_settings->EnhanceCheckBox(ui->disableFIFOReordering, emu_settings::DisableFIFOReordering);
SubscribeTooltip(ui->disableFIFOReordering, json_debug["disableFIFOReordering"].toString());
xemu_settings->EnhanceCheckBox(ui->strictTextureFlushing, emu_settings::StrictTextureFlushing);
SubscribeTooltip(ui->strictTextureFlushing, json_debug["strictTextureFlushing"].toString());
// Checkboxes: core debug options
xemu_settings->EnhanceCheckBox(ui->ppuDebug, emu_settings::PPUDebug);
SubscribeTooltip(ui->ppuDebug, json_debug["ppuDebug"].toString());

View File

@ -2088,6 +2088,13 @@
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="strictTextureFlushing">
<property name="text">
<string>Strict Texture Flushing</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>