[Mesa-dev] radeon cmask sync with EGL/GBM

Marek Olšák maraeo at gmail.com
Mon Jan 11 06:39:15 PST 2016


On Mon, Jan 11, 2016 at 9:42 AM, Axel Davy <axel.davy at ens.fr> wrote:
> On 10/01/2016 19:38, Jay Cornwall wrote:
>>
>> Hi,
>>
>> Using EGL with the GBM platform it is possible to bind a GBM surface to a
>> GL renderbuffer. I believe it's also valid to use the GBM BO as a
>> framebuffer target with drmModeAddFB/drmModePageFlip.
>>
>> I haven't been able to locate a clear statement on synchronizing GL
>> operations with the DRM page flip in the extension specifications.
>>
>> gallium/radeonsi does not unpack a GBM BO's fast cleared cmask on glFlush,
>> leading to desync between the GL and DRM views of the GBM BO. Could somebody
>> with a better understanding of the EGL synchronization semantics suggest how
>> this might be handled?
>>
> Hi,
>
> In my understanding, flushing before asking for a drm page flip should be
> enough for the synchronization.
> You may want in addition to do some manual throttling, since the one usually
> done in eglSwapBuffers won't happen.
>
> I believe the fact the gbm bo fast cleared cmask is not resolved on glFlush
> is a bug.
> Here was an attempt to advertise info to the driver to disable cmask for gbm
> bos:
> http://lists.freedesktop.org/archives/mesa-dev/2015-October/097920.html

Question: Do we get PIPE_BIND_SHARED with GBM BOs that are not DRI3
back buffers?

Marek


More information about the mesa-dev mailing list