From: Gerd Hoffmann <kraxel@redhat.com>
To: qemu-devel@nongnu.org
Cc: Gerd Hoffmann <kraxel@redhat.com>
Subject: [Qemu-devel] [RfC PATCH 00/12] console/display: cleanup & untangle data structures.
Date: Fri, 1 Mar 2013 10:00:31 +0100 [thread overview]
Message-ID: <1362128443-15687-1-git-send-email-kraxel@redhat.com> (raw)
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
next reply other threads:[~2013-03-01 9:01 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-01 9:00 Gerd Hoffmann [this message]
2013-03-01 9:00 ` [Qemu-devel] [RfC PATCH 01/12] console: fix displaychangelisteners interface Gerd Hoffmann
2013-03-01 9:00 ` [Qemu-devel] [RfC PATCH 02/12] console: kill DisplayState->opaque Gerd Hoffmann
2013-03-01 9:00 ` [Qemu-devel] [RfC PATCH 03/12] spice: zap sdpy global Gerd Hoffmann
2013-03-01 9:00 ` [Qemu-devel] [RfC PATCH 04/12] qxl: zap qxl0 global Gerd Hoffmann
2013-03-01 9:00 ` [Qemu-devel] [RfC PATCH 05/12] qxl: better vga init in enter_vga_mode Gerd Hoffmann
2013-03-01 9:00 ` [Qemu-devel] [RfC PATCH 06/12] sdl: drop dead code Gerd Hoffmann
2013-03-01 9:00 ` [Qemu-devel] [RfC PATCH 07/12] console: rework DisplaySurface handling [vga emu side] Gerd Hoffmann
2013-03-01 9:00 ` [Qemu-devel] [RfC PATCH 08/12] console: rework DisplaySurface handling [dcl/ui side] Gerd Hoffmann
2013-03-01 9:00 ` [Qemu-devel] [RfC PATCH 09/12] console: add surface_*() getters Gerd Hoffmann
2013-03-01 9:00 ` [Qemu-devel] [RfC PATCH 10/12] gtk: stop using DisplayState Gerd Hoffmann
2013-03-01 9:00 ` [Qemu-devel] [RfC PATCH 11/12] vnc: " Gerd Hoffmann
2013-03-01 9:00 ` [Qemu-devel] [RfC PATCH 12/12] sdl: " Gerd Hoffmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1362128443-15687-1-git-send-email-kraxel@redhat.com \
--to=kraxel@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).