<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - [gen4] GPU hang in Chrome"
href="https://bugs.freedesktop.org/show_bug.cgi?id=87770#c6">Comment # 6</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - [gen4] GPU hang in Chrome"
href="https://bugs.freedesktop.org/show_bug.cgi?id=87770">bug 87770</a>
from <span class="vcard"><a class="email" href="mailto:mattst88@gmail.com" title="Matt Turner <mattst88@gmail.com>"> <span class="fn">Matt Turner</span></a>
</span></b>
<pre>I suspect this may be another duplicate of the <a class="bz_bug_link
bz_status_RESOLVED bz_closed"
title="RESOLVED FIXED - [gen4] GPU Crash During Google Chrome Operation"
href="show_bug.cgi?id=80568">bug 80568</a>, fixed (worked-around)
by this commit:
commit c4fd0c9052dd391d6f2e9bb8e6da209dfc7ef35b
Author: Kenneth Graunke <<a href="mailto:kenneth@whitecape.org">kenneth@whitecape.org</a>>
Date: Sat Jan 17 23:21:15 2015 -0800
i965: Work around mysterious Gen4 GPU hangs with minimal state changes.
Gen4 hardware appears to GPU hang frequently when using Chromium, and
also when running 'glmark2 -b ideas'. Most of the error states contain
3DPRIMITIVE commands in quick succession, with very few state packets
between them - usually VERTEX_BUFFERS/ELEMENTS and CONSTANT_BUFFER.
I trimmed an apitrace of the glmark2 hang down to two draw calls with a
glUniformMatrix4fv call between the two. Either draw by itself works
fine, but together, they hang the GPU. Removing the glUniform call
makes the hangs disappear. In the hardware state, this translates to
removing the CONSTANT_BUFFER packet between the two 3DPRIMITIVE packets.
Flushing before emitting CONSTANT_BUFFER packets also appears to make
the hangs disappear. I observed a slowdown in glxgears by doing it all
the time, so I've chosen to only do it when BRW_NEW_BATCH and
BRW_NEW_PSP are unset (i.e. we haven't done a CS_URB_STATE change or
already flushed the whole pipeline).
I'd much rather understand the problem, but at this point, I don't see
how we'd ever be able to track it down further. We have no real tools,
and the hardware people moved on years ago. I've analyzed 20+ error
states and read every scrap of documentation I could find.
Bugzilla: <a class="bz_bug_link
bz_status_RESOLVED bz_closed"
title="RESOLVED FIXED - [gen4] GPU Crash During Google Chrome Operation"
href="show_bug.cgi?id=80568">https://bugs.freedesktop.org/show_bug.cgi?id=80568</a>
Bugzilla: <a class="bz_bug_link
bz_status_RESOLVED bz_closed"
title="RESOLVED FIXED - [gen4] GPU hang in glmark-es2"
href="show_bug.cgi?id=85367">https://bugs.freedesktop.org/show_bug.cgi?id=85367</a>
Signed-off-by: Kenneth Graunke <<a href="mailto:kenneth@whitecape.org">kenneth@whitecape.org</a>>
Acked-by: Matt Turner <<a href="mailto:mattst88@gmail.com">mattst88@gmail.com</a>>
Cc: "10.4 10.3" <<a href="mailto:mesa-stable@lists.freedesktop.org">mesa-stable@lists.freedesktop.org</a>>
It's in git, and backports are in Mesa 10.4.x for x > 3. Please try upgrading
to >10.4.3. If it's resolved by such an upgrade, please mark as a duplicate of
<a class="bz_bug_link
bz_status_RESOLVED bz_closed"
title="RESOLVED FIXED - [gen4] GPU Crash During Google Chrome Operation"
href="show_bug.cgi?id=80568">bug 80568</a>.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the QA Contact for the bug.</li>
</ul>
</body>
</html>