Mesa (master): radeonsi: fix occlusion queries for CIK

Marek Olšák mareko at kemper.freedesktop.org
Wed Oct 9 09:45:23 UTC 2013


Module: Mesa
Branch: master
Commit: 6b7c039dc2272bcba298c7c18bd7e278820b66f5
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6b7c039dc2272bcba298c7c18bd7e278820b66f5

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Tue Oct  8 14:23:22 2013 +0200

radeonsi: fix occlusion queries for CIK

Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>

---

 src/gallium/drivers/radeonsi/si_state_draw.c |   15 ++++++++++++---
 1 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/src/gallium/drivers/radeonsi/si_state_draw.c b/src/gallium/drivers/radeonsi/si_state_draw.c
index 626ba95..d20658e 100644
--- a/src/gallium/drivers/radeonsi/si_state_draw.c
+++ b/src/gallium/drivers/radeonsi/si_state_draw.c
@@ -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));




More information about the mesa-commit mailing list