diff options
author | notaz | 2011-12-30 17:25:42 +0200 |
---|---|---|
committer | notaz | 2011-12-30 17:25:42 +0200 |
commit | c7945666b47fa5636762bfa52cd6328125d607c4 (patch) | |
tree | c918033594edaa7b2197a7159bf2e864186d734f | |
parent | d825e872b9b7062b9d9aff4c6b5069cfed0600de (diff) | |
download | pcsx_rearmed-c7945666b47fa5636762bfa52cd6328125d607c4.tar.gz pcsx_rearmed-c7945666b47fa5636762bfa52cd6328125d607c4.tar.bz2 pcsx_rearmed-c7945666b47fa5636762bfa52cd6328125d607c4.zip |
gpu_neon: flush cmd buffer before blit too
-rw-r--r-- | plugins/gpu_neon/gpu.c | 2 | ||||
-rw-r--r-- | plugins/gpu_neon/gpu.h | 1 | ||||
-rw-r--r-- | plugins/gpu_neon/vout_fb.c | 2 | ||||
-rw-r--r-- | plugins/gpu_neon/vout_sdl.c | 2 |
4 files changed, 6 insertions, 1 deletions
diff --git a/plugins/gpu_neon/gpu.c b/plugins/gpu_neon/gpu.c index 4b18106..c68e81c 100644 --- a/plugins/gpu_neon/gpu.c +++ b/plugins/gpu_neon/gpu.c @@ -359,7 +359,7 @@ static int check_cmd(uint32_t *data, int count) return count - pos; } -static void flush_cmd_buffer(void) +void flush_cmd_buffer(void) { int left = check_cmd(gpu.cmd_buffer, gpu.cmd_len); if (left > 0) diff --git a/plugins/gpu_neon/gpu.h b/plugins/gpu_neon/gpu.h index 3b3e1de..c761bd6 100644 --- a/plugins/gpu_neon/gpu.h +++ b/plugins/gpu_neon/gpu.h @@ -87,6 +87,7 @@ struct psx_gpu { extern struct psx_gpu gpu; extern const unsigned char cmd_lengths[256]; +void flush_cmd_buffer(void); void do_cmd_list(uint32_t *list, int count); diff --git a/plugins/gpu_neon/vout_fb.c b/plugins/gpu_neon/vout_fb.c index b84a86b..a45b5f1 100644 --- a/plugins/gpu_neon/vout_fb.c +++ b/plugins/gpu_neon/vout_fb.c @@ -101,6 +101,8 @@ void GPUupdateLace(void) gpu.frameskip.frame_ready = 0; } + if (gpu.cmd_len > 0) + flush_cmd_buffer(); renderer_flush_queues(); check_mode_change(); if (cbs->pl_vout_raw_flip) diff --git a/plugins/gpu_neon/vout_sdl.c b/plugins/gpu_neon/vout_sdl.c index 53ed197..0830c56 100644 --- a/plugins/gpu_neon/vout_sdl.c +++ b/plugins/gpu_neon/vout_sdl.c @@ -80,6 +80,8 @@ static void blit(void) void GPUupdateLace(void) { if (!gpu.status.blanking && gpu.state.fb_dirty) { + if (gpu.cmd_len > 0) + flush_cmd_buffer(); renderer_flush_queues(); blit(); gpu.state.fb_dirty = 0; |