From b8d4d013f6aa641d823a4a33e1cb09deb06f7f7a Mon Sep 17 00:00:00 2001 From: Pierre Bourdon Date: Fri, 18 May 2012 23:27:02 +0200 Subject: [PATCH] Compute the comparison size properly (transferSize is in u32, not in u8) --- Source/Core/VideoCommon/Src/XFStructs.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Source/Core/VideoCommon/Src/XFStructs.cpp b/Source/Core/VideoCommon/Src/XFStructs.cpp index d879c83652..b75e7188af 100644 --- a/Source/Core/VideoCommon/Src/XFStructs.cpp +++ b/Source/Core/VideoCommon/Src/XFStructs.cpp @@ -122,7 +122,7 @@ void XFRegWritten(int transferSize, u32 baseAddress, u32 *pData) case XFMEM_SETVIEWPORT+4: case XFMEM_SETVIEWPORT+5: { - u8 size = std::min(transferSize, 6 * 4); + u8 size = std::min(transferSize * 4, 6 * 4); if (memcmp((u32*)&xfregs + (address - 0x1000), pData + dataIndex, size)) { VertexManager::Flush(); @@ -142,7 +142,7 @@ void XFRegWritten(int transferSize, u32 baseAddress, u32 *pData) case XFMEM_SETPROJECTION+5: case XFMEM_SETPROJECTION+6: { - u8 size = std::min(transferSize, 7 * 4); + u8 size = std::min(transferSize * 4, 7 * 4); if (memcmp((u32*)&xfregs + (address - 0x1000), pData + dataIndex, size)) { VertexManager::Flush(); @@ -167,7 +167,7 @@ void XFRegWritten(int transferSize, u32 baseAddress, u32 *pData) case XFMEM_SETTEXMTXINFO+6: case XFMEM_SETTEXMTXINFO+7: { - u8 size = std::min(transferSize, 8 * 4); + u8 size = std::min(transferSize * 4, 8 * 4); if (memcmp((u32*)&xfregs + (address - 0x1000), pData + dataIndex, size)) { VertexManager::Flush(); @@ -186,7 +186,7 @@ void XFRegWritten(int transferSize, u32 baseAddress, u32 *pData) case XFMEM_SETPOSMTXINFO+6: case XFMEM_SETPOSMTXINFO+7: { - u8 size = std::min(transferSize, 8 * 4); + u8 size = std::min(transferSize * 4, 8 * 4); if (memcmp((u32*)&xfregs + (address - 0x1000), pData + dataIndex, size)) { VertexManager::Flush();