radeonsi: fix occlusion queries for CIK
authorMarek Olšák <marek.olsak@amd.com>
Tue, 8 Oct 2013 12:23:22 +0000 (14:23 +0200)
committerMarek Olšák <marek.olsak@amd.com>
Wed, 9 Oct 2013 09:44:48 +0000 (11:44 +0200)
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
src/gallium/drivers/radeonsi/si_state_draw.c

index 626ba9533f44375b8a8494eb0a44fbf46ce019a6..d20658ebafd1882cf7e74099116d4ebf8787afb4 100644 (file)
@@ -570,9 +570,18 @@ static void si_state_draw(struct r600_context *rctx,
        if (rctx->num_cs_dw_nontimer_queries_suspend) {
                struct si_state_dsa *dsa = rctx->queued.named.dsa;
 
-               si_pm4_set_reg(pm4, R_028004_DB_COUNT_CONTROL,
-                              S_028004_PERFECT_ZPASS_COUNTS(1) |
-                              S_028004_SAMPLE_RATE(rctx->fb_log_samples));
+               if (rctx->b.chip_class >= CIK) {
+                       si_pm4_set_reg(pm4, R_028004_DB_COUNT_CONTROL,
+                                      S_028004_PERFECT_ZPASS_COUNTS(1) |
+                                      S_028004_SAMPLE_RATE(rctx->fb_log_samples) |
+                                      S_028004_ZPASS_ENABLE(1) |
+                                      S_028004_SLICE_EVEN_ENABLE(1) |
+                                      S_028004_SLICE_ODD_ENABLE(1));
+               } else {
+                       si_pm4_set_reg(pm4, R_028004_DB_COUNT_CONTROL,
+                                      S_028004_PERFECT_ZPASS_COUNTS(1) |
+                                      S_028004_SAMPLE_RATE(rctx->fb_log_samples));
+               }
                si_pm4_set_reg(pm4, R_02800C_DB_RENDER_OVERRIDE,
                               dsa->db_render_override |
                               S_02800C_NOOP_CULL_DISABLE(1));