[vlc-devel] [PATCH] nvdec: Avoid including glext.h if glew.h has been included
Steve Lhomme
robux4 at ycbcr.xyz
Mon Sep 23 11:07:17 CEST 2019
Looks Good To Me (compiles fine on my side where I have an older set of
headers).
On 2019-09-23 10:01, Martin Storsjö wrote:
> glew.h and glext.h conflict due to two legacy and unfinished
> extensions with conflicting declarations of the same function
> name but with differing types (where one clearly is wrong and
> never can have been used in that form).
>
> See https://github.com/nigels-com/glew/pull/239 for an upstream
> patch to exclude the broken extension from glew.
>
> This fixes build errors like these:
> glext.h:12230:25: error: typedef redefinition with different types ('void (*)(GLenum, GLenum, GLint *)' (aka 'void (*)(unsigned int, unsigned int, int *)') vs 'void (*)(GLenum, GLenum, const GLint *)' (aka 'void (*)(unsigned int, unsigned int, const int *)'))
> typedef void (APIENTRYP PFNGLGETFRAGMENTMATERIALIVSGIXPROC) (GLenum face, GLenum pname, GLint *params);
> ^
> glew.h:18744:28: note: previous definition is here
> typedef void (GLAPIENTRY * PFNGLGETFRAGMENTMATERIALIVSGIXPROC) (GLenum face, GLenum pname, const GLint* data);
>
> ---
> Alternatively the glew package in contribs could be patched to
> avoid conflicts.
> ---
> modules/hw/nvdec/nvdec_gl.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/modules/hw/nvdec/nvdec_gl.c b/modules/hw/nvdec/nvdec_gl.c
> index 6ebf845597..0259ea2bb0 100644
> --- a/modules/hw/nvdec/nvdec_gl.c
> +++ b/modules/hw/nvdec/nvdec_gl.c
> @@ -35,7 +35,11 @@
> #include "nvdec_fmt.h"
>
> #include "../../video_output/opengl/internal.h"
> -#include <GL/glext.h>
> +
> +// glew.h conflicts with glext.h, but also makes glext.h unnecessary.
> +#ifndef __GLEW_H__
> +# include <GL/glext.h>
> +#endif
>
> static int Open(vlc_object_t *);
> static void Close(vlc_object_t *);
> --
> 2.17.1
>
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel
>
More information about the vlc-devel
mailing list