Bug 35312 - r600g: Automatic mipmap generation doesn't work properly
Summary: r600g: Automatic mipmap generation doesn't work properly
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/Gallium/r600 (show other bugs)
Version: git
Hardware: Other All
: medium normal
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-03-14 13:04 UTC by Gustaw Smolarczyk
Modified: 2011-05-11 09:15 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
short patch to test problem (576 bytes, patch)
2011-04-13 22:36 UTC, Francis Whittle
Details | Splinter Review

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 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.


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.