Summary: | r300g with HyperZ/Z compression: occlusion queries are messed up in ut2004 (regression, bisected) | ||
---|---|---|---|
Product: | Mesa | Reporter: | almos <aaalmosss> |
Component: | Drivers/Gallium/r300 | Assignee: | Default DRI bug account <dri-devel> |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | medium | CC: | pavel.ondracka |
Version: | unspecified | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: |
possible fix
possible fix 2 piglit w/o hyperz piglit hyperz mesa 17.0.1 kernel 4.10.1 mesa 17.0.1 kernel 4.10.1 hyperz on |
Description
almos
2011-05-29 10:17:25 UTC
Created attachment 47288 [details] [review] possible fix Can you try this patch? (In reply to comment #1) > Created an attachment (id=47288) [details] > possible fix > > Can you try this patch? More things remain visible with the patch, but it doesn't fix the issue completely. Created attachment 47307 [details] [review] possible fix 2 Can you try this patch instead? (In reply to comment #3) > Created an attachment (id=47307) [details] > possible fix 2 > > Can you try this patch instead? No apparent change compared to the first fix. Now I see that I haven't mentioned that I use RADEON_HYPERZ=1. Without it there are no rendering errors. Ah ok. I don't consider Hyper-Z ready yet but thanks for testing it. > I don't consider Hyper-Z ready yet but thanks for testing it.
It is enabled by default now, is it by accident?
(In reply to comment #6) > > I don't consider Hyper-Z ready yet but thanks for testing it. > > It is enabled by default now, is it by accident? It's disabled. There are some annoying bugs and I have no clue how to fix them. (In reply to comment #6) > > I don't consider Hyper-Z ready yet but thanks for testing it. > > It is enabled by default now, is it by accident? Perhaps you mean that it always reports this? r300: AA compression RAM: YES, Z compression RAM: YES, HiZ RAM: NO It used to mean that those features are enabled, but now it means that those are available in HW. Now if hyperz is enabled, these are printed: radeon: Acquired Hyper-Z. radeon: Released Hyper-Z. (In reply to comment #8) > (In reply to comment #6) > > > I don't consider Hyper-Z ready yet but thanks for testing it. > > > > It is enabled by default now, is it by accident? > Perhaps you mean that it always reports this? > r300: AA compression RAM: YES, Z compression RAM: YES, HiZ RAM: NO > > It used to mean that those features are enabled, but now it means that those > are available in HW. Now if hyperz is enabled, these are printed: > radeon: Acquired Hyper-Z. > radeon: Released Hyper-Z. Yes, I see this: r300: DRM version: 2.8.0, Name: ATI RV530, ID: 0x71c5, GB: 1, Z: 2 r300: GART size: 509 MB, VRAM size: 256 MB r300: AA compression RAM: YES, Z compression RAM: YES, HiZ RAM: YES I didn't noticed the radeon: Acquired Hyper-Z. radeon: Released Hyper-Z. that indeed get printed when RADEON_HYPERZ=1 is set, however I also noticed that with openarena I get the same FPS with or without it. This isn't actually limited to ut2004. I did notice almost completely black scenes in Lightsmark, broken lightning and black objects in Cogs and occasional black screen in HoN with RADEON_HYPERZ=1, all broken by f76787b3eae3f0b8af839fabfb24b57715a017f6. (RV530 here) Any chance a revert can happen? The problematic commit fixes occlusion queries for some cases, so I'm sorry but I can't revert it just because it breaks an optimization which is not even enabled by default. I can take a look at the issue and see if Z compression is fixable. (In reply to comment #11) > The problematic commit fixes occlusion queries for some cases, so I'm sorry but > I can't revert it just because it breaks an optimization which is not even > enabled by default. I can take a look at the issue and see if Z compression is > fixable. OK, I see revert is not an option. It still would be nice if this could be fixed, but it's not a priority. BTW I did quick check of r300g bugs and did find only three about HyperZ including this one. This doesn't seems like a large number but it may be only a lack of testing. Is there a possibility to enable just some features on some generations? For example there are no bug reports about hiz on r500 cards... I could do more testing if needed, maybe some piglit runs. I am sure bug 35095 also affects r500. Well maybe not, I am not sure. I recall there was another bug with HiZ, which could be triggered by changing the depth function. The workaround was to flush the zbuffer cache when the depth function was changed. However flushing the cache is a very costly operation, so it wasn't even an option. I just gave up after that, because it made no ******* sense. Zbuffer cache should have nothing to with HiZ. I reverted the commit and I also fixed the bug with Lightsmark. So far everything seems to work. Maybe it's time to enable HyperZ by default? Is it enabled by default now? (In reply to cosiekvfj from comment #16) > Is it enabled by default now? IIRC the HyperZ should be enabled by default on r500 but was never enabled on r300 and r400 due to lack of testing. Created attachment 129931 [details] piglit w/o hyperz I'm testing mesa with patch for this bug: https://bugs.freedesktop.org/show_bug.cgi?id=98869 And also dri3 is related to: https://bugs.freedesktop.org/show_bug.cgi?id=99970 Test results: dri3 w/o patch 890 fps dri3 w/o patch 1113 fps hyperz=1 dri3 patch 912 fps dri3 patch 1115 hyperz=1 dri2 w/o patch 1136 dri2 w/o patch 1417 hyperz=1 dri2 patch 1138 dri2 patch 1417 hyperz=1 Created attachment 129952 [details]
piglit hyperz
Above results are from glxgears.
Is there anything else needed? If you want more tests or you want me to redo previous tests or if you are unsure about results, I'm happy to help. Created attachment 130162 [details]
mesa 17.0.1 kernel 4.10.1
Created attachment 130163 [details]
mesa 17.0.1 kernel 4.10.1 hyperz on
|
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.