int h = gpu.screen.h;
gpu.state.enhancement_active =
- gpu.enhancement_bufer != NULL && gpu.state.enhancement_enable
+ gpu.get_enhancement_bufer != NULL && gpu.state.enhancement_enable
&& w <= 512 && h <= 256 && !gpu.status.rgb24;
if (gpu.state.enhancement_active) {
if (dest == NULL || w == 0 || stride == 0)
return;
- if (gpu.state.enhancement_active) {
- // this layout is gpu_neon specific..
- vram = gpu.enhancement_bufer +
- (x + 8) / stride * 1024 * 1024;
- x *= 2;
- y *= 2;
- w = (w - 2) * 2;
- h = (h * 2) - 1;
- stride *= 2;
- vram_mask = 1024 * 1024 - 1;
- }
+ if (gpu.state.enhancement_active)
+ vram = gpu.get_enhancement_bufer(&x, &y, &w, &h, &stride, &vram_mask);
+
fb_offs = y * vram_stride + x;
// only do centering, at least for now
void vout_blank(void)
{
- check_mode_change();
if (cbs->pl_vout_raw_flip == NULL) {
+ int w = gpu.screen.hres;
+ int h = gpu.screen.h;
int bytespp = gpu.status.rgb24 ? 3 : 2;
- memset(screen_buf, 0, gpu.screen.hres * gpu.screen.h * bytespp);
+ if (gpu.state.enhancement_active) {
+ w *= 2;
+ h *= 2;
+ }
+ memset(screen_buf, 0, w * h * bytespp);
screen_buf = cbs->pl_vout_flip();
}
}