summaryrefslogtreecommitdiffstats
path: root/src/gallium/state_trackers/vdpau/device.c
diff options
context:
space:
mode:
authorChristian König <[email protected]>2012-03-01 23:03:09 +0100
committerChristian König <[email protected]>2012-03-05 16:51:32 +0100
commit05579339c0da442669ea75749651e8cf4f9ec39b (patch)
tree037f8eefbd874395d2dcb2b4c7b79a4498f1285f /src/gallium/state_trackers/vdpau/device.c
parent1d0c357a9733238985cbe029b174173ef927ac70 (diff)
st/vdpau: make the interface thread save
Signed-off-by: Christian König <[email protected]>
Diffstat (limited to 'src/gallium/state_trackers/vdpau/device.c')
-rw-r--r--src/gallium/state_trackers/vdpau/device.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/gallium/state_trackers/vdpau/device.c b/src/gallium/state_trackers/vdpau/device.c
index 98106a1c702..5af1570d5ae 100644
--- a/src/gallium/state_trackers/vdpau/device.c
+++ b/src/gallium/state_trackers/vdpau/device.c
@@ -80,6 +80,7 @@ vdp_imp_device_create_x11(Display *display, int screen, VdpDevice *device,
}
vl_compositor_init(&dev->compositor, dev->context);
+ pipe_mutex_init(dev->mutex);
*get_proc_address = &vlVdpGetProcAddress;
@@ -161,7 +162,8 @@ vlVdpDeviceDestroy(VdpDevice device)
vlVdpDevice *dev = vlGetDataHTAB(device);
if (!dev)
return VDP_STATUS_INVALID_HANDLE;
-
+
+ pipe_mutex_destroy(dev->mutex);
vl_compositor_cleanup(&dev->compositor);
dev->context->destroy(dev->context);
vl_screen_destroy(dev->vscreen);