summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/freedreno/freedreno_gmem.c
diff options
context:
space:
mode:
authorRob Clark <[email protected]>2016-08-15 14:27:10 -0400
committerRob Clark <[email protected]>2016-12-01 20:24:46 -0500
commit0b98e84e9ba082b9aa00b24fded3fb56224c6fc6 (patch)
tree8f3800c82abf2e071d2539e5a08d73f6d2bf5ad3 /src/gallium/drivers/freedreno/freedreno_gmem.c
parent16f6ceaca9e25f86bcdc509fc0abb48e2d51c3fa (diff)
freedreno: native fence fd support
Signed-off-by: Rob Clark <[email protected]>
Diffstat (limited to 'src/gallium/drivers/freedreno/freedreno_gmem.c')
-rw-r--r--src/gallium/drivers/freedreno/freedreno_gmem.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/gallium/drivers/freedreno/freedreno_gmem.c b/src/gallium/drivers/freedreno/freedreno_gmem.c
index 6d243c6d1e2..69fb16d058b 100644
--- a/src/gallium/drivers/freedreno/freedreno_gmem.c
+++ b/src/gallium/drivers/freedreno/freedreno_gmem.c
@@ -399,10 +399,13 @@ fd_gmem_render_tiles(struct fd_batch *batch)
ctx->stats.batch_gmem++;
}
- fd_ringbuffer_flush(batch->gmem);
+ int out_fence_fd = -1;
+ fd_ringbuffer_flush2(batch->gmem, batch->in_fence_fd,
+ batch->needs_out_fence_fd ? &out_fence_fd : NULL);
fd_fence_ref(&ctx->screen->base, &ctx->last_fence, NULL);
- ctx->last_fence = fd_fence_create(ctx, fd_ringbuffer_timestamp(batch->gmem));
+ ctx->last_fence = fd_fence_create(ctx,
+ fd_ringbuffer_timestamp(batch->gmem), out_fence_fd);
}
/* tile needs restore if it isn't completely contained within the