qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [RfC PATCH 00/12] console/display: cleanup & untangle data


From: Gerd Hoffmann
Subject: [Qemu-devel] [RfC PATCH 00/12] console/display: cleanup & untangle data structures.
Date: Fri, 1 Mar 2013 10:00:31 +0100

  Hi,

This patch series continues the console & display code cleanups.
It's RfC because it is (a) not complete yet and (b) most likely
breaks the build (xen, cocoa).  If someone wants help fill the
gaps (especially cocoa) patches are very welcome.

The short-team goal I'm heading to is to make the DisplaySurface
(and *only* the DisplaySurface) the central data structure for
the display renderers in ui/.  They get one, they render it, they
are notified about updates, they are notified when the surface
changes.  Done, there is nothing else they need to know or care
about.

The longer-term goal building on top of this is to put the console
internals upside down (without having to touch the ui renderers in
the process).  I want have one DisplaySurface per console, which then
lives forever, and console switches (Ctrl-Alt-$number in vnc+sdl)
become a simple surface switch.  Alternative ways to handle consoles
becomes alot easier to implement, in gtk we can probably simply put
each DisplaySurface into one tab.  The need to ask the vga emulation
to redraw the screen on console switches goes away, vga_hw_invalidate
can be zapped.  We can stop hopping through loops for screendumps,
we can just write out the DisplaySurface content.

Oh, and this also paves the way to handle multihead in a reasonable
way.

cheers,
  Gerd

Gerd Hoffmann (12):
  console: fix displaychangelisteners interface
  console: kill DisplayState->opaque
  spice: zap sdpy global
  qxl: zap qxl0 global
  qxl: better vga init in enter_vga_mode
  sdl: drop dead code
  console: rework DisplaySurface handling [vga emu side]
  console: rework DisplaySurface handling [dcl/ui side]
  console: add surface_*() getters
  gtk: stop using DisplayState
  vnc: stop using DisplayState
  sdl: stop using DisplayState

 hw/nseries.c               |    7 --
 hw/palm.c                  |    7 --
 hw/qxl-render.c            |   12 +--
 hw/qxl.c                   |   51 ++++++----
 hw/vga.c                   |   17 ++--
 include/ui/console.h       |  226 +++++++++++++++-----------------------------
 include/ui/spice-display.h |    4 +-
 trace-events               |    7 +-
 ui/cocoa.m                 |   26 +++--
 ui/console.c               |  193 +++++++++++++++++++++++++++++++------
 ui/curses.c                |   32 +++++--
 ui/gtk.c                   |  162 ++++++++++++++++++-------------
 ui/sdl.c                   |  123 ++++++++++++++----------
 ui/spice-display.c         |   51 ++++++----
 ui/vnc-enc-tight.c         |    7 +-
 ui/vnc-jobs.c              |    1 -
 ui/vnc.c                   |  144 +++++++++++++++-------------
 ui/vnc.h                   |    4 +-
 vl.c                       |    6 +-
 19 files changed, 611 insertions(+), 469 deletions(-)

-- 
1.7.9.7




reply via email to

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