use quad buffering, as emu sometimes runs ahead

This commit is contained in:
notaz 2009-06-08 01:57:08 +03:00
parent 4c8082789e
commit 5c6e71a061
2 changed files with 6 additions and 8 deletions

View File

@ -41,11 +41,11 @@ static volatile u32 *gpsp_gp2x_memregl;
#ifdef WIZ_BUILD #ifdef WIZ_BUILD
#include <linux/fb.h> #include <linux/fb.h>
void *gpsp_gp2x_screen; void *gpsp_gp2x_screen;
static u32 fb_paddr[3]; #define fb_buf_count 4
static void *fb_vaddr[3]; static u32 fb_paddr[fb_buf_count];
static void *fb_vaddr[fb_buf_count];
static u32 fb_work_buf; static u32 fb_work_buf;
const int fb_buf_count = 3; static int fb_buf_use;
static int fb_buf_use = 3;
static void fb_video_init() static void fb_video_init()
{ {
@ -111,6 +111,7 @@ void fb_use_buffers(int count)
else if (count > fb_buf_count) else if (count > fb_buf_count)
count = fb_buf_count; count = fb_buf_count;
fb_buf_use = count; fb_buf_use = count;
memset(fb_vaddr[0], 0, 320*240*2*count);
} }
static void fb_video_exit() static void fb_video_exit()

View File

@ -3702,10 +3702,7 @@ void video_resolution_small()
resolution_width = 240; resolution_width = 240;
resolution_height = 160; resolution_height = 160;
fb_use_buffers(3); fb_use_buffers(4);
clear_screen(0);
flip_screen();
clear_screen(0);
flip_screen(); flip_screen();
clear_screen(0); clear_screen(0);
} }