+ int w = gpu.screen.hres;
+ int h = gpu.screen.h;
+ int w_out = w;
+ int h_out = h;
+
+ gpu.state.enhancement_active =
+ gpu.get_enhancement_bufer != NULL && gpu.state.enhancement_enable
+ && w <= 512 && h <= 256 && !(gpu.status & PSX_GPU_STATUS_RGB24);
+
+ if (gpu.state.enhancement_active) {
+ w_out *= 2;
+ h_out *= 2;
+ }
+
+ gpu.state.downscale_active =
+ gpu.get_downscale_buffer != NULL && gpu.state.downscale_enable
+ && (w >= 512 || h >= 256);
+
+ if (gpu.state.downscale_active) {
+ w_out = w < 512 ? w : 320;
+ h_out = h < 256 ? h : h / 2;
+ }