summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/Src/BPFunctions.cpp
diff options
context:
space:
mode:
authorNeoBrainX <NeoBrainX@googlemail.com>2010-12-25 00:25:15 +0000
committerNeoBrainX <NeoBrainX@googlemail.com>2010-12-25 00:25:15 +0000
commit9938f806f1df56197e3ce2b08d7a0c212b5eccd1 (patch)
tree8af42db7731dfa3d453caa73b3593dec513749be /Source/Core/VideoCommon/Src/BPFunctions.cpp
parent444854601caa1f1227c05194f3816ae6c5c0dbf2 (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.cpp14
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