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

Axel Davy axel.davy at ens.fr
Mon Jan 11 06:53:22 PST 2016


On 11/01/2016 15:39, Marek Olšák wrote:
> 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
>
Anything share-able should get this flag.

This patch aimed to enforce that
http://lists.freedesktop.org/archives/mesa-dev/2015-October/097918.html

I don't remember if gbm bos are among the ones that needed a fix

Axel


More information about the mesa-dev mailing list