History | View | Annotate | Download (8.8 kB)
qxl: save qemu_create_displaysurface_from result
Spotted by Coverity.
https://bugzilla.redhat.com/show_bug.cgi?id=885644
Cc: qemu-stable@nongnu.orgReported-by: Markus Armbruster <armbru@redhat.com>Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
qxl: stop direct access to DisplaySurface fields.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
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....
console: move set_mouse + cursor_define callbacks
When adding DisplayChangeListeners the set_mouse and cursor_definecallbacks have been left in DisplayState for some reason. Fix it.
qxl: always update displaysurface on resize
Don't try to be clever and skip displaysurface reinitialization in casethe size hasn't changed. Other parameters might have changednevertheless, for example depth or stride, resulting in rendering beingbroken then....
qxl: check for NULL return from qxl_phys2virt
Signed-off-by: Alon Levy <alevy@redhat.com>Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
qxl-render: fix broken vnc+spice since commit f934493
Notify any listeners such as vnc that the displaysurface has beenchanged, otherwise they will segfault when first accessing the freed olddisplaysurface data.
Signed-off-by: Alon Levy <alevy@redhat.com>...
qxl/qxl_render.c: add trace events
Signed-off-by: Alon Levy <alevy@redhat.com>Reviewed-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
qxl: properly handle upright and non-shared surfaces
Although qxl creates a shared displaysurface when the qxl surface isupright and doesn't need to be flipped there is no guarantee that thesurface doesn't become unshared for some reason. Rename qxl_flip to...
qxl: remove flipped
Tested on linux and windows guests. For negative stride, qxl_flip copiesdirectly to vga->ds->surface->data, for positive it's reallocated toshare qxl->guest_primary.data
qxl: introduce QXLCookie
Will be used in the next patch.
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_updatewhich is the vga_hw_update_ptr passed to graphic_console_init, and by...
qxl: don't render stuff when the vm is stopped.
This patch fixes the local qxl renderer to not kick spice-serverin case the vm is stopped. First it is largely pointless becausewe ask spice-server to process all not-yet processed commands whenthe vm is stopped, so there isn't much do do anyway. Second we...
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 <armbru@redhat.com>Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
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 positivevalue because it is easier to work with. The positive value is thenstored in the very same variable, which has the drawback that the...
qxl: make sure we continue to run with a shared buffer
The qxl renderer works only with a shared displaysurface. So bettermake sure we actually have one and restore it when needed.
Use glib memory allocation and free functions
qemu_malloc/qemu_free no longer exist after this commit.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
vga: convert vga and its derivatives to the memory API
Convert all vga memory to the memory API. Note we need to fall back toget_system_memory(), since the various buses don't pass the vga windowas a memory region.
We no longer need to sync the dirty bitmap of the cirrus mapped memory...
qxl: async io support using new spice api
Some of the QXL port i/o commands are waiting for the spice server tocomplete certain actions. Add async versions for these commands, so wedon't block the vcpu while the spice server processses the command.Instead the qxl device will raise an IRQ when done....
spice: add worker wrapper functions.
Add wrapper functions for all spice worker calls.
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 aqxl state pointer instead of a SimpleSpiceDisplay pointer.
spice: don't call displaystate callbacks from spice server context.
This patch moves the displaystate callback calls for setting the cursorand the mouse pointer from spice server to qemu (iothread) context.This allows us to simplify locking.
spice: add qxl device
qxl is a paravirtual graphics card. The qxl device is the bridgebetween the guest and the spice server (aka libspice-server). Thespice server will send the rendering commands to the spice client, whichwill actually render them....