From 8127758678756717e7732ce6e4ee807150d9739f Mon Sep 17 00:00:00 2001 From: notaz Date: Fri, 7 Jul 2023 00:44:11 +0300 Subject: [PATCH] fix another missed double resolution change --- plugins/gpulib/gpu.h | 1 + plugins/gpulib/vout_pl.c | 10 +++++----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/plugins/gpulib/gpu.h b/plugins/gpulib/gpu.h index 717d2fe2..4637a71c 100644 --- a/plugins/gpulib/gpu.h +++ b/plugins/gpulib/gpu.h @@ -76,6 +76,7 @@ struct psx_gpu { uint32_t hcnt; } last_list; uint32_t last_vram_read_frame; + uint32_t w_out_old, h_out_old, status_vo_old; } state; struct { int32_t set:3; /* -1 auto, 0 off, 1-3 fixed */ diff --git a/plugins/gpulib/vout_pl.c b/plugins/gpulib/vout_pl.c index 46af2590..a6a3f63c 100644 --- a/plugins/gpulib/vout_pl.c +++ b/plugins/gpulib/vout_pl.c @@ -27,8 +27,6 @@ int vout_finish(void) static void check_mode_change(int force) { - static uint32_t old_status; - static int old_h; int w = gpu.screen.hres; int h = gpu.screen.h; int w_out = w; @@ -44,10 +42,12 @@ static void check_mode_change(int force) } // width|rgb24 change? - if (force || (gpu.status ^ old_status) & ((7<<16)|(1<<21)) || h_out != old_h) + if (force || (gpu.status ^ gpu.state.status_vo_old) & ((7<<16)|(1<<21)) + || w_out != gpu.state.w_out_old || h_out != gpu.state.h_out_old) { - old_status = gpu.status; - old_h = h_out; + gpu.state.status_vo_old = gpu.status; + 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); -- 2.39.5