mirror of https://github.com/PCSX2/pcsx2.git
gsdx: remove the safe accurate blending hack
V2: Integrate Flatout patch to do the Window side
This commit is contained in:
parent
f77c1900fa
commit
5e1064da55
|
@ -352,7 +352,6 @@ 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_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");
|
||||
|
@ -373,7 +372,6 @@ void populate_hack_table(GtkWidget* hack_table)
|
|||
AddTooltip(align_sprite_check, IDC_ALIGN_SPRITE);
|
||||
AddTooltip(stretch_hack_label, stretch_hack_box, IDC_ROUND_SPRITE);
|
||||
AddTooltip(preload_gs_check, IDC_PRELOAD_GS);
|
||||
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);
|
||||
|
@ -382,7 +380,7 @@ void populate_hack_table(GtkWidget* hack_table)
|
|||
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_fast_inv);
|
||||
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 );
|
||||
|
|
|
@ -37,7 +37,6 @@ GSRendererOGL::GSRendererOGL()
|
|||
UserHacks_TCOffset = theApp.GetConfigI("UserHacks_TCOffset");
|
||||
UserHacks_TCO_x = (UserHacks_TCOffset & 0xFFFF) / -1000.0f;
|
||||
UserHacks_TCO_y = ((UserHacks_TCOffset >> 16) & 0xFFFF) / -1000.0f;
|
||||
UserHacks_safe_fbmask = theApp.GetConfigB("UserHacks_safe_fbmask");
|
||||
UserHacks_merge_sprite = theApp.GetConfigB("UserHacks_merge_pp_sprite");
|
||||
UserHacks_unscale_pt_ln = theApp.GetConfigB("UserHacks_unscale_point_line");
|
||||
|
||||
|
@ -48,7 +47,6 @@ GSRendererOGL::GSRendererOGL()
|
|||
UserHacks_TCOffset = 0;
|
||||
UserHacks_TCO_x = 0;
|
||||
UserHacks_TCO_y = 0;
|
||||
UserHacks_safe_fbmask = false;
|
||||
UserHacks_merge_sprite = false;
|
||||
UserHacks_unscale_pt_ln = false;
|
||||
}
|
||||
|
@ -454,7 +452,8 @@ void GSRendererOGL::EmulateTextureShuffleAndFbmask()
|
|||
TextureBarrier() will guarantee that writes have completed and caches
|
||||
have been invalidated before subsequent Draws are executed.
|
||||
*/
|
||||
if (!(~ff_fbmask & ~zero_fbmask & 0x7) && !UserHacks_safe_fbmask) {
|
||||
// Safe option was removed. Likely nobody never use it. Keep the code commented if it becomes useful one day
|
||||
if (!(~ff_fbmask & ~zero_fbmask & 0x7) /*&& !UserHacks_safe_fbmask*/) {
|
||||
GL_INS("FBMASK Unsafe SW emulated fb_mask:%x on %d bits format", m_context->FRAME.FBMSK,
|
||||
(GSLocalMemory::m_psm[m_context->FRAME.PSM].fmt == 2) ? 16 : 32);
|
||||
m_require_one_barrier = true;
|
||||
|
|
|
@ -52,7 +52,6 @@ class GSRendererOGL final : public GSRendererHW
|
|||
|
||||
unsigned int UserHacks_TCOffset;
|
||||
float UserHacks_TCO_x, UserHacks_TCO_y;
|
||||
bool UserHacks_safe_fbmask;
|
||||
bool UserHacks_merge_sprite;
|
||||
bool UserHacks_unscale_pt_ln;
|
||||
|
||||
|
|
|
@ -102,9 +102,6 @@ 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.";
|
||||
case IDC_SAFE_FBMASK:
|
||||
return "By default, accurate blending relies on undefined hardware behavior to be fast.\n"
|
||||
"This option enables a slower but safer behavior if anyone encounters an issue.\n";
|
||||
case IDC_TC_DEPTH:
|
||||
return "Disable the support of Depth buffer in the texture cache.\n"
|
||||
"It can help to increase speed but it will likely create various glitches.";
|
||||
|
|
|
@ -60,7 +60,6 @@ enum {
|
|||
IDC_TCOFFSETY2,
|
||||
IDC_PALTEX,
|
||||
IDC_ACCURATE_BLEND_UNIT,
|
||||
IDC_SAFE_FBMASK,
|
||||
IDC_ACCURATE_DATE,
|
||||
IDC_TC_DEPTH,
|
||||
IDC_CRC_LEVEL,
|
||||
|
|
|
@ -667,7 +667,6 @@ void GSHacksDlg::OnInit()
|
|||
CheckDlgButton(m_hWnd, IDC_ALPHASTENCIL, theApp.GetConfigB("UserHacks_AlphaStencil"));
|
||||
CheckDlgButton(m_hWnd, IDC_PRELOAD_GS, theApp.GetConfigB("preload_frame_with_gs_data"));
|
||||
CheckDlgButton(m_hWnd, IDC_ALIGN_SPRITE, theApp.GetConfigB("UserHacks_align_sprite_X"));
|
||||
CheckDlgButton(m_hWnd, IDC_SAFE_FBMASK, theApp.GetConfigB("UserHacks_safe_fbmask"));
|
||||
CheckDlgButton(m_hWnd, IDC_TC_DEPTH, theApp.GetConfigB("UserHacks_DisableDepthSupport"));
|
||||
CheckDlgButton(m_hWnd, IDC_FAST_TC_INV, theApp.GetConfigB("UserHacks_DisablePartialInvalidation"));
|
||||
CheckDlgButton(m_hWnd, IDC_AUTO_FLUSH, theApp.GetConfigB("UserHacks_AutoFlush"));
|
||||
|
@ -687,7 +686,6 @@ void GSHacksDlg::OnInit()
|
|||
|
||||
ShowWindow(GetDlgItem(m_hWnd, IDC_ALPHASTENCIL), ogl ? SW_HIDE : SW_SHOW);
|
||||
ShowWindow(GetDlgItem(m_hWnd, IDC_ALPHAHACK), ogl ? SW_HIDE : SW_SHOW);
|
||||
ShowWindow(GetDlgItem(m_hWnd, IDC_SAFE_FBMASK), ogl ? SW_SHOW : SW_HIDE);
|
||||
EnableWindow(GetDlgItem(m_hWnd, IDC_TC_DEPTH), ogl);
|
||||
EnableWindow(GetDlgItem(m_hWnd, IDC_UNSCALE_POINT_LINE), ogl && !native);
|
||||
EnableWindow(GetDlgItem(m_hWnd, IDC_MSAACB), !ogl);
|
||||
|
@ -715,7 +713,6 @@ void GSHacksDlg::OnInit()
|
|||
AddTooltip(IDC_TCOFFSETY);
|
||||
AddTooltip(IDC_TCOFFSETY2);
|
||||
AddTooltip(IDC_PRELOAD_GS);
|
||||
AddTooltip(IDC_SAFE_FBMASK);
|
||||
AddTooltip(IDC_TC_DEPTH);
|
||||
AddTooltip(IDC_FAST_TC_INV);
|
||||
AddTooltip(IDC_AUTO_FLUSH);
|
||||
|
@ -754,7 +751,6 @@ bool GSHacksDlg::OnMessage(UINT message, WPARAM wParam, LPARAM lParam)
|
|||
theApp.SetConfig("UserHacks_AlphaStencil", (int)IsDlgButtonChecked(m_hWnd, IDC_ALPHASTENCIL));
|
||||
theApp.SetConfig("preload_frame_with_gs_data", (int)IsDlgButtonChecked(m_hWnd, IDC_PRELOAD_GS));
|
||||
theApp.SetConfig("Userhacks_align_sprite_X", (int)IsDlgButtonChecked(m_hWnd, IDC_ALIGN_SPRITE));
|
||||
theApp.SetConfig("UserHacks_safe_fbmask", (int)IsDlgButtonChecked(m_hWnd, IDC_SAFE_FBMASK));
|
||||
theApp.SetConfig("UserHacks_DisableDepthSupport", (int)IsDlgButtonChecked(m_hWnd, IDC_TC_DEPTH));
|
||||
theApp.SetConfig("UserHacks_DisablePartialInvalidation", (int)IsDlgButtonChecked(m_hWnd, IDC_FAST_TC_INV));
|
||||
theApp.SetConfig("UserHacks_AutoFlush", (int)IsDlgButtonChecked(m_hWnd, IDC_AUTO_FLUSH));
|
||||
|
|
|
@ -346,7 +346,6 @@ void GSdxApp::Init()
|
|||
m_default_configuration["UserHacks_MSAA"] = "0";
|
||||
m_default_configuration["UserHacks_unscale_point_line"] = "0";
|
||||
m_default_configuration["UserHacks_round_sprite_offset"] = "0";
|
||||
m_default_configuration["UserHacks_safe_fbmask"] = "0";
|
||||
m_default_configuration["UserHacks_SkipDraw"] = "0";
|
||||
m_default_configuration["UserHacks_SpriteHack"] = "0";
|
||||
m_default_configuration["UserHacks_TCOffset"] = "0";
|
||||
|
|
|
@ -128,8 +128,8 @@ BEGIN
|
|||
CONTROL "Half-pixel Offset",IDC_OFFSETHACK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,51,70,8
|
||||
COMBOBOX IDC_MSAACB,88,17,58,63,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
CONTROL "Wild Arms Offset",IDC_WILDHACK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,64,70,8
|
||||
CONTROL "Safe Accurate Blending",IDC_SAFE_FBMASK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,77,90,8
|
||||
CONTROL "Alpha Stencil",IDC_ALPHASTENCIL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,77,57,8
|
||||
CONTROL "Unscale Point Line", IDC_UNSCALE_POINT_LINE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,77,90,8
|
||||
CONTROL "Alpha Stencil",IDC_ALPHASTENCIL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,88,77,57,8
|
||||
CONTROL "Align Sprite",IDC_ALIGN_SPRITE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,88,51,58,8
|
||||
CONTROL "Disable Depth Emulation",IDC_TC_DEPTH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,90,92,8
|
||||
RTEXT "TC Offset X:",IDC_STATIC,40,179,44,8
|
||||
|
@ -142,8 +142,7 @@ BEGIN
|
|||
RTEXT "Sprite:",IDC_SPRITEHACK_TEXT,62,160,22,8
|
||||
COMBOBOX IDC_SPRITEHACK,88,158,58,63,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
CONTROL "Fast Texture Invalidation",IDC_FAST_TC_INV,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,102,92,8
|
||||
CONTROL "Auto Flush", IDC_AUTO_FLUSH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,88,128,45,8
|
||||
CONTROL "Unscale Point Line", IDC_UNSCALE_POINT_LINE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,128,70,8
|
||||
CONTROL "Auto Flush", IDC_AUTO_FLUSH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,128,70,8
|
||||
RTEXT "TC Offset Y:",IDC_STATIC,40,197,44,8
|
||||
END
|
||||
|
||||
|
|
|
@ -101,7 +101,6 @@
|
|||
#define IDC_MIPMAP 2097
|
||||
#define IDC_PRELOAD_GS 2098
|
||||
#define IDC_TVSHADER 2099
|
||||
#define IDC_SAFE_FBMASK 2100
|
||||
#define IDC_FAST_TC_INV 2101
|
||||
#define IDC_LARGE_FB 2102
|
||||
#define IDC_AUTO_FLUSH 2103
|
||||
|
|
Loading…
Reference in New Issue