Mesa (master): iris: Fix fence leak in iris_fence_flush

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Sep 16 09:37:47 UTC 2019


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

Author: Danylo Piliaiev <danylo.piliaiev at globallogic.com>
Date:   Thu Sep 12 14:17:28 2019 +0300

iris: Fix fence leak in iris_fence_flush

Documentation for pipe_context::flush states:
 "NOTE: use screen->fence_reference() (or equivalent) to transfer
  new fence ref to **fence, to ensure that previous fence is unref'd"

Hence we need to unref previous out_fence.

Signed-off-by: Danylo Piliaiev <danylo.piliaiev at globallogic.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

---

 src/gallium/drivers/iris/iris_fence.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/gallium/drivers/iris/iris_fence.c b/src/gallium/drivers/iris/iris_fence.c
index 3aaa0af2281..2225774a601 100644
--- a/src/gallium/drivers/iris/iris_fence.c
+++ b/src/gallium/drivers/iris/iris_fence.c
@@ -184,6 +184,8 @@ iris_fence_flush(struct pipe_context *ctx,
       iris_syncpt_reference(screen, &fence->syncpt[fence->count++],
                             ice->batches[b].last_syncpt);
    }
+
+   iris_fence_reference(ctx->screen, out_fence, NULL);
    *out_fence = fence;
 }
 




More information about the mesa-commit mailing list