On Fri, May 20, 2016 at 04:29:07PM -0700, Mark Janes wrote:
> Tom Stellard <[email protected]> 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
> >> [email protected]
> >> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>From fa018ecd88c8145b3975bf867ac5049c4df230c3 Mon Sep 17 00:00:00 2001
From: Tom Stellard <[email protected]>
Date: Fri, 20 May 2016 17:13:06 -0700
Subject: [PATCH] glx: Fix build broken by
 4e2c9a04354b6b133845b8b93c0c5d34261a91d0

This commit caused a build failure with these 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
---
 src/glx/glxcmds.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/glx/glxcmds.c b/src/glx/glxcmds.c
index 63f4921..4881ddb 100644
--- a/src/glx/glxcmds.c
+++ b/src/glx/glxcmds.c
@@ -2693,7 +2693,7 @@ __glXGetUST(int64_t * ust)
 }
 #endif /* GLX_DIRECT_RENDERING */
 
-#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
+#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL) && !defined(MESA_EGL_NO_X11_HEADERS)
 
 GLAPI int GLAPIENTRY
 MesaGLInteropGLXQueryDeviceInfo(Display *dpy, GLXContext context,
-- 
2.1.0

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

Reply via email to