diff options
author | notaz | 2009-05-21 19:16:03 +0300 |
---|---|---|
committer | notaz | 2009-05-21 19:16:03 +0300 |
commit | 010878638d6510ff2992e33fda84e137a1c2a9e0 (patch) | |
tree | 9ff8ba3125ceab51d86dfbdefb186658df4e2893 /video.c | |
parent | e9c7b1376a93375f3ebbc5b58c9b69c065b17060 (diff) | |
download | picogpsp-010878638d6510ff2992e33fda84e137a1c2a9e0.tar.gz picogpsp-010878638d6510ff2992e33fda84e137a1c2a9e0.tar.bz2 picogpsp-010878638d6510ff2992e33fda84e137a1c2a9e0.zip |
cache (on framebuffer mem) flush fix from 2007 (gpsp09-2xb_2)
Diffstat (limited to 'video.c')
-rw-r--r-- | video.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -93,6 +93,7 @@ SDL_Surface *hw_screen; #endif SDL_Surface *screen; const u32 video_scale = 1; +extern void gp2x_flush_cache(void *beginning_addr, void *end_addr, int flags); #define get_screen_pixels() \ ((u16 *)screen->pixels) \ @@ -3409,6 +3410,9 @@ void flip_screen() { SDL_BlitSurface(screen, NULL, hw_screen, NULL); } + /* it is unclear if this syscall takes virtual or physical addresses, + * but using virtual seems to work for me. */ + gp2x_flush_cache(hw_screen->pixels, hw_screen->pixels + 320*240, 0); } #else SDL_Flip(screen); |