diff options
| author | NeoBrainX <NeoBrainX@googlemail.com> | 2010-12-25 00:25:15 +0000 |
|---|---|---|
| committer | NeoBrainX <NeoBrainX@googlemail.com> | 2010-12-25 00:25:15 +0000 |
| commit | 9938f806f1df56197e3ce2b08d7a0c212b5eccd1 (patch) | |
| tree | 8af42db7731dfa3d453caa73b3593dec513749be /Source/Core/VideoCommon/Src/BPFunctions.cpp | |
| parent | 444854601caa1f1227c05194f3816ae6c5c0dbf2 (diff) | |
Guess what, more ClearScreen fixes.
Additionally a small cleanup.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6656 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core/VideoCommon/Src/BPFunctions.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/Src/BPFunctions.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/Source/Core/VideoCommon/Src/BPFunctions.cpp b/Source/Core/VideoCommon/Src/BPFunctions.cpp index 2ffa893ca9..8a6d9e7705 100644 --- a/Source/Core/VideoCommon/Src/BPFunctions.cpp +++ b/Source/Core/VideoCommon/Src/BPFunctions.cpp @@ -156,13 +156,13 @@ void ClearScreen(const BPCmd &bp, const EFBRectangle &rc) u32 srcg8 = (color & 0xFF00) >> 8; u32 srcb8 = color & 0xFF; u32 dstr6 = srcr8 >> 2; - u32 dstg6 = ((srcr8 & 0xFF) << 4) | (srcg8 >> 4); - u32 dstb6 = ((srcg8 & 0xFFFF) << 2) | (srcb8 >> 6); - u32 dsta6 = srcb8 & 0xFFFFFF; - u32 dstr8 = (dstr6 << 2) | (dstr6>>4); - u32 dstg8 = (dstg6 << 2) | (dstg6>>4); - u32 dstb8 = (dstb6 << 2) | (dstb6>>4); - u32 dsta8 = (dsta6 << 2) | (dsta6>>4); + u32 dstg6 = ((srcr8 & 0x3) << 4) | (srcg8 >> 4); + u32 dstb6 = ((srcg8 & 0xF) << 2) | (srcb8 >> 6); + u32 dsta6 = srcb8 & 0x3F; + u32 dstr8 = (dstr6 << 2) | (dstr6 >> 4); + u32 dstg8 = (dstg6 << 2) | (dstg6 >> 4); + u32 dstb8 = (dstb6 << 2) | (dstb6 >> 4); + u32 dsta8 = (dsta6 << 2) | (dsta6 >> 4); color = (dsta8 << 24) | (dstr8 << 16) | (dstg8 << 8) | dstb8; } else // (2): convert RGBA8 color to RGBA6 |
