i965: Only set Last Render Target Select on the last FB write.
authorKenneth Graunke <kenneth@whitecape.org>
Sun, 19 Feb 2012 05:29:29 +0000 (21:29 -0800)
committerKenneth Graunke <kenneth@whitecape.org>
Tue, 21 Feb 2012 20:36:20 +0000 (12:36 -0800)
Fixes GPU hangs in OilRush, Trine, and Amnesia: The Dark Descent,
which all use MRT (multiple render targets).

NOTE: This is a candidate for release branches.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=38720
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=40059
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=45216
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_eu_emit.c

index 839f6c36a3efc85b4c85ccc2191987a6778498f9..179b59ac6fb3c32984cd24ba8cb0e8598dc1e3a8 100644 (file)
@@ -2270,7 +2270,7 @@ void brw_fb_WRITE(struct brw_compile *p,
                            msg_type,
                            msg_length,
                            header_present,
-                           1, /* last render target write */
+                           eot, /* last render target write */
                            response_length,
                            eot,
                            0 /* send_commit_msg */);