[Mesa-dev] [RFC] EGL extension for additional DRM_BUFFER_FORMATs

Nicolai Hähnle nhaehnle at gmail.com
Tue Feb 7 09:07:01 UTC 2017


On 06.02.2017 20:57, Dave Airlie wrote:
>>
>>>
>>> On 26.01.2017 12:50, Nicolai Hähnle wrote:
>>>> Hi all,
>>>>
>>>> this is mostly motivated by the need to support more screen depths than
>>>> just 24/32-bit RGB in Glamor. The extension is simple enough, just adding
>>>> three more enums that are accepted.
>>>>
>>>> I _think_ every DRI driver that exposes EGL_MESA_drm_image should be able
>>>> to support this new extension as well, since EGL_MESA_drm_image requires
>>>> DRI image version 10 to be enabled, and the corresponding
>>>> __DRI_IMAGE_FORMAT_* values have been there since DRI image version 5, but
>>>> do let me know if that thinking is wrong.
>>>>
>>>> I'd like to land at least the first patch relatively quickly, to avoid future
>>>> enum clashes. Internally, we had already accidentally used an enum that is
>>>> used by one of the WL extensions, since those are not in the EGL registry...
>>>>
>>>> Please review / provide feedback!
>
> I just saw this, EGL_MESA_drm_image is really not a good place to start,
>
> we have two specs instead,
> EGL_EXT_image_dma_buf_import.
> EGL_MESA_image_dma_buf_export
>
> does one of those not cover this?

Sometimes you just have to push things to flush out the comments :)

Glamor uses EGL_MESA_drm_image here: 
https://cgit.freedesktop.org/xorg/xserver/tree/glamor/glamor_egl.c?id=f4a41155479e68bf55740c1dfffafc78e4c02087#n112

This code path is used for allocating the main framebuffer, i.e. without 
this extension 16-bit or 30-bit (10bpc) modes do not work.

We do have to actually _create_ an image of the correct format with the 
scanout flag somewhere. Importing and exporting alone doesn't solve that 
problem.

Cheers,
Nicolai


More information about the mesa-dev mailing list