Bug 31391

Summary: [RADEON:R600C] heroes of newerth crashes with cs parser error
Product: Mesa Reporter: Stephan Hilb <stephan>
Component: Drivers/DRI/R600Assignee: Default DRI bug account <dri-devel>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium CC: amaasikas, mesa-dev
Version: gitKeywords: regression
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: Patch against 82acc3b14c reverting the faulty commit

Description Stephan Hilb 2010-11-04 12:47:07 UTC
The game Heroes of Newerth (also referred to as HoN) crashes in certain circumstances with the following error message in dmesg:

[ 1797.294324] [drm:radeon_cs_parser_init] *ERROR* cs IB too big: 26607
[ 1797.294327] [drm:radeon_cs_ioctl] *ERROR* Failed to initialize parser !

It's occuring during normal gameplay in situations with high graphic workload (as far as I can tell).
I was up until recently using older libs for playing HoN with the r600 driver and thus noticed this bug as a regression.
It is possible to reproduce the bug quite reliably by following these steps:

1. Start HoN
2. Create a practice game
3. Select a slot and start the game
4. Select any hero and wait for the countdown or skip the countdown by pressing ready
5. As the game starts, open the test-menu at the top left of the screen and press the “Spawn”-button right of where it reads “Creeps” multiple times (~20-30 times). There should be spawning many creeps at your base.
6. Pan the viewport to include as many creeps as possible.
7. Press the “Kill”-button right next to the “Spawn”-button.
8. 1-2 seconds later the game crashes.
9. You notice the error messages in dmesg

Bisecting issued the following bad commit:

e62e5b0922b6554431234a8a71c7aec7cff91864 is the first bad commit
commit e62e5b0922b6554431234a8a71c7aec7cff91864
Author: Andre Maasikas <amaasikas@gmail.com>
Date:   Wed Aug 11 14:30:18 2010 +0300

    r600: add support for draw_elements_base_vertex
    
    use VTX_BASE_VTX_LOC for offset, last time using INDEX_OFFSET was
    probably a wrong register for this

:040000 040000 2daa2236ba96c969c80cd62b1199d0eacb56ecce 376ee1345c8cbbb51c2b1c36cb7adafac276d5d6 M	src

I tried to the best of my ability to manually revert the commit and it proved to be the cause of the bug.
I'm running mesa-git right now with that commit manually reverted and HoN is running fine.

Note: This might be the same bug as described in this comment: https://bugs.freedesktop.org/show_bug.cgi?id=25114#c7

Let me know if there is any information missing.
Comment 1 Stephan Hilb 2011-01-07 11:47:51 UTC
Created attachment 41760 [details] [review]
Patch against 82acc3b14c reverting the faulty commit
Comment 2 Jerome Glisse 2011-03-07 11:48:46 UTC
Does r600g works ?
Comment 3 Stephan Hilb 2011-03-08 03:38:30 UTC
Apart from some other rendering bugs, there is no crash with r600g.

This bug does only occur with r600c.
Comment 4 Jerome Glisse 2011-03-08 11:13:46 UTC
Ok closing as we don't care about r600c

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.