GSDX-Windows: Add "Large Framebuffer" option

This commit is contained in:
Akash 2016-05-25 22:03:32 +05:30
parent 60e0f3b9b5
commit 9ae6c2673a
4 changed files with 8 additions and 4 deletions

View File

@ -136,11 +136,9 @@ const char* dialog_message(int ID, bool* updateText) {
case IDC_FAST_TC_INV: case IDC_FAST_TC_INV:
return "By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise." return "By default, the texture cache handles partial invalidations. Unfortunately it is very costly to compute CPU wise."
"\n\nThis hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load.\n\nIt helps snowblind engine game."; "\n\nThis hack replaces the partial invalidation with a complete deletion of the texture to reduce the CPU load.\n\nIt helps snowblind engine game.";
#ifdef __linux__
case IDC_LARGE_FB: case IDC_LARGE_FB:
return "Allocate a large framebuffer to be compliant with GS memory (help FMV flickering).\n" return "Allocate a large framebuffer to be compliant with GS memory (Prevents FMV flickering).\n"
"It increases GPU/memory requirements."; "It increases GPU/memory requirements.";
#endif
default: default:
if (updateText) if (updateText)
*updateText = false; *updateText = false;

View File

@ -155,6 +155,7 @@ void GSSettingsDlg::OnInit()
ComboBoxInit(IDC_CRC_LEVEL, theApp.m_gs_crc_level, theApp.GetConfig("crc_hack_level", 3)); ComboBoxInit(IDC_CRC_LEVEL, theApp.m_gs_crc_level, theApp.GetConfig("crc_hack_level", 3));
CheckDlgButton(m_hWnd, IDC_PALTEX, theApp.GetConfig("paltex", 0)); CheckDlgButton(m_hWnd, IDC_PALTEX, theApp.GetConfig("paltex", 0));
CheckDlgButton(m_hWnd, IDC_LARGE_FB, theApp.GetConfig("large_framebuffer", 1));
CheckDlgButton(m_hWnd, IDC_LOGZ, theApp.GetConfig("logz", 1)); CheckDlgButton(m_hWnd, IDC_LOGZ, theApp.GetConfig("logz", 1));
CheckDlgButton(m_hWnd, IDC_FBA, theApp.GetConfig("fba", 1)); CheckDlgButton(m_hWnd, IDC_FBA, theApp.GetConfig("fba", 1));
CheckDlgButton(m_hWnd, IDC_AA1, theApp.GetConfig("aa1", 0)); CheckDlgButton(m_hWnd, IDC_AA1, theApp.GetConfig("aa1", 0));
@ -185,6 +186,7 @@ void GSSettingsDlg::OnInit()
AddTooltip(IDC_SWTHREADS_EDIT); AddTooltip(IDC_SWTHREADS_EDIT);
AddTooltip(IDC_FBA); AddTooltip(IDC_FBA);
AddTooltip(IDC_LOGZ); AddTooltip(IDC_LOGZ);
AddTooltip(IDC_LARGE_FB);
UpdateControls(); UpdateControls();
} }
@ -275,6 +277,7 @@ bool GSSettingsDlg::OnCommand(HWND hWnd, UINT id, UINT code)
} }
theApp.SetConfig("paltex", (int)IsDlgButtonChecked(m_hWnd, IDC_PALTEX)); theApp.SetConfig("paltex", (int)IsDlgButtonChecked(m_hWnd, IDC_PALTEX));
theApp.SetConfig("large_framebuffer", (int)IsDlgButtonChecked(m_hWnd, IDC_LARGE_FB));
theApp.SetConfig("logz", (int)IsDlgButtonChecked(m_hWnd, IDC_LOGZ)); theApp.SetConfig("logz", (int)IsDlgButtonChecked(m_hWnd, IDC_LOGZ));
theApp.SetConfig("fba", (int)IsDlgButtonChecked(m_hWnd, IDC_FBA)); theApp.SetConfig("fba", (int)IsDlgButtonChecked(m_hWnd, IDC_FBA));
theApp.SetConfig("aa1", (int)IsDlgButtonChecked(m_hWnd, IDC_AA1)); theApp.SetConfig("aa1", (int)IsDlgButtonChecked(m_hWnd, IDC_AA1));
@ -386,6 +389,7 @@ void GSSettingsDlg::UpdateControls()
ShowWindow(GetDlgItem(m_hWnd, IDC_TC_DEPTH), ogl ? SW_SHOW : SW_HIDE); ShowWindow(GetDlgItem(m_hWnd, IDC_TC_DEPTH), ogl ? SW_SHOW : SW_HIDE);
EnableWindow(GetDlgItem(m_hWnd, IDC_CRC_LEVEL), hw); EnableWindow(GetDlgItem(m_hWnd, IDC_CRC_LEVEL), hw);
EnableWindow(GetDlgItem(m_hWnd, IDC_LARGE_FB), integer_scaling > 1 && hw);
EnableWindow(GetDlgItem(m_hWnd, IDC_CRC_LEVEL_TEXT), hw); EnableWindow(GetDlgItem(m_hWnd, IDC_CRC_LEVEL_TEXT), hw);
EnableWindow(GetDlgItem(m_hWnd, IDC_OPENCL_DEVICE), ocl); EnableWindow(GetDlgItem(m_hWnd, IDC_OPENCL_DEVICE), ocl);
EnableWindow(GetDlgItem(m_hWnd, IDC_RESX), hw && !integer_scaling); EnableWindow(GetDlgItem(m_hWnd, IDC_RESX), hw && !integer_scaling);

View File

@ -255,6 +255,7 @@ BEGIN
CONTROL "Enable HW Hacks",IDC_HACKS_ENABLED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,223,71,10 CONTROL "Enable HW Hacks",IDC_HACKS_ENABLED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,223,71,10
PUSHBUTTON "Configure Hacks",IDC_HACKSBUTTON,105,221,127,14 PUSHBUTTON "Configure Hacks",IDC_HACKSBUTTON,105,221,127,14
CONTROL "Accurate Date",IDC_ACCURATE_DATE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,239,72,8 CONTROL "Accurate Date",IDC_ACCURATE_DATE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,239,72,8
CONTROL "Large Framebuffer",IDC_LARGE_FB,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,105,128,90,10
LTEXT "Blending Unit Accuracy:",IDC_ACCURATE_BLEND_UNIT_TEXT,22,252,79,10 LTEXT "Blending Unit Accuracy:",IDC_ACCURATE_BLEND_UNIT_TEXT,22,252,79,10
COMBOBOX IDC_ACCURATE_BLEND_UNIT,105,251,127,63,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_ACCURATE_BLEND_UNIT,105,251,127,63,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
CONTROL "Logarithmic Z",IDC_LOGZ,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,239,90,8 CONTROL "Logarithmic Z",IDC_LOGZ,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,239,90,8

View File

@ -103,6 +103,7 @@
#define IDC_TVSHADER 2099 #define IDC_TVSHADER 2099
#define IDC_SAFE_FBMASK 2100 #define IDC_SAFE_FBMASK 2100
#define IDC_FAST_TC_INV 2101 #define IDC_FAST_TC_INV 2101
#define IDC_LARGE_FB 2102
#define IDR_CONVERT_FX 10000 #define IDR_CONVERT_FX 10000
#define IDR_TFX_FX 10001 #define IDR_TFX_FX 10001
#define IDR_MERGE_FX 10002 #define IDR_MERGE_FX 10002
@ -121,7 +122,7 @@
#ifndef APSTUDIO_READONLY_SYMBOLS #ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 10013 #define _APS_NEXT_RESOURCE_VALUE 10013
#define _APS_NEXT_COMMAND_VALUE 32771 #define _APS_NEXT_COMMAND_VALUE 32771
#define _APS_NEXT_CONTROL_VALUE 2102 #define _APS_NEXT_CONTROL_VALUE 2103
#define _APS_NEXT_SYMED_VALUE 5000 #define _APS_NEXT_SYMED_VALUE 5000
#endif #endif
#endif #endif