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

Axel Davy axel.davy at ens.fr
Mon Jan 11 00:42:36 PST 2016


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

Yours,

Axel


More information about the mesa-dev mailing list