Module: Mesa Branch: master Commit: 66d03d0e3e963f83b15aec910325ae9cce07d092 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=66d03d0e3e963f83b15aec910325ae9cce07d092
Author: Nicolai Hähnle <[email protected]> Date: Fri Sep 8 11:54:37 2017 +0200 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 <[email protected]> Tested-by: Dieter Nützel <[email protected]> --- src/gallium/drivers/r600/r600_state_common.c | 4 +++- src/gallium/drivers/radeon/r600_pipe_common.h | 4 +++- src/gallium/drivers/radeon/r600_query.c | 3 ++- src/gallium/drivers/radeonsi/si_state.c | 4 +++- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/gallium/drivers/r600/r600_state_common.c b/src/gallium/drivers/r600/r600_state_common.c index 1515c28091..38f4ca0fc4 100644 --- a/src/gallium/drivers/r600/r600_state_common.c +++ b/src/gallium/drivers/r600/r600_state_common.c @@ -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; diff --git a/src/gallium/drivers/radeon/r600_pipe_common.h b/src/gallium/drivers/radeon/r600_pipe_common.h index 08220bdfd8..46db2c968f 100644 --- a/src/gallium/drivers/radeon/r600_pipe_common.h +++ b/src/gallium/drivers/radeon/r600_pipe_common.h @@ -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); diff --git a/src/gallium/drivers/radeon/r600_query.c b/src/gallium/drivers/radeon/r600_query.c index e655bbdaa2..66bf4d8825 100644 --- a/src/gallium/drivers/radeon/r600_query.c +++ b/src/gallium/drivers/radeon/r600_query.c @@ -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); } } } diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c index 1602406000..f2a6a25991 100644 --- a/src/gallium/drivers/radeonsi/si_state.c +++ b/src/gallium/drivers/radeonsi/si_state.c @@ -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; _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
