1. 10 Aug, 2015 1 commit
  2. 22 Jun, 2015 1 commit
    • Javier Celaya's avatar
      Fix drawable mm_time with KMS · e765cc5e
      Javier Celaya authored
      When KMS is enabled, the mm_time value of a QXLDrawable is undefined.
      This results in severe synchronization problems. This patch sets it to
      zero to force the spice-server to use the local clock.
      e765cc5e
  3. 17 Oct, 2014 1 commit
  4. 19 Sep, 2014 1 commit
    • Jeremy White's avatar
      When uploading a region, do not go outside the source image size. · 32512fc6
      Jeremy White authored
      This problem was exposed (and probably only occurs) when using XSpice
      in dfps mode with spice-html5, and resizing from larger to smaller.
      The screen would be resized, but the update region would still attempt
      to transmit any pending changes to the (now) truncated surface.  This
      would often lead to a crash.
      32512fc6
  5. 20 Oct, 2013 1 commit
  6. 10 Sep, 2013 1 commit
  7. 09 May, 2013 1 commit
  8. 12 Mar, 2013 1 commit
  9. 06 Mar, 2013 3 commits
  10. 26 Feb, 2013 4 commits
  11. 11 Jan, 2013 2 commits
    • Jeremy White's avatar
      Add a deferred frames mode. · 531a844a
      Jeremy White authored
      This renders all operations to a frame buffer,
      and sends updates periodically.
      531a844a
    • Jeremy White's avatar
      Unify memory management for the primary screen. · a44be4fd
      Jeremy White authored
      We never actually connected the host_image pixmap to
      the primary screen, because we never operate on the bits
      of the primary screen.
      
      This causes problems if we wish to use traditional X
      operations to modify the primary screen, as they will
      fail and corrupt memory as they go.
      a44be4fd
  12. 05 Sep, 2012 3 commits
    • Søren Sandmann's avatar
      Add Render support · 7059cff7
      Søren Sandmann authored
      This commit adds support for using the new Composite command in spice
      protocol 0.12.0. This command is similar to the Composite request in
      the X Render protocol.
      
      By implementing the UXA composite stubs, we get acceleration for most
      common Composite requests, including glyphs.
      7059cff7
    • Søren Sandmann's avatar
      Enable 8 bit pixmaps. · 2fecf3a1
      Søren Sandmann authored
      a8 surfaces are now supported with the 8BIT_A format in spice, so we
      can have support 8 bit pixmaps.
      2fecf3a1
    • Søren Sandmann's avatar
      Improved support for memory debugging. · e738d00e
      Søren Sandmann authored
      Make all memory allocation functions take a string that will explain
      what the memory will be used for. This allows debug print statements
      to be added to the allocation functions and could later potentially be
      used for more detailed statistics.
      e738d00e
  13. 15 Jul, 2012 5 commits
    • Alon Levy's avatar
      qxl_driver: implement randr, arbitrary resolution, multiple monitors (big dump) · f106ea65
      Alon Levy authored
      Send a MonitorsUpdate - this should definitely be split into it's own
      patch.
      
      Require revision 4 - this is needed just for MonitorsUpdate, should go
      with it.
      
      Adds new config: OPTION_NUM_HEADS, defaults to 4.
      f106ea65
    • Alon Levy's avatar
      qxl_surface: add download_box_no_update · 21e5719f
      Alon Levy authored
      21e5719f
    • Alon Levy's avatar
      qxl_surface: normalize surface_send names, add option to surface_destroy to... · 26b8b350
      Alon Levy authored
      qxl_surface: normalize surface_send names, add option to surface_destroy to send/not send destroy message
      26b8b350
    • Alon Levy's avatar
      fix two segfaults in qxl_free_surface · f838df15
      Alon Levy authored
      Both results from ProcFreePixmap being called in unanticipated
      circumstances:
      
       cache->all_surfaces is NULL
       surface->host_image is NULL
      
      To reproduce the following scripts work, in tandem:
      
      create xterms, destroy them
      chvt
      
      ============ xterm_test ============
      import os
      import subprocess
      import time
      import atexit
      
      env = os.environ
      env['DISPLAY'] = ':0.0'
      xterms = []
      
      def kill_all():
      	print "killing xterms"
      	for x in xterms:
      		x.kill()
      	del xterms[:]
      
      atexit.register(kill_all)
      while True:
      	for i in range(10):
      		xterms.append(subprocess.Popen(['xterm', '+u8']))
      	time.sleep(1)
      	kill_all()
      
      ============= chvt_test_helper ============
      XPID=`pgrep Xorg`
      XTTY=`find /proc/$XPID/fd -lname "/dev/tty*"`
      XTTY=`readlink $XTTY`
      XTTY=${XTTY#/dev/tty}
      echo "chvt 1 (from Xorg)"
      chvt 1
      sleep 2
      echo "chvt $XTTY (to Xorg)"
      chvt $XTTY
      
      ============== chvt_test =================
      while true; do ./chvt-test ; sleep 3; done
      f838df15
    • Alon Levy's avatar
      qxl: remove qxl_screen_t->stride · c6068156
      Alon Levy authored
      c6068156
  14. 15 Jun, 2012 7 commits
    • Alon Levy's avatar
      qxl_surface: don't unlink surface 0 · 8df3eba3
      Alon Levy authored
      The primary surface, i.e. qxl->primary, the only surface with id==0, is
      allocated in qxl_surface_cache_create_primary with prev==next==NULL.
      Unlinking it was producing a wrong cache->free_surfaces == NULL. This
      was not a problem because unlinking the primary only happened in
      switch_host, which then called surface_cache_init. In a following commit
      switch_host is simplified to destroy-primary+create-primary, so this bug
      needs to be fixed first to avoid leaking surfaces and reaching a no
      surface available situation.
      8df3eba3
    • Alon Levy's avatar
      22157d47
    • Alon Levy's avatar
      prefix io with qxl_io, add several · 326b8097
      Alon Levy authored
      326b8097
    • Alon Levy's avatar
      b600edc4
    • Alon Levy's avatar
      qxl_surface: cosmetics · 3a87e765
      Alon Levy authored
      3a87e765
    • Alon Levy's avatar
      qxl_surface: handle destroyed pixmaps while evacuated · a313b5ef
      Alon Levy authored
      Prevent access to freed memory when:
      1. qxl_leave_vt/qxl_surface_cache_evacuate_all freed cache->all_surfaces
      2. ProcRenderDispatch/damageDestroyPixmap/qxl_destroy_pixmap/qxl_surface_kill
      access a surface that pointed inside the all_surfaces array
      
      Solution in this patch:
      1. never free all_surfaces
      2. add an 'evacuated' field per surface, initialized to NULL, set during
      evacuation.
      3. on qxl_surface_kill, if surface->evacuated is set, don't destroy the
      surface (it is already destroyed by this point via a reset in
      qxl_surface_cache_evacuate_all's caller, qxl_leave_vt), just unref the
      host pixmap, free the evacuated_surface_t and unlink it from the
      evacuated linked list, so it isn't recreated later on
      qxl_surface_cache_replace_all.
      a313b5ef
    • Alon Levy's avatar
  15. 06 Jun, 2012 1 commit
  16. 24 Apr, 2012 2 commits
  17. 18 Mar, 2012 1 commit
  18. 15 Mar, 2012 1 commit
  19. 14 Mar, 2012 1 commit
  20. 09 Feb, 2012 2 commits