mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-28 11:49:06 +00:00
hopefully fixed zww issue with new efb to ram.
implemented new efb to ram in opengl modified TextureConversionShader preparing the implementation of new efb to ram in dx11 please test for regressions git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5874 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
dcc51e0ef8
commit
9cb41e7c70
11 changed files with 445 additions and 287 deletions
|
@ -90,15 +90,9 @@ void TextureCache::InvalidateRange(u32 start_address, u32 size)
|
|||
iter->second.Destroy(false);
|
||||
textures.erase(iter++);
|
||||
}
|
||||
else {
|
||||
if(rangePosition<0)
|
||||
{
|
||||
++iter;
|
||||
}
|
||||
else
|
||||
{
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
++iter;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -113,11 +107,6 @@ void TextureCache::MakeRangeDynamic(u32 start_address, u32 size)
|
|||
{
|
||||
iter->second.hash = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(rangePosition > 0)
|
||||
break;
|
||||
}
|
||||
++iter;
|
||||
}
|
||||
}
|
||||
|
@ -145,17 +134,8 @@ void TextureCache::Cleanup()
|
|||
{
|
||||
if (frameCount > TEXTURE_KILL_THRESHOLD + iter->second.frameCount)
|
||||
{
|
||||
if (!iter->second.isRenderTarget)
|
||||
{
|
||||
iter->second.Destroy(false);
|
||||
iter = textures.erase(iter);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Used to be just iter++
|
||||
iter->second.Destroy(false);
|
||||
iter = textures.erase(iter);
|
||||
}
|
||||
iter->second.Destroy(false);
|
||||
iter = textures.erase(iter);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -247,11 +227,10 @@ TextureCache::TCacheEntry *TextureCache::Load(int stage, u32 address, int width,
|
|||
}
|
||||
}
|
||||
if (((entry.isRenderTarget || entry.isDinamic) && hash_value == entry.hash && address == entry.addr)
|
||||
|| ((address == entry.addr)
|
||||
&& (hash_value == entry.hash)
|
||||
&& FullFormat == entry.fmt/* && entry.MipLevels == maxlevel*/))
|
||||
|| ((address == entry.addr) && (hash_value == entry.hash) && FullFormat == entry.fmt/* && entry.MipLevels == maxlevel*/))
|
||||
{
|
||||
entry.frameCount = frameCount;
|
||||
entry.isDinamic = false;
|
||||
D3D::SetTexture(stage, entry.texture);
|
||||
return &entry;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue