i965: Flush batchbuffer containing the query on glQueryCounter.
authorMathias Froehlich <Mathias.Froehlich@gmx.net>
Sun, 12 Apr 2015 16:23:58 +0000 (18:23 +0200)
committerMathias Froehlich <Mathias.Froehlich@gmx.net>
Mon, 13 Apr 2015 18:30:23 +0000 (20:30 +0200)
This change fixes a regression with timer queries introduced with
commit 3eb6258. There the pending batchbuffer is flushed
only if glEndQuery is executed. This present change adds such
a flush to glQueryCounter which also schedules a value query
just like glEndQuery does. The patch fixes GPU timer queries
going mad from within osgviewer.

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Signed-off-by: Mathias Froehlich <Mathias.Froehlich@web.de>
Cc: mesa-stable@lists.freedesktop.org
src/mesa/drivers/dri/i965/brw_queryobj.c

index 917a24f81d5652fd17d77d774185d0008e576732..667c90093047748d09b106f1a06d6fcf44842bf9 100644 (file)
@@ -472,6 +472,8 @@ brw_query_counter(struct gl_context *ctx, struct gl_query_object *q)
    drm_intel_bo_unreference(query->bo);
    query->bo = drm_intel_bo_alloc(brw->bufmgr, "timestamp query", 4096, 4096);
    brw_write_timestamp(brw, query->bo, 0);
+
+   query->flushed = false;
 }
 
 /**