diff options
Diffstat (limited to 'src/gallium/state_trackers/vdpau/presentation.c')
-rw-r--r-- | src/gallium/state_trackers/vdpau/presentation.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/gallium/state_trackers/vdpau/presentation.c b/src/gallium/state_trackers/vdpau/presentation.c index cb6cb38..7f8dbed 100644 --- a/src/gallium/state_trackers/vdpau/presentation.c +++ b/src/gallium/state_trackers/vdpau/presentation.c @@ -62,7 +62,7 @@ vlVdpPresentationQueueCreate(VdpDevice device, if (!pq) return VDP_STATUS_RESOURCES; - pq->device = dev; + DeviceReference(&pq->device, dev); pq->drawable = pqt->drawable; pipe_mutex_lock(dev->mutex); @@ -83,6 +83,7 @@ vlVdpPresentationQueueCreate(VdpDevice device, no_handle: no_compositor: + DeviceReference(&pq->device, NULL); FREE(pq); return ret; } @@ -104,6 +105,7 @@ vlVdpPresentationQueueDestroy(VdpPresentationQueue presentation_queue) pipe_mutex_unlock(pq->device->mutex); vlRemoveDataHTAB(presentation_queue); + DeviceReference(&pq->device, NULL); FREE(pq); return VDP_STATUS_OK; |