i965: Fix GPU hangs on Broadwell in shaders with some control flow.
authorKenneth Graunke <kenneth@whitecape.org>
Thu, 8 May 2014 23:44:37 +0000 (16:44 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Fri, 9 May 2014 21:18:13 +0000 (14:18 -0700)
commit9584959123b0453cf5313722357e3abb9f736aa7
treec8cd5c196187592e7af589d1efd529dfbeabfd5a
parent93c2ebbd83604263fa46351a7efcde382322024b
i965: Fix GPU hangs on Broadwell in shaders with some control flow.

According to the documentation, we need to set the source 0 register
type to IMM for flow control instructions that have both JIP and UIP.

Fixes GPU hangs in approximately 10 Piglit tests, 5 es3conform tests,
Unigine Crypt, a WebGL raytracer demo, and several Steam titles.

Cc: "10.2" <mesa-stable@lists.freedesktop.org>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=75478
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=75878
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76939
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Tested-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Tested-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
src/mesa/drivers/dri/i965/gen8_generator.cpp