Module: Mesa
Branch: master
Commit: 5b07b06d6bb1d01d1aec49d6ba458fc6c789fbc9
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=5b07b06d6bb1d01d1aec49d6ba458fc6c789fbc9

Author: Andres Rodriguez <[email protected]>
Date:   Fri Dec 15 00:13:50 2017 -0500

radeonsi: add support for importing PIPE_FD_TYPE_SYNCOBJ semaphores

Hook up importing semaphores of type PIPE_FD_TYPE_SYNCOBJ

Signed-off-by: Andres Rodriguez <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>

---

 src/gallium/drivers/radeonsi/si_fence.c | 26 ++++++++++++++++++++------
 1 file changed, 20 insertions(+), 6 deletions(-)

diff --git a/src/gallium/drivers/radeonsi/si_fence.c 
b/src/gallium/drivers/radeonsi/si_fence.c
index d3a68e50e1..ef80b38aa6 100644
--- a/src/gallium/drivers/radeonsi/si_fence.c
+++ b/src/gallium/drivers/radeonsi/si_fence.c
@@ -305,18 +305,32 @@ static void si_create_fence_fd(struct pipe_context *ctx,
        struct radeon_winsys *ws = sscreen->ws;
        struct si_multi_fence *rfence;
 
-       assert(type == PIPE_FD_TYPE_NATIVE_SYNC);
-
        *pfence = NULL;
 
-       if (!sscreen->info.has_fence_to_handle)
-               return;
-
        rfence = si_create_multi_fence();
        if (!rfence)
                return;
 
-       rfence->gfx = ws->fence_import_sync_file(ws, fd);
+       switch (type) {
+       case PIPE_FD_TYPE_NATIVE_SYNC:
+               if (!sscreen->info.has_fence_to_handle)
+                       goto finish;
+
+               rfence->gfx = ws->fence_import_sync_file(ws, fd);
+               break;
+
+       case PIPE_FD_TYPE_SYNCOBJ:
+               if (!sscreen->info.has_syncobj)
+                       goto finish;
+
+               rfence->gfx = ws->fence_import_syncobj(ws, fd);
+               break;
+
+       default:
+               unreachable("bad fence fd type when importing");
+       }
+
+finish:
        if (!rfence->gfx) {
                FREE(rfence);
                return;

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to