diff --git a/src/mesa/main/dd.h b/src/mesa/main/dd.h index 80e110e9142..0615942212a 100644 --- a/src/mesa/main/dd.h +++ b/src/mesa/main/dd.h @@ -236,20 +236,6 @@ struct dd_function_table { /**@}*/ - /** - * \name NV_vdpau_interop interface - */ - void (*VDPAUMapSurface)(struct gl_context *ctx, GLenum target, - GLenum access, GLboolean output, - struct gl_texture_object *texObj, - struct gl_texture_image *texImage, - const GLvoid *vdpSurface, GLuint index); - void (*VDPAUUnmapSurface)(struct gl_context *ctx, GLenum target, - GLenum access, GLboolean output, - struct gl_texture_object *texObj, - struct gl_texture_image *texImage, - const GLvoid *vdpSurface, GLuint index); - /** * Query reset status for GL_ARB_robustness * diff --git a/src/mesa/main/vdpau.c b/src/mesa/main/vdpau.c index 9eb9218aa25..b648dfbdac2 100644 --- a/src/mesa/main/vdpau.c +++ b/src/mesa/main/vdpau.c @@ -42,6 +42,7 @@ #include "api_exec_decl.h" #include "state_tracker/st_cb_texture.h" +#include "state_tracker/st_vdpau.h" #define MAX_TEXTURES 4 @@ -381,9 +382,9 @@ _mesa_VDPAUMapSurfacesNV(GLsizei numSurfaces, const GLintptr *surfaces) st_FreeTextureImageBuffer(ctx, image); - ctx->Driver.VDPAUMapSurface(ctx, surf->target, surf->access, - surf->output, tex, image, - surf->vdpSurface, j); + st_vdpau_map_surface(ctx, surf->target, surf->access, + surf->output, tex, image, + surf->vdpSurface, j); _mesa_unlock_texture(ctx, tex); } @@ -429,9 +430,9 @@ _mesa_VDPAUUnmapSurfacesNV(GLsizei numSurfaces, const GLintptr *surfaces) image = _mesa_select_tex_image(tex, surf->target, 0); - ctx->Driver.VDPAUUnmapSurface(ctx, surf->target, surf->access, - surf->output, tex, image, - surf->vdpSurface, j); + st_vdpau_unmap_surface(ctx, surf->target, surf->access, + surf->output, tex, image, + surf->vdpSurface, j); if (image) st_FreeTextureImageBuffer(ctx, image); diff --git a/src/mesa/state_tracker/st_context.c b/src/mesa/state_tracker/st_context.c index 518e5d36dd3..b25d5b1c567 100644 --- a/src/mesa/state_tracker/st_context.c +++ b/src/mesa/state_tracker/st_context.c @@ -57,7 +57,6 @@ #include "st_program.h" #include "st_sampler_view.h" #include "st_shader_cache.h" -#include "st_vdpau.h" #include "st_texture.h" #include "st_util.h" #include "pipe/p_context.h" @@ -834,8 +833,6 @@ st_init_driver_functions(struct pipe_screen *screen, st_init_program_functions(functions); st_init_flush_functions(screen, functions); - st_init_vdpau_functions(functions); - /* GL_ARB_get_program_binary */ enum pipe_shader_ir preferred_ir = (enum pipe_shader_ir) screen->get_shader_param(screen, PIPE_SHADER_VERTEX, diff --git a/src/mesa/state_tracker/st_vdpau.c b/src/mesa/state_tracker/st_vdpau.c index 660bdce6a44..dfeb3bc9ea0 100644 --- a/src/mesa/state_tracker/st_vdpau.c +++ b/src/mesa/state_tracker/st_vdpau.c @@ -181,7 +181,7 @@ st_vdpau_video_surface_dma_buf(struct gl_context *ctx, const void *vdpSurface, return st_vdpau_resource_from_description(ctx, &desc); } -static void +void st_vdpau_map_surface(struct gl_context *ctx, GLenum target, GLenum access, GLboolean output, struct gl_texture_object *texObj, struct gl_texture_image *texImage, @@ -257,7 +257,7 @@ st_vdpau_map_surface(struct gl_context *ctx, GLenum target, GLenum access, pipe_resource_reference(&res, NULL); } -static void +void st_vdpau_unmap_surface(struct gl_context *ctx, GLenum target, GLenum access, GLboolean output, struct gl_texture_object *texObj, struct gl_texture_image *texImage, @@ -280,10 +280,4 @@ st_vdpau_unmap_surface(struct gl_context *ctx, GLenum target, GLenum access, st_flush(st, NULL, 0); } -void -st_init_vdpau_functions(struct dd_function_table *functions) -{ - functions->VDPAUMapSurface = st_vdpau_map_surface; - functions->VDPAUUnmapSurface = st_vdpau_unmap_surface; -} #endif diff --git a/src/mesa/state_tracker/st_vdpau.h b/src/mesa/state_tracker/st_vdpau.h index 6f4d46091f2..6bc11fcec29 100644 --- a/src/mesa/state_tracker/st_vdpau.h +++ b/src/mesa/state_tracker/st_vdpau.h @@ -34,14 +34,30 @@ #ifndef ST_VDPAU_H #define ST_VDPAU_H -struct dd_function_table; - #ifdef HAVE_ST_VDPAU -extern void -st_init_vdpau_functions(struct dd_function_table *functions); + +void +st_vdpau_map_surface(struct gl_context *ctx, GLenum target, GLenum access, + GLboolean output, struct gl_texture_object *texObj, + struct gl_texture_image *texImage, + const void *vdpSurface, GLuint index); +void +st_vdpau_unmap_surface(struct gl_context *ctx, GLenum target, GLenum access, + GLboolean output, struct gl_texture_object *texObj, + struct gl_texture_image *texImage, + const void *vdpSurface, GLuint index); #else + static inline void -st_init_vdpau_functions(struct dd_function_table *functions) {} +st_vdpau_map_surface(struct gl_context *ctx, GLenum target, GLenum access, + GLboolean output, struct gl_texture_object *texObj, + struct gl_texture_image *texImage, + const void *vdpSurface, GLuint index) {} +static inline void +st_vdpau_unmap_surface(struct gl_context *ctx, GLenum target, GLenum access, + GLboolean output, struct gl_texture_object *texObj, + struct gl_texture_image *texImage, + const void *vdpSurface, GLuint index) {} #endif #endif /* ST_VDPAU_H */