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 <kenn...@whitecape.org> --- src/mesa/drivers/dri/i965/brw_queryobj.c | 7 +++---- 1 file 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 -- 1.8.1.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev