Am 02.06.2016 um 16:03 schrieb Julien Isorce:
Signed-off-by: Julien Isorce <j.iso...@samsung.com>

Actually I'm not sure if that is correct.

If you release the VABuffer of an exported resource you won't be able to properly close the handle with vlVaReleaseBufferHandle().

On the other hand the semantic VA requires for vlVaAcquireBufferHandle() and vlVaReleaseBufferHandle() is complete nonsense for DMA-buf handles.

Christian.

---
  src/gallium/state_trackers/va/buffer.c | 8 +-------
  1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/src/gallium/state_trackers/va/buffer.c 
b/src/gallium/state_trackers/va/buffer.c
index 2fd8661..7d3167b 100644
--- a/src/gallium/state_trackers/va/buffer.c
+++ b/src/gallium/state_trackers/va/buffer.c
@@ -192,14 +192,8 @@ vlVaDestroyBuffer(VADriverContextP ctx, VABufferID buf_id)
        return VA_STATUS_ERROR_INVALID_BUFFER;
     }
- if (buf->derived_surface.resource) {
-      if (buf->export_refcount > 0) {
-         pipe_mutex_unlock(drv->mutex);
-         return VA_STATUS_ERROR_INVALID_BUFFER;
-      }
-
+   if (buf->derived_surface.resource)
        pipe_resource_reference(&buf->derived_surface.resource, NULL);
-   }
FREE(buf->data);
     FREE(buf);

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to