[PATCH xserver 00/12] glamor_picture.c total rewrite

Eric Anholt eric at anholt.net
Mon Feb 1 22:58:03 CET 2016


I started incrementally cleaning up glamor_picture.c after being
surprised by its behavior during the last series, and ended up with a
total rewrite.  There will be some small losses in acceleration paths
for GLES2, but since GLES2 hasn't worked in several releases (and a
bunch of glamor_picture.c on GLES2 started out broken), I don't think
that's a big deal.  We could get back to acceleration for those paths
using the converted_format output, if someone cared.

I tested this with a full xts-render run, the new rendercheck/shmblend
test I wrote, and I also forced the upload paths to use the GLES2
cases for a rendercheck/shmblend to make sure I had their swizzles
right (I didn't).

Eric Anholt (12):
  glamor: Simplify temporary picture uploading call stack.
  glamor: Make sure that GLAMOR_MEMORY pixmaps don't retain an FBO.
  glamor: Drop dead fbo handling from GLAMORY_MEMORY pict uploads.
  glamor: Propagate that is_upload is always true.
  glamor: Merge the two GL-type-from-pictformat paths.
  glamor: Drop the GLES2 REVERT_UPLOADING_2_10_10_10 paths.
  glamor: Drop the REVERT_UPLOADING_1_5_5_5 path.
  glamor: Generalize the a1-to-a8 conversion path.
  glamor: Drop unused PBO code in temporary picture uploading.
  glamor: Drop dead large-pixmap handling code in temp picture uploads.
  glamor: Replace "finish access" shader with texture swizzling.
  ephyr: Fix redisplay with glamor on GLES.

 glamor/glamor.c                    |    9 +-
 glamor/glamor_core.c               |  168 ------
 glamor/glamor_fbo.c                |   12 +
 glamor/glamor_picture.c            | 1003 ++++++++----------------------------
 glamor/glamor_priv.h               |   27 +-
 glamor/glamor_render.c             |   38 +-
 glamor/glamor_utils.h              |   11 +-
 hw/kdrive/ephyr/ephyr_glamor_glx.c |    4 +-
 8 files changed, 267 insertions(+), 1005 deletions(-)

-- 
2.7.0



More information about the xorg-devel mailing list