From b44231721e9094ff3a55fada01b5a5b9d6718632 Mon Sep 17 00:00:00 2001 From: notaz Date: Sun, 3 Dec 2023 01:21:50 +0200 Subject: [PATCH] patch another gpulib alignment issue for neon bgr888_to_rgb888 --- plugins/gpulib/vout_pl.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/plugins/gpulib/vout_pl.c b/plugins/gpulib/vout_pl.c index 7f31e151..80389a34 100644 --- a/plugins/gpulib/vout_pl.c +++ b/plugins/gpulib/vout_pl.c @@ -29,7 +29,7 @@ static void check_mode_change(int force) { int w = gpu.screen.hres; int h = gpu.screen.vres; - int w_out, h_out; + int w_out, h_out, bpp = 16; if (gpu.state.screen_centering_type == C_BORDERLESS) h = gpu.screen.h; @@ -45,6 +45,11 @@ static void check_mode_change(int force) w_out *= 2; h_out *= 2; } + if (gpu.status & PSX_GPU_STATUS_RGB24) { + // some asm relies on this alignment + w_out = (w_out + 7) & ~7; + bpp = 24; + } // width|rgb24 change? if (force || (gpu.status ^ gpu.state.status_vo_old) & ((7<<16)|(1<<21)) @@ -55,8 +60,7 @@ static void check_mode_change(int force) gpu.state.h_out_old = h_out; if (w_out != 0 && h_out != 0) - cbs->pl_vout_set_mode(w_out, h_out, w, h, - (gpu.status & PSX_GPU_STATUS_RGB24) ? 24 : 16); + cbs->pl_vout_set_mode(w_out, h_out, w, h, bpp); } } -- 2.39.5