Some errors in the values passed to e pixel shader caused the menu error, no they are fixed, thanks to LordMark for help me with the testing.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4490 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
Rodolfo Osvaldo Bogado 2009-10-31 13:40:53 +00:00
parent 2913d1fd9e
commit 78fa929c70
3 changed files with 7 additions and 9 deletions

View File

@ -110,20 +110,17 @@ void PixelShaderManager::SetConstants()
float ftemp[4];
switch (bpmem.ztex2.type)
{
case 0:
// 8 bits
// this breaks the menu in SSBM when it is set correctly to
ftemp[0] = ffrac/(65536.0f); ftemp[1] = 0; ftemp[2] = 0; ftemp[3] = 0;
//ftemp[0] = ffrac/65536.0f; ftemp[1] = ffrac/256.0f; ftemp[2] = ffrac; ftemp[3] = 0;
case 0:
// 8 bits
ftemp[0] = ffrac; ftemp[1] = 0; ftemp[2] = 0; ftemp[3] = 0;
break;
case 1:
// 16 bits
ftemp[0] = ffrac/65536.0f; ftemp[1] = 0; ftemp[2] = 0; ftemp[3] = ffrac/256.0f;
ftemp[0] = ffrac/256.0f; ftemp[1] = 0; ftemp[2] = 0; ftemp[3] = ffrac;
break;
case 2:
// 24 bits
ftemp[0] = ffrac/65536.0f; ftemp[1] = ffrac/256.0f; ftemp[2] = ffrac; ftemp[3] = 0;
//ftemp[0] = ffrac; ftemp[1] = ffrac/256.0f; ftemp[2] = ffrac/65536.0f; ftemp[3] = 0;
ftemp[0] = ffrac/65536.0f; ftemp[1] = ffrac/256.0f; ftemp[2] = ffrac; ftemp[3] = ffrac/16777216.0f;
break;
}
SetPSConstant4fv(C_ZBIAS, ftemp);

View File

@ -117,7 +117,7 @@ void PixelShaderCache::Init()
"TEMP R0;\n"
"TEMP R1;\n"
"TEMP R2;\n"
"PARAM K0 = { 65535.0, 255.0,1.0};\n"
"PARAM K0 = { 65535.0, 255.0,1.0,16777215.0};\n"
"TEX R2, fragment.texcoord[0], texture[0], RECT;\n"
"MUL R0, R2.x, K0;\n"
"FRC R0, R0;\n"

View File

@ -578,6 +578,7 @@ void TextureMngr::CopyRenderTargetToTexture(u32 address, bool bFromZBuffer, bool
colmat[0] = 1;
colmat[5] = 1;
colmat[10] = 1;
colmat[15] = 1;
break;
case 9: // Z8M
colmat[1] = colmat[5] = colmat[9] = colmat[13] = 1;