From b52ee6f1f6703aed823151d743b4942495e1b17a Mon Sep 17 00:00:00 2001 From: Gregory Hainaut Date: Wed, 20 May 2015 09:42:22 +0200 Subject: [PATCH] gsdx-linux-gui: add an option for accurate color clipping Note: it is only for debug purpose Sotc testcase 187 fps => 125 fps (2x scaling) --- plugins/GSdx/GSLinuxDialog.cpp | 6 ++++-- plugins/GSdx/GSSetting.cpp | 3 +++ plugins/GSdx/GSSetting.h | 3 ++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/plugins/GSdx/GSLinuxDialog.cpp b/plugins/GSdx/GSLinuxDialog.cpp index c9548b84e5..0a530aa058 100644 --- a/plugins/GSdx/GSLinuxDialog.cpp +++ b/plugins/GSdx/GSLinuxDialog.cpp @@ -291,6 +291,7 @@ void populate_hw_table(GtkWidget* hw_table) GtkWidget* paltex_check = CreateCheckBox("Allow 8 bits textures", "paltex"); GtkWidget* acc_blend_check = CreateCheckBox("Accurate Blend", "accurate_blend", false); GtkWidget* acc_date_check = CreateCheckBox("Accurate Date", "accurate_date", false); + GtkWidget* acc_cclip_check = CreateCheckBox("Accurate Color Clipping", "accurate_colclip", false); GtkWidget* MT_nvidia_check = CreateCheckBox("Nvidia Multi-Thread support", "enable_nvidia_multi_thread", true); @@ -298,14 +299,15 @@ void populate_hw_table(GtkWidget* hw_table) gtk_widget_set_tooltip_text(paltex_check, dialog_message(IDC_PALTEX)); gtk_widget_set_tooltip_text(acc_blend_check, dialog_message(IDC_ACCURATE_BLEND)); gtk_widget_set_tooltip_text(acc_date_check, dialog_message(IDC_ACCURATE_DATE)); + gtk_widget_set_tooltip_text(acc_cclip_check, dialog_message(IDC_ACCURATE_COLCLIP)); gtk_widget_set_tooltip_text(MT_nvidia_check, "Huge speedup on Nvidia binary driver! No effect otherwise."); s_table_line = 0; InsertWidgetInTable(hw_table, filter_label, filter_combo_box); InsertWidgetInTable(hw_table, af_label, af_combo_box); - InsertWidgetInTable(hw_table, paltex_check); + InsertWidgetInTable(hw_table, paltex_check, MT_nvidia_check); InsertWidgetInTable(hw_table, acc_blend_check, acc_date_check); - InsertWidgetInTable(hw_table, MT_nvidia_check); + InsertWidgetInTable(hw_table, acc_cclip_check); } void populate_gl_table(GtkWidget* gl_table) diff --git a/plugins/GSdx/GSSetting.cpp b/plugins/GSdx/GSSetting.cpp index fac69bdf07..04f8999266 100644 --- a/plugins/GSdx/GSSetting.cpp +++ b/plugins/GSdx/GSSetting.cpp @@ -104,6 +104,9 @@ const char* dialog_message(int ID, bool* updateText) { case IDC_ACCURATE_BLEND: return "Allow to solve the impossible blending error message.\n\n" "It could be slower when the effect are used.\n\nNote: it requires the 4.5 openGL extension GL_ARB_texture_barrier"; + case IDC_ACCURATE_COLCLIP: + return "Debug option to implement the wrapping of color after an overflow\n\n" + "It will be slow when the effect are used!\n\nNote: it requires the 4.5 openGL extension GL_ARB_texture_barrier"; #endif default: if (updateText) diff --git a/plugins/GSdx/GSSetting.h b/plugins/GSdx/GSSetting.h index 2bdac7e31c..48f55ece57 100644 --- a/plugins/GSdx/GSSetting.h +++ b/plugins/GSdx/GSSetting.h @@ -65,6 +65,7 @@ enum { IDC_STATIC_TCOFFSETY, IDC_PALTEX, IDC_ACCURATE_BLEND, - IDC_ACCURATE_DATE + IDC_ACCURATE_DATE, + IDC_ACCURATE_COLCLIP }; #endif