- Found out that the blur detection filter was busted for some time now.
It worked by chance, due to the pixel crop hack.
Disabled that hack now and made PCSX2's GS frame handle that functionality instead.
This is a somewhat nicer method, although users of 4:3 and 16:9 aspect ratios might get flickering pixels on the borders again.
I'll see if I can think of something for those cases, should there be demand for it.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2608 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
ramapcsx2 2010-02-19 19:05:35 +00:00
parent f874d0d1a3
commit ef8fe6639e
3 changed files with 10 additions and 12 deletions

View File

@ -116,7 +116,12 @@ void GSPanel::DoResize()
switch( g_Conf->GSWindow.AspectRatio ) switch( g_Conf->GSWindow.AspectRatio )
{ {
case AspectRatio_Stretch: case AspectRatio_Stretch:
// just default to matching client size. // Default to matching client size.
// Add a few pixels here, so the outermost pixels of the GS plugin output are "hidden".
// This avoids issues with flashing pixels on the edges, especially when Anti Aliasing is used.
// Note: Tests in FFX showed we need at least 5 pixels. So using 6 for good measure :p
viewport.x+=6;
viewport.y+=6;
break; break;
case AspectRatio_4_3: case AspectRatio_4_3:

View File

@ -215,12 +215,12 @@ bool GSRenderer::Merge(int field)
r.bottom = r.top + y; r.bottom = r.top + y;
} }
// // Breaks the blur filter, and actually makes games blurry again.
// This might have to do with earlier changes to device size detection.
if(blurdetected && i == 1) /*if(blurdetected && i == 1)
{ {
r += GSVector4i(0, 1).xyxy(); r += GSVector4i(0, 1).xyxy();
} }*/
GSVector4 scale = GSVector4(tex[i]->GetScale()).xyxy(); GSVector4 scale = GSVector4(tex[i]->GetScale()).xyxy();

View File

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