r600g: disable early cull optimization when occlusion query running

When occlusion query are running we want to have accurate
fragment count thus disable any early culling optimization
GPU has.

Based on work from Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
diff --git a/src/gallium/winsys/r600/drm/r600_priv.h b/src/gallium/winsys/r600/drm/r600_priv.h
index 92b2eb1..25a65c6 100644
--- a/src/gallium/winsys/r600/drm/r600_priv.h
+++ b/src/gallium/winsys/r600/drm/r600_priv.h
@@ -54,4 +54,25 @@
 /* radeon_pciid.c */
 unsigned radeon_family_from_device(unsigned device);
 
+
+static void inline r600_context_reg(struct r600_context *ctx, unsigned group_id,
+					unsigned offset, unsigned value,
+					unsigned mask)
+{
+	struct r600_group *group = &ctx->groups[group_id];
+	struct r600_group_block *block;
+	unsigned id;
+
+	id = group->offset_block_id[(offset - group->start_offset) >> 2];
+	block = &group->blocks[id];
+	id = (offset - block->start_offset) >> 2;
+	block->pm4[id] &= ~mask;
+	block->pm4[id] |= value;
+	if (!(block->status & R600_BLOCK_STATUS_DIRTY)) {
+		ctx->pm4_dirty_cdwords += 2 + block->pm4_ndwords;
+	}
+	block->status |= R600_BLOCK_STATUS_ENABLED;
+	block->status |= R600_BLOCK_STATUS_DIRTY;
+}
+
 #endif