diff options
| author | lizzie <lizzie@eden-emu.dev> | 2026-01-22 03:14:03 +0100 |
|---|---|---|
| committer | crueter <crueter@eden-emu.dev> | 2026-01-22 03:14:03 +0100 |
| commit | 6afe209b60e8d22bfb9b0492fc014fe41bbc2295 (patch) | |
| tree | 9fc037c166f8546ea4fb575d2132fd1a7c4e4754 /src | |
| parent | 338ea4e9d5fb48a0ea29c231fd6ec7d5b9433ce1 (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.cpp | 15 |
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); + } } } } |
