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.

Attachment: signature.asc
Description: PGP signature

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

Reply via email to