Mesa (master): i965: Write TIMESTAMP query values into the first buffer element.

Kenneth Graunke kwg at kemper.freedesktop.org
Sat Mar 2 09:19:08 UTC 2013


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

Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Mon Feb 25 13:56:01 2013 -0800

i965: Write TIMESTAMP query values into the first buffer element.

For timestamp queries, we just write a single value to a BO.  The
natural place to write that is element 0, so we should do that.

Previously, we wrote it into element 1 (the second slot) leaving
element 0 filled with garbage.

Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>

---

 src/mesa/drivers/dri/i965/brw_queryobj.c |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_queryobj.c b/src/mesa/drivers/dri/i965/brw_queryobj.c
index 0310479..c6ed8e2 100644
--- a/src/mesa/drivers/dri/i965/brw_queryobj.c
+++ b/src/mesa/drivers/dri/i965/brw_queryobj.c
@@ -179,12 +179,11 @@ brw_queryobj_get_results(struct gl_context *ctx,
           * The low 32 bits rolls over in ~343 seconds.  Our 36-bit result
           * rolls over every ~69 seconds.
           */
-	 query->Base.Result = 80 * (results[1] & 0xffffffff);
+	 query->Base.Result = 80 * (results[0] & 0xffffffff);
          query->Base.Result &= (1ull << 36) - 1;
       } else {
-	 query->Base.Result = 1000 * (results[1] >> 32);
+	 query->Base.Result = 1000 * (results[0] >> 32);
       }
-
       break;
 
    case GL_SAMPLES_PASSED_ARB:
@@ -479,7 +478,7 @@ brw_query_counter(struct gl_context *ctx, struct gl_query_object *q)
 
    drm_intel_bo_unreference(query->bo);
    query->bo = drm_intel_bo_alloc(intel->bufmgr, "timestamp query", 4096, 4096);
-   write_timestamp(intel, query->bo, 1);
+   write_timestamp(intel, query->bo, 0);
 }
 
 static uint64_t




More information about the mesa-commit mailing list