First Experimental Commit:

make some changes to the Clear code. please test a lot , the point of this commit is to determine the correct behavior of the efb clearing so feedback is welcome

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6663 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
Rodolfo Osvaldo Bogado 2010-12-27 03:09:11 +00:00
parent 695010520f
commit f3336a84a1
3 changed files with 61 additions and 54 deletions

View file

@ -545,6 +545,10 @@ 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;
}
@ -571,10 +575,18 @@ 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;
@ -608,6 +620,10 @@ 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:
@ -617,6 +633,8 @@ 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);