summary refs log tree commit diff stats
path: root/include/ui
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2015-01-19 13:37:05 +0000
committerPeter Maydell <peter.maydell@linaro.org>2015-01-19 13:37:05 +0000
commit74acb99737dbedd86654d660c0c20815139a873c (patch)
treefc448d083e2ae57d7d3b7d8e361a2b052fabd2f3 /include/ui
parent1e42c353469cb58ca4f3b450eea4211af7d0b147 (diff)
parent877417d9ae6846bea4744b198131a5fe5117d7a5 (diff)
downloadfocaccia-qemu-74acb99737dbedd86654d660c0c20815139a873c.tar.gz
focaccia-qemu-74acb99737dbedd86654d660c0c20815139a873c.zip
Merge remote-tracking branch 'remotes/kraxel/tags/pull-console-20150119-1' into staging
ui: add shared surface format negotiation.

# gpg: Signature made Mon 19 Jan 2015 12:47:36 GMT using RSA key ID D3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>"
# gpg:                 aka "Gerd Hoffmann <gerd@kraxel.org>"
# gpg:                 aka "Gerd Hoffmann (private) <kraxel@gmail.com>"

* remotes/kraxel/tags/pull-console-20150119-1:
  ui/sdl2: Support shared surface for more pixman formats
  ui/sdl: Support shared surface for more pixman formats
  ui/gtk: Support shared surface for most pixman formats
  ui/spice: Support shared surface for most pixman formats
  ui/vnc: Support shared surface for most pixman formats
  ui/pixman: add qemu_pixman_check_format
  ui: Add dpy_gfx_check_format() to check backend shared surface support
  ui: Make qemu_default_pixman_format() return 0 on unsupported formats

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'include/ui')
-rw-r--r--include/ui/console.h4
-rw-r--r--include/ui/qemu-pixman.h2
-rw-r--r--include/ui/sdl2.h2
3 files changed, 8 insertions, 0 deletions
diff --git a/include/ui/console.h b/include/ui/console.h
index 22ef8ca6b3..047b6dab8d 100644
--- a/include/ui/console.h
+++ b/include/ui/console.h
@@ -161,6 +161,8 @@ typedef struct DisplayChangeListenerOps {
     void (*dpy_gfx_copy)(DisplayChangeListener *dcl,
                          int src_x, int src_y,
                          int dst_x, int dst_y, int w, int h);
+    bool (*dpy_gfx_check_format)(DisplayChangeListener *dcl,
+                                 pixman_format_code_t format);
 
     void (*dpy_text_cursor)(DisplayChangeListener *dcl,
                             int x, int y);
@@ -235,6 +237,8 @@ void dpy_gfx_update_dirty(QemuConsole *con,
                           MemoryRegion *address_space,
                           uint64_t base,
                           bool invalidate);
+bool dpy_gfx_check_format(QemuConsole *con,
+                          pixman_format_code_t format);
 
 static inline int surface_stride(DisplaySurface *s)
 {
diff --git a/include/ui/qemu-pixman.h b/include/ui/qemu-pixman.h
index 381969d97b..3dee5761cc 100644
--- a/include/ui/qemu-pixman.h
+++ b/include/ui/qemu-pixman.h
@@ -37,6 +37,8 @@ PixelFormat qemu_pixelformat_from_pixman(pixman_format_code_t format);
 pixman_format_code_t qemu_default_pixman_format(int bpp, bool native_endian);
 int qemu_pixman_get_type(int rshift, int gshift, int bshift);
 pixman_format_code_t qemu_pixman_get_format(PixelFormat *pf);
+bool qemu_pixman_check_format(DisplayChangeListener *dcl,
+                              pixman_format_code_t format);
 
 pixman_image_t *qemu_pixman_linebuf_create(pixman_format_code_t format,
                                            int width);
diff --git a/include/ui/sdl2.h b/include/ui/sdl2.h
index f56c596e31..51fff2e9b8 100644
--- a/include/ui/sdl2.h
+++ b/include/ui/sdl2.h
@@ -28,5 +28,7 @@ void sdl2_2d_switch(DisplayChangeListener *dcl,
                     DisplaySurface *new_surface);
 void sdl2_2d_refresh(DisplayChangeListener *dcl);
 void sdl2_2d_redraw(struct sdl2_console *scon);
+bool sdl2_2d_check_format(DisplayChangeListener *dcl,
+                          pixman_format_code_t format);
 
 #endif /* SDL2_H */