From 37402aa4c6216eec5f60ebef8a8f24fcbd61f646 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Christian=20K=C3=B6nig?= Date: Wed, 20 Jan 2016 16:19:08 +0100 Subject: [PATCH] st/mesa: conditionally enable GL_NV_vdpau_interop MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Only enable it when we compile the state tracker as well. Signed-off-by: Christian König Reviewed-by: Ilia Mirkin --- configure.ac | 1 + src/mesa/state_tracker/st_extensions.c | 2 ++ src/mesa/state_tracker/st_vdpau.c | 6 ++++++ 3 files changed, 9 insertions(+) diff --git a/configure.ac b/configure.ac index 3b7703088fb..49be14709df 100644 --- a/configure.ac +++ b/configure.ac @@ -1735,6 +1735,7 @@ AM_CONDITIONAL(HAVE_ST_XVMC, test "x$enable_xvmc" = xyes) if test "x$enable_vdpau" = xyes; then PKG_CHECK_MODULES([VDPAU], [vdpau >= $VDPAU_REQUIRED]) gallium_st="$gallium_st vdpau" + DEFINES="$DEFINES -DHAVE_ST_VDPAU" fi AM_CONDITIONAL(HAVE_ST_VDPAU, test "x$enable_vdpau" = xyes) diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c index 063daaec688..42d347c6600 100644 --- a/src/mesa/state_tracker/st_extensions.c +++ b/src/mesa/state_tracker/st_extensions.c @@ -1067,12 +1067,14 @@ void st_init_extensions(struct pipe_screen *screen, extensions->ARB_ES3_compatibility = GL_TRUE; } +#ifdef HAVE_ST_VDPAU if (screen->get_video_param && screen->get_video_param(screen, PIPE_VIDEO_PROFILE_UNKNOWN, PIPE_VIDEO_ENTRYPOINT_BITSTREAM, PIPE_VIDEO_CAP_SUPPORTS_INTERLACED)) { extensions->NV_vdpau_interop = GL_TRUE; } +#endif if (screen->get_shader_param(screen, PIPE_SHADER_VERTEX, PIPE_SHADER_CAP_DOUBLES) && diff --git a/src/mesa/state_tracker/st_vdpau.c b/src/mesa/state_tracker/st_vdpau.c index 63af1196af1..71dd15bc4fe 100644 --- a/src/mesa/state_tracker/st_vdpau.c +++ b/src/mesa/state_tracker/st_vdpau.c @@ -49,6 +49,8 @@ #include "st_format.h" #include "st_cb_flush.h" +#ifdef HAVE_ST_VDPAU + static void st_vdpau_map_surface(struct gl_context *ctx, GLenum target, GLenum access, GLboolean output, struct gl_texture_object *texObj, @@ -180,9 +182,13 @@ st_vdpau_unmap_surface(struct gl_context *ctx, GLenum target, GLenum access, st_flush(st, NULL, 0); } +#endif + void st_init_vdpau_functions(struct dd_function_table *functions) { +#ifdef HAVE_ST_VDPAU functions->VDPAUMapSurface = st_vdpau_map_surface; functions->VDPAUUnmapSurface = st_vdpau_unmap_surface; +#endif } -- 2.30.2