[Mesa-dev] [PATCH] st/mesa: conditionally enable GL_NV_vdpau_interop
Christian König
deathsimple at vodafone.de
Thu Jan 21 08:05:58 PST 2016
From: Christian König <christian.koenig at amd.com>
Only enable it when we compile the state tracker as well.
Signed-off-by: Christian König <christian.koenig at amd.com>
---
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 8d19dab..a92f707 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1741,6 +1741,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 2a3e523..25e88ea 100644
--- a/src/mesa/state_tracker/st_extensions.c
+++ b/src/mesa/state_tracker/st_extensions.c
@@ -959,12 +959,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 63af119..71dd15b 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.5.0
More information about the mesa-dev
mailing list