nvc0: fix sequence field init for MP counters on Fermi
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Fri, 9 Oct 2015 13:33:23 +0000 (15:33 +0200)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Fri, 16 Oct 2015 19:57:44 +0000 (21:57 +0200)
Sequence fields are located at MP[i] + 0x20 in the buffer object.
This is used to check if result is available for MP[i].

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
src/gallium/drivers/nouveau/nvc0/nvc0_query_hw_sm.c

index f7b49da..b810d25 100644 (file)
@@ -439,8 +439,10 @@ nvc0_hw_sm_begin_query(struct nvc0_context *nvc0, struct nvc0_hw_query *hq)
    PUSH_SPACE(push, 4 * 8 * 6 + 4);
 
    /* set sequence field to 0 (used to check if result is available) */
-   for (i = 0; i < screen->mp_count; ++i)
-      hq->data[i * 10 + 10] = 0;
+   for (i = 0; i < screen->mp_count; ++i) {
+      const unsigned b = (0x24 / 4) * i;
+      hq->data[b + 8] = 0;
+   }
    hq->sequence++;
 
    for (i = 0; i < cfg->num_counters; ++i) {