After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 627087 - Mipmap emulation not working
Mipmap emulation not working
Status: RESOLVED FIXED
Product: mutter
Classification: Core
Component: general
unspecified
Other Linux
: Normal normal
: ---
Assigned To: mutter-maint
mutter-maint
Depends on:
Blocks:
 
 
Reported: 2010-08-16 21:19 UTC by Owen Taylor
Modified: 2010-08-18 18:03 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Always use mipmap emulation (6.95 KB, patch)
2010-08-17 21:39 UTC, Owen Taylor
committed Details | Review

Description Owen Taylor 2010-08-16 21:19:56 UTC
Since the upgrade to 1.4, we aren't using emulated mipmaps anymore => ugly.

Presumably the hack looking at texture quality broke. We could try to figure out a new hack, but hopefully the Clutter people will give us a proper fix.

See:

 http://bugzilla.clutter-project.org/show_bug.cgi?id=1877
Comment 1 Owen Taylor 2010-08-17 21:39:43 UTC
Created attachment 168141 [details] [review]
Always use mipmap emulation

Rather than trying to find out from Clutter whether mipmap generation
can be used together with texture_from_pixmap, just always assume
it can't and use the MutterTextureTower emulation code.

This fixes a problem with our previous hack for doing the query
no longer working. In the rare cases where mipmap generation
is supported, it is unlikely to produce significantly more efficient
or better looking results than the emulation. (In terms of efficiency,
we have better knowledge of when we need to update the lower mipmaps
and when we don't than CoglTexturePixmapX11.)

Some care is taken so mutter_shaped_texture_set_create_mipmaps() works
when changed on the fly and properly discards the old mipmap levels.
This isn't necesary currently, since it can only be controlled via
envvar, but is easier than future-proofing through documentation.
Comment 2 drago01 2010-08-18 17:59:08 UTC
Review of attachment 168141 [details] [review]:

The code looks fine, I did a quick test on my NVIDIA system (which does support mipmaps with TFP), and I couldn't spot any visual difference (that is noticeable to me).
Not sure about efficiency but I doubt there is a noticeable difference either.
Comment 3 Owen Taylor 2010-08-18 18:03:00 UTC
Attachment 168141 [details] pushed as c9ebc0e - Always use mipmap emulation