summaryrefslogtreecommitdiffstats
path: root/src/gallium/state_trackers/xvmc/surface.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/state_trackers/xvmc/surface.c')
-rw-r--r--src/gallium/state_trackers/xvmc/surface.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/gallium/state_trackers/xvmc/surface.c b/src/gallium/state_trackers/xvmc/surface.c
index 15eae59ff6e..199712ba168 100644
--- a/src/gallium/state_trackers/xvmc/surface.c
+++ b/src/gallium/state_trackers/xvmc/surface.c
@@ -355,6 +355,7 @@ Status XvMCPutSurface(Display *dpy, XvMCSurface *surface, Drawable drawable,
struct pipe_context *pipe;
struct vl_compositor *compositor;
struct vl_compositor_state *cstate;
+ struct vl_screen *vscreen;
XvMCSurfacePrivate *surface_priv;
XvMCContextPrivate *context_priv;
@@ -386,9 +387,10 @@ Status XvMCPutSurface(Display *dpy, XvMCSurface *surface, Drawable drawable,
pipe = context_priv->pipe;
compositor = &context_priv->compositor;
cstate = &context_priv->cstate;
+ vscreen = context_priv->vscreen;
- tex = vl_screen_texture_from_drawable(context_priv->vscreen, drawable);
- dirty_area = vl_screen_get_dirty_area(context_priv->vscreen);
+ tex = vscreen->texture_from_drawable(vscreen, (void *)drawable);
+ dirty_area = vscreen->get_dirty_area(vscreen);
memset(&surf_templ, 0, sizeof(surf_templ));
surf_templ.format = tex->format;
@@ -444,11 +446,8 @@ Status XvMCPutSurface(Display *dpy, XvMCSurface *surface, Drawable drawable,
XVMC_MSG(XVMC_TRACE, "[XvMC] Submitted surface %p for display. Pushing to front buffer.\n", surface);
- pipe->screen->flush_frontbuffer
- (
- pipe->screen, tex, 0, 0,
- vl_screen_get_private(context_priv->vscreen), NULL
- );
+ pipe->screen->flush_frontbuffer(pipe->screen, tex, 0, 0,
+ vscreen->get_private(vscreen), NULL);
if(dump_window == -1) {
dump_window = debug_get_num_option("XVMC_DUMP", 0);