Bug 814 - Hard lockup with r200 DRI driver
Summary: Hard lockup with r200 DRI driver
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/r200 (show other bugs)
Version: git
Hardware: x86 (IA32) Linux (All)
: high normal
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on: 729
Blocks:
  Show dependency treegraph
 
Reported: 2004-07-01 03:27 UTC by Garry Reisky
Modified: 2009-08-24 12:22 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
r200 filter hack (881 bytes, patch)
2004-10-06 16:51 UTC, Roland Scheidegger
Details | Splinter Review

Description Garry Reisky 2004-07-01 03:27:21 UTC
UT2003 hard locks my computer after a few minutes of play. I can play one level
and than it will freeze and I have to power off my system. UT2003 will run under
dri with the latest patch without S3TC. Even the demo was updated. You can get
the demo from here http://www.unrealtournament.com/ut2003/downloads.php
Comment 1 Garry Reisky 2004-07-05 15:44:12 UTC
I just read another bug like this and they said using the shock rifle produces
this. Since this is my least favorite weapon I never use it. So I tested ut2003
and it locks up when you fire the shock rifle. When the computer fires it also
that will lock up that way.
Comment 2 Adam Jackson 2004-07-05 15:51:53 UTC
Marking 729 as a dependency, since this one may be more general than the shock
rifle issue.
Comment 3 Roland Scheidegger 2004-07-06 10:42:19 UTC
Could this be R200 (not the derived rv250 etc.) only? I've just played through 3
maps (with a 9000pro) using nothing but primary shock rifle fire without any
lockup (it was slow though), using cvs from (earlier) today.
Comment 4 Alan Swanson 2004-07-06 12:35:17 UTC
With same CVS build for my desktop and laptop, when I host a UT2004 game (with
no other players/bots) without using Shock Rifle neither will crash. However,
_only_ the desktop crashes when the Shock Rifle is used.

DESKTOP: 8500 (R200) [2TU]
LAPTOP:  Mobility 9000 (rv250) [1TU]

Perhaps a problem with the second texture unit handling?
Comment 5 Roland Scheidegger 2004-07-06 13:27:31 UTC
(In reply to comment #4)
> With same CVS build for my desktop and laptop, when I host a UT2004 game (with
> no other players/bots) without using Shock Rifle neither will crash. However,
> _only_ the desktop crashes when the Shock Rifle is used.
Ok then, looks like the problem is indeed restricted to R200 chips. That's a
start...

> Perhaps a problem with the second texture unit handling?
Could be (there are hardware bugs, but for these the driver code should contain
the necessary bugfixes), there are certainly other differences between the
chips, as far as I know for instance the TCL unit is also quite a bit different
internally. Could you try without tcl (tcl_mode=0)?
Comment 6 Garry Reisky 2004-07-06 15:48:09 UTC
I put tcl_mode=0 into my ~/.drirc and ran UT2003 several times and as soon as
you start firing the shock rifle same thing happens. So that doesn't help.
Comment 7 Maggioni Marcello 2004-09-10 06:31:23 UTC
Same problem here
Comment 8 Roland Scheidegger 2004-10-06 16:51:21 UTC
Created attachment 1024 [details] [review]
r200 filter hack

Could you try the attached patch? This will simply disable mipmapping and
setting the tex filter parameters to a fixed value. It's in no way a fix and
will not look good, I'd just want to figure out if the lockups might be related
to the texture sampling bugs (and the code to prevent that) of the r200.
Comment 9 John Lightsey 2004-10-06 21:47:58 UTC
Your patch does stop the shock rife lockups with UT2k4.  I tested it with a
FireGL 8800 and a DRI CVS checkout from September 26.  Played through several
maps using the shock rifle exclusively without any problems.
Comment 10 Dieter Nützel 2004-10-06 23:31:07 UTC
I've tested UT2k3 and UT2k4 with latest DRI and DRM CVS with S3TC on r200, dual Athlon MP. 
 
All "shock rife lockups" are gone. 
 
GREAT work. 
Comment 11 Maggioni Marcello 2004-10-07 05:58:28 UTC
The fix is included in the CVS or there's only that patch? (That Roland doesn't
consider a fix)

Thanks
Comment 12 Dieter Nützel 2004-10-07 06:46:24 UTC
> The fix is included in the CVS 
 
No. 
 
> or there's only that patch? 
 
Yes. 
 
> (That Roland doesn't consider a fix) 
 
Yes, it is a 'test' patch only to get clue what's wrong. 
Comment 13 Maggioni Marcello 2004-10-07 07:18:53 UTC
Ok, so finally we have a clue on what's wrong with Shock Rifle , so now in few
time we could have a "real" fix for this , right? :)
Comment 14 Roland Scheidegger 2004-10-07 16:08:19 UTC
(In reply to comment #13)
> Ok, so finally we have a clue on what's wrong with Shock Rifle , so now in few
> time we could have a "real" fix for this , right? :)
It's only a slight clue, unfortunately - Yes the lockup is somehow related to
the r200 texture sampling bugs and their workarounds. This hack specifically
caused workaround #1 to be never triggered and workaround #2 to be always
triggered. Could you try with R200_MIN_FILTER_ANISO_LINEAR instead (just change
the line in the patch "t->pp_txfilter |= R200_MIN_FILTER_LINEAR |
R200_MAG_FILTER_LINEAR;" to "t->pp_txfilter |= R200_MIN_FILTER_ANISO_LINEAR |
R200_MAG_FILTER_LINEAR;", that should cause both workarounds to be triggered
(though I suspect that won't lockup neither).
Also, could you try (after reverting those hacks) to change "dbg = 0x0" to "dbg
= 0x6" (right below the "Texture cache LRU hang workaround" comment). I have no
idea what this LRU hang workaround does, it might hurt texturing performance or
it might not work at all if it's applied unconditionally, no idea really, I'm
just fishing in the dark.
Comment 15 Garry Reisky 2004-10-07 16:25:55 UTC
I just applied this patch. I can fire the shock rifle now without the freeze! So
far so good. I just played one level. I'll try more levels but this fix/hack is
working.
Comment 16 John Lightsey 2004-10-07 19:41:39 UTC
Both of the suggestions, R200_MIN_FILTER_ANISO_LINEAR and removing the patch and
trying "dbg = 0x6", eliminate the shock rifle lockups in UT2K4.
Comment 17 penguinista 2004-10-07 22:12:47 UTC
I can confirm that using "dbg = 0x6" does indeed eliminate the shock rifle lockup 
with my 8500. :) 
 
Comment 18 Eric Anholt 2004-10-08 00:45:36 UTC
dbg = 0x06 doesn't seem to help here.  After a lockup in original UT, I started
playing some ut2k4demo.  I'm now staring at a hung computer with a shiny shock
rifle blast across the screen.
Comment 19 Maggioni Marcello 2004-10-08 06:44:46 UTC
dbg=0x6 here solves the issue , and I don't have particular performance losses .

This have some others drawbacks?
Comment 20 Dieter Nützel 2004-10-08 08:45:00 UTC
dbg=0x6 here solves the issue, too. 
r200, Radeon 8500 QL 
 
Tested with UT2k3 & UT2k4, but all without TCL (!???) due to latest DRI CVS changes (S3TC). 
Comment 21 Dieter Nützel 2004-10-08 09:45:31 UTC
dbg=0x6 is fine even with TCL. 
r200, Radeon 8500 QL  
  
Tested with UT2k3 & UT2k4. 
Comment 22 Maggioni Marcello 2004-10-08 15:11:29 UTC
Finally seems that we have found a solution to this , but in what does consist
this workaround?

Comment 23 Eric Anholt 2004-10-15 19:02:49 UTC
Believed to be fixed in current CVS.  Please reopen if it's still an issue.
Comment 24 Adam Jackson 2009-08-24 12:22:32 UTC
Mass version move, cvs -> git


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.