X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=plugins%2Fgpulib%2Fvout_pl.c;fp=plugins%2Fgpulib%2Fvout_pl.c;h=0bd1ecf6207af3f07205044a2f7d3e3c60befcb1;hp=79b6c3e6dee3488108b75fac2d831adc65e6195a;hb=aafcb4ddc257478d613611adcae7cb13fd716577;hpb=c8eaa363acbafb84840b8d29b532ae1225d6d61c diff --git a/plugins/gpulib/vout_pl.c b/plugins/gpulib/vout_pl.c index 79b6c3e6..0bd1ecf6 100644 --- a/plugins/gpulib/vout_pl.c +++ b/plugins/gpulib/vout_pl.c @@ -9,6 +9,7 @@ * See the COPYING file in the top-level directory. */ +#include #include "gpu.h" #include "cspace.h" #include "../../frontend/plugin_lib.h" @@ -52,8 +53,11 @@ static void blit(void) int fb_offs, doffs; uint8_t *dest; - fb_offs = y * 1024 + x; dest = (uint8_t *)screen_buf; + if (dest == NULL) + return; + + fb_offs = y * 1024 + x; // only do centering, at least for now doffs = (stride - w) / 2 & ~1; @@ -99,6 +103,16 @@ void vout_update(void) blit(); } +void vout_blank(void) +{ + check_mode_change(); + if (cbs->pl_vout_raw_flip == NULL) { + int bytespp = gpu.status.rgb24 ? 3 : 2; + memset(screen_buf, 0, gpu.screen.hres * gpu.screen.h * bytespp); + screen_buf = cbs->pl_vout_flip(); + } +} + long GPUopen(void **unused) { gpu.frameskip.active = 0;