summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/Src/XFStructs.cpp
diff options
context:
space:
mode:
authorRodolfo Osvaldo Bogado <rodolfoosvaldobogado@gmail.com>2009-10-25 23:10:30 +0000
committerRodolfo Osvaldo Bogado <rodolfoosvaldobogado@gmail.com>2009-10-25 23:10:30 +0000
commit0511d6e1858efecd8fc872e2cff8bd38caf7daae (patch)
tree2a132fb76cb655e673eb19e8aabcc5be705fd0db /Source/Core/VideoCommon/Src/XFStructs.cpp
parent1adc944115c091661a2cb99f86c9707523766f84 (diff)
some work on zscale and zoffset, don't know if this is correct but at least it seem to fix one or two games.
thanks a lot to chaoscode he make possible to test this on nvidia. please test this a lot and give me feedback :) git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4468 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core/VideoCommon/Src/XFStructs.cpp')
-rw-r--r--Source/Core/VideoCommon/Src/XFStructs.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/Source/Core/VideoCommon/Src/XFStructs.cpp b/Source/Core/VideoCommon/Src/XFStructs.cpp
index 3fc7984f9e..5fd25d31d1 100644
--- a/Source/Core/VideoCommon/Src/XFStructs.cpp
+++ b/Source/Core/VideoCommon/Src/XFStructs.cpp
@@ -174,12 +174,18 @@ void LoadXFReg(u32 transferSize, u32 baseAddress, u32 *pData)
// paper mario writes 16777216.0f, 1677721.75
// Killer 7 writes 16777216.0f here
case XFMEM_SETZSCALE:
+ VertexManager::Flush();
+ VertexShaderManager::SetZScale((float)data);
+ PixelShaderManager::SetZScale((float)data);
INFO_LOG(VIDEO, "Set ZScale : %x=%x\n", address, data);
break;
// paper mario writes 16777216.0f, 5033165.0f
// Killer 7 alterns this between 16777216.0f and 16710107.0f
case XFMEM_SETZOFFSET:
+ VertexManager::Flush();
+ VertexShaderManager::SetZOffset((float)data);
+ PixelShaderManager::SetZOffset((float)data);
INFO_LOG(VIDEO, "Set ZOffset : %x=%x\n", address, data);
break;