diff options
author | Rob Clark <[email protected]> | 2015-07-08 14:48:01 -0400 |
---|---|---|
committer | Rob Clark <[email protected]> | 2015-07-10 11:57:30 -0400 |
commit | 7e0a26defe65dad7ffc8e7a95b5577be51feb2bc (patch) | |
tree | e50d7aee7d781a4adf3fe0da71c542f632fd498e /src | |
parent | f60354ee72fdee988fd604994e8b8c8d75fe78be (diff) |
freedreno: unref old fence
Some, but not all, state trackers will explicitly unref (and set to
NULL) the previous *fence before calling pipe->flush(). So driver
should use fence_ref() which will unref the old fence if not NULL.
Signed-off-by: Rob Clark <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/gallium/drivers/freedreno/freedreno_context.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/gallium/drivers/freedreno/freedreno_context.c b/src/gallium/drivers/freedreno/freedreno_context.c index 668ef3629bf..127fb5f5aa0 100644 --- a/src/gallium/drivers/freedreno/freedreno_context.c +++ b/src/gallium/drivers/freedreno/freedreno_context.c @@ -144,8 +144,10 @@ fd_context_flush(struct pipe_context *pctx, struct pipe_fence_handle **fence, { fd_context_render(pctx); - if (fence) + if (fence) { + fd_screen_fence_ref(pctx->screen, fence, NULL); *fence = fd_fence_create(pctx); + } } void |