From: Marek Olšák <[email protected]>

The caller does the same checking.
---
 src/gallium/drivers/r600/evergreen_state.c   | 2 +-
 src/gallium/drivers/r600/r600_pipe.h         | 1 -
 src/gallium/drivers/r600/r600_state.c        | 2 +-
 src/gallium/drivers/r600/r600_state_common.c | 5 +----
 4 files changed, 3 insertions(+), 7 deletions(-)

diff --git a/src/gallium/drivers/r600/evergreen_state.c 
b/src/gallium/drivers/r600/evergreen_state.c
index 6595267..077664d 100644
--- a/src/gallium/drivers/r600/evergreen_state.c
+++ b/src/gallium/drivers/r600/evergreen_state.c
@@ -1802,7 +1802,7 @@ static void evergreen_emit_db_misc_state(struct 
r600_context *rctx, struct r600_
                S_02800C_FORCE_HIS_ENABLE0(V_02800C_FORCE_DISABLE) |
                S_02800C_FORCE_HIS_ENABLE1(V_02800C_FORCE_DISABLE);
 
-       if (a->occlusion_query_enabled) {
+       if (rctx->b.num_occlusion_queries > 0) {
                db_count_control |= S_028004_PERFECT_ZPASS_COUNTS(1);
                if (rctx->b.chip_class == CAYMAN) {
                        db_count_control |= 
S_028004_SAMPLE_RATE(a->log_samples);
diff --git a/src/gallium/drivers/r600/r600_pipe.h 
b/src/gallium/drivers/r600/r600_pipe.h
index cd0052a..de3fd06 100644
--- a/src/gallium/drivers/r600/r600_pipe.h
+++ b/src/gallium/drivers/r600/r600_pipe.h
@@ -120,7 +120,6 @@ struct r600_db_state {
 
 struct r600_db_misc_state {
        struct r600_atom                atom;
-       bool                            occlusion_query_enabled;
        bool                            flush_depthstencil_through_cb;
        bool                            flush_depth_inplace;
        bool                            flush_stencil_inplace;
diff --git a/src/gallium/drivers/r600/r600_state.c 
b/src/gallium/drivers/r600/r600_state.c
index 3189a13..62b46ce 100644
--- a/src/gallium/drivers/r600/r600_state.c
+++ b/src/gallium/drivers/r600/r600_state.c
@@ -1644,7 +1644,7 @@ static void r600_emit_db_misc_state(struct r600_context 
*rctx, struct r600_atom
                }
        }
 
-       if (a->occlusion_query_enabled) {
+       if (rctx->b.num_occlusion_queries > 0) {
                if (rctx->b.chip_class >= R700) {
                        db_render_control |= 
S_028D0C_R700_PERFECT_ZPASS_COUNTS(1);
                }
diff --git a/src/gallium/drivers/r600/r600_state_common.c 
b/src/gallium/drivers/r600/r600_state_common.c
index 82babeb..32a1049 100644
--- a/src/gallium/drivers/r600/r600_state_common.c
+++ b/src/gallium/drivers/r600/r600_state_common.c
@@ -2864,10 +2864,7 @@ static void r600_set_occlusion_query_state(struct 
pipe_context *ctx, bool enable
 {
        struct r600_context *rctx = (struct r600_context*)ctx;
 
-       if (rctx->db_misc_state.occlusion_query_enabled != enable) {
-               rctx->db_misc_state.occlusion_query_enabled = enable;
-               r600_mark_atom_dirty(rctx, &rctx->db_misc_state.atom);
-       }
+       r600_mark_atom_dirty(rctx, &rctx->db_misc_state.atom);
 }
 
 static void r600_need_gfx_cs_space(struct pipe_context *ctx, unsigned num_dw,
-- 
2.5.0

_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to