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

Mark Janes mark.a.janes at intel.com
Fri May 20 23:29:07 UTC 2016


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?

>
>> 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


More information about the mesa-dev mailing list