aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorlizzie <lizzie@eden-emu.dev>2026-01-22 03:14:03 +0100
committercrueter <crueter@eden-emu.dev>2026-01-22 03:14:03 +0100
commit6afe209b60e8d22bfb9b0492fc014fe41bbc2295 (patch)
tree9fc037c166f8546ea4fb575d2132fd1a7c4e4754 /src
parent338ea4e9d5fb48a0ea29c231fd6ec7d5b9433ce1 (diff)
[android] fix blue tint on DBZ by using proper swizzle per format (#3367)
just another missing swizzle after translation... heh Signed-off-by: lizzie lizzie@eden-emu.dev Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3367 Reviewed-by: MaranBr <maranbr@eden-emu.dev> Reviewed-by: DraVee <dravee@eden-emu.dev> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
Diffstat (limited to 'src')
-rw-r--r--src/video_core/host1x/vic.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/video_core/host1x/vic.cpp b/src/video_core/host1x/vic.cpp
index 101ac497fb..94c12ff533 100644
--- a/src/video_core/host1x/vic.cpp
+++ b/src/video_core/host1x/vic.cpp
@@ -1018,10 +1018,17 @@ void Vic::WriteABGR(const OutputSurfaceConfig& output_surface_config, VideoPixel
for (size_t y = 0; y < surface_height; ++y) {
auto const src = y * surface_stride, dst = y * out_luma_stride;
for (size_t x = 0; x < surface_width; ++x) {
- out[dst + x * 4 + 0] = u8(inp[src + x].r >> 2);
- out[dst + x * 4 + 1] = u8(inp[src + x].g >> 2);
- out[dst + x * 4 + 2] = u8(inp[src + x].b >> 2);
- out[dst + x * 4 + 3] = u8(inp[src + x].a >> 2);
+ if(format == VideoPixelFormat::A8R8G8B8) {
+ out[dst + x * 4 + 0] = u8(inp[src + x].b >> 2);
+ out[dst + x * 4 + 1] = u8(inp[src + x].g >> 2);
+ out[dst + x * 4 + 2] = u8(inp[src + x].r >> 2);
+ out[dst + x * 4 + 3] = u8(inp[src + x].a >> 2);
+ } else {
+ out[dst + x * 4 + 0] = u8(inp[src + x].r >> 2);
+ out[dst + x * 4 + 1] = u8(inp[src + x].g >> 2);
+ out[dst + x * 4 + 2] = u8(inp[src + x].b >> 2);
+ out[dst + x * 4 + 3] = u8(inp[src + x].a >> 2);
+ }
}
}
}