ui/sdl: Support shared surface for more pixman formats
At least all the ones I've tested. We make the assumption that SDL is going to be better at conversion than we are. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> [ kraxel: minor format tweaks ] Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
fcf73af68e
commit
7dd93291ca
26
ui/sdl.c
26
ui/sdl.c
@ -151,6 +151,19 @@ static void sdl_switch(DisplayChangeListener *dcl,
|
||||
pf.bmask, pf.amask);
|
||||
}
|
||||
|
||||
static bool sdl_check_format(DisplayChangeListener *dcl,
|
||||
pixman_format_code_t format)
|
||||
{
|
||||
/*
|
||||
* We let SDL convert for us a few more formats than,
|
||||
* the native ones. Thes are the ones I have tested.
|
||||
*/
|
||||
return (format == PIXMAN_x8r8g8b8 ||
|
||||
format == PIXMAN_b8g8r8x8 ||
|
||||
format == PIXMAN_x1r5g5b5 ||
|
||||
format == PIXMAN_r5g6b5);
|
||||
}
|
||||
|
||||
/* generic keyboard conversion */
|
||||
|
||||
#include "sdl_keysym.h"
|
||||
@ -865,12 +878,13 @@ static void sdl_cleanup(void)
|
||||
}
|
||||
|
||||
static const DisplayChangeListenerOps dcl_ops = {
|
||||
.dpy_name = "sdl",
|
||||
.dpy_gfx_update = sdl_update,
|
||||
.dpy_gfx_switch = sdl_switch,
|
||||
.dpy_refresh = sdl_refresh,
|
||||
.dpy_mouse_set = sdl_mouse_warp,
|
||||
.dpy_cursor_define = sdl_mouse_define,
|
||||
.dpy_name = "sdl",
|
||||
.dpy_gfx_update = sdl_update,
|
||||
.dpy_gfx_switch = sdl_switch,
|
||||
.dpy_gfx_check_format = sdl_check_format,
|
||||
.dpy_refresh = sdl_refresh,
|
||||
.dpy_mouse_set = sdl_mouse_warp,
|
||||
.dpy_cursor_define = sdl_mouse_define,
|
||||
};
|
||||
|
||||
void sdl_display_init(DisplayState *ds, int full_screen, int no_frame)
|
||||
|
Loading…
Reference in New Issue
Block a user