From e8d858c67584ea73c40cae3375103b1ff31993ff Mon Sep 17 00:00:00 2001 From: ramapcsx2 Date: Sat, 24 Oct 2009 18:39:36 +0000 Subject: [PATCH] GSdx: Some fixes. git-svn-id: http://pcsx2.googlecode.com/svn/trunk@2066 96395faa-99c1-11dd-bbfe-3dabce05a288 --- plugins/GSdx/GSRendererDX.h | 25 +++++++++++++++++-------- plugins/GSdx/GSSettingsDlg.cpp | 4 ++-- plugins/GSdx/GSTextureCache.cpp | 17 +++++++++-------- 3 files changed, 28 insertions(+), 18 deletions(-) diff --git a/plugins/GSdx/GSRendererDX.h b/plugins/GSdx/GSRendererDX.h index d6c3f3b2bb..8796f556ae 100644 --- a/plugins/GSdx/GSRendererDX.h +++ b/plugins/GSdx/GSRendererDX.h @@ -123,6 +123,7 @@ public: } else { + //Breath of Fire Dragon Quarter triggers this in battles. Graphics are fine though. ASSERT(0); } } @@ -144,20 +145,28 @@ public: { if(m_vt.m_max.p.z > 0xffffff) { - ASSERT(m_vt.m_min.p.z > 0xffffff); - - vs_sel.bppz = 1; - om_dssel.ztst = ZTST_ALWAYS; + //ASSERT(m_vt.m_min.p.z > 0xffffff); + // Fixme :Following conditional fixes some dialog frame in Wild Arms 3, but may not be what was intended. + if (m_vt.m_min.p.z > 0xffffff) + { + vs_sel.bppz = 1; + om_dssel.ztst = ZTST_ALWAYS; + } + //else printf ("GSdx: Z issue, please report\n"); } } else if(context->ZBUF.PSM == PSM_PSMZ16 || context->ZBUF.PSM == PSM_PSMZ16S) { if(m_vt.m_max.p.z > 0xffff) { - ASSERT(m_vt.m_min.p.z > 0xffff); // sfex capcom logo - - vs_sel.bppz = 2; - om_dssel.ztst = ZTST_ALWAYS; + //ASSERT(m_vt.m_min.p.z > 0xffff); // sfex capcom logo + // Fixme : Same as above, I guess. + if (m_vt.m_min.p.z > 0xffff) + { + vs_sel.bppz = 2; + om_dssel.ztst = ZTST_ALWAYS; + } + //else printf ("GSdx: Z issue, please report\n"); } } } diff --git a/plugins/GSdx/GSSettingsDlg.cpp b/plugins/GSdx/GSSettingsDlg.cpp index bf77d66d61..4842e8c289 100644 --- a/plugins/GSdx/GSSettingsDlg.cpp +++ b/plugins/GSdx/GSSettingsDlg.cpp @@ -139,10 +139,10 @@ void GSSettingsDlg::OnInit() CheckDlgButton(m_hWnd, IDC_BLUR, theApp.GetConfig("blur", 0)); CheckDlgButton(m_hWnd, IDC_NATIVERES, theApp.GetConfig("nativeres", 0)); - SendMessage(GetDlgItem(m_hWnd, IDC_RESX), UDM_SETRANGE, 0, MAKELPARAM(4096, 512)); + SendMessage(GetDlgItem(m_hWnd, IDC_RESX), UDM_SETRANGE, 0, MAKELPARAM(8192, 256)); SendMessage(GetDlgItem(m_hWnd, IDC_RESX), UDM_SETPOS, 0, MAKELPARAM(theApp.GetConfig("resx", 1024), 0)); - SendMessage(GetDlgItem(m_hWnd, IDC_RESY), UDM_SETRANGE, 0, MAKELPARAM(4096, 512)); + 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_SWTHREADS), UDM_SETRANGE, 0, MAKELPARAM(16, 1)); diff --git a/plugins/GSdx/GSTextureCache.cpp b/plugins/GSdx/GSTextureCache.cpp index 71c221e631..ed5bd2d16b 100644 --- a/plugins/GSdx/GSTextureCache.cpp +++ b/plugins/GSdx/GSTextureCache.cpp @@ -600,15 +600,16 @@ GSTextureCache::Source* GSTextureCache::CreateSource(const GIFRegTEX0& TEX0, con } } } - //else if(tw < tp) - //{ - // // FIXME: timesplitters blurs the render target by blending itself over a couple of times + else if(tw < tp) + { + // FIXME: timesplitters blurs the render target by blending itself over a couple of times - // if(tw == 256 && th == 128 && tp == 512 && (TEX0.TBP0 == 0 || TEX0.TBP0 == 0x00e00)) - // { - // return false; - // } - //} + if(tw == 256 && th == 128 && tp == 512 && (TEX0.TBP0 == 0 || TEX0.TBP0 == 0x00e00)) + { + delete src; + return false; + } + } // width/height conversion GSVector2 scale = dst->m_texture->GetScale();