On Tue, 3 Jul 2018 12:35:30 +0200
Emilio Pozuelo Monfort <[email protected]> wrote:

> On 03/07/18 11:00, Pekka Paalanen wrote:
> > On Mon,  2 Jul 2018 17:22:30 +0200
> > Emilio Pozuelo Monfort <[email protected]> wrote:
> >   
> >> Signed-off-by: Emilio Pozuelo Monfort <[email protected]>
> >> ---
> >> I tried a build with --disable-egl as I didn't have the headers
> >> installed, and it broke here. The EGL usage here seemed optional so I
> >> did that, but I didn't run-test the result. If it would make more sense
> >> to disable the client if EGL support is disabled I can do that.
> >>
> >>  clients/simple-dmabuf-drm.c | 2 ++
> >>  1 file changed, 2 insertions(+)
> >>
> >> diff --git a/clients/simple-dmabuf-drm.c b/clients/simple-dmabuf-drm.c
> >> index fcab30e5..1ae3a2dd 100644
> >> --- a/clients/simple-dmabuf-drm.c
> >> +++ b/clients/simple-dmabuf-drm.c
> >> @@ -863,6 +863,7 @@ create_display(int opts, int format)
> >>    display->req_dmabuf_immediate = opts & OPT_IMMEDIATE;
> >>    display->req_dmabuf_modifiers = (format == DRM_FORMAT_NV12);
> >>  
> >> +#if ENABLE_EGL
> >>    /*
> >>     * hard code format if the platform egl doesn't support format
> >>     * querying / advertising.
> >> @@ -871,6 +872,7 @@ create_display(int opts, int format)
> >>    if (extensions && !weston_check_egl_extension(extensions,
> >>                            "EGL_EXT_image_dma_buf_import_modifiers"))
> >>            display->xrgb8888_format_found = 1;
> >> +#endif
> >>  
> >>    display->registry = wl_display_get_registry(display->display);
> >>    wl_registry_add_listener(display->registry,  
> > 
> > Hi,
> > 
> > that's very strange. This program does not use EGL or even GBM, that's
> > a completely dead hunk of code you're ifdeffing there as I can see.
> > Would be better to just remove it completely, and make sure the build
> > does not link libEGL or GBM. Include for shared/platform.h should be
> > useless too.  
> 
> It's not dead code, it's a fallback mechanism in case the EGL platform doesn't
> support EGL_EXT_image_dma_buf_import_modifiers. The problem is that 
> configure.ac
> checks for EGL for simple-dmabuf-drm-client, but the client is not disabled if
> one builds with --disable-egl. Perhaps I should do that instead. After all,
> disable-egl disables the gl-renderer, which is needed for zwp_linux_dmabuf,
> which is needed by simple-dmabuf-drm-client.

What I meant was that nothing calls eglGetDisplay or equivalent. It may
be inspecting the EGL Client extensions, but it won't do anything with
that information. The Wayland extension advertises modifier support
completely independently.

In fact, if the compositor did not advertise xrgb8888 through
zwp_linux_dmabuf, the flag for it should never be set. I believe you'd
be fixing a bug by simply deleting that code. No, two bugs: the flag
and the build. :-)


Thanks,
pq

Attachment: pgpdBq43kgINd.pgp
Description: OpenPGP digital signature

_______________________________________________
wayland-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to