Need to copy QPixmap to QImage in GLES.

The Image extension seems to need the pixmap around and that's something
we cannot guarantee in the generic case.
This commit is contained in:
Martin Gräßlin 2011-01-06 13:02:29 +01:00
parent c5c318a342
commit 61615ea7ff

View file

@ -530,25 +530,7 @@ bool GLTexture::load( const QPixmap& pixmap, GLenum target )
{
if( pixmap.isNull())
return false;
#ifdef KWIN_HAVE_OPENGLES
if( isNull() )
glGenTextures( 1, &mTexture );
mTarget = target;
bind();
const EGLint attribs[] = {
EGL_IMAGE_PRESERVED_KHR, EGL_TRUE,
EGL_NONE
};
EGLDisplay dpy = eglGetCurrentDisplay();
EGLImageKHR image = eglCreateImageKHR(dpy, EGL_NO_CONTEXT, EGL_NATIVE_PIXMAP_KHR,
(EGLClientBuffer)pixmap.handle(), attribs);
glEGLImageTargetTexture2DOES(GL_TEXTURE_2D, (GLeglImageOES)image);
eglDestroyImageKHR(dpy, image);
unbind();
return true;
#else
return load( pixmap.toImage(), target );
#endif
}
bool GLTexture::load( const QString& fileName )