X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fvideo%2Fomapdss%2Fsdlif.c;h=93d18f7e05404654195777caee924ad392cadfab;hb=f641fccb7413775feab03ea268cc503cfb47b9b7;hp=b33aa0fc9aa2b284df4112c3e234641aeb831b14;hpb=5646dd9e85cb1a2703cdaa2a8f1a307fb66c6b88;p=sdl_omap.git diff --git a/src/video/omapdss/sdlif.c b/src/video/omapdss/sdlif.c index b33aa0f..93d18f7 100644 --- a/src/video/omapdss/sdlif.c +++ b/src/video/omapdss/sdlif.c @@ -10,16 +10,9 @@ #include "../SDL_sysvideo.h" #include "../SDL_pixels_c.h" #include "../../events/SDL_events_c.h" -#include "linux/fbdev.h" -#include "linux/oshide.h" #include "omapsdl.h" -struct SDL_PrivateVideoData { - struct vout_fbdev *fbdev; -// void *fbmem; -}; - static int omap_available(void) { trace(); @@ -49,12 +42,7 @@ static void omap_VideoQuit(SDL_VideoDevice *this) { trace(); - if (this->hidden->fbdev != NULL) { - vout_fbdev_finish(this->hidden->fbdev); - this->hidden->fbdev = NULL; - - oshide_finish(); - } + osdl_video_finish(this->hidden); this->screen->pixels = NULL; omapsdl_input_finish(); } @@ -98,17 +86,8 @@ static SDL_Surface *omap_SetVideoMode(SDL_VideoDevice *this, SDL_Surface *curren { trace("%d, %d, %d, %08x", width, height, bpp, flags); - if (this->hidden->fbdev == NULL) { - this->hidden->fbdev = vout_fbdev_init("/dev/fb0", &width, &height, 0); - if (this->hidden->fbdev == NULL) - return NULL; - - oshide_init(); - } - else { - if (vout_fbdev_resize(this->hidden->fbdev, width, height, 0, 0, 0, 0, 0) < 0) - return NULL; - } + if (osdl_video_set_mode(this->hidden, width, height, bpp) < 0) + return NULL; if (!SDL_ReallocFormat(current, 16, 0xf800, 0x07e0, 0x001f, 0)) return NULL; @@ -118,19 +97,11 @@ static SDL_Surface *omap_SetVideoMode(SDL_VideoDevice *this, SDL_Surface *curren current->h = height; current->pitch = SDL_CalculatePitch(current); - current->pixels = vout_fbdev_flip(this->hidden->fbdev); + current->pixels = osdl_video_flip(this->hidden); return current; } -static void *flip_it(struct vout_fbdev *fbdev) -{ - if (gcfg_force_vsync) - vout_fbdev_wait_vsync(fbdev); - - return vout_fbdev_flip(fbdev); -} - static int omap_LockHWSurface(SDL_VideoDevice *this, SDL_Surface *surface) { trace("%p", surface); @@ -147,7 +118,7 @@ static int omap_FlipHWSurface(SDL_VideoDevice *this, SDL_Surface *surface) { trace("%p", surface); - surface->pixels = flip_it(this->hidden->fbdev); + surface->pixels = osdl_video_flip(this->hidden); return 0; } @@ -171,8 +142,7 @@ static void omap_UpdateRects(SDL_VideoDevice *this, int nrects, SDL_Rect *rects) } } - if (this->hidden->fbdev) - this->screen->pixels = flip_it(this->hidden->fbdev); + this->screen->pixels = osdl_video_flip(this->hidden); } static void omap_InitOSKeymap(SDL_VideoDevice *this)