i965/gen6: Fix HiZ hang in WebGL Google Maps
authorChad Versace <chad.versace@linux.intel.com>
Fri, 20 Dec 2013 12:39:03 +0000 (04:39 -0800)
committerChad Versace <chad.versace@linux.intel.com>
Fri, 20 Dec 2013 23:20:30 +0000 (15:20 -0800)
commit1a928816a1b717201f3b3cc998a42731b280e6ba
tree7e7989c7183eba506519b2be568d89eab27facb4
parentb97fa1e75b77a8f5e8b963ea792afeb02efe0419
i965/gen6: Fix HiZ hang in WebGL Google Maps

Emitting flushes before depth and hiz resolves at the top of blorp's
state emission fixes the hang. Marchesin and I found the fix
experimentally, as opposed to adhering to a documented hardware
workaround.  A more minimal fix likely exists, but this gets the job
done.

Fixes HiZ hangs in the new WebGL Google maps on Sandybridge Chrome OS.
Tested by zooming in and out continuously for 2 hours.

This patch is based on
https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/8bc07bb70163c3706fb4ba5f980e57dc942f56dd

CC: mesa-stable@lists.freedesktop.org
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=70740
Signed-off-by: Stéphane Marchesin <marcheu@chromium.org>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
Reviewed-by: Paul Berry <stereotype441@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/gen6_blorp.cpp