GNOME Bugzilla – Bug 627087
Mipmap emulation not working
Last modified: 2010-08-18 18:03:02 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
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.
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.
Attachment 168141 [details] pushed as c9ebc0e - Always use mipmap emulation