gallium/radeon: count contexts

We don't wanna use unflushed fences when we have multiple contexts.

Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
This commit is contained in:
Marek Olšák 2016-07-15 23:17:43 +02:00
parent 16d568d911
commit b403eb3385
2 changed files with 4 additions and 0 deletions

View file

@ -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);

View file

@ -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 */