Yet another ClearScreen fix, should be the last one now.

Should fix almost all regressions of the recent ClearScreen changes and keep the fixed stuff.
The Super Mario Sunshine glitch is caused by another issue and will be addressed in my next commit.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6668 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
NeoBrainX 2010-12-27 18:09:03 +00:00
parent c33f46406e
commit 6e8df50fff
6 changed files with 36 additions and 76 deletions

View file

@ -545,10 +545,6 @@ void TextureCache::CopyRenderTargetToTexture(u32 address, bool bFromZBuffer,
else// alpha
{
colmat[15] = 1;
if(bpmem.zcontrol.pixel_format != PIXELFMT_RGBA6_Z24)
{
fConstAdd[3] = 1;
}
cbufid = 1;
}
@ -575,18 +571,10 @@ void TextureCache::CopyRenderTargetToTexture(u32 address, bool bFromZBuffer,
case 3: // RA8
colmat[0] = colmat[4] = colmat[8] = colmat[15] = 1;
cbufid = 3;
if(bpmem.zcontrol.pixel_format != PIXELFMT_RGBA6_Z24)
{
fConstAdd[3] = 1;
}
break;
case 7: // A8
colmat[3] = colmat[7] = colmat[11] = colmat[15] = 1;
if(bpmem.zcontrol.pixel_format != PIXELFMT_RGBA6_Z24)
{
fConstAdd[0] = fConstAdd[1] = fConstAdd[2] = fConstAdd[3] = 1;
}
cbufid = 4;
break;
@ -620,10 +608,6 @@ void TextureCache::CopyRenderTargetToTexture(u32 address, bool bFromZBuffer,
case 6: // RGBA8
colmat[0] = colmat[5] = colmat[10] = colmat[15] = 1;
cbufid = 10;
if(bpmem.zcontrol.pixel_format != PIXELFMT_RGBA6_Z24)
{
fConstAdd[3] = 1;
}
break;
default:
@ -633,8 +617,6 @@ void TextureCache::CopyRenderTargetToTexture(u32 address, bool bFromZBuffer,
break;
}
}
const unsigned int tex_w = (abs(source_rect.GetWidth()) >> (int)bScaleByHalf);
const unsigned int tex_h = (abs(source_rect.GetHeight()) >> (int)bScaleByHalf);
@ -695,4 +677,4 @@ void TextureCache::CopyRenderTargetToTexture(u32 address, bool bFromZBuffer,
entry->FromRenderTarget(bFromZBuffer, bScaleByHalf, cbufid, colmat, source_rect, bIsIntensityFmt, copyfmt);
g_renderer->RestoreAPIState();
}
}