From bb15e544385fdbfc8056c7f9689afd6d0ec1bcf9 Mon Sep 17 00:00:00 2001 From: Gregory Hainaut Date: Fri, 1 Jan 2016 00:02:07 +0100 Subject: [PATCH] gsdx-linux: add a new gui entry for the previous hack --- plugins/GSdx/GSLinuxDialog.cpp | 2 ++ plugins/GSdx/GSSetting.cpp | 5 +++++ plugins/GSdx/GSSetting.h | 1 + 3 files changed, 8 insertions(+) diff --git a/plugins/GSdx/GSLinuxDialog.cpp b/plugins/GSdx/GSLinuxDialog.cpp index 5ad64fecb8..1f0903d932 100644 --- a/plugins/GSdx/GSLinuxDialog.cpp +++ b/plugins/GSdx/GSLinuxDialog.cpp @@ -351,6 +351,7 @@ void populate_hack_table(GtkWidget* hack_table) GtkWidget* hack_tco_entry = CreateTextBox("UserHacks_TCOffset"); GtkWidget* align_sprite_check = CreateCheckBox("Align sprite hack", "UserHacks_align_sprite_X"); GtkWidget* preload_gs_check = CreateCheckBox("Preload Frame", "preload_frame_with_gs_data"); + GtkWidget* hack_unsafe_fbmask = CreateCheckBox("Fast Accurate Blending", "UserHacks_unsafe_fbmask"); GtkWidget* hack_sprite_box = CreateComboBoxFromVector(theApp.m_gs_hack, "UserHacks_SpriteHack"); GtkWidget* hack_sprite_label = left_label("Alpha-Sprite Hack:"); @@ -375,6 +376,7 @@ void populate_hack_table(GtkWidget* hack_table) InsertWidgetInTable(hack_table , hack_enble_check); InsertWidgetInTable(hack_table , hack_wild_check , align_sprite_check); InsertWidgetInTable(hack_table , hack_offset_check , preload_gs_check); + InsertWidgetInTable(hack_table , hack_unsafe_fbmask); 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 3c8be834cb..02796742b0 100644 --- a/plugins/GSdx/GSSetting.cpp +++ b/plugins/GSdx/GSSetting.cpp @@ -102,6 +102,11 @@ const char* dialog_message(int ID, bool* updateText) { "High:\nExtend it to destination alpha blending and color wrapping. (help shadow and fog effect). A good CPU is required.\n\n" "Full:\nExcept few cases, the blending unit will be fully emulated by the shader. It is ultra slow! It is intended for debug.\n\n" "Ultra:\nThe blending unit will be completely emulated by the shader. It is ultra slow! It is intended for debug."; +#ifdef __linux__ + case IDC_UNSAFE_FBMASK: + return "Relies on undefined hardware behavior to accelerate accurate blending operation.\n\n" + "It provides a major boost on the Xenosaga Series.\n"; +#endif case IDC_TC_DEPTH: return "Allows the conversion of Depth buffer from/to Color buffer. It is used for blur & depth of field effects"; case IDC_AFCOMBO: diff --git a/plugins/GSdx/GSSetting.h b/plugins/GSdx/GSSetting.h index 1bb045e9a6..7d1e25904f 100644 --- a/plugins/GSdx/GSSetting.h +++ b/plugins/GSdx/GSSetting.h @@ -60,6 +60,7 @@ enum { IDC_TCOFFSETY2, IDC_PALTEX, IDC_ACCURATE_BLEND_UNIT, + IDC_UNSAFE_FBMASK, IDC_ACCURATE_DATE, IDC_TC_DEPTH, IDC_CRC_LEVEL,