diff mbox

[4/4] console: stop using PixelFormat

Message ID 1403328422.4587.77.camel@pasglop
State New
Headers show

Commit Message

Benjamin Herrenschmidt June 21, 2014, 5:27 a.m. UTC
On Wed, 2014-06-18 at 14:23 +0200, Gerd Hoffmann wrote:
> With this patch the qemu console core stops using PixelFormat and pixman
> format codes side-by-side, pixman format code is the primary way to
> specify the DisplaySurface format:
> 
>  * DisplaySurface stops carrying a PixelFormat field.
>  * qemu_create_displaysurface_from() expects a pixman format now.
> 
> Functions to convert PixelFormat to pixman_format_code_t (and back)
> exist for those who still use PixelFormat.   As PixelFormat allows
> easy access to masks and shifts it will probably continue to exist.

Finally got to start playing with that stuff (got busy with other things
for a while) and untangling vga.c (remove whole chunks of it actually
since we know the target is always 32bpp when we need to convert or
"draw" so it's a lot easier).

While at it, I noticed this patch is missing this, feel free to fold in
no need to add an ack or anything, it's trivial:
diff mbox

Patch

diff --git a/hw/display/xenfb.c b/hw/display/xenfb.c
index 032eb7a..f9cdd96 100644
--- a/hw/display/xenfb.c
+++ b/hw/display/xenfb.c
@@ -711,15 +711,17 @@  static void xenfb_update(void *opaque)
 
     /* resize if needed */
     if (xenfb->do_resize) {
+        pixman_format_code_t format;
+
         xenfb->do_resize = 0;
         switch (xenfb->depth) {
         case 16:
         case 32:
             /* console.c supported depth -> buffer can be used directly */
+            format = qemu_default_pixman_format(xenfb->depth, true);
             surface = qemu_create_displaysurface_from
-                (xenfb->width, xenfb->height, xenfb->depth,
-                 xenfb->row_stride, xenfb->pixels + xenfb->offset,
-                 false);
+                (xenfb->width, xenfb->height, format,
+                 xenfb->row_stride, xenfb->pixels + xenfb->offset);
             break;
         default:
             /* we must convert stuff */