Bug 89887

Summary: AMD 3650 Mobility locks up on overdraw
Product: Mesa Reporter: pavol
Component: Drivers/Gallium/r600Assignee: Default DRI bug account <dri-devel>
Status: RESOLVED NOTABUG QA Contact: Default DRI bug account <dri-devel>
Severity: normal    
Priority: medium CC: pavol
Version: git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: Demo
Overdraw application
Overdraw GLFW3
Intel dmesg

Description pavol 2015-04-03 11:24:59 UTC
Created attachment 114845 [details]
Demo

Hi,

by accident I found out that after some threshold on overdraw the GPU hangs. I have attached a simple program that demonstrates the problem.
Comment 1 Dave Airlie 2015-04-03 21:47:28 UTC
can you attach the source code and how to build it?
Comment 2 pavol 2015-04-03 22:17:28 UTC
Created attachment 114856 [details]
Overdraw application
Comment 3 pavol 2015-04-03 22:19:50 UTC
I have fixed MIME for the overdraw demo. It requires Gtk+ 3.16 and it can be compiled by "clang main.c common/io.c `pkg-config --cflags --libs gtk+-3.0 epoxy`".
Comment 4 pavol 2015-04-07 08:34:03 UTC
Created attachment 114911 [details]
Overdraw GLFW3

This is a version using GLFW3 in case you do not have Gtk+ 3.16.

gcc common/io.c main.c `pkg-config --cflags --libs glfw3 epoxy`
Comment 5 pavol 2015-04-07 11:46:10 UTC
Tesla card renders it correctly (it takes around 10 seconds), I will test on Intel (GL 2.1) when I get home.
Comment 6 pavol 2015-04-07 18:30:09 UTC
Intel x4500 hang too, but seems to do better job at reseting.
Comment 7 pavol 2015-04-07 18:30:29 UTC
Created attachment 114934 [details]
Intel dmesg
Comment 8 Marek Olšák 2015-10-17 17:21:31 UTC
Hi Pavol,

If the draw call takes more than 10 seconds, the kernel driver will consider it a hang and will try to reset the GPU, which might sometimes fail, leaving the GPU in an unusable state.

I will close this as NOTABUG. Please try again with a lower instance count and make sure it finishes in 10 seconds.
Comment 9 Christian König 2015-10-19 08:34:11 UTC
(In reply to Marek Olšák from comment #8)
> I will close this as NOTABUG. Please try again with a lower instance count
> and make sure it finishes in 10 seconds.

Alternatively use the kernel parameter radeon.lockup_timeout=20000 to increase the timeout to 20 seconds.

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.