Commit graph

8 commits

Author SHA1 Message Date
Philipp Knechtges
87bcabdf99 kwin: improving the texture update handling
This patch changes the behavior of strictly bound textures such that
they are only updated if the corresponding window has been damaged.
Additionally GLTexture now keeps track of the current filter and
wrapmode setting.

REVIEW: 103655
2012-01-31 23:09:58 +01:00
Martin Gräßlin
fb2fbed035 Generate texture coordinates for limited NPOT support
Fixes rendering issues with R300 and similar GPUs. If the texture
uses GL_TEXTURE_RECTANGLE_ARB as target the tex coordinates need
to be adjusted. This at least fixes missing text on EffectFrames
with graphicssystem native on R300. Hopefully more issues are
resolved by the change.

BUG: 269576
CCBUG: 282882
FIXED-IN: 4.7.3
2011-10-15 14:14:44 +02:00
Philipp Knechtges
4f50a8df3c kwin: Implement "use by value" and implicit sharing for GLTexture.
Additionally:
- hide the GLTexture implementation using dpointers
- drop the unused function SceneOpenGL::Texture::optimizeBindDamage()
- Texture::load now loads a new texture and does not update the existing one

REVIEW: 101999
2011-08-14 17:08:54 +02:00
Martin Gräßlin
f5a187d224 Remove KWIN_HAVE_OPENGL from kwingl(es)utils
Yes building an OpenGL support library requires OpenGL...
2011-08-13 16:46:43 +02:00
Philipp Knechtges
ec1df109d9 kwin: cleaning up KWin::GLTexture::convertToGLFormat
Now convertToGLFormat does no longer mirror the texture, so that we can
avoid a deep copy in case we render a GL_BGRA texture on a little endian system.

REVIEW: 101739
2011-07-04 18:06:45 +02:00
Martin Gräßlin
08b2aebd30 Merge branch 'KDE/4.7'
Conflicts:
	kwin/libkwineffects/kwinglutils.cpp
	kwin/libkwineffects/kwinglutils.h
2011-07-03 09:30:38 +02:00
Martin Gräßlin
c8daeef43c Remove (en|dis)able(Un)NormalizedTexCoords from GLTexture
Those are not used anymore as makeArrays only renders normalized
texCoords and also honors the y-Inverted case.
2011-06-26 09:15:31 +02:00
Philipp Knechtges
116e024d12 kwin: moving KWin::GLTexture to a separate file 2011-06-22 13:03:36 +02:00