mbox

[PULL,v4,00/24] console: console overhaul continued

Message ID 1366105178-26744-1-git-send-email-kraxel@redhat.com
State New
Headers show

Pull-request

git://git.kraxel.org/qemu pixman.v11

Message

Gerd Hoffmann April 16, 2013, 9:39 a.m. UTC
Hi,

Next batch of console cleanup patches.  What is in there?

  (1) qemu text consoles are rendered using pixman now.
  (2) Each QemuConsole has its own DisplaySurface now, so we can
      switch consoles without re-rendering the QemuConsole and
      update non-active consoles.
  (3) Based on (2) the screendump code is simplified *alot*.
  (4) gui refresh timer adaption is fixes and consolidated.

Also some cleanups and bugfixes.

v4 changes:
  * fix xenfb according to Stefano's review.
  * rebase to latest master.

v3 changes:
  * more bugfixes (especially vmware vga).
  * dropped multi-window gtk patch for now (needs some more
    refinement + discussions, but I don't want it block the
    other patches).
  * addressed v2 review comments.

v2 adds:
  * bugfixes from Igor.
  * multihead support.

please pull,
  Gerd

The following changes since commit 24a6e7f4d91e9ed5f8117ecb083431a23f8609a0:

  virtio-balloon: fix dynamic properties. (2013-04-15 17:06:58 -0500)

are available in the git repository at:

  git://git.kraxel.org/qemu pixman.v11

for you to fetch changes up to bfe528b9b99d52693a55f2b803039d68a97bcfb2:

  qxl: register QemuConsole for secondary cards (2013-04-16 09:26:21 +0200)

----------------------------------------------------------------
Gerd Hoffmann (22):
      hw/vmware_vga.c: add tracepoints for mmio reads+writes
      hw/vmware_vga.c: various vmware vga fixes.
      pixman: add qemu_pixman_color()
      pixman: render vgafont glyphs into pixman images
      console: use pixman for fill+blit
      console: use pixman for font rendering
      console: switch color_table_rgb to pixman_color_t
      console: add trace events
      console: displaystate init revamp
      console: rename vga_hw_*, add QemuConsole param
      console: give each QemuConsole its own DisplaySurface
      console: simplify screendump
      console: zap g_width + g_height
      console: move gui_update+gui_setup_refresh from vl.c into console.c
      console: make DisplayState private to console.c
      console: add GraphicHwOps
      console: gui timer fixes
      xen: re-enable refresh interval reporting for xenfb
      console: add qemu_console_is_*
      console: allow pinning displaychangelisteners to consoles
      gtk: custom cursor support
      qxl: register QemuConsole for secondary cards

Igor Mitsyanko (2):
      exynos4210_fimd.c: fix display resize bug introduced after console revamp
      hw/vmware_vga.c: fix screen resize bug introduced after console revamp

 hw/arm/musicpal.c            |    8 +-
 hw/display/blizzard.c        |   21 +-
 hw/display/cirrus_vga.c      |   10 +-
 hw/display/exynos4210_fimd.c |   15 +-
 hw/display/g364fb.c          |   80 +----
 hw/display/jazz_led.c        |   11 +-
 hw/display/milkymist-vgafb.c |    9 +-
 hw/display/omap_lcdc.c       |   93 +-----
 hw/display/pl110.c           |    9 +-
 hw/display/pxa2xx_lcd.c      |    9 +-
 hw/display/qxl.c             |   42 +--
 hw/display/sm501.c           |    7 +-
 hw/display/ssd0303.c         |    9 +-
 hw/display/ssd0323.c         |    9 +-
 hw/display/tc6393xb.c        |   10 +-
 hw/display/tcx.c             |  143 +--------
 hw/display/vga-isa-mm.c      |    4 +-
 hw/display/vga-isa.c         |    3 +-
 hw/display/vga-pci.c         |    3 +-
 hw/display/vga.c             |   76 +----
 hw/display/vga_int.h         |    6 +-
 hw/display/vmware_vga.c      |  198 +++++++------
 hw/display/xenfb.c           |   67 ++---
 hw/unicore32/puv3.c          |    4 +-
 include/ui/console.h         |   55 ++--
 include/ui/qemu-pixman.h     |    9 +
 include/ui/spice-display.h   |    1 -
 trace-events                 |   11 +
 ui/console.c                 |  676 +++++++++++++++++++++++-------------------
 ui/curses.c                  |   11 +-
 ui/gtk.c                     |   36 ++-
 ui/qemu-pixman.c             |   54 ++++
 ui/sdl.c                     |   52 ++--
 ui/spice-display.c           |   11 +-
 ui/vnc.c                     |   87 ++----
 ui/vnc.h                     |    2 -
 vl.c                         |   55 +---
 37 files changed, 832 insertions(+), 1074 deletions(-)

Comments

Paolo Bonzini April 17, 2013, 9:38 a.m. UTC | #1
Il 16/04/2013 11:39, Gerd Hoffmann ha scritto:
>   Hi,
> 
> Next batch of console cleanup patches.  What is in there?
> 
>   (1) qemu text consoles are rendered using pixman now.
>   (2) Each QemuConsole has its own DisplaySurface now, so we can
>       switch consoles without re-rendering the QemuConsole and
>       update non-active consoles.
>   (3) Based on (2) the screendump code is simplified *alot*.
>   (4) gui refresh timer adaption is fixes and consolidated.

Something tells me Cocoa is broken...

$ git grep vga_hw_update
ui/cocoa.m:    vga_hw_update();

Paolo
Peter Maydell April 17, 2013, 11:42 a.m. UTC | #2
On 17 April 2013 10:38, Paolo Bonzini <pbonzini@redhat.com> wrote:
> Il 16/04/2013 11:39, Gerd Hoffmann ha scritto:
>>   Hi,
>>
>> Next batch of console cleanup patches.  What is in there?
>>
>>   (1) qemu text consoles are rendered using pixman now.
>>   (2) Each QemuConsole has its own DisplaySurface now, so we can
>>       switch consoles without re-rendering the QemuConsole and
>>       update non-active consoles.
>>   (3) Based on (2) the screendump code is simplified *alot*.
>>   (4) gui refresh timer adaption is fixes and consolidated.
>
> Something tells me Cocoa is broken...
>
> $ git grep vga_hw_update
> ui/cocoa.m:    vga_hw_update();

Yep:

  LINK  arm-softmmu/qemu-system-arm
Undefined symbols for architecture x86_64:
  "_is_graphic_console", referenced from:
      -[QemuCocoaView handleEvent:] in cocoa.o
  "_vga_hw_update", referenced from:
      _cocoa_refresh in cocoa.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

-- PMM
Gerd Hoffmann April 18, 2013, 6:21 a.m. UTC | #3
Hi,

>   LINK  arm-softmmu/qemu-system-arm
> Undefined symbols for architecture x86_64:
>   "_is_graphic_console", referenced from:
>       -[QemuCocoaView handleEvent:] in cocoa.o
>   "_vga_hw_update", referenced from:
>       _cocoa_refresh in cocoa.o

Patch on the way (via git send-email), can you test please?

thanks,
  Gerd