X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=plugins%2Fgpu_neon%2Fvout_sdl.c;h=53ed197b9eff51305be5edcda07e12c688763bb1;hp=f2f87e95b03c3564d3695f38e5d27b2fe4124544;hb=1f88961fb70bfdffa9c60fcc0c5c9cdc8108e742;hpb=56f08d8331df07ee6b17dfdba0ca2b5f0b1058c8;ds=sidebyside diff --git a/plugins/gpu_neon/vout_sdl.c b/plugins/gpu_neon/vout_sdl.c index f2f87e95..53ed197b 100644 --- a/plugins/gpu_neon/vout_sdl.c +++ b/plugins/gpu_neon/vout_sdl.c @@ -68,7 +68,7 @@ static void blit(void) else { uint16_t *s = gpu.vram; - d = screen->pixels; + d = (uint32_t *)screen->pixels; for (i = 0; i < 1024 * 512; i++) d[i] = (((uint32_t)s[i] << 19) & 0xf80000) | ((s[i] << 6) & 0xf800) | ((s[i] >> 7) & 0xf8); @@ -79,8 +79,11 @@ static void blit(void) void GPUupdateLace(void) { - if (!gpu.status.blanking) + if (!gpu.status.blanking && gpu.state.fb_dirty) { + renderer_flush_queues(); blit(); + gpu.state.fb_dirty = 0; + } } long GPUopen(void **dpy) @@ -94,8 +97,16 @@ long GPUclose(void) return 0; } -void GPUrearmedCallbacks(const void *cbs_) +#include "../../frontend/plugin_lib.h" + +void GPUrearmedCallbacks(const struct rearmed_cbs *cbs) { + gpu.state.hcnt = cbs->gpu_hcnt; + gpu.state.frame_count = cbs->gpu_frame_count; + + if (cbs->pl_vout_set_raw_vram) + cbs->pl_vout_set_raw_vram(gpu.vram); + renderer_set_config(cbs); } // vim:shiftwidth=2:expandtab