Bug 62721

Summary: GPU lockup in Minecraft 1.5.1 with HyperZ
Product: Mesa Reporter: Maarten Baert <maarten-baert>
Component: Drivers/DRI/R600Assignee: Default DRI bug account <dri-devel>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium CC: abortretryfail
Version: 9.1   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: dmesg output

Description Maarten Baert 2013-03-25 12:25:24 UTC
Created attachment 76994 [details]
dmesg output

Minecraft 1.5.1 locks up the GPU when HyperZ is enabled (which seems to be the default). When it happens, the screen first freezes for a few seconds, then becomes black for a few seconds, then the backlight turns off as well, and then everything recovers. A few seconds later this usually happens again. The easiest way to get out of this loop is to kill minecraft (I used AltGr+PrintScreen+F).

I've never seen this happen with any of the older versions of minecraft, but I'm not sure whether I was using the same kernel and driver versions back then. Minecraft 1.5.1 has a very different engine than any of the previous versions (it's about 3 times faster as well), so I think that's why it never happened before.

I don't get any lockups when I run with R600_HYPERZ=0.

The lockups appear to happen more frequently when the window is larger (I haven't seen it happen with the default size of 854x480, but at 1920x1080 it happens all the time. It also happens more often when there's more activity in Minecraft (e.g. redstone updates).

My card is a Radeon HD 5650M. I'm using Arch Linux, everything is up-to-date. Kernel version 3.8.4, mesa version 9.1.1.
Comment 1 Maarten Baert 2013-03-25 12:35:25 UTC
Apitrace:
http://andere.maartenbaert.be/minecraft.trace.7z (33M, 401MB uncompressed)

The first lockup happens at frame 1333. Replaying this with qapitrace with HyperZ enabled will trigger the lockup (but it doesn't recover apparently), replaying without HyperZ works fine.
Comment 2 Jerome Glisse 2013-04-24 19:23:58 UTC
Please check if below patch fix the issue:

http://people.freedesktop.org/~glisse/0001-r600g-force-full-cache-for-hyperz.patch
Comment 3 Maarten Baert 2013-04-26 02:21:43 UTC
Some of the Arch packages were updated, so just to be sure I re-ran my old apitrace with both the original Arch Linux package 'ati-dri' and the one I modified with your patch. The old package again caused a lockup, the new one didn't, so it looks like this does indeed fix the lockup. Thanks!

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.