[Mesa-dev] [PATCH] st/dri: don't expose modifiers in EGL if the driver doesn't implement them

Marek Olšák maraeo at gmail.com
Wed Sep 27 16:28:58 UTC 2017


On Wed, Sep 27, 2017 at 6:22 PM, Emil Velikov <emil.l.velikov at gmail.com> wrote:
> On 27 September 2017 at 16:00, Daniel Stone <daniel at fooishbar.org> wrote:
>> Hi Marek,
>>
>> On 27 September 2017 at 15:55, Marek Olšák <maraeo at gmail.com> wrote:
>>>     if (dmabuf_ret && dmabuf_ret->val.val_bool) {
>>>        uint64_t cap;
>>>
>>>        if (drmGetCap(sPriv->fd, DRM_CAP_PRIME, &cap) == 0 &&
>>>            (cap & DRM_PRIME_CAP_IMPORT)) {
>>>           dri2ImageExtension.createImageFromFds = dri2_from_fds;
>>>           dri2ImageExtension.createImageFromDmaBufs = dri2_from_dma_bufs;
>>>           dri2ImageExtension.createImageFromDmaBufs2 = dri2_from_dma_bufs2;
>>>           dri2ImageExtension.queryDmaBufFormats = dri2_query_dma_buf_formats;
>>> -         dri2ImageExtension.queryDmaBufModifiers =
>>> -                                    dri2_query_dma_buf_modifiers;
>>> +         if (pscreen->query_dmabuf_modifiers) {
>>> +            dri2ImageExtension.queryDmaBufModifiers =
>>> +                                       dri2_query_dma_buf_modifiers;
>>> +         }
>>
>> This should also not expose queryDmaBufFormats, since that is also
>> part of EGL_EXT_image_dma_buf_import_modifiers, which is pretty
>> useless without modifiers.
>>
> True, it's useless. Suggestion makes the code a bit confusing though.
> After all EGL already checks that all the entry points are present
> before advertising the extension.
>
> Either way, I think we want this in stable, right?

Sorry too late, I pushed it.

I don't know if stable is affected.

Marek


More information about the mesa-dev mailing list