i965: Move control flush into pipelined conditional render
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 21 Aug 2015 14:28:22 +0000 (15:28 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Sat, 22 Aug 2015 08:11:18 +0000 (09:11 +0100)
commit6817e0f1ce71d2a6d347d4c182f2cf4742dd5deb
tree5ca1501c8a404e22b050d843466e99bf903ab102
parenteb2776504ae32feaf41a5bad9f09f154045e96a3
i965: Move control flush into pipelined conditional render

The nv_conditional_render piglits were sporadically failing. Moving
the control flush from the write and placing it just before the read
was sufficient to make the piglits pass a 1000/1000 times. The bspec
says that the flush enable bit "waits until all previous writes of
immediate data from post sync circles are complete before executing the
next command" - the operative word being previous!

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90691
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Neil Roberts <neil@linux.intel.com>
Cc: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_conditional_render.c
src/mesa/drivers/dri/i965/brw_queryobj.c