lp:~compiz-team/compiz/compiz.fix_1016364

Created by Sam Spilsbury and last modified
Get this branch:
bzr branch lp:~compiz-team/compiz/compiz.fix_1016364
Members of Compiz Maintainers can upload to this branch. Log in for directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Compiz Maintainers
Project:
Compiz
Status:
Development

Recent revisions

3257. By Sam Spilsbury

Fix broken mipmap support. Mipmap support was broken in the following ways:

1. glGenerateMipmapEXT is called multiple times for tfp textures
2. glGenerateMipmapEXT is called after glTexParameteri with GL_LINEAR_MIPMAP_LINEAR as the filter mode, and sometimes not called at all, which is undefined
3. We check for GL::fbo support before actually setting it from the extension lookup after glXCreateContext is called. As such, when we lookup an optimal pixmap fbconfig, we never find one that supports mipmaps, and it is merely "luck of the draw" as to whether or not we actually get one that does
4. We generate mipmaps for tfp textures even though mipmaps aren't actually supported on the config target, because we don't check priv->mipmapSupport

This generally results in white windows when mipmapping is enabled. See (LP: #1006216)

As such the following measures were implemented:
1. Virtual method to generate a mipmap, different for tfp textures as
   mipmap generation has to happen on damage there
2. Always generate mipmaps before setting texture filter
3. Do not check for GL::fbo support when checking fbconfigs for mimap support
4. Use GLTexture::mipmap () to determine if we actually can do mipmaps - this
   checks if the fbconfig supports mipmaps, that the texture is not
   an NV_TEXTURE_RECTANGLE_EXT, checks for fbo support and NPOT texture
   support

(LP: #1016364)

3256. By Daniel van Vugt

Don't waste memory leaving /bin/sh running for the lifetime of the decorator.
(LP: #1015422)

3255. By Sam Spilsbury

Fixed: Crash in compiz::wall::movementWindowOnScreen (
const CompRect &serverBorderRect, const CompRegion &screenRegion) because we
were iterating a temporary CompRect::vector which went out of scope within
the for statement. (LP: #1015151)

3254. By Sam Spilsbury

Allows us to run the tests with memcheck, so that we can catch memory errors
just by running the tests.

ctest -D ExperimentalMemCheck.

3253. By Daniel van Vugt

Start a window decorator automatically when the decor plugin starts, if none
is running already (LP: #1014461)

3252. By Sam Spilsbury

Revert change that should not have been pushed to lp:compiz

3251. By Sam Spilsbury

Actually iterate the non-temporary

3250. By Sam Spilsbury

CompRegion::rects () returns a temporary CompRect::vector so we need
to make a copy of the vector and then iterate over that.

Also remove a pointless static_cast

(LP: #1015151)

3249. By Sam Spilsbury

Fix indentation

3248. By MC Return <mcr2010@mcr2010-HP-Compaq-dc7700-Convertible-Minitower>

Added the unsupported, but fully working plug-in "workspacenames" converted from git to bzr (including history) to Compiz 0.9.8.

Merge lp:~mc-return/compiz/compiz.merge-plugin-workspacenames

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:compiz/0.9.8
This branch contains Public information 
Everyone can see this information.