[Mesa-dev] [PATCH v1 1/2] egl/android: #ifdef out flink name support
Robert Foss
robert.foss at collabora.com
Tue May 1 08:04:08 UTC 2018
Hey,
On 2018-05-01 08:29, Tomasz Figa wrote:
> On Tue, May 1, 2018 at 11:20 AM Rob Herring <robh at kernel.org> wrote:
>
>> On Fri, Apr 27, 2018 at 6:57 AM, Robert Foss <robert.foss at collabora.com>
> wrote:
>>> From: Rob Herring <robh at kernel.org>
> [snip]
>>> @@ -1228,20 +1254,31 @@ dri2_initialize_android(_EGLDriver *drv,
> _EGLDisplay *disp)
>>>
>>> dri2_dpy->is_render_node = drmGetNodeTypeFromFd(dri2_dpy->fd) ==
> DRM_NODE_RENDER;
>>>
>>> - /* render nodes cannot use Gem names, and thus do not support
>>> - * the __DRI_DRI2_LOADER extension */
>>> if (!dri2_dpy->is_render_node) {
>>> +#ifdef HAVE_DRM_GRALLOC
>>> dri2_dpy->loader_extensions = droid_dri2_loader_extensions;
>>> if (!dri2_load_driver(disp)) {
>>> err = "DRI2: failed to load driver";
>>> goto cleanup;
>>> }
>>> } else {
>>> + /* render nodes cannot use Gem names, and thus do not support
>>> + * the __DRI_DRI2_LOADER extension */
>
> I think we can replace this comment with something properly reflecting the
> bad nature of this code. See below.
>
>>> dri2_dpy->loader_extensions = droid_image_loader_extensions;
>>> if (!dri2_load_driver_dri3(disp)) {
>>> err = "DRI3: failed to load driver";
>>> goto cleanup;
>>> }
>>> +#else
>>> + err = "DRI2: handle is not for a render node";
>>> + goto cleanup;
>>> + }
>>> +
>>> + dri2_dpy->loader_extensions = droid_image_loader_extensions;
>>> + if (!dri2_load_driver_dri3(disp)) {
>
>> Do we really need this twice?
>
> Yeah, I think we could do with something like below:
>
> if (!dri2_dpy->is_render_node) {
> #ifdef HAVE_DRM_GRALLOC
> /* Handle control nodes using __DRI_DRI2_LOADER extension and GEM names
> * for backwards compatibility with drm_gralloc. (Do not use on new
> systems.) */
> dri2_dpy->loader_extensions = droid_dri2_loader_extensions;
> if (!dri2_load_driver(disp)) {
> err = "DRI2: failed to load driver";
> goto cleanup;
> }
> #else
> err = "DRI2: handle is not for a render node";
> goto cleanup;
> #endif
> } else {
> dri2_dpy->loader_extensions = droid_image_loader_extensions;
> if (!dri2_load_driver_dri3(disp)) {
> err = "DRI3: failed to load driver";
> goto cleanup;
> }
> }
This does look better to me too, I'll use it for v2.
Rob.
>
> Best regards,
> Tomasz
>
More information about the mesa-dev
mailing list