diff options
| author | daco65 <daco65@gmail.com> | 2009-03-02 21:17:16 +0000 |
|---|---|---|
| committer | daco65 <daco65@gmail.com> | 2009-03-02 21:17:16 +0000 |
| commit | 4cb7f2f4907fa2089308900d80893a8cd604db5b (patch) | |
| tree | 7c4408fe4ff55daff055a13a29b8fa908f4f7493 /Source/Core/VideoCommon | |
| parent | 10e027b48b737d44022f2e27b7023a577748d4f7 (diff) | |
lets retry that change from omega but this time keep the projection hacks >_>
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2527 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core/VideoCommon')
| -rw-r--r-- | Source/Core/VideoCommon/Src/VertexShaderManager.cpp | 23 | ||||
| -rw-r--r-- | Source/Core/VideoCommon/Src/XFStructs.cpp | 2 |
2 files changed, 13 insertions, 12 deletions
diff --git a/Source/Core/VideoCommon/Src/VertexShaderManager.cpp b/Source/Core/VideoCommon/Src/VertexShaderManager.cpp index 361e355dc2..9bcdaf4a5c 100644 --- a/Source/Core/VideoCommon/Src/VertexShaderManager.cpp +++ b/Source/Core/VideoCommon/Src/VertexShaderManager.cpp @@ -203,12 +203,12 @@ void VertexShaderManager::SetConstants(bool proj_hax_1, bool proj_hax_2) g_fProjectionMatrix[0] = xfregs.rawProjection[0]; g_fProjectionMatrix[1] = 0.0f; g_fProjectionMatrix[2] = xfregs.rawProjection[1]; - g_fProjectionMatrix[3] = 0; + g_fProjectionMatrix[3] = 0.0f; g_fProjectionMatrix[4] = 0.0f; g_fProjectionMatrix[5] = xfregs.rawProjection[2]; g_fProjectionMatrix[6] = xfregs.rawProjection[3]; - g_fProjectionMatrix[7] = 0; + g_fProjectionMatrix[7] = 0.0f; g_fProjectionMatrix[8] = 0.0f; g_fProjectionMatrix[9] = 0.0f; @@ -217,7 +217,7 @@ void VertexShaderManager::SetConstants(bool proj_hax_1, bool proj_hax_2) //---------Projection[11]--------- // No hacks if ((!proj_hax_1 && !proj_hax_2) || (proj_hax_1 && proj_hax_2)) - g_fProjectionMatrix[11] = -(0.0f - xfregs.rawProjection[5]); + g_fProjectionMatrix[11] = xfregs.rawProjection[5]; // Before R945 Hack if (proj_hax_1 && !proj_hax_2) @@ -270,7 +270,7 @@ void VertexShaderManager::SetConstants(bool proj_hax_1, bool proj_hax_2) //---------Projection[11]--------- // No hacks if ((!proj_hax_1 && !proj_hax_2) || (proj_hax_1 && proj_hax_2)) - g_fProjectionMatrix[11] = -(-0.5f - xfregs.rawProjection[5]); + g_fProjectionMatrix[11] = xfregs.rawProjection[5] + 0.1f; // Before R945 Hack if (proj_hax_1 && !proj_hax_2) @@ -303,16 +303,15 @@ void VertexShaderManager::SetConstants(bool proj_hax_1, bool proj_hax_2) SETSTAT_FT(stats.g2proj_13, g_fProjectionMatrix[13]); SETSTAT_FT(stats.g2proj_14, g_fProjectionMatrix[14]); SETSTAT_FT(stats.g2proj_15, g_fProjectionMatrix[15]); + SETSTAT_FT(stats.proj_0, xfregs.rawProjection[0]); + SETSTAT_FT(stats.proj_1, xfregs.rawProjection[1]); + SETSTAT_FT(stats.proj_2, xfregs.rawProjection[2]); + SETSTAT_FT(stats.proj_3, xfregs.rawProjection[3]); + SETSTAT_FT(stats.proj_4, xfregs.rawProjection[4]); + SETSTAT_FT(stats.proj_5, xfregs.rawProjection[5]); + SETSTAT_FT(stats.proj_6, xfregs.rawProjection[6]); } - SETSTAT_FT(stats.proj_0, xfregs.rawProjection[0]); - SETSTAT_FT(stats.proj_1, xfregs.rawProjection[1]); - SETSTAT_FT(stats.proj_2, xfregs.rawProjection[2]); - SETSTAT_FT(stats.proj_3, xfregs.rawProjection[3]); - SETSTAT_FT(stats.proj_4, xfregs.rawProjection[4]); - SETSTAT_FT(stats.proj_5, xfregs.rawProjection[5]); - SETSTAT_FT(stats.proj_6, xfregs.rawProjection[6]); - PRIM_LOG("Projection: %f %f %f %f %f %f\n", xfregs.rawProjection[0], xfregs.rawProjection[1], xfregs.rawProjection[2], xfregs.rawProjection[3], xfregs.rawProjection[4], xfregs.rawProjection[5]); SetVSConstant4fv(C_PROJECTION, &g_fProjectionMatrix[0]); SetVSConstant4fv(C_PROJECTION+1, &g_fProjectionMatrix[4]); diff --git a/Source/Core/VideoCommon/Src/XFStructs.cpp b/Source/Core/VideoCommon/Src/XFStructs.cpp index 7a0d07959e..9f1bffdf74 100644 --- a/Source/Core/VideoCommon/Src/XFStructs.cpp +++ b/Source/Core/VideoCommon/Src/XFStructs.cpp @@ -21,6 +21,7 @@ #include "CPMemory.h"
#include "NativeVertexWriter.h"
#include "VertexShaderManager.h"
+#include "PixelShaderManager.h"
// LoadXFReg 0x10
void LoadXFReg(u32 transferSize, u32 baseAddress, u32 *pData)
@@ -154,6 +155,7 @@ void LoadXFReg(u32 transferSize, u32 baseAddress, u32 *pData) case 0x101a:
VertexManager::Flush();
VertexShaderManager::SetViewport((float*)&pData[i]);
+ PixelShaderManager::SetViewport((float*)&pData[i]);
i += 6;
break;
|
