[Mesa-dev] [PATCH] st/mesa: conditionally enable GL_NV_vdpau_interop
Ilia Mirkin
imirkin at alum.mit.edu
Thu Jan 21 08:09:21 PST 2016
I wonder if something more robust is needed. Let's say a distro builds
with vdpau and everything else enabled, but then ships the libraries
separately...
On Thu, Jan 21, 2016 at 11:05 AM, Christian König
<deathsimple at vodafone.de> wrote:
> 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
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list