diff options
Diffstat (limited to 'plugins/gpulib/vout_pl.c')
-rw-r--r-- | plugins/gpulib/vout_pl.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/plugins/gpulib/vout_pl.c b/plugins/gpulib/vout_pl.c index 79b6c3e..0bd1ecf 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 <string.h> #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; |