Bug 38720

Summary: [SNB] Trine triggers a GPU hang
Product: Mesa Reporter: Chris Wilson <chris>
Component: Drivers/DRI/i965Assignee: Kenneth Graunke <kenneth>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium CC: eugeni, jfebrer, olivier
Version: 8.0   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: i915_error_state

Description Chris Wilson 2011-06-27 09:53:16 UTC
An apitrace that successfully reproduces the issue on SNB is available at http://people.freedesktop.org/~ickle/trine-bin64.trace.

Nothing in the i915_error_state stands out.
Comment 1 Chris Wilson 2011-06-27 09:54:59 UTC
Created attachment 48472 [details]
i915_error_state
Comment 2 Kenneth Graunke 2011-07-20 13:28:22 UTC
By pretending to have INTEL_NO_HW set for the first 4,000 calls to do_flush_locked and killing glretrace after 30s, I was able to skip over the loading screens and menus. produce a smaller AUB file (a mere 1.6GB!) and load it in the simulator.

I'm getting several instances of "VS attempted to re-use a URB handle with Reference Count > 0", which look suspicious, but it's still running.
Comment 3 Chris Wilson 2012-01-16 08:32:29 UTC
*** Bug 44814 has been marked as a duplicate of this bug. ***
Comment 4 Kenneth Graunke 2012-02-21 12:37:23 UTC
Fixed on master by:

commit 172bb92db1a3c317867d9cfec6f15c09c37a0f6c
Author: Kenneth Graunke <kenneth@whitecape.org>
Date:   Sat Feb 18 21:29:29 2012 -0800

    i965: Only set Last Render Target Select on the last FB write.
    
    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>
Comment 5 Kenneth Graunke 2012-02-28 13:12:35 UTC
Fixed on the 8.0 branch:

commit 16cc79f975816c0741711560be48fc498d4b4794
Author: Kenneth Graunke <kenneth@whitecape.org>
Date:   Sat Feb 18 21:29:29 2012 -0800

    i965: Only set Last Render Target Select on the last FB write.
    
    Fixes GPU hangs in OilRush, Trine, and Amnesia: The Dark Descent,
    which all use MRT (multiple render targets).
    
    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>
    (cherry picked from commit 172bb92db1a3c317867d9cfec6f15c09c37a0f6c)

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.