summaryrefslogtreecommitdiffstats
path: root/src/gallium/state_trackers/vdpau/device.c
diff options
context:
space:
mode:
authorChristian König <deathsimple@vodafone.de>2012-03-01 23:03:09 +0100
committerChristian König <deathsimple@vodafone.de>2012-03-05 16:51:32 +0100
commit05579339c0da442669ea75749651e8cf4f9ec39b (patch)
tree037f8eefbd874395d2dcb2b4c7b79a4498f1285f /src/gallium/state_trackers/vdpau/device.c
parent1d0c357a9733238985cbe029b174173ef927ac70 (diff)
downloadexternal_mesa3d-05579339c0da442669ea75749651e8cf4f9ec39b.zip
external_mesa3d-05579339c0da442669ea75749651e8cf4f9ec39b.tar.gz
external_mesa3d-05579339c0da442669ea75749651e8cf4f9ec39b.tar.bz2
st/vdpau: make the interface thread save
Signed-off-by: Christian König <deathsimple@vodafone.de>
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 98106a1..5af1570 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);