From 55173bf27af0a7cdbb851672a1266aa7ab16d48f Mon Sep 17 00:00:00 2001 From: RedDevilus <24227051+RedDevilus@users.noreply.github.com> Date: Sun, 19 Sep 2021 03:51:16 +0200 Subject: [PATCH] GS-GUI: Add tooltip for Dithering The PS2 and PS1 supported dithering where-as PCSX2 didn't support hardware dithering till 1.7 dev builds. Some games have no dithering, others have dithering in the shadows or others like baroque just smear it full with this affect so it's an extreme example: https://cdn.knightlab.com/libs/juxtapose/latest/embed/index.html?uid=ab92a0e0-f91e-11ea-bf88-a15b6c7adf9a --- pcsx2/GS/Window/GSLinuxDialog.cpp | 1 + pcsx2/GS/Window/GSSetting.cpp | 7 ++++ pcsx2/GS/Window/GSSetting.h | 57 ++++++++++++++++++------------- pcsx2/GS/Window/GSSettingsDlg.cpp | 1 + 4 files changed, 42 insertions(+), 24 deletions(-) diff --git a/pcsx2/GS/Window/GSLinuxDialog.cpp b/pcsx2/GS/Window/GSLinuxDialog.cpp index 1a2350bb12..d56b7c033f 100644 --- a/pcsx2/GS/Window/GSLinuxDialog.cpp +++ b/pcsx2/GS/Window/GSLinuxDialog.cpp @@ -309,6 +309,7 @@ void populate_hw_table(GtkWidget* hw_table) AddTooltip(mipmap_label, IDC_MIPMAP_HW); AddTooltip(mipmap_combo_box, IDC_MIPMAP_HW); AddTooltip(acc_bld_label, acc_bld_combo_box, IDC_ACCURATE_BLEND_UNIT); + AddTooltip(dither_label, dither_combo_box, IDC_DITHERING); s_table_line = 0; InsertWidgetInTable(hw_table, hack_enable_check, acc_date_check); diff --git a/pcsx2/GS/Window/GSSetting.cpp b/pcsx2/GS/Window/GSSetting.cpp index 42ce984a9d..a43fade49e 100644 --- a/pcsx2/GS/Window/GSSetting.cpp +++ b/pcsx2/GS/Window/GSSetting.cpp @@ -196,6 +196,13 @@ const char* dialog_message(int ID, bool* updateText) "Disabling this can amplify stuttering due to low RAM/VRAM.\n\n" "Note: It should be enabled for Armored Core, Destroy All Humans, Gran Turismo and possibly others.\n" "This option does not improve the graphics or the FPS."); + case IDC_DITHERING: + return cvtString("In the PS2's case, it reduces banding between colors and improves the perceived color depth.\n" + "In the PS1's case, it was used more aggressively due to 16-bit colour.\n" + "Sit far enough and don't examine it too closely for the best effect.\n\n" + "Off:\nDisables any dithering.\n\n" + "Unscaled:\nNative Dithering / Lowest dithering effect does not increase size of squares when upscaling.\n\n" + "Scaled:\nUpscaling-aware / Highest dithering effect."); // Windows only options. #ifdef _WIN32 case IDC_ACCURATE_BLEND_UNIT_D3D11: diff --git a/pcsx2/GS/Window/GSSetting.h b/pcsx2/GS/Window/GSSetting.h index db7c801bf8..cf8241c5f7 100644 --- a/pcsx2/GS/Window/GSSetting.h +++ b/pcsx2/GS/Window/GSSetting.h @@ -41,48 +41,52 @@ const char* dialog_message(int ID, bool* updateText = NULL); #ifndef _WIN32 enum { + // Renderer IDC_FILTER, + // Hardware Renderer + IDC_ACCURATE_DATE, + IDC_PALTEX, + IDC_CONSERVATIVE_FB, + IDC_AFCOMBO, + IDC_DITHERING, + IDC_MIPMAP_HW, + IDC_CRC_LEVEL, + IDC_ACCURATE_BLEND_UNIT, + // Rendering Hacks + IDC_AUTO_FLUSH_HW, + IDC_TC_DEPTH, + IDC_SAFE_FEATURES, + IDC_FAST_TC_INV, + IDC_CPU_FB_CONVERSION, + IDC_MEMORY_WRAPPING, + IDC_PRELOAD_GS, IDC_HALF_SCREEN_TS, IDC_TRI_FILTER, IDC_SKIPDRAWHACK, IDC_SKIPDRAWHACKEDIT, IDC_SKIPDRAWOFFSET, IDC_SKIPDRAWOFFSETEDIT, - IDC_OFFSETHACK, - IDC_WILDHACK, + // Upscaling Hacks IDC_ALIGN_SPRITE, + IDC_MERGE_PP_SPRITE, + IDC_WILDHACK, + IDC_OFFSETHACK, IDC_ROUND_SPRITE, IDC_TCOFFSETX, IDC_TCOFFSETX2, IDC_TCOFFSETY, IDC_TCOFFSETY2, - IDC_PALTEX, - IDC_ACCURATE_BLEND_UNIT, - IDC_ACCURATE_DATE, - IDC_TC_DEPTH, - IDC_CPU_FB_CONVERSION, - IDC_CRC_LEVEL, - IDC_AFCOMBO, + // Software Renderer + IDC_AUTO_FLUSH_SW, IDC_AA1, + IDC_MIPMAP_SW, IDC_SWTHREADS, IDC_SWTHREADS_EDIT, - IDC_SHADEBOOST, - IDC_SHADER_FX, - IDC_FXAA, - IDC_MIPMAP_SW, - IDC_MIPMAP_HW, - IDC_PRELOAD_GS, - IDC_FAST_TC_INV, - IDC_CONSERVATIVE_FB, - IDC_LINEAR_PRESENT, - IDC_AUTO_FLUSH_HW, - IDC_AUTO_FLUSH_SW, - IDC_SAFE_FEATURES, - IDC_MEMORY_WRAPPING, - IDC_MERGE_PP_SPRITE, + // OpenGL Advanced Settings IDC_GEOMETRY_SHADER_OVERRIDE, IDC_IMAGE_LOAD_STORE, IDC_SPARSE_TEXTURE, + // On-screen Display IDC_OSD_LOG, IDC_OSD_MONITOR, IDC_OSD_MAX_LOG, @@ -97,7 +101,12 @@ enum IDR_TFX_VGS_GLSL, IDR_TFX_FS_GLSL, IDR_TFX_CL, - // fonts + // Shader Configuration + IDC_SHADEBOOST, + IDC_SHADER_FX, + IDC_FXAA, + IDC_LINEAR_PRESENT, + // Fonts IDR_FONT_ROBOTO, }; #endif diff --git a/pcsx2/GS/Window/GSSettingsDlg.cpp b/pcsx2/GS/Window/GSSettingsDlg.cpp index c002399928..b94a9167ff 100644 --- a/pcsx2/GS/Window/GSSettingsDlg.cpp +++ b/pcsx2/GS/Window/GSSettingsDlg.cpp @@ -120,6 +120,7 @@ void GSSettingsDlg::OnInit() AddTooltip(IDC_SWTHREADS_EDIT); AddTooltip(IDC_AUTO_FLUSH_SW); AddTooltip(IDC_CONSERVATIVE_FB); + AddTooltip(IDC_DITHERING); UpdateControls(); }