[Mesa-dev] [PATCH] mesa: Build EGL without X11 headers after interop patchset

Tom Stellard tom at stellard.net
Sat May 21 00:15:08 UTC 2016


On Fri, May 20, 2016 at 04:29:07PM -0700, Mark Janes wrote:
> Tom Stellard <tom at stellard.net> writes:
> 
> > On Wed, Apr 27, 2016 at 10:33:14PM +0000, Youry Metlitsky wrote:
> >> ---
> >>  include/GL/mesa_glinterop.h | 15 ++++++++++++++-
> >>  1 file changed, 14 insertions(+), 1 deletion(-)
> >> 
> >
> > Hi,
> >
> > This patch breaks the build for me:
> >
> > glxcmds.c:2699:1: error: no previous prototype for
> > 'MesaGLInteropGLXQueryDeviceInfo' [-Werror=missing-prototypes]
> >  MesaGLInteropGLXQueryDeviceInfo(Display *dpy, GLXContext context,
> >   ^
> > glxcmds.c:2723:1: error: no previous prototype for
> > 'MesaGLInteropGLXExportObject' [-Werror=missing-prototypes]
> >  MesaGLInteropGLXExportObject(Display *dpy, GLXContext context,
> >   ^
> >   cc1: some warnings being treated as errors
> >
> > These are my configure args:
> >
> >  ./autogen.sh --disable-dri3 --disable-xvmc
> >  --with-gallium-drivers=swrast --disable-gallium-llvm
> >  --with-egl-platforms=drm --with-dri-drivers=no --enable-texture-float
> 
> Sorry about that!  I pushed the patch at Marek's direction, but I did
> test it on a several build configurations.
> 
> Adding " && !defined(MESA_EGL_NO_X11_HEADERS)" to the ifdef above the
> failure seems to fix compilation for those options -- does it work for
> you?
> 

Yes, the attached patch fixes my issue.

-Tom

> >
> >> diff --git a/include/GL/mesa_glinterop.h b/include/GL/mesa_glinterop.h
> >> index 814064d..39822f2 100644
> >> --- a/include/GL/mesa_glinterop.h
> >> +++ b/include/GL/mesa_glinterop.h
> >> @@ -50,7 +50,11 @@
> >>  #ifndef MESA_GLINTEROP_H
> >>  #define MESA_GLINTEROP_H
> >>  
> >> +#if defined(MESA_EGL_NO_X11_HEADERS)
> >> +#include <GL/gl.h>
> >> +#else
> >>  #include <GL/glx.h>
> >> +#endif
> >>  #include <EGL/egl.h>
> >>  
> >>  #ifdef __cplusplus
> >> @@ -219,6 +223,7 @@ typedef struct _mesa_glinterop_export_out {
> >>  } mesa_glinterop_export_out;
> >>  
> >>  
> >> +#if !defined(MESA_EGL_NO_X11_HEADERS)
> >>  /**
> >>   * Query device information.
> >>   *
> >> @@ -228,9 +233,11 @@ typedef struct _mesa_glinterop_export_out {
> >>   *
> >>   * \return MESA_GLINTEROP_SUCCESS or MESA_GLINTEROP_* != 0 on error
> >>   */
> >> +
> >>  GLAPI int GLAPIENTRY
> >>  MesaGLInteropGLXQueryDeviceInfo(Display *dpy, GLXContext context,
> >>                                  mesa_glinterop_device_info *out);
> >> +#endif
> >>  
> >>  
> >>  /**
> >> @@ -242,6 +249,7 @@ MesaGLInteropEGLQueryDeviceInfo(EGLDisplay dpy, EGLContext context,
> >>                                  mesa_glinterop_device_info *out);
> >>  
> >>  
> >> +#if !defined(MESA_EGL_NO_X11_HEADERS)
> >>  /**
> >>   * Create and return a DMABUF handle corresponding to the given OpenGL
> >>   * object, and return other parameters about the OpenGL object.
> >> @@ -253,10 +261,12 @@ MesaGLInteropEGLQueryDeviceInfo(EGLDisplay dpy, EGLContext context,
> >>   *
> >>   * \return MESA_GLINTEROP_SUCCESS or MESA_GLINTEROP_* != 0 on error
> >>   */
> >> +
> >>  GLAPI int GLAPIENTRY
> >>  MesaGLInteropGLXExportObject(Display *dpy, GLXContext context,
> >>                               const mesa_glinterop_export_in *in,
> >>                               mesa_glinterop_export_out *out);
> >> +#endif
> >>  
> >>  
> >>  /**
> >> @@ -268,14 +278,17 @@ MesaGLInteropEGLExportObject(EGLDisplay dpy, EGLContext context,
> >>                               const mesa_glinterop_export_in *in,
> >>                               mesa_glinterop_export_out *out);
> >>  
> >> -
> >> +#if !defined(MESA_EGL_NO_X11_HEADERS)
> >>  typedef int (APIENTRYP PFNMESAGLINTEROPGLXQUERYDEVICEINFOPROC)(Display *dpy, GLXContext context,
> >>                                                                 mesa_glinterop_device_info *out);
> >> +#endif
> >>  typedef int (APIENTRYP PFNMESAGLINTEROPEGLQUERYDEVICEINFOPROC)(EGLDisplay dpy, EGLContext context,
> >>                                                                 mesa_glinterop_device_info *out);
> >> +#if !defined(MESA_EGL_NO_X11_HEADERS)
> >>  typedef int (APIENTRYP PFNMESAGLINTEROPGLXEXPORTOBJECTPROC)(Display *dpy, GLXContext context,
> >>                                                              const mesa_glinterop_export_in *in,
> >>                                                              mesa_glinterop_export_out *out);
> >> +#endif
> >>  typedef int (APIENTRYP PFNMESAGLINTEROPEGLEXPORTOBJECTPROC)(EGLDisplay dpy, EGLContext context,
> >>                                                              const mesa_glinterop_export_in *in,
> >>                                                              mesa_glinterop_export_out *out);
> >> -- 
> >> 2.8.0
> >> 
> >> _______________________________________________
> >> mesa-dev mailing list
> >> mesa-dev at lists.freedesktop.org
> >> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-glx-Fix-build-broken-by-4e2c9a04354b6b133845b8b93c0c.patch
Type: text/x-diff
Size: 1033 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20160520/d56bd6d4/attachment.patch>


More information about the mesa-dev mailing list