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 _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
