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;
}
// width|rgb24 change?
- if (force || (gpu.status ^ old_status) & ((7<<16)|(1<<21)) || h != 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;
+ 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);
vram += y * 1024 + x;
- cbs->pl_vout_flip(vram, 1024, gpu.status & PSX_GPU_STATUS_RGB24, w, h);
+ cbs->pl_vout_flip(vram, 1024, !!(gpu.status & PSX_GPU_STATUS_RGB24), w, h);
}
void vout_blank(void)
w *= 2;
h *= 2;
}
- cbs->pl_vout_flip(NULL, 1024, gpu.status & PSX_GPU_STATUS_RGB24, w, h);
+ cbs->pl_vout_flip(NULL, 1024, !!(gpu.status & PSX_GPU_STATUS_RGB24), w, h);
}
long GPUopen(void **unused)