|Summary:||r600g: Automatic mipmap generation doesn't work properly|
|Product:||Mesa||Reporter:||Gustaw Smolarczyk <wielkiegie>|
|Component:||Drivers/Gallium/r600||Assignee:||Default DRI bug account <dri-devel>|
|Status:||RESOLVED FIXED||QA Contact:|
|i915 platform:||i915 features:|
|Attachments:||short patch to test problem|
Description Gustaw Smolarczyk 2011-03-14 13:04:34 UTC
Automatic mipmap generation using glGenerateMipmap (util_gen_mipmap) fills mipmaps with wrong rendering. Piglit tests fbo-generatemipmap* are failing. Software fallback works properly, as does llvmpipe. Hardware: rv670 (HD3870), amd64 Software: kernel 2.6.38rc8, mesa from git, libdrm from git
Comment 1 Francis Whittle 2011-04-13 22:36:09 UTC
Created attachment 45598 [details] [review] short patch to test problem Can you try this patch to mesa and say if it fixes the issue?
Comment 2 Gustaw Smolarczyk 2011-04-15 00:40:53 UTC
Indeed it helps. Piglit test fbo-generatemipmap-formats is still failing, but may be unrelated problem. Basic functionality now works properly.
Comment 3 Andy Furniss 2011-04-15 04:30:30 UTC
(In reply to comment #1) > Created an attachment (id=45598) [details] > short patch to test problem > > Can you try this patch to mesa and say if it fixes the issue? It also fixes a rv670 lodbias regression - https://bugs.freedesktop.org/show_bug.cgi?id=35367
Comment 4 Francis Whittle 2011-04-16 00:08:05 UTC
Patch is strictly a work-around and a bloody hack (dripping even). Indicates there's something should be happening in the driver code that isn't. "Fixes" was a bad word choice. Anyway, I can confirm this bug on RS880 (Radeon HD 4200).
Comment 5 Alex Deucher 2011-05-05 22:57:40 UTC
This should be fixed by the following patches: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d116fe51c1aee3453290ac30ffe993bc131c53f7 http://cgit.freedesktop.org/mesa/mesa/commit/?id=5066f7cd0e010db46b42f8f08a33c10cb34f8726 http://cgit.freedesktop.org/mesa/mesa/commit/?id=bf7a3ddca6fcc73eebdd9afdc45a485b38477bd9
Comment 6 Francis Whittle 2011-05-11 02:00:42 UTC
Still doesn't work on RS880 until it's added to the conditional on line 813 of r600_hw_context.c I wonder if this should apply to rv620, rv635 (and rs780?) also?
Comment 7 Alex Deucher 2011-05-11 09:15:29 UTC
fixed in b9f2750900efb2667bc1dfc428b71d8a08b212be. rv610/630/620/635 all work fine without the additional hack.