On Thu 14 Sep 2017, Eric Anholt wrote:
> Jason Ekstrand <ja...@jlekstrand.net> writes:
> 
> > The setTexBuffer2 hook from GLX is used to implement glxBindTexImageEXT
> > which has tighter restrictions than just "it's shared".  In particular,
> > it says that any rendering to the image while it is bound causes the
> > contents to become undefined.  This means that we can do whatever aux
> > tracking we want between glxBindTexImageEXT and glxReleaseTexImageEXT so
> > long as we always transition from external in Bind and to external in
> > Release.
> 
> The intent of the spec was to get at the hard-to-define "you get pixels
> at least as new as the outstanding X11 rendering when you called
> glxBindTexImageEXT(), but if X11 keeps on rendering to the thing then
> you may get newer pixels, too."  With your CCS plan and X11 rendering in
> parallel with you GL texturing from the X11 pixmap, will we always see
> either old or new pixels but not anything else?

We have bigger problems if X11 today renders to any surface that has
been externally shared with I915_FORMAT_MOD_Y_TILED_CCS. If I ran
git-grep correctly, then xf86-video-intel nor xf86-video-modesetting is
unaware of modifiers and hence unaware of CCS aux state.

So, with respect to reviewing this patch, I think it's safe to assume
that X11 never renders to a CCS-enabled surface, and that this patch is
the correct fix. If X11 does render to CCS-enabled surfaces, then we
have more invasive problems that need fixing.

Reviewed-by: Chad Versace <chadvers...@chromium.org>
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to