Skip to content
Snippets Groups Projects
Commit fbbfb52a authored by Subv's avatar Subv
Browse files

GPU: Fixed the RGBA8 input format and RGB8 output format

in Display Transfers, tested with hwtests.
parent c7d1480e
No related branches found
No related tags found
No related merge requests found
...@@ -132,12 +132,11 @@ inline void Write(u32 addr, const T data) { ...@@ -132,12 +132,11 @@ inline void Write(u32 addr, const T data) {
switch (config.input_format) { switch (config.input_format) {
case Regs::PixelFormat::RGBA8: case Regs::PixelFormat::RGBA8:
{ {
// TODO: Most likely got the component order messed up.
u8* srcptr = source_pointer + (x * pixel_skip + y * config.input_width) * 4; u8* srcptr = source_pointer + (x * pixel_skip + y * config.input_width) * 4;
source_color.r = srcptr[0]; // blue source_color.r = srcptr[3]; // red
source_color.g = srcptr[1]; // green source_color.g = srcptr[2]; // green
source_color.b = srcptr[2]; // red source_color.b = srcptr[1]; // blue
source_color.a = srcptr[3]; // alpha source_color.a = srcptr[0]; // alpha
break; break;
} }
...@@ -160,11 +159,10 @@ inline void Write(u32 addr, const T data) { ...@@ -160,11 +159,10 @@ inline void Write(u32 addr, const T data) {
case Regs::PixelFormat::RGB8: case Regs::PixelFormat::RGB8:
{ {
// TODO: Most likely got the component order messed up.
u8* dstptr = dest_pointer + (x + y * output_width) * 3; u8* dstptr = dest_pointer + (x + y * output_width) * 3;
dstptr[0] = source_color.r; // blue dstptr[2] = source_color.r; // red
dstptr[1] = source_color.g; // green dstptr[1] = source_color.g; // green
dstptr[2] = source_color.b; // red dstptr[0] = source_color.b; // blue
break; break;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment