aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/hw
diff options
context:
space:
mode:
authorGravatar Subv <subv2112@gmail.com>2015-02-22 15:22:14 -0500
committerGravatar Subv <subv2112@gmail.com>2015-02-22 15:22:14 -0500
commitb1284222f212a663754d846d3ae13529617c1501 (patch)
treed3fa82e266584ceb33bb791f805cb014864a5ab8 /src/core/hw
parent89a71eb6a45a7a764da1b48fd7da34e9dde50418 (diff)
GPU: Fixed RGBA8 as output format in a display transfer.
Verified with hwtests
Diffstat (limited to 'src/core/hw')
-rw-r--r--src/core/hw/gpu.cpp15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/core/hw/gpu.cpp b/src/core/hw/gpu.cpp
index 88002352..e6022d69 100644
--- a/src/core/hw/gpu.cpp
+++ b/src/core/hw/gpu.cpp
@@ -167,16 +167,15 @@ inline void Write(u32 addr, const T data) {
}
switch (config.output_format) {
- /*case Regs::PixelFormat::RGBA8:
+ case Regs::PixelFormat::RGBA8:
{
- // TODO: Untested
- u8* dstptr = (u32*)(dest_pointer + x * 4 + y * config.output_width * 4);
- dstptr[0] = source_color.r;
- dstptr[1] = source_color.g;
- dstptr[2] = source_color.b;
- dstptr[3] = source_color.a;
+ u8* dstptr = dest_pointer + (x * pixel_skip + y * config.output_width) * 4;
+ dstptr[3] = source_color.r;
+ dstptr[2] = source_color.g;
+ dstptr[1] = source_color.b;
+ dstptr[0] = source_color.a;
break;
- }*/
+ }
case Regs::PixelFormat::RGB8:
{