From aba0c733cde897ca517876909f4a1efb2de04e6f Mon Sep 17 00:00:00 2001 From: Gregory Hainaut Date: Thu, 8 Sep 2016 17:34:28 +0200 Subject: [PATCH] gsdx linux: add a gui check box to control previous hack --- plugins/GSdx/GSLinuxDialog.cpp | 4 +++- plugins/GSdx/GSSetting.cpp | 2 ++ plugins/GSdx/GSSetting.h | 1 + 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/plugins/GSdx/GSLinuxDialog.cpp b/plugins/GSdx/GSLinuxDialog.cpp index aea45aa481..f4bc29b8f8 100644 --- a/plugins/GSdx/GSLinuxDialog.cpp +++ b/plugins/GSdx/GSLinuxDialog.cpp @@ -355,6 +355,7 @@ void populate_hack_table(GtkWidget* hack_table) GtkWidget* hack_safe_fbmask = CreateCheckBox("Safe Accurate Blending", "UserHacks_safe_fbmask"); GtkWidget* hack_fast_inv = CreateCheckBox("Fast Texture Invalidation", "UserHacks_DisablePartialInvalidation"); GtkWidget* hack_depth_check = CreateCheckBox("Disable Depth Emulation", "UserHacks_DisableDepthSupport"); + GtkWidget* hack_auto_flush = CreateCheckBox("Auto Flush Primitives", "UserHacks_AutoFlush"); GtkWidget* hack_sprite_box = CreateComboBoxFromVector(theApp.m_gs_hack, "UserHacks_SpriteHack"); GtkWidget* hack_sprite_label = left_label("Alpha-Sprite Hack:"); @@ -375,13 +376,14 @@ void populate_hack_table(GtkWidget* hack_table) AddTooltip(hack_safe_fbmask, IDC_SAFE_FBMASK); AddTooltip(hack_fast_inv, IDC_FAST_TC_INV); AddTooltip(hack_depth_check, IDC_TC_DEPTH); + AddTooltip(hack_auto_flush, IDC_AUTO_FLUSH); s_table_line = 0; InsertWidgetInTable(hack_table , hack_wild_check , align_sprite_check); InsertWidgetInTable(hack_table , hack_offset_check , preload_gs_check); InsertWidgetInTable(hack_table , hack_safe_fbmask , hack_fast_inv); - InsertWidgetInTable(hack_table , hack_depth_check); + InsertWidgetInTable(hack_table , hack_depth_check , hack_auto_flush); InsertWidgetInTable(hack_table , hack_sprite_label , hack_sprite_box ); InsertWidgetInTable(hack_table , stretch_hack_label , stretch_hack_box ); InsertWidgetInTable(hack_table , hack_skipdraw_label , hack_skipdraw_spin); diff --git a/plugins/GSdx/GSSetting.cpp b/plugins/GSdx/GSSetting.cpp index 1fb718ffee..60d9a3bbfe 100644 --- a/plugins/GSdx/GSSetting.cpp +++ b/plugins/GSdx/GSSetting.cpp @@ -131,6 +131,8 @@ const char* dialog_message(int ID, bool* updateText) { #ifdef __linux__ case IDC_LINEAR_PRESENT: return "Use bilinear filtering when Upscaling/Downscaling the image to the screen. Disable it if you want a sharper/pixelated output."; + case IDC_AUTO_FLUSH: + return "Force a primitive flush when framebuffer is also an input texture. Warning: it is very costly on the performances. Help to fix some processing effects such as Jak shadows, GTA radiosity..."; #endif // Exclusive for Hardware Renderer case IDC_PRELOAD_GS: diff --git a/plugins/GSdx/GSSetting.h b/plugins/GSdx/GSSetting.h index 811221c7ec..93f6b54eff 100644 --- a/plugins/GSdx/GSSetting.h +++ b/plugins/GSdx/GSSetting.h @@ -76,5 +76,6 @@ enum { IDC_FAST_TC_INV, IDC_LARGE_FB, IDC_LINEAR_PRESENT, + IDC_AUTO_FLUSH, }; #endif