Merge pull request #22099 from n00mkrad/softgpu-dither-opt

Allow disabling dithering when using software rendering
This commit is contained in:
Henrik Rydgård
2026-08-17 12:47:57 +02:00
committed by GitHub
3 changed files with 4 additions and 1 deletions
+1
View File
@@ -692,6 +692,7 @@ static const ConfigSetting graphicsSettings[] = {
ConfigSetting("SkipBufferEffects", SETTING(g_Config, bSkipBufferEffects), false, CfgFlag::PER_GAME | CfgFlag::REPORT),
ConfigSetting("DepthRasterMode", SETTING(g_Config, iDepthRasterMode), &DefaultDepthRaster, CfgFlag::PER_GAME | CfgFlag::REPORT),
ConfigSetting("SoftwareRenderer", SETTING(g_Config, bSoftwareRendering), false, CfgFlag::PER_GAME),
ConfigSetting("SoftwareDisableDithering", SETTING(g_Config, bSoftwareDisableDithering), false, CfgFlag::PER_GAME),
ConfigSetting("SoftwareRendererJit", SETTING(g_Config, bSoftwareRenderingJit), true, CfgFlag::PER_GAME),
ConfigSetting("HardwareTransform", SETTING(g_Config, bHardwareTransform), true, CfgFlag::PER_GAME | CfgFlag::REPORT),
ConfigSetting("TextureFiltering", SETTING(g_Config, iTexFiltering), 1, CfgFlag::PER_GAME | CfgFlag::REPORT),
+1
View File
@@ -294,6 +294,7 @@ public:
bool bSoftwareRendering;
bool bSoftwareRenderingJit;
bool bSoftwareDisableDithering;
bool bHardwareTransform;
bool bVendorBugChecksEnabled;
+2 -1
View File
@@ -17,6 +17,7 @@
#include "Common/Data/Convert/ColorConv.h"
#include "Common/StringUtils.h"
#include "Core/Config.h"
#include "Core/MemMap.h"
#include "GPU/Common/TextureDecoder.h"
#include "GPU/GPUState.h"
@@ -54,7 +55,7 @@ void ComputePixelFuncID(PixelFuncID *id) {
// TODO: Could this be minz > 0x0000 || maxz < 0xFFFF? Maybe unsafe, depending on verts...
id->applyDepthRange = !gstate.isModeThrough();
// Dither happens even in clear mode.
id->dithering = gstate.isDitherEnabled();
id->dithering = gstate.isDitherEnabled() && !g_Config.bSoftwareDisableDithering;
id->fbFormat = gstate.FrameBufFormat();
id->useStandardStride = gstate.FrameBufStride() == 512;
id->applyColorWriteMask = gstate.getColorMask() != 0;