summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/Src/XFStructs.cpp
diff options
context:
space:
mode:
authordegasus <wickmarkus@web.de>2012-12-27 10:36:54 +0100
committerdegasus <wickmarkus@web.de>2012-12-27 10:36:54 +0100
commit316a33d1e68ab47b2870345a04bb9dfd4f383f28 (patch)
tree03b40807def9787df30976ecb53f09d6c6084c13 /Source/Core/VideoCommon/Src/XFStructs.cpp
parent53398ca5d8bc6e73a726c9d803db5a956c22cf6a (diff)
parent94116bf89c917309b7e7b2a2b46bf2f43f3219db (diff)
Merge branch 'master' into GLSL-master
Conflicts: Source/Core/DolphinWX/Src/VideoConfigDiag.h Source/Plugins/Plugin_VideoOGL/Src/GLUtil.h Source/Plugins/Plugin_VideoOGL/Src/Render.cpp Source/Plugins/Plugin_VideoOGL/Src/TextureCache.cpp Source/Plugins/Plugin_VideoOGL/Src/TextureConverter.cpp
Diffstat (limited to 'Source/Core/VideoCommon/Src/XFStructs.cpp')
-rw-r--r--Source/Core/VideoCommon/Src/XFStructs.cpp67
1 files changed, 18 insertions, 49 deletions
diff --git a/Source/Core/VideoCommon/Src/XFStructs.cpp b/Source/Core/VideoCommon/Src/XFStructs.cpp
index f8330604ad..9f395bfecf 100644
--- a/Source/Core/VideoCommon/Src/XFStructs.cpp
+++ b/Source/Core/VideoCommon/Src/XFStructs.cpp
@@ -121,18 +121,12 @@ void XFRegWritten(int transferSize, u32 baseAddress, u32 *pData)
case XFMEM_SETVIEWPORT+3:
case XFMEM_SETVIEWPORT+4:
case XFMEM_SETVIEWPORT+5:
- {
- u8 size = std::min(transferSize * 4, 6 * 4);
- if (memcmp((u32*)&xfregs + (address - 0x1000), pData + dataIndex, size))
- {
- VertexManager::Flush();
- VertexShaderManager::SetViewportChanged();
- PixelShaderManager::SetViewportChanged();
- }
+ VertexManager::Flush();
+ VertexShaderManager::SetViewportChanged();
+ PixelShaderManager::SetViewportChanged();
- nextAddress = XFMEM_SETVIEWPORT + 6;
- break;
- }
+ nextAddress = XFMEM_SETVIEWPORT + 6;
+ break;
case XFMEM_SETPROJECTION:
case XFMEM_SETPROJECTION+1:
@@ -141,21 +135,15 @@ void XFRegWritten(int transferSize, u32 baseAddress, u32 *pData)
case XFMEM_SETPROJECTION+4:
case XFMEM_SETPROJECTION+5:
case XFMEM_SETPROJECTION+6:
- {
- u8 size = std::min(transferSize * 4, 7 * 4);
- if (memcmp((u32*)&xfregs + (address - 0x1000), pData + dataIndex, size))
- {
- VertexManager::Flush();
- VertexShaderManager::SetProjectionChanged();
- }
+ VertexManager::Flush();
+ VertexShaderManager::SetProjectionChanged();
- nextAddress = XFMEM_SETPROJECTION + 7;
- break;
- }
+ nextAddress = XFMEM_SETPROJECTION + 7;
+ break;
case XFMEM_SETNUMTEXGENS: // GXSetNumTexGens
if (xfregs.numTexGen.numTexGens != (newValue & 15))
- VertexManager::Flush();
+ VertexManager::Flush();
break;
case XFMEM_SETTEXMTXINFO:
@@ -166,16 +154,10 @@ void XFRegWritten(int transferSize, u32 baseAddress, u32 *pData)
case XFMEM_SETTEXMTXINFO+5:
case XFMEM_SETTEXMTXINFO+6:
case XFMEM_SETTEXMTXINFO+7:
- {
- u8 size = std::min(transferSize * 4, 8 * 4);
- if (memcmp((u32*)&xfregs + (address - 0x1000), pData + dataIndex, size))
- {
- VertexManager::Flush();
- }
+ VertexManager::Flush();
- nextAddress = XFMEM_SETTEXMTXINFO + 8;
- break;
- }
+ nextAddress = XFMEM_SETTEXMTXINFO + 8;
+ break;
case XFMEM_SETPOSMTXINFO:
case XFMEM_SETPOSMTXINFO+1:
@@ -185,16 +167,10 @@ void XFRegWritten(int transferSize, u32 baseAddress, u32 *pData)
case XFMEM_SETPOSMTXINFO+5:
case XFMEM_SETPOSMTXINFO+6:
case XFMEM_SETPOSMTXINFO+7:
- {
- u8 size = std::min(transferSize * 4, 8 * 4);
- if (memcmp((u32*)&xfregs + (address - 0x1000), pData + dataIndex, size))
- {
- VertexManager::Flush();
- }
+ VertexManager::Flush();
- nextAddress = XFMEM_SETPOSMTXINFO + 8;
- break;
- }
+ nextAddress = XFMEM_SETPOSMTXINFO + 8;
+ break;
// --------------
// Unknown Regs
@@ -264,15 +240,8 @@ void LoadXFReg(u32 transferSize, u32 baseAddress, u32 *pData)
transferSize = 0;
}
- for (u32 i = 0; i < xfMemTransferSize; ++i)
- {
- if (((u32*)&xfmem[xfMemBase])[i] != pData[i])
- {
- XFMemWritten(xfMemTransferSize, xfMemBase);
- memcpy_gc(&xfmem[xfMemBase], pData, xfMemTransferSize * 4);
- break;
- }
- }
+ XFMemWritten(xfMemTransferSize, xfMemBase);
+ memcpy_gc(&xfmem[xfMemBase], pData, xfMemTransferSize * 4);
pData += xfMemTransferSize;
}