gallium/radeon: pass old_(perfect_)enable to set_occlusion_query_state

The callee can derive the current enable state itself.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
This commit is contained in:
Nicolai Hähnle 2017-09-08 11:54:37 +02:00
parent 3f6b3d9db7
commit 66d03d0e3e
4 changed files with 11 additions and 4 deletions

View File

@ -2914,7 +2914,9 @@ static void r600_set_active_query_state(struct pipe_context *ctx, boolean enable
}
}
static void r600_set_occlusion_query_state(struct pipe_context *ctx, bool enable)
static void r600_set_occlusion_query_state(struct pipe_context *ctx,
bool old_enable,
bool old_perfect_enable)
{
struct r600_context *rctx = (struct r600_context*)ctx;

View File

@ -704,7 +704,9 @@ struct r600_common_context {
uint64_t old_gpu_address);
/* Enable or disable occlusion queries. */
void (*set_occlusion_query_state)(struct pipe_context *ctx, bool enable);
void (*set_occlusion_query_state)(struct pipe_context *ctx,
bool old_enable,
bool old_perfect_enable);
void (*save_qbo_state)(struct pipe_context *ctx, struct r600_qbo_state *st);

View File

@ -713,7 +713,8 @@ static void r600_update_occlusion_query_state(struct r600_common_context *rctx,
perfect_enable = rctx->num_perfect_occlusion_queries != 0;
if (enable != old_enable || perfect_enable != old_perfect_enable) {
rctx->set_occlusion_query_state(&rctx->b, enable);
rctx->set_occlusion_query_state(&rctx->b, old_enable,
old_perfect_enable);
}
}
}

View File

@ -1191,7 +1191,9 @@ static void si_set_active_query_state(struct pipe_context *ctx, boolean enable)
}
}
static void si_set_occlusion_query_state(struct pipe_context *ctx, bool enable)
static void si_set_occlusion_query_state(struct pipe_context *ctx,
bool old_enable,
bool old_perfect_enable)
{
struct si_context *sctx = (struct si_context*)ctx;