From a762f9c176d6298ec4056bcdb0cb2cd274e44bbf Mon Sep 17 00:00:00 2001
From: Subv <subv2112@gmail.com>
Date: Mon, 9 Mar 2015 09:01:41 -0500
Subject: [PATCH] GPU: Corrected the 24 bit memory fills component order

---
 src/core/hw/gpu.cpp | 4 ++--
 src/core/hw/gpu.h   | 6 +++---
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/core/hw/gpu.cpp b/src/core/hw/gpu.cpp
index 424ce2ca78..b7102b8741 100644
--- a/src/core/hw/gpu.cpp
+++ b/src/core/hw/gpu.cpp
@@ -81,9 +81,9 @@ inline void Write(u32 addr, const T data) {
             if (config.fill_24bit) {
                 // fill with 24-bit values
                 for (u8* ptr = start; ptr < end; ptr += 3) {
-                    ptr[0] = config.value_24bit_b;
+                    ptr[0] = config.value_24bit_r;
                     ptr[1] = config.value_24bit_g;
-                    ptr[2] = config.value_24bit_r;
+                    ptr[2] = config.value_24bit_b;
                 }
             } else if (config.fill_32bit) {
                 // fill with 32-bit values
diff --git a/src/core/hw/gpu.h b/src/core/hw/gpu.h
index 737b1e9686..5ca4a54501 100644
--- a/src/core/hw/gpu.h
+++ b/src/core/hw/gpu.h
@@ -100,10 +100,10 @@ struct Regs {
             // Set to 1 upon completion.
             BitField<0, 1, u32> finished;
 
-            // 0: fill with 16- or 32-bit wide values; 1: fill with 24-bit wide values
+            // If both of these bits are unset, then it will fill the memory with a 16 bit value
+            // 1: fill with 24-bit wide values
             BitField<8, 1, u32> fill_24bit;
-
-            // 0: fill with 16-bit wide values; 1: fill with 32-bit wide values
+            // 1: fill with 32-bit wide values
             BitField<9, 1, u32> fill_32bit;
         };