Hi,

XPutImage requires to copy the images around, and the request may be
split over several chunks. Using XShm should improve performance.

In particular, the performances are bad when using gnome-shell with
Spice and playing video. Chunking the update confuses the video
detection heuristic: unfortunately it's not easy to change it without
breaking further other cases. Making one big request per video frames
solves most of the issues.

Changes since RFC:
 - fix shm leaks
 - check XShm error only
 - fallbacks on regular XPutImage after xshm failure
 - remove unnecessary XFlush call
 - tested and fixed with 16bpp visuals
 - split patch for easier review

Marc-André Lureau (4):
  dri: add putImageShm to swrastLoader
  drisw: use putImageShm if available
  drisw: use shared memory when possible
  drisw/glx: use XShm if possible

 include/GL/internal/dri_interface.h           |  12 +-
 src/gallium/include/state_tracker/drisw_api.h |   3 +
 src/gallium/state_trackers/dri/drisw.c        |  37 ++++--
 src/gallium/winsys/sw/dri/dri_sw_winsys.c     |  72 +++++++++--
 src/glx/drisw_glx.c                           | 164 ++++++++++++++++++++++----
 src/glx/drisw_priv.h                          |   3 +
 6 files changed, 246 insertions(+), 45 deletions(-)

-- 
2.4.2

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to