On Friday, July 14, 2017 10:50:39 AM PDT Rafael Antognolli wrote:
> On Sat, Jul 15, 2017 at 01:58:19AM +0900, Tomasz Figa wrote:
> > > So, the right place to do so would be inside platform_android.c,
> > > right? And since I don't see any private struct that could store such 
> > > fence
> > > there, one option would be to extend the struct dri2_egl_surface for 
> > > android,
> > > adding private data there. Does that make sense?
> > 
> > I'd say these fences are not 100% Android-specific anymore. They are
> > an upstream Linux feature and can be used on other platforms as well.
> > I think wiring this properly in EGL DRI2 core would make sense,
> > especially since this is the place where the context is being
> > destroyed (platform_android doesn't handle context destruction).
> 
> OK, so I'm trying to understand what "wiring this properly in EGL DRI2 core"
> really means.
> 
> Android supports receiving a fence on its enqueue_buffer function (and some
> others), but I assume not every platform does (or wants to) do that.
> 
> So would it make sense to create a fence before calling swap_buffers,
> destroy_surface, and related functions, and storing such fence so the platform
> specific code can pass it around if needed?
> 
> And I assume that's something optional, we only do that if the DRI2 fence
> extension exists, and maybe also check for some extra flag that can be set by
> the platform?
> 
> Rafael

At some point we probably want to do explicit fencing in X with
DRI3/Present, and also Wayland.  Not sure if anything would be sharable
across the EGL android/x11/wayland platforms then.

--Ken

Attachment: signature.asc
Description: This is a digitally signed message part.

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

Reply via email to