linux/drivers/gpu/drm/qxl
Gerd Hoffmann c0fe07aa50 drm/qxl: rewrite framebuffer support
Completely different approach:  Instead of encoding each and every
framebuffer update as spice operation simply update the shadow
framebuffer and maintain a dirty rectangle.  Also schedule a worker
to push an update for the dirty rectangle as spice operation.  Usually
a bunch of dirty rectangle updates are collected before the worker
actually runs.

What changes:  Updates get batched now.  Instead of sending tons of
small updates a few large ones are sent.  When the same region is
updated multiple times within a short timeframe (scrolling multiple
lines for example) we send a single update only.  Spice server has an
easier job now:  The dependency tree for display operations which spice
server maintains for lazy rendering is alot smaller now.  Spice server's
image compression probably works better too with the larger image blits.

Net effect:  framebuffer console @ qxldrmfb is an order of magnitude
faster now.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2015-05-07 13:09:25 +10:00
..
Kconfig Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2014-01-22 21:21:55 -08:00
Makefile drm/qxl: enables gem prime helpers for qxl using dummy driver callbacks 2014-09-03 15:36:52 +10:00
qxl_cmd.c drm/qxl: rework to new fence interface 2014-09-02 16:41:50 +02:00
qxl_debugfs.c drm/qxl: Remove release_lock stupidity 2014-09-03 17:09:11 +02:00
qxl_dev.h
qxl_display.c drm/qxl: drop unused mode private pointer 2014-11-15 10:15:30 +10:00
qxl_draw.c qxl: convert qxl driver to proper use for reservations 2013-07-24 11:58:10 +10:00
qxl_drv.c drm/qxl: Fix qxl_noop_get_vblank_counter() 2015-05-04 11:14:55 +02:00
qxl_drv.h drm: Pass dma-buf as argument to gem_prime_import_sg_table 2014-09-30 14:04:00 +02:00
qxl_dumb.c drm/gem: create drm_gem_dumb_destroy 2013-08-07 09:59:24 +10:00
qxl_fb.c drm/qxl: rewrite framebuffer support 2015-05-07 13:09:25 +10:00
qxl_gem.c drm: kill ->gem_init_object() and friends 2013-10-09 14:38:02 +10:00
qxl_image.c qxl: convert qxl driver to proper use for reservations 2013-07-24 11:58:10 +10:00
qxl_ioctl.c drm: Remove DRM_ARRAY_SIZE() for ARRAY_SIZE() 2014-06-10 09:36:17 +10:00
qxl_irq.c drm/qxl: return IRQ_NONE if it was not our irq 2014-07-17 08:08:06 +10:00
qxl_kms.c drm/qxl: simple crtc page flipping emulated using buffer copy 2014-09-03 15:35:27 +10:00
qxl_object.c drm/ttm: add reservation_object as argument to ttm_bo_init 2014-09-30 14:04:00 +02:00
qxl_object.h drm/ttm: flip the switch, and convert to dma_fence 2014-09-02 16:41:50 +02:00
qxl_prime.c drm: Pass dma-buf as argument to gem_prime_import_sg_table 2014-09-30 14:04:00 +02:00
qxl_release.c drm/ttm: optionally move duplicates to a separate list 2014-12-03 18:26:52 -05:00
qxl_ttm.c drm/<ttm-based-drivers>: Don't call drm_mmap 2014-09-24 11:42:51 +10:00