X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=plugins%2Fgpulib%2Fvout_pl.c;h=5c727bbc65bcfae2cec357779a1f60a4a80ab347;hb=fd65dd969cf2a99d62289c7fd2591582d9ab1936;hp=e8f959f6251173c41b1dc09b30a5975ed5231e21;hpb=8f8ade9c6a3da1dd6d254789d50df6b8c2997850;p=pcsx_rearmed.git diff --git a/plugins/gpulib/vout_pl.c b/plugins/gpulib/vout_pl.c index e8f959f6..5c727bbc 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; + } gpu.state.downscale_active = gpu.get_downscale_buffer != NULL && gpu.state.downscale_enable @@ -63,8 +68,8 @@ static void check_mode_change(int force) gpu.state.w_out_old = w_out; gpu.state.h_out_old = h_out; - cbs->pl_vout_set_mode(w_out, h_out, w, h, - (gpu.status & PSX_GPU_STATUS_RGB24) ? 24 : 16); + if (w_out != 0 && h_out != 0) + cbs->pl_vout_set_mode(w_out, h_out, w, h, bpp); } }