i965: Fix SNB GPU hangs when a blorp batch is the first thing to execute.
authorEric Anholt <eric@anholt.net>
Wed, 1 May 2013 23:08:12 +0000 (16:08 -0700)
committerEric Anholt <eric@anholt.net>
Thu, 2 May 2013 18:27:37 +0000 (11:27 -0700)
commit1dfea559c3f188a7a82a4abc09765ba09e939522
tree4a32eed6c3103e7901bbe76f24aaed968a116086
parent156bcca62c9f4e79e78929f72bc085757f36a65a
i965: Fix SNB GPU hangs when a blorp batch is the first thing to execute.

The GPU apparently goes looking for constants even though there are no
shader stages enabled, and gets stuck because we haven't told it there are
no constants to collect.  If any other user of the 3D pipeline had run
(even the Render accel of the X server!) since power on, then the in-GPU
constant buffers would have been set up with some contents we didn't use,
and we would succeed.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=56416
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Tested-by: Dave Airlie <airlied@redhat.com>
NOTE: This is a candidate for the stable branches.
src/mesa/drivers/dri/i965/gen6_blorp.cpp