[Mesa-dev] [PATCH] mesa: Build EGL without X11 headers after interop patchset
Dieter Nützel
Dieter at nuetzel-hh.de
Sun May 22 21:41:46 UTC 2016
Am 22.05.2016 21:28, schrieb Mark Janes:
> Tom Stellard <tom at stellard.net> writes:
>
>> 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
>
> Reviewed-by: Mark Janes <mark.a.janes at intel.com>
Tested-by: Dieter Nützel <Dieter at nuetzel-hh.de>
And hopefully SOLVED (finally?)
https://bugs.freedesktop.org/show_bug.cgi?id=95159
>>> >
>>> >> 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
>> From fa018ecd88c8145b3975bf867ac5049c4df230c3 Mon Sep 17 00:00:00 2001
>> From: Tom Stellard <thomas.stellard at amd.com>
>> 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
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list