Hi,

> (Gerd: can you remind me of the reason why we can assume that
> depth is always 32 here? IIRC it's because the UI layer always
> uses 32 bit depth now but I couldn't convince myself of that
> with a quick look through the ui code...)

qemu-allocated display surfaces (backed by host memory) are always
32bpp.  Display emulation will get such surfaces in case it uses
qemu_create_displaysurface() or qemu_console_resize().  So the display
emulation only needs to be able to generate 32bpp output
(PIXMAN_x8r8g8b8 to be exact) from whatever the guest creates.

There is also the option to create display surfaces which are backed by
guest ram or vga device memory, using qemu_create_displaysurface_from(),
those can have a different format (any pixman supported format is
allowed here, because the ui code will use pixman to convert those
surfaces if needed).

sm501 uses qemu_console_resize (see line 1320), so yes, the code will
never see a display surface with a depth != 32 and a whole bunch of code
can be dropped.  The need for the include template goes away too.

cheers,
  Gerd


Reply via email to