On Mon, Sep 18, 2017 at 10:12 AM, Eric Anholt <e...@anholt.net> wrote:
> Jason Ekstrand <ja...@jlekstrand.net> writes: > > > On Mon, Sep 18, 2017 at 9:20 AM, Chad Versace <chadvers...@chromium.org> > > wrote: > > > >> 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? > >> > > > > That gets interesting... Yes, reading and writing to a CCS image at the > > same time is problematic. However, the spec does say "undefined" and not > > "either new or old pixels". :-) I'm not sure how this translates into > the > > real world though. > > It would translate into "I see the random garbage on my screen when > running a compositor." X11 does not stop rendering to the pixmap when > the compositor is trying to texture from it. > Adding Daniel and LFRB. I don't know if the current X code for modifiers usess them when creating surfaces for X to render into. I think it probably only uses modifiers for surfaces that come in through DRI3 + present in which case there shouldn't be X rendering to buffers with CCS. If there is, I think we should consider that a bug just as much as doing front-buffer rendering to CCS. --Jason
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev