Bug 29020

Summary: [r300g] Wine d3d9 tests hardlock
Product: Mesa Reporter: Pavel Ondračka <pavel.ondracka>
Component: Drivers/DRI/r300Assignee: Default DRI bug account <dri-devel>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium    
Version: git   
Hardware: Other   
OS: All   
URL: http://sourceforge.net/projects/wine/files/Source/wine-1.2-rc7.tar.bz2/download
Whiteboard:
i915 platform: i915 features:
Attachments: make test output with mesa 0864851e2763291ff1ea2ceaa3c6f16b14abd362

Description Pavel Ondračka 2010-07-12 08:40:52 UTC
When running d3d9 tests from Wine-1.2-rc7 it lock up my computer. Surprisingly it works with r300c but I suppose some tests are being skipped because r300c doesn't advertise as much as r300g. I don't know how to obtain more debug info, since its completely dead and I'm not even able to ssh in.  

wine: 1.2-rc7
GPU: rv530
mesa: cd629c28d73703a44f4b74ba0e8eb87c51eee32a
kernel: 2.6.33.6-147.fc13
Comment 1 Marek Olšák 2010-07-12 12:08:43 UTC
Does it help if you go before the commit 78e8a8765f435bf0902d62afbcb3b8d68a0b716f?
Comment 2 Marek Olšák 2010-07-12 16:40:31 UTC
I've committed some fixes, is it any better now?
Comment 3 Pavel Ondračka 2010-07-12 16:51:05 UTC
Created attachment 36975 [details]
make test output with mesa 0864851e2763291ff1ea2ceaa3c6f16b14abd362

(In reply to comment #1)
> Does it help if you go before the commit
> 78e8a8765f435bf0902d62afbcb3b8d68a0b716f?

Hm, it helps a little bit...
With mesa 0864851e2763291ff1ea2ceaa3c6f16b14abd362 it doesn't hardlock, just X is frozen. This is probably different test which is failing now. Not sure if it fails earlier or later, but when it freezes the test picture is different that when it hardlocks. 

dmesg is full of: 
[drm:radeon_cs_ioctl] *ERROR* Faild to schedule IB !
[drm:radeon_ib_schedule] *ERROR* radeon: couldn't schedule IB(0).
[drm:radeon_cs_ioctl] *ERROR* Faild to schedule IB !
[drm:radeon_ib_schedule] *ERROR* radeon: couldn't schedule IB(1).
...
repeating with numbers from 0 to 15.

Attaching whole terminal output, there are many failed tests, probably many other problems, some of them may be a wine issue, but they should just fail not take system or X down with them...


(In reply to comment #2)
> I've committed some fixes, is it any better now?

No
Comment 4 Marek Olšák 2010-07-12 17:01:11 UTC
I think the problem is r300g doesn't currently support multiple rendering contexts.

Have those tests ever worked? If yes, could you bisect this regression?
Comment 5 Pavel Ondračka 2010-07-12 17:30:05 UTC
(In reply to comment #4)
> Have those tests ever worked? If yes, could you bisect this regression?

I don't know, I run them today for a first time. However quick testing showed that it doesn't work with b939f83eb7af8f818c638453b2d2522b2362a831 (10 days old) and 9be40de0871980ca541f0682aef6c1c507c1610f (month old) so probably not a regression. I'll try to ask tomorrow some Wine people how to find out which exact test is failing and what is it supposed to do.
Comment 6 Marek Olšák 2010-07-12 19:17:04 UTC
Multiple simultaneously running contexts are most probably the cause of these hardlocks, because this way the driver may generate pretty much a random command stream which has valid register writes, meaning that the CS checker doesn't notice anything, and the hardware goes crazy.

Wine uses multiple contexts quite often, if not all the time.

Soon I am going to rewrite winsys for it to support multiple command streams, and then we'll see if it resolves this issue...
Comment 7 Marek Olšák 2010-07-15 23:55:13 UTC
Pushed the multi-context stuff.

The only test which currently locks up is d3d9/visual/pointsize_test/the second subtest.
Comment 8 Marek Olšák 2010-08-02 08:40:36 UTC
Fixed by commit afa925066c158ac49e3b0f883f67debd8545bf26.

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.