https://bugs.freedesktop.org/show_bug.cgi?id=32296
Summary: [r300g] Screen corruption with WoW when HyperZ enabled. Product: Mesa Version: git Platform: x86 (IA32) OS/Version: Linux (All) Status: NEW Severity: normal Priority: medium Component: Drivers/Gallium/r300 AssignedTo: dri-devel@lists.freedesktop.org ReportedBy: rankincj@googlemail.com
Created an attachment (id=40990) --> (https://bugs.freedesktop.org/attachment.cgi?id=40990) Screen corruption with HyperZ enabled.
I have upgraded to the 2.6.36.2 Linux kernel, and tried to enable HyperZ for World of Warcraft using RADEON_HYPERZ=1. Upon entering the game, the bottom part of the screen is corrupt. (See attachment.)
This happens with both my RV350 and my M66. The blank area starts of correctly textured, but quickly becomes a blank area in a single colour.
https://bugs.freedesktop.org/show_bug.cgi?id=32296
--- Comment #1 from Dave Airlie airlied@freedesktop.org 2010-12-24 12:48:00 PST --- can you please retest with latest mesa master? fixed one hyper-z issue.
https://bugs.freedesktop.org/show_bug.cgi?id=32296
--- Comment #2 from Chris Rankin rankincj@googlemail.com 2010-12-25 03:26:05 PST --- (In reply to comment #1)
can you please retest with latest mesa master? fixed one hyper-z issue.
No difference, I'm afraid. I still get that blank area across the bottom of the screen. (Tested with the RV350.)
https://bugs.freedesktop.org/show_bug.cgi?id=32296
--- Comment #3 from Chris Rankin rankincj@googlemail.com 2011-01-08 15:02:19 PST --- HyperZ is now working with my M66GL (0x71D4); I'm not sure why.
The RV350 (0x4153) is still broken, but the corruption disappears if I comment out the "Fast Z clear" code in r300_clear() (r300_blit.c, lines 184-195).
Given that the RV350 doesn't support Hierarchical-Z in the first place, I'm not sure how much of HyperZ is actually left without Fast Z clears, but anyway... ;-).
https://bugs.freedesktop.org/show_bug.cgi?id=32296
--- Comment #4 from Marek Olšák maraeo@gmail.com 2011-01-08 15:39:14 PST --- None. Fast Z Clear is the only feature that's left and is required to initialize ZMASK RAM so that zbuffer compression can be used.
I know that the compression doesn't always work and I can reproduce it. But it's one of the features that are hard to fix.
https://bugs.freedesktop.org/show_bug.cgi?id=32296
--- Comment #5 from Marek Olšák maraeo@gmail.com 2011-01-24 20:59:04 PST --- Does this patch fix anything?
https://bugs.freedesktop.org/attachment.cgi?id=42432
https://bugs.freedesktop.org/show_bug.cgi?id=32296
--- Comment #6 from Fabio Pedretti fabio.ped@libero.it 2011-01-25 00:56:40 PST ---
Does this patch fix anything?
Hi, I tested this patch on my RV530 with linux 2.6.37 and current mesa git: - openarena: no corruption with or without the patch but fps went from 51.8 to 47.2 - sauerbraten: without the patch there was a colored fog and little squares of corruption; with the patch the fog disappeared but the object edges now are zigzagged and there is still some local zones of corruption
https://bugs.freedesktop.org/show_bug.cgi?id=32296
--- Comment #7 from Marek Olšák maraeo@gmail.com 2011-01-25 07:53:05 PST --- The zigzagged edges (those little deterministic squares of corruption) are a HiZ issue. Currently I am only fixing Zmask (zbuffer compression).
I've made a new patch, which contains new bug fixes and performance should no longer regress. Could you give it a try?
https://bugs.freedesktop.org/attachment.cgi?id=42464
https://bugs.freedesktop.org/show_bug.cgi?id=32296
--- Comment #8 from Fabio Pedretti fabio.ped@libero.it 2011-01-25 08:14:42 PST --- (In reply to comment #7)
This patch improved a lot. Openarena is still fast as before. Corruption on sauerbraten is almost fixed (other than object edges), there are however still some little white clouds in some zones.
https://bugs.freedesktop.org/show_bug.cgi?id=32296
--- Comment #9 from Marek Olšák maraeo@gmail.com 2011-01-25 08:37:46 PST --- Could you possibly attach screenshots of the corruptions you are seeing?
https://bugs.freedesktop.org/show_bug.cgi?id=32296
--- Comment #10 from Fabio Pedretti fabio.ped@libero.it 2011-01-25 08:49:19 PST --- Created an attachment (id=42472) --> (https://bugs.freedesktop.org/attachment.cgi?id=42472) sauerbraten screenshot with second patch
Note that the clouds appears mostly when moving your player. When he's stopped they are smaller, fewer and mostly only visible near edges, like a light that's entering from the outside. The attached screenshot was taken when moving the player (the tearing line you'll see is because of this, probably the screenshot included data from two different frames).
https://bugs.freedesktop.org/show_bug.cgi?id=32296
--- Comment #11 from Chris Rankin rankincj@googlemail.com 2011-01-25 13:32:11 PST --- (In reply to comment #7)
I've made a new patch, which contains new bug fixes and performance should no longer regress. Could you give it a try?
And the corruption in WoW is now gone with my RV350 :-) !! Thanks.
https://bugs.freedesktop.org/show_bug.cgi?id=32296
--- Comment #12 from Chris Rankin rankincj@googlemail.com 2011-01-25 13:52:49 PST --- (In reply to comment #7)
I've made a new patch, which contains new bug fixes and performance should no longer regress. Could you give it a try?
I should probably mention that an RV350 is the very lowest of the low when it comes to WoW, and so I'm hardly noticing a large performance increase with HyperZ. Is there any way that I can be sure that HyperZ is actually enabled, please ;-)?
https://bugs.freedesktop.org/show_bug.cgi?id=32296
--- Comment #13 from Marek Olšák maraeo@gmail.com 2011-01-25 14:14:27 PST --- If you compile with --enable-debug, it should print the hyperz status to stderr.
https://bugs.freedesktop.org/show_bug.cgi?id=32296
--- Comment #14 from Fabio Pedretti fabio.ped@libero.it 2011-01-26 00:35:27 PST --- On testing the v3 patch at: https://bugs.freedesktop.org/show_bug.cgi?id=32945#c12 with sauerbraten I got a lockup (mouse cursor still moving but I had to reboot).
https://bugs.freedesktop.org/show_bug.cgi?id=32296
--- Comment #15 from Chris Rankin rankincj@googlemail.com 2011-01-26 15:04:37 PST --- (In reply to comment #13)
If you compile with --enable-debug, it should print the hyperz status to stderr.
RADEON_HYPERZ=1 RADEON_DEBUG=hyperz
and then I get lots of lines like:
hyper-z features: hiz: 0 @ deadbeef
RV350 has no HiZ, so that's not unexpected. The can_hyperz flag does appear to be being set as well.
https://bugs.freedesktop.org/show_bug.cgi?id=32296
--- Comment #16 from Chris Rankin rankincj@googlemail.com 2011-01-27 13:39:29 PST --- This latest commit does *not* fix the corruption with my RV350:
commit db299a9f8244d53d9041fcdbd396a77ebe1f9e3e Author: Marek Olšák maraeo@gmail.com Date: Tue Jan 25 05:37:52 2011 +0100
r300g: fix some bugs with zbuffer compression (v4)
I thought this commit was based upon the patch I tested earlier...?!
https://bugs.freedesktop.org/show_bug.cgi?id=32296
--- Comment #17 from Marek Olšák maraeo@gmail.com 2011-01-27 13:54:35 PST --- (In reply to comment #16)
It is. It's possible that some r500-specific fixes broke r300 again. I'll have a look at it tomorrow maybe.
https://bugs.freedesktop.org/show_bug.cgi?id=32296
--- Comment #18 from Marek Olšák maraeo@gmail.com 2011-01-27 16:09:45 PST --- I have fixed the 8x8 compression mode in master. It should fix the bottom of the screen being uninitialized. Please test.
https://bugs.freedesktop.org/show_bug.cgi?id=32296
--- Comment #19 from Chris Rankin rankincj@googlemail.com 2011-01-27 16:24:12 PST --- (In reply to comment #18)
I have fixed the 8x8 compression mode in master. It should fix the bottom of the screen being uninitialized. Please test.
Thanks, the latest commit:
commit 2050f2ab96f923112d3475a655b31c8f5145a800 Author: Marek Olšák maraeo@gmail.com Date: Fri Jan 28 01:01:01 2011 +0100
r300g: fix and re-enable 8x8 zbuffer compression mode
does fix things.
r300: DRM version: 2.6.0, Name: ATI RV350, ID: 0x4153, GB: 1, Z: 1 r300: GART size: 253 MB, VRAM size: 256 MB r300: AA compression: NO, Z compression: YES, HiZ: NO
https://bugs.freedesktop.org/show_bug.cgi?id=32296
Fabio Pedretti fabio.ped@libero.it changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #20 from Fabio Pedretti fabio.ped@libero.it 2011-01-28 01:00:19 PST --- I am still seeing the white clouds but I suspect they are related to the zigzagged edges which seems to be a know issue. Also no more lockups. My card:
r300: DRM version: 2.7.0, Name: ATI RV530, ID: 0x71c5, GB: 1, Z: 2 r300: GART size: 509 MB, VRAM size: 256 MB r300: AA compression: NO, Z compression: YES, HiZ: YES
Closing since Chris problem is fixed.
https://bugs.freedesktop.org/show_bug.cgi?id=32296
--- Comment #21 from Chris Rankin rankincj@googlemail.com 2011-01-29 06:47:19 PST --- Also fine for my M66GL:
r300: DRM version: 2.6.0, Name: ATI RV530, ID: 0x71d4, GB: 1, Z: 2 r300: GART size: 509 MB, VRAM size: 256 MB r300: AA compression: NO, Z compression: YES, HiZ: YES
dri-devel@lists.freedesktop.org