ui/sdl2: Support shared surface for more pixman formats
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
7dd93291ca
commit
877417d9ae
@ -28,5 +28,7 @@ void sdl2_2d_switch(DisplayChangeListener *dcl,
|
|||||||
DisplaySurface *new_surface);
|
DisplaySurface *new_surface);
|
||||||
void sdl2_2d_refresh(DisplayChangeListener *dcl);
|
void sdl2_2d_refresh(DisplayChangeListener *dcl);
|
||||||
void sdl2_2d_redraw(struct sdl2_console *scon);
|
void sdl2_2d_redraw(struct sdl2_console *scon);
|
||||||
|
bool sdl2_2d_check_format(DisplayChangeListener *dcl,
|
||||||
|
pixman_format_code_t format);
|
||||||
|
|
||||||
#endif /* SDL2_H */
|
#endif /* SDL2_H */
|
||||||
|
13
ui/sdl2-2d.c
13
ui/sdl2-2d.c
@ -120,3 +120,16 @@ void sdl2_2d_redraw(struct sdl2_console *scon)
|
|||||||
surface_width(scon->surface),
|
surface_width(scon->surface),
|
||||||
surface_height(scon->surface));
|
surface_height(scon->surface));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool sdl2_2d_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);
|
||||||
|
}
|
||||||
|
13
ui/sdl2.c
13
ui/sdl2.c
@ -668,12 +668,13 @@ static void sdl_cleanup(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static const DisplayChangeListenerOps dcl_2d_ops = {
|
static const DisplayChangeListenerOps dcl_2d_ops = {
|
||||||
.dpy_name = "sdl2-2d",
|
.dpy_name = "sdl2-2d",
|
||||||
.dpy_gfx_update = sdl2_2d_update,
|
.dpy_gfx_update = sdl2_2d_update,
|
||||||
.dpy_gfx_switch = sdl2_2d_switch,
|
.dpy_gfx_switch = sdl2_2d_switch,
|
||||||
.dpy_refresh = sdl2_2d_refresh,
|
.dpy_gfx_check_format = sdl2_2d_check_format,
|
||||||
.dpy_mouse_set = sdl_mouse_warp,
|
.dpy_refresh = sdl2_2d_refresh,
|
||||||
.dpy_cursor_define = sdl_mouse_define,
|
.dpy_mouse_set = sdl_mouse_warp,
|
||||||
|
.dpy_cursor_define = sdl_mouse_define,
|
||||||
};
|
};
|
||||||
|
|
||||||
void sdl_display_init(DisplayState *ds, int full_screen, int no_frame)
|
void sdl_display_init(DisplayState *ds, int full_screen, int no_frame)
|
||||||
|
Loading…
Reference in New Issue
Block a user