[Mesa-dev] [RFC PATCH] egl/android: Dequeue buffers inside EGL calls

Emil Velikov emil.l.velikov at gmail.com
Thu Mar 30 14:17:44 UTC 2017


On 30 March 2017 at 11:55, Tomasz Figa <tfiga at chromium.org> wrote:
> Android buffer queues can be abandoned, which results in failing to
> dequeue next buffer. Currently this would fail somewhere deep within
> the DRI stack calling loader's getBuffers*(), without any error
> reporting to the client app. However Android framework code relies on
> proper signaling of this event, so we move buffer dequeue to
> createWindowSurface() and swapBuffers() call, which can generate proper
> EGL errors. To keep the performance benefits of delayed buffer handling,
> if any, fence wait and DRI image creation is kept delayed until
> getBuffers*() is called by the DRI driver.
>
Thank you Tomasz.

I'm fairly confident that this should resolve the crash [in
swap_buffers] that Mauro was seeing.
Mauro can you give it a test ?

Not that huge of an expert on the Android specifics, so just a humble request:
Can we seek the code resuffle (droid_{alloc,free}_local_buffer,
other?) separate from the functionality changes ?

-Emil


More information about the mesa-dev mailing list