Module: Mesa Branch: master Commit: b403eb338533894ee012a96bf55653996c92ec7c URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b403eb338533894ee012a96bf55653996c92ec7c
Author: Marek Olšák <[email protected]> Date: Fri Jul 15 23:17:43 2016 +0200 gallium/radeon: count contexts We don't wanna use unflushed fences when we have multiple contexts. Reviewed-by: Nicolai Hähnle <[email protected]> --- src/gallium/drivers/radeon/r600_pipe_common.c | 3 +++ src/gallium/drivers/radeon/r600_pipe_common.h | 1 + 2 files changed, 4 insertions(+) diff --git a/src/gallium/drivers/radeon/r600_pipe_common.c b/src/gallium/drivers/radeon/r600_pipe_common.c index 7fd3fe0..5e9d0b6 100644 --- a/src/gallium/drivers/radeon/r600_pipe_common.c +++ b/src/gallium/drivers/radeon/r600_pipe_common.c @@ -471,6 +471,7 @@ bool r600_common_context_init(struct r600_common_context *rctx, rctx->dma.flush = r600_flush_dma_ring; } + p_atomic_inc(&rscreen->num_contexts); return true; } @@ -478,6 +479,8 @@ void r600_common_context_cleanup(struct r600_common_context *rctx) { unsigned i,j; + p_atomic_dec(&rctx->screen->num_contexts); + /* Release DCC stats. */ for (i = 0; i < ARRAY_SIZE(rctx->dcc_stats); i++) { assert(!rctx->dcc_stats[i].query_active); diff --git a/src/gallium/drivers/radeon/r600_pipe_common.h b/src/gallium/drivers/radeon/r600_pipe_common.h index 91e3cb2..ccaaeeb 100644 --- a/src/gallium/drivers/radeon/r600_pipe_common.h +++ b/src/gallium/drivers/radeon/r600_pipe_common.h @@ -363,6 +363,7 @@ struct r600_common_screen { uint64_t debug_flags; bool has_cp_dma; bool has_streamout; + int num_contexts; /* Texture filter settings. */ int force_aniso; /* -1 = disabled */ _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
