Bug 31046

Summary: [r600g, tiling] visual errors and GPU resets
Product: DRI Reporter: Tobias Jakobi <liquid.acid>
Component: DRM/RadeonAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED FIXED QA Contact:
Severity: major    
Priority: medium    
Version: DRI git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
ut2004 mipmap errors 1
none
ut2004 mipmap errors 2
none
ut2004 mipmap errors 3
none
ut2004 mipmap errors 4 none

Description Tobias Jakobi 2010-10-22 03:29:30 UTC
Hello!

Yesterday I saw with much delight that the was some new tiling code in r600g, which could be enabled with a simple envvar. So I pulled drm-radeon-testing and applied Dave's patch for the CS checker to it (this one: http://article.gmane.org/gmane.comp.video.dri.devel/51060).

However I encountered several problems with the new code (exporting R600_FORCE_TILING=1 makes a difference, so it is working to some extent:

1) ioquake3 shows lots of gfx errors. Mipmaps are affected the most (when setting r_textureMode to GL_LINEAR these problems disappear), but also small textures seem to be affected (staircases, which use small textures, are either rendered totally black or black with white stripes).

2) doom3 (demo) shows similar mipmap-related errors.

3) ut2004 is completly unplayable, I get GPU resets nearly every frame and most of the geometry is missing.

4) ut2003 kinda works, but the HUD is messed up and sprite rendering is totally broken

Going to post some snips from the kernel log later.

My hardware:
01:00.0 VGA compatible controller: ATI Technologies Inc Radeon HD 4770 [RV740]

libdrm, mesa and xf86-video-ati are all git master tip.
ColorTiling is enabled in the xorg.conf, verified this by checking the Xorg logfile.

Greets,
Tobias
Comment 1 Tobias Jakobi 2010-10-22 03:31:27 UTC
Needless to say, but I didn't see _any_ performance increase with R600_FORCE_TILING enabled. Isn't this supposed to bump the fps a lot?
Comment 2 Dave Airlie 2010-10-22 04:22:45 UTC
I didn't get a chance to test on r700 yet, there may be some more bits I need to look at, I haven't noticed a large FPS difference on my GPUs either, which is sad, but I've got a bit of work to do yet, I actually added tiling to help with s3tc rather than for the FPS boost.

btw you may also need some patches from Alex to fix the group size and any other CS checkers patch that popped up lately.
Comment 3 Tobias Jakobi 2010-10-22 05:57:43 UTC
You mean these ones?
http://article.gmane.org/gmane.comp.video.dri.devel/50968
http://article.gmane.org/gmane.comp.video.dri.devel/50966

Concerning s3tc, how exactly does tiling interact with that?
Comment 4 Tobias Jakobi 2010-10-28 16:49:17 UTC
OK, so I just found some time to retest the issues.

Again mesa, libdrm and xf86-video-ati are git master. I'm also using drm-next (not drm-r-t) this time, since it looks like it's more up to date.

However with this config mipmapping seems to be broken in all configs. I have mipmap render errors (which disappear in quake-engine based games when setting gl_texturemode to either GL_NEAREST or GL_LINEAR) with r600 classic and gallium, doesn't matter what I choose.

R600_FORCE_TILING introduced even more errors, so I switched it off again right away. But the problems with mipmaps stay.
Comment 5 Tobias Jakobi 2010-11-04 17:12:58 UTC
Now tracking the new issue in bug #31400. I'm going to return to this bug when mipmaps are working again on mesa classic.
Comment 6 Jerome Glisse 2010-12-07 12:22:23 UTC
Do you still have this issue with lastest mesa git & recent kernel+ddx
Comment 7 Tobias Jakobi 2010-12-11 12:42:06 UTC
I'm currently on vacation, so I can't test this at the moment. Will do a check when I return home.
Comment 8 Tobias Jakobi 2011-01-15 14:45:11 UTC
I have retested this with all important components updated:
Issue is no longer present for me. Forcing tiling on doesn't create any (more) major issues on quake3, doom3 and ut then without this option.

Setting this to RESOLVED, FIXED.
Comment 9 Tobias Jakobi 2011-01-19 14:12:45 UTC
After doing some thorough testing today with ut2004 I noticed that mipmaps are still affected when having R600_FORCE_TILING enabled. Going to take some screenshots later. I didn't encounter any GPU resets though, so it's just rendering errors and it seems to be limited to mipmaps.
Comment 10 Tobias Jakobi 2011-01-26 13:01:26 UTC
Created attachment 42552 [details]
ut2004 mipmap errors 1
Comment 11 Tobias Jakobi 2011-01-26 13:01:41 UTC
Created attachment 42553 [details]
ut2004 mipmap errors 2
Comment 12 Tobias Jakobi 2011-01-26 13:01:56 UTC
Created attachment 42554 [details]
ut2004 mipmap errors 3
Comment 13 Tobias Jakobi 2011-01-26 13:02:10 UTC
Created attachment 42555 [details]
ut2004 mipmap errors 4
Comment 14 Tobias Jakobi 2011-02-01 13:17:53 UTC
I'm closing this one, since the main issue has changed. Also recent tests show that fewer applications are affected.

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.