Statistics
| Branch: | Revision:

root / hw / qxl-render.c @ 26ca8c06

History | View | Annotate | Download (8.8 kB)

# Date Author Comment
2f464b5a 12/17/2012 03:01 pm Gerd Hoffmann

qxl: save qemu_create_displaysurface_from result

Spotted by Coverity.

https://bugzilla.redhat.com/show_bug.cgi?id=885644

Cc:
Reported-by: Markus Armbruster <>
Signed-off-by: Gerd Hoffmann <>

b6e9f637 11/01/2012 03:00 pm Gerd Hoffmann

qxl: stop direct access to DisplaySurface fields.

Signed-off-by: Gerd Hoffmann <>

a93a4a22 11/01/2012 02:10 pm Gerd Hoffmann

console: untangle gfx & txt updates

Stop abusing displaysurface fields for text mode displays.
(bpp = 0, width = cols, height = lines).

Add flags to displaystate indicating whenever text mode display
(curses) or gfx mode displays (sdl, vnc, ...) are present....

bf2fde70 11/01/2012 02:10 pm Gerd Hoffmann

console: move set_mouse + cursor_define callbacks

When adding DisplayChangeListeners the set_mouse and cursor_define
callbacks have been left in DisplayState for some reason. Fix it.

Signed-off-by: Gerd Hoffmann <>

0ec8df39 10/08/2012 08:37 am Gerd Hoffmann

qxl: always update displaysurface on resize

Don't try to be clever and skip displaysurface reinitialization in case
the size hasn't changed. Other parameters might have changed
nevertheless, for example depth or stride, resulting in rendering being
broken then....

fae2afb1 05/03/2012 11:45 am Alon Levy

qxl: check for NULL return from qxl_phys2virt

Signed-off-by: Alon Levy <>
Signed-off-by: Gerd Hoffmann <>

06ddea49 04/18/2012 01:21 pm Alon Levy

qxl-render: fix broken vnc+spice since commit f934493

Notify any listeners such as vnc that the displaysurface has been
changed, otherwise they will segfault when first accessing the freed old
displaysurface data.

Signed-off-by: Alon Levy <>...

d53291cf 03/19/2012 02:12 pm Alon Levy

qxl/qxl_render.c: add trace events

Signed-off-by: Alon Levy <>
Reviewed-by: Stefan Hajnoczi <>
Signed-off-by: Gerd Hoffmann <>

e2efc0a3 02/28/2012 06:22 pm Gerd Hoffmann

qxl: properly handle upright and non-shared surfaces

Although qxl creates a shared displaysurface when the qxl surface is
upright and doesn't need to be flipped there is no guarantee that the
surface doesn't become unshared for some reason. Rename qxl_flip to...

4c19ebb5 02/27/2012 10:46 am Alon Levy

qxl: remove flipped

Tested on linux and windows guests. For negative stride, qxl_flip copies
directly to vga->ds->surface->data, for positive it's reallocated to
share qxl->guest_primary.data

Signed-off-by: Alon Levy <>
Signed-off-by: Gerd Hoffmann <>

2e1a98c9 02/27/2012 10:46 am Alon Levy

qxl: introduce QXLCookie

Will be used in the next patch.

Signed-off-by: Alon Levy <>
Signed-off-by: Gerd Hoffmann <>

81fb6f15 02/27/2012 10:46 am Alon Levy

qxl: make qxl_render_update async

RHBZ# 747011

Removes the last user of QXL_SYNC when using update drivers that use the
_ASYNC io ports.

The last user is qxl_render_update, it is called both by qxl_hw_update
which is the vga_hw_update_ptr passed to graphic_console_init, and by...

7844e448 02/21/2012 11:36 am Gerd Hoffmann

qxl: don't render stuff when the vm is stopped.

This patch fixes the local qxl renderer to not kick spice-server
in case the vm is stopped. First it is largely pointless because
we ask spice-server to process all not-yet processed commands when
the vm is stopped, so there isn't much do do anyway. Second we...

66d3f196 12/02/2011 12:50 pm Markus Armbruster

qxl: Don't convert from size_t to int and back in qxl_cursor()

Just for cleanliness; it would take a truly gigantic cursor to break.

Signed-off-by: Markus Armbruster <>
Signed-off-by: Stefan Hajnoczi <>

0e2487bd 11/01/2011 01:11 pm Gerd Hoffmann

qxl: stride fixup

spice uses negative stride value to signal the bitmap is upside down.
The qxl renderer (used for scl, vnc and screenshots) wants a positive
value because it is easier to work with. The positive value is then
stored in the very same variable, which has the drawback that the...

a053f1b1 11/01/2011 01:11 pm Gerd Hoffmann

qxl: make sure we continue to run with a shared buffer

The qxl renderer works only with a shared displaysurface. So better
make sure we actually have one and restore it when needed.

Signed-off-by: Gerd Hoffmann <>

7267c094 08/21/2011 07:01 am Anthony Liguori

Use glib memory allocation and free functions

qemu_malloc/qemu_free no longer exist after this commit.

Signed-off-by: Anthony Liguori <>

b1950430 08/08/2011 06:15 pm Avi Kivity

vga: convert vga and its derivatives to the memory API

Convert all vga memory to the memory API. Note we need to fall back to
get_system_memory(), since the various buses don't pass the vga window
as a memory region.

We no longer need to sync the dirty bitmap of the cirrus mapped memory...

5ff4e36c 08/03/2011 01:03 pm Alon Levy

qxl: async io support using new spice api

Some of the QXL port i/o commands are waiting for the spice server to
complete certain actions. Add async versions for these commands, so we
don't block the vcpu while the spice server processses the command.
Instead the qxl device will raise an IRQ when done....

5c59d118 08/01/2011 01:43 pm Gerd Hoffmann

spice: add worker wrapper functions.

Add wrapper functions for all spice worker calls.

Signed-off-by: Gerd Hoffmann <>

aee32bf3 08/01/2011 01:43 pm Gerd Hoffmann

spice/qxl: move worker wrappers

Move the wrapper functions which are used by qxl only to qxl.c.
Rename them from qemu_spice_* to qxl_spice_*. Also pass in a
qxl state pointer instead of a SimpleSpiceDisplay pointer.

Signed-off-by: Gerd Hoffmann <>

07536094 05/03/2011 04:35 pm Gerd Hoffmann

spice: don't call displaystate callbacks from spice server context.

This patch moves the displaystate callback calls for setting the cursor
and the mouse pointer from spice server to qemu (iothread) context.
This allows us to simplify locking.

Signed-off-by: Gerd Hoffmann <>

a19cbfb3 12/09/2010 03:23 pm Gerd Hoffmann

spice: add qxl device

qxl is a paravirtual graphics card. The qxl device is the bridge
between the guest and the spice server (aka libspice-server). The
spice server will send the rendering commands to the spice client, which
will actually render them....