qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 4/4] console: stop using PixelFormat


From: Benjamin Herrenschmidt
Subject: Re: [Qemu-devel] [PATCH 4/4] console: stop using PixelFormat
Date: Sat, 21 Jun 2014 15:27:02 +1000

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 --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 */





reply via email to

[Prev in Thread] Current Thread [Next in Thread]