From 6afe209b60e8d22bfb9b0492fc014fe41bbc2295 Mon Sep 17 00:00:00 2001 From: lizzie Date: Thu, 22 Jan 2026 03:14:03 +0100 Subject: [PATCH] [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 Reviewed-by: DraVee Co-authored-by: lizzie Co-committed-by: lizzie --- src/video_core/host1x/vic.cpp | 15 +++++++++++---- 1 file 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); + } } } }