glEnable (GL_TEXTURE_2D) and glDisable (GL_TEXTURE_2D can be called up to 8 time a frame for a simple one-window case. This is not necessary as we access the textures directly in shaders. As such, if we are running in programmable mode (eg GL::shaders) these calls can be removed. Since they are effective, the driver will not stop us from setting the value once we have the context, so its just wasted time in libGL and on the GPU.
Additional info:
The plugins animationaddon (currently disabled), bench, ezoom, firepaint, showmouse, water
and wizard are enabling/disabling GL_TEXTURE_2D.
Testing those plugins (with those calls removed) shows:
bench : seems to need those calls, graphics are broken without them
ezoom : no problems detected, everything works perfectly
firepaint: no change in behaviour detected, seems okay
showmouse: no problems at all
water : no change in behaviour, seems okay
wizard : visual errors occur (still needs GLES conversion)
This bug was fixed in the package compiz - 1:0.9.10+ 13.10.20130822- 0ubuntu1
--------------- 10+13.10. 20130822- 0ubuntu1) saucy; urgency=low
compiz (1:0.9.
[ Sam Spilsbury ]
* Bump version to 0.9.10
[ Łukasz 'sil2100' Zemczak ] patches/ unity_support_ test.patch:
* Remove debian/
- Running the support test from compiz has bad side effects, from now
on we run it from Xsession.d
* Automatic snapshot from revision 3644
[ Iven Hsu ] bridge. h private. See: lists.freedeskt op.org/ archives/ compiz/ 2013-March/ 003479. html
* Opacify: Only dim the windows above the active window.(LP:
#1189374). (LP: #1189374)
* KWD: Fix compile errors with KDE 4.11. The KWin developers made
kdecoration
http://
(LP: #1193792). (LP: #1193792)
[ Nikolay Martynov ]
* When static switcher is enabled and has an option to show
application icon turned on the icons are expected to be ~1/3 of a
thumbnail (48px). Instead they are displayed in 512px size and
completely cover everything. This change addresses this issue. See
LP #1173914. (LP: #1173914, #1186426)
[ BryanFRitt ]
* Fixed the non-working Annotate 'Clear' Button. Moved this option's
CCSM position upwards to keep the button shortcuts together. (LP:
#1202907). (LP: #1202907)
[ Mehrdad Afshari ]
* Added "move window to previous monitor" feature to compiz Put
plugin. (LP: #1178581)
[ Hu Kang ] decorator: destroy action menu when any of the (close, include/ core/logmessage .h (LP:
* gtk-window-
min, max) buttons on the title bar is pressed. (LP: #1101648)
* Remove redundant src/logmessage/
#1067246). (LP: #1067246)
[ Steve Langasek ]
* Fix for bug #763148 (with added test cases): when the desktop is
resized, windows should stay on their original workspace. (LP:
#763148)
[ Brandon Schaefer ] ameExtents instead. Now the window will always be
* Unrevert 3728, fix failing tests. Change the behaviour of
undecorating windows. Previously when a window was undecorated, we
would shift it back to an appropriate position according to its
gravity member. That behaviour was problematic because in the
StaticGravity case the window has to just stay in the same place.
But then if you had a window with StaticGravity which then did get a
decoration and later removed it, it would be placed as though it was
decorated and appear to be in the wrong place. The correct behaviour
is to place all windows as though they have decorations, and then
when decorations are removed, to move the window back to the corner
as indicated in its gravity and then expand its size to cover the
obscured regions no longer hidden because the decorations went away.
(LP: #1165343). 1. Completely remove decorOffsetMove and other
related code from decor.cpp. Put the logic to handle the
window->input () - window->border () placement offset inside of
setWindowFr
offset from its original non-decorated position to the new
decorated position, rather than having to guess between
decoration sizes. 2. Make saveGeometry and restoreGeometry work
relative to window->border () a...