- Added multi sample anti aliasing options to the gui. Remember those aren't tested much, and we have reports of memory leaking with it enabled. Those could be outdated by now though.
- Removed the "enable output merger blur effect option", since I can't imagine anyone wanting to enable it anyway. :p
- Cropped one more pixel on the final output image, should fix some issues with msaa enabled.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2607 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
ramapcsx2 2010-02-19 15:45:23 +00:00
parent e50fb6ec9f
commit f874d0d1a3
7 changed files with 46 additions and 48 deletions

View File

@ -40,7 +40,6 @@ GSRenderer::GSRenderer()
else if (m_upscale_multiplier > 4) m_upscale_multiplier = 1; else if (m_upscale_multiplier > 4) m_upscale_multiplier = 1;
m_aa1 = !!theApp.GetConfig("aa1", 0); m_aa1 = !!theApp.GetConfig("aa1", 0);
m_blur = !!theApp.GetConfig("blur", 0);
if(m_nativeres) m_filter = 2; if(m_nativeres) m_filter = 2;
@ -218,7 +217,7 @@ bool GSRenderer::Merge(int field)
// //
if(m_blur && blurdetected && i == 1) if(blurdetected && i == 1)
{ {
r += GSVector4i(0, 1).xyxy(); r += GSVector4i(0, 1).xyxy();
} }
@ -463,9 +462,6 @@ void GSRenderer::KeyEvent(GSKeyEventData* e, int param)
case VK_DELETE: case VK_DELETE:
m_aa1 = !m_aa1; m_aa1 = !m_aa1;
return; return;
case VK_END:
m_blur = !m_blur;
return;
} }
} }
} }

View File

@ -45,7 +45,6 @@ protected:
bool m_vsync; bool m_vsync;
bool m_nativeres; bool m_nativeres;
bool m_aa1; bool m_aa1;
bool m_blur;
bool m_framelimit; bool m_framelimit;
uint8* m_tex_buff; uint8* m_tex_buff;

View File

@ -138,7 +138,6 @@ void GSSettingsDlg::OnInit()
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));
CheckDlgButton(m_hWnd, IDC_BLUR, theApp.GetConfig("blur", 0));
CheckDlgButton(m_hWnd, IDC_NATIVERES, theApp.GetConfig("nativeres", 0)); CheckDlgButton(m_hWnd, IDC_NATIVERES, theApp.GetConfig("nativeres", 0));
// Hacks // Hacks
CheckDlgButton(m_hWnd, IDC_ALPHAHACK, theApp.GetConfig("UserHacks_AlphaHack", 0)); CheckDlgButton(m_hWnd, IDC_ALPHAHACK, theApp.GetConfig("UserHacks_AlphaHack", 0));
@ -152,6 +151,9 @@ void GSSettingsDlg::OnInit()
SendMessage(GetDlgItem(m_hWnd, IDC_RESY), UDM_SETRANGE, 0, MAKELPARAM(8192, 256)); SendMessage(GetDlgItem(m_hWnd, IDC_RESY), UDM_SETRANGE, 0, MAKELPARAM(8192, 256));
SendMessage(GetDlgItem(m_hWnd, IDC_RESY), UDM_SETPOS, 0, MAKELPARAM(theApp.GetConfig("resy", 1024), 0)); SendMessage(GetDlgItem(m_hWnd, IDC_RESY), UDM_SETPOS, 0, MAKELPARAM(theApp.GetConfig("resy", 1024), 0));
SendMessage(GetDlgItem(m_hWnd, IDC_MSAA), UDM_SETRANGE, 0, MAKELPARAM(16, 0));
SendMessage(GetDlgItem(m_hWnd, IDC_MSAA), UDM_SETPOS, 0, MAKELPARAM(theApp.GetConfig("msaa", 0), 0));
SendMessage(GetDlgItem(m_hWnd, IDC_SWTHREADS), UDM_SETRANGE, 0, MAKELPARAM(16, 1)); SendMessage(GetDlgItem(m_hWnd, IDC_SWTHREADS), UDM_SETRANGE, 0, MAKELPARAM(16, 1));
SendMessage(GetDlgItem(m_hWnd, IDC_SWTHREADS), UDM_SETPOS, 0, MAKELPARAM(theApp.GetConfig("swthreads", 1), 0)); SendMessage(GetDlgItem(m_hWnd, IDC_SWTHREADS), UDM_SETPOS, 0, MAKELPARAM(theApp.GetConfig("swthreads", 1), 0));
@ -212,11 +214,11 @@ bool GSSettingsDlg::OnCommand(HWND hWnd, UINT id, UINT code)
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));
theApp.SetConfig("blur", (int)IsDlgButtonChecked(m_hWnd, IDC_BLUR));
theApp.SetConfig("nativeres", (int)IsDlgButtonChecked(m_hWnd, IDC_NATIVERES)); theApp.SetConfig("nativeres", (int)IsDlgButtonChecked(m_hWnd, IDC_NATIVERES));
theApp.SetConfig("resx", (int)SendMessage(GetDlgItem(m_hWnd, IDC_RESX), UDM_GETPOS, 0, 0)); theApp.SetConfig("resx", (int)SendMessage(GetDlgItem(m_hWnd, IDC_RESX), UDM_GETPOS, 0, 0));
theApp.SetConfig("resy", (int)SendMessage(GetDlgItem(m_hWnd, IDC_RESY), UDM_GETPOS, 0, 0)); theApp.SetConfig("resy", (int)SendMessage(GetDlgItem(m_hWnd, IDC_RESY), UDM_GETPOS, 0, 0));
theApp.SetConfig("swthreads", (int)SendMessage(GetDlgItem(m_hWnd, IDC_SWTHREADS), UDM_GETPOS, 0, 0)); theApp.SetConfig("swthreads", (int)SendMessage(GetDlgItem(m_hWnd, IDC_SWTHREADS), UDM_GETPOS, 0, 0));
theApp.SetConfig("msaa", (int)SendMessage(GetDlgItem(m_hWnd, IDC_MSAA), UDM_GETPOS, 0, 0));
// Hacks // Hacks
theApp.SetConfig("UserHacks_AlphaHack", (int)IsDlgButtonChecked(m_hWnd, IDC_ALPHAHACK)); theApp.SetConfig("UserHacks_AlphaHack", (int)IsDlgButtonChecked(m_hWnd, IDC_ALPHAHACK));
theApp.SetConfig("UserHacks_HalfPixelOffset", (int)IsDlgButtonChecked(m_hWnd, IDC_OFFSETHACK)); theApp.SetConfig("UserHacks_HalfPixelOffset", (int)IsDlgButtonChecked(m_hWnd, IDC_OFFSETHACK));

View File

@ -2538,12 +2538,10 @@ bool GSState::IsBadFrame(int& skip, int UserHacks_SkipDraw)
{ {
if(fi.TME) if(fi.TME)
{ {
if(GSUtil::HasSharedBits(fi.FBP, fi.FPSM, fi.TBP0, fi.TPSM)) // depth textures (bully, mgs3s1 intro, Front Mission 5)
{ if( (fi.TPSM == PSM_PSMZ32 || fi.TPSM == PSM_PSMZ24 || fi.TPSM == PSM_PSMZ16 || fi.TPSM == PSM_PSMZ16S) ||
skip = UserHacks_SkipDraw; // General, often problematic post processing
} (GSUtil::HasSharedBits(fi.FBP, fi.FPSM, fi.TBP0, fi.TPSM)) )
// depth textures (bully, mgs3s1 intro, Front Mission 5 (needs skip = 2, therefore the gamefix))
if(fi.TPSM == PSM_PSMZ32 || fi.TPSM == PSM_PSMZ24 || fi.TPSM == PSM_PSMZ16 || fi.TPSM == PSM_PSMZ16S)
{ {
skip = UserHacks_SkipDraw; skip = UserHacks_SkipDraw;
} }

View File

@ -97,10 +97,10 @@ GSVector4i GSVector4i::fit(int preset) const
} }
#ifdef USE_UPSCALE_HACKS //don't show outermost pixels, they're often buggy #ifdef USE_UPSCALE_HACKS //don't show outermost pixels, they're often buggy
r.x-=1; r.x-=2;
r.y-=1; r.y-=2;
r.z+=1; r.z+=2;
r.w+=1; r.w+=2;
#endif #endif
return r; return r;

View File

@ -101,7 +101,6 @@ BEGIN
CONTROL "Wait VSync",IDC_VSYNC,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,224,51,10 CONTROL "Wait VSync",IDC_VSYNC,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,224,51,10
CONTROL "Windowed",IDC_WINDOWED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,89,224,93,10 CONTROL "Windowed",IDC_WINDOWED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,89,224,93,10
CONTROL "Edge anti-aliasing (AA1, sw-mode only)",IDC_AA1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,238,141,10 CONTROL "Edge anti-aliasing (AA1, sw-mode only)",IDC_AA1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,238,141,10
CONTROL "Enable output merger blur effect",IDC_BLUR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,252,121,10
DEFPUSHBUTTON "OK",IDOK,43,275,50,14 DEFPUSHBUTTON "OK",IDOK,43,275,50,14
PUSHBUTTON "Cancel",IDCANCEL,96,275,50,14 PUSHBUTTON "Cancel",IDCANCEL,96,275,50,14
COMBOBOX IDC_UPSCALE_MULTIPLIER,71,144,111,98,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_UPSCALE_MULTIPLIER,71,144,111,98,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
@ -153,44 +152,46 @@ BEGIN
CONTROL "Windowed",IDC_WINDOWED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,129,157,49,10 CONTROL "Windowed",IDC_WINDOWED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,129,157,49,10
END END
IDD_CONFIG2 DIALOGEX 0, 0, 187, 302 IDD_CONFIG2 DIALOGEX 0, 0, 187, 314
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Settings..." CAPTION "Settings..."
FONT 8, "MS Shell Dlg", 400, 0, 0x1 FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN BEGIN
CONTROL 2022,IDC_LOGO10,"Static",SS_BITMAP,6,6,173,42 CONTROL 2022,IDC_LOGO10,"Static",SS_BITMAP,6,6,173,42
DEFPUSHBUTTON "OK",IDOK,41,275,50,14 DEFPUSHBUTTON "OK",IDOK,41,289,50,14
LTEXT "Renderer:",IDC_STATIC,6,57,34,8 LTEXT "Renderer:",IDC_STATIC,6,57,34,8
COMBOBOX IDC_RENDERER,70,55,111,118,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_RENDERER,70,55,111,118,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT "Interlacing (F5):",IDC_STATIC,6,73,53,8 LTEXT "Interlacing (F5):",IDC_STATIC,6,73,53,8
COMBOBOX IDC_INTERLACE,70,70,111,98,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_INTERLACE,70,70,111,98,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT "D3D internal res:",IDC_STATIC,6,105,55,8 LTEXT "D3D internal res:",IDC_STATIC,17,105,55,8
EDITTEXT IDC_RESX_EDIT,70,102,35,13,ES_AUTOHSCROLL | ES_NUMBER EDITTEXT IDC_RESX_EDIT,81,102,35,13,ES_AUTOHSCROLL | ES_NUMBER
CONTROL "",IDC_RESX,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,98,105,11,14 CONTROL "",IDC_RESX,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,109,105,11,14
EDITTEXT IDC_RESY_EDIT,108,102,35,13,ES_AUTOHSCROLL | ES_NUMBER EDITTEXT IDC_RESY_EDIT,119,102,35,13,ES_AUTOHSCROLL | ES_NUMBER
CONTROL "",IDC_RESY,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,132,105,11,14 CONTROL "",IDC_RESY,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,143,105,11,14
CONTROL "Native",IDC_NATIVERES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,111,135,33,10 CONTROL "Native",IDC_NATIVERES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,122,135,33,10
LTEXT "SW rend. threads:",IDC_STATIC,6,151,60,8 LTEXT "SW rend. threads:",IDC_STATIC,6,179,60,8
EDITTEXT IDC_SWTHREADS_EDIT,70,149,35,13,ES_AUTOHSCROLL | ES_NUMBER EDITTEXT IDC_SWTHREADS_EDIT,70,177,35,13,ES_AUTOHSCROLL | ES_NUMBER
CONTROL "",IDC_SWTHREADS,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,98,152,11,14 CONTROL "",IDC_SWTHREADS,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,98,180,11,14
COMBOBOX IDC_UPSCALE_MULTIPLIER,70,117,111,98,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_UPSCALE_MULTIPLIER,81,117,74,98,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT "Or use Scaling:",IDC_STATIC,6,120,49,8 LTEXT "Or use Scaling:",IDC_STATIC,17,120,49,8
LTEXT "D3D Enhancements (can cause glitches)",IDC_STATIC,30,90,128,8 LTEXT "Or use original PS2 resolution :",IDC_STATIC,17,135,99,8
LTEXT "Or use original PS2 resolution :",IDC_STATIC,6,135,99,8 CONTROL "Texture filtering",IDC_FILTER,"Button",BS_AUTO3STATE | WS_TABSTOP,6,193,67,10
CONTROL "Texture filtering",IDC_FILTER,"Button",BS_AUTO3STATE | WS_TABSTOP,6,174,67,10 CONTROL "Logarithmic Z",IDC_LOGZ,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,88,194,58,10
CONTROL "Logarithmic Z",IDC_LOGZ,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,88,175,58,10 CONTROL "Allow 8-bit textures",IDC_PALTEX,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,207,82,10
CONTROL "Allow 8-bit textures",IDC_PALTEX,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,188,82,10 CONTROL "Alpha correction (FBA)",IDC_FBA,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,88,207,93,10
CONTROL "Alpha correction (FBA)",IDC_FBA,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,88,188,93,10 CONTROL "Edge anti-aliasing (AA1, sw-mode only)",IDC_AA1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,221,141,10
CONTROL "Edge anti-aliasing (AA1, sw-mode only)",IDC_AA1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,202,141,10 PUSHBUTTON "Cancel",IDCANCEL,95,289,50,14
CONTROL "Enable output merger blur effect",IDC_BLUR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,216,121,10
PUSHBUTTON "Cancel",IDCANCEL,95,275,50,14
CONTROL 2021,IDC_LOGO9,"Static",SS_BITMAP,6,6,175,44 CONTROL 2021,IDC_LOGO9,"Static",SS_BITMAP,6,6,175,44
CONTROL "Alpha Hack",IDC_ALPHAHACK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,239,51,10 CONTROL "Alpha Hack",IDC_ALPHAHACK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,251,51,10
CONTROL "Offset Hack",IDC_OFFSETHACK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,85,239,51,10 CONTROL "Offset Hack",IDC_OFFSETHACK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,85,251,51,10
GROUPBOX "Hacks (try to fix bad graphics)",IDC_USERHACKS,13,228,161,40,BS_CENTER GROUPBOX "Hacks (try to fix bad graphics)",IDC_USERHACKS,13,240,161,40,BS_CENTER
EDITTEXT IDC_SKIPDRAWHACKEDIT,55,251,40,14,ES_AUTOHSCROLL | ES_NUMBER EDITTEXT IDC_SKIPDRAWHACKEDIT,55,263,40,14,ES_AUTOHSCROLL | ES_NUMBER
CONTROL "",IDC_SKIPDRAWHACK,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,94,253,11,14 CONTROL "",IDC_SKIPDRAWHACK,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,94,265,11,14
LTEXT "SkipDraw:",IDC_STATIC,20,255,33,8 LTEXT "SkipDraw:",IDC_STATIC,20,267,33,8
EDITTEXT IDC_MSAAEDIT,122,152,35,13,ES_AUTOHSCROLL | ES_NUMBER
CONTROL "",IDC_MSAA,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,156,155,11,14
LTEXT "Experimental HW Anti Aliasing",IDC_STATIC,17,155,96,8
GROUPBOX "D3D Enhancements (can cause glitches)",IDC_STATIC,6,87,175,86
END END
@ -237,7 +238,7 @@ BEGIN
LEFTMARGIN, 6 LEFTMARGIN, 6
RIGHTMARGIN, 181 RIGHTMARGIN, 181
TOPMARGIN, 6 TOPMARGIN, 6
BOTTOMMARGIN, 296 BOTTOMMARGIN, 307
END END
END END
#endif // APSTUDIO_INVOKED #endif // APSTUDIO_INVOKED

View File

@ -15,6 +15,7 @@
#define IDC_AA1 2011 #define IDC_AA1 2011
#define IDC_SWTHREADS_EDIT 2012 #define IDC_SWTHREADS_EDIT 2012
#define IDC_CUSTOM1 2013 #define IDC_CUSTOM1 2013
#define IDC_MSAAEDIT 2013
#define IDC_CHECK4 2014 #define IDC_CHECK4 2014
#define IDC_FILTER 2015 #define IDC_FILTER 2015
#define IDC_DITHERING 2016 #define IDC_DITHERING 2016
@ -22,6 +23,7 @@
#define IDC_RESX 2018 #define IDC_RESX 2018
#define IDC_RESY 2019 #define IDC_RESY 2019
#define IDD_CONFIG 2020 #define IDD_CONFIG 2020
#define IDC_MSAA 2020
#define IDB_LOGO9 2021 #define IDB_LOGO9 2021
#define IDB_LOGO10 2022 #define IDB_LOGO10 2022
#define IDC_FBA 2023 #define IDC_FBA 2023