mirror of https://github.com/PCSX2/pcsx2.git
gsdx-dx: only enable new code when CRC is below FULL level
Code is not ready. It allow to test the new code without a massive regression
This commit is contained in:
parent
074881228d
commit
831c24de51
|
@ -225,7 +225,9 @@ void GSRendererDX::DrawPrims(GSTexture* rt, GSTexture* ds, GSTextureCache::Sourc
|
||||||
GSDeviceDX::PSSamplerSelector ps_ssel;
|
GSDeviceDX::PSSamplerSelector ps_ssel;
|
||||||
GSDeviceDX::PSConstantBuffer ps_cb;
|
GSDeviceDX::PSConstantBuffer ps_cb;
|
||||||
|
|
||||||
if (m_texture_shuffle) {
|
// Gregory: code is not yet ready so let's only enable it when
|
||||||
|
// CRC is below the FULL level
|
||||||
|
if (m_texture_shuffle && (m_crc_hack_level < 3)) {
|
||||||
ps_sel.shuffle = 1;
|
ps_sel.shuffle = 1;
|
||||||
ps_sel.fmt = 0;
|
ps_sel.fmt = 0;
|
||||||
|
|
||||||
|
@ -373,10 +375,7 @@ void GSRendererDX::DrawPrims(GSTexture* rt, GSTexture* ds, GSTextureCache::Sourc
|
||||||
ps_sel.wmt = context->CLAMP.WMT;
|
ps_sel.wmt = context->CLAMP.WMT;
|
||||||
if (ps_sel.shuffle) {
|
if (ps_sel.shuffle) {
|
||||||
ps_sel.fmt = 0;
|
ps_sel.fmt = 0;
|
||||||
|
} else {
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
ps_sel.fmt = tex->m_palette ? cpsm.fmt | 4 : cpsm.fmt;
|
ps_sel.fmt = tex->m_palette ? cpsm.fmt | 4 : cpsm.fmt;
|
||||||
}
|
}
|
||||||
ps_sel.aem = env.TEXA.AEM;
|
ps_sel.aem = env.TEXA.AEM;
|
||||||
|
|
|
@ -26,12 +26,12 @@ GSTextureCache::GSTextureCache(GSRenderer* r)
|
||||||
: m_renderer(r)
|
: m_renderer(r)
|
||||||
{
|
{
|
||||||
m_spritehack = !!theApp.GetConfig("UserHacks", 0) ? theApp.GetConfig("UserHacks_SpriteHack", 0) : 0;
|
m_spritehack = !!theApp.GetConfig("UserHacks", 0) ? theApp.GetConfig("UserHacks_SpriteHack", 0) : 0;
|
||||||
m_preload_frame = theApp.GetConfig("preload_frame_with_gs_data", 0);
|
|
||||||
|
|
||||||
UserHacks_HalfPixelOffset = !!theApp.GetConfig("UserHacks", 0) && !!theApp.GetConfig("UserHacks_HalfPixelOffset", 0);
|
UserHacks_HalfPixelOffset = !!theApp.GetConfig("UserHacks", 0) && !!theApp.GetConfig("UserHacks_HalfPixelOffset", 0);
|
||||||
m_paltex = !!theApp.GetConfig("paltex", 0);
|
|
||||||
|
|
||||||
m_can_convert_depth = theApp.GetConfig("Renderer", 12) == 12 ? theApp.GetConfig("texture_cache_depth", 1) : 0;
|
m_paltex = !!theApp.GetConfig("paltex", 0);
|
||||||
|
m_preload_frame = theApp.GetConfig("preload_frame_with_gs_data", 0);
|
||||||
|
m_can_convert_depth = IsOpenGL() ? theApp.GetConfig("texture_cache_depth", 1) : 0;
|
||||||
|
m_crc_hack_level = theApp.GetConfig("crc_hack_level", 3);
|
||||||
|
|
||||||
m_temp = (uint8*)_aligned_malloc(1024 * 1024 * sizeof(uint32), 32);
|
m_temp = (uint8*)_aligned_malloc(1024 * 1024 * sizeof(uint32), 32);
|
||||||
}
|
}
|
||||||
|
@ -148,7 +148,13 @@ GSTextureCache::Source* GSTextureCache::LookupSource(const GIFRegTEX0& TEX0, con
|
||||||
// 1/ it just works :)
|
// 1/ it just works :)
|
||||||
// 2/ even with upscaling
|
// 2/ even with upscaling
|
||||||
// 3/ for both DX and OpenGL
|
// 3/ for both DX and OpenGL
|
||||||
Read(t, t->m_valid);
|
|
||||||
|
// Gregory: to avoid a massive slow down for nothing, let's only enable
|
||||||
|
// this code when CRC is below the FULL level
|
||||||
|
if (m_crc_hack_level < 3)
|
||||||
|
Read(t, t->m_valid);
|
||||||
|
else
|
||||||
|
dst = t;
|
||||||
} else {
|
} else {
|
||||||
dst = t;
|
dst = t;
|
||||||
}
|
}
|
||||||
|
|
|
@ -115,6 +115,7 @@ protected:
|
||||||
bool m_preload_frame;
|
bool m_preload_frame;
|
||||||
uint8* m_temp;
|
uint8* m_temp;
|
||||||
bool m_can_convert_depth;
|
bool m_can_convert_depth;
|
||||||
|
int m_crc_hack_level;
|
||||||
|
|
||||||
virtual Source* CreateSource(const GIFRegTEX0& TEX0, const GIFRegTEXA& TEXA, Target* t = NULL, bool half_right = false);
|
virtual Source* CreateSource(const GIFRegTEX0& TEX0, const GIFRegTEXA& TEXA, Target* t = NULL, bool half_right = false);
|
||||||
virtual Target* CreateTarget(const GIFRegTEX0& TEX0, int w, int h, int type);
|
virtual Target* CreateTarget(const GIFRegTEX0& TEX0, int w, int h, int type);
|
||||||
|
|
Loading…
Reference in New Issue