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

Reply via email to