summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesse Hall <jessehall@google.com>2011-11-14 11:43:41 -0800
committerJesse Hall <jessehall@google.com>2011-11-18 14:11:49 -0800
commitfaaf1553cfa39c23ceb198ba7edbd46ff3a11f7a (patch)
tree1c062861a2927ad6d558c1a10d0c08ad8dedc76b
parent512ea9b6f8cc75ec74a7ab8d1c38dec201667f1e (diff)
EmuGL: set texture info from EGLImage
The EGL->GL translator implementation of glEGLImageTargetTexture2DOES was properly replacing uses of the target texture object with the texture object associated with the EGLImage in the host GL library, but wasn't updating its own info about the texture (dimensions, etc.). This broke places where the translator relied on knowing this, e.g. when implementing the GLES glDrawTexi call on top of GL glDrawArrays. Change-Id: Ia4aefd89852a2609221c56da76bfac927464c0b2
-rw-r--r--tools/emulator/opengl/host/libs/Translator/GLES_CM/GLEScmImp.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/tools/emulator/opengl/host/libs/Translator/GLES_CM/GLEScmImp.cpp b/tools/emulator/opengl/host/libs/Translator/GLES_CM/GLEScmImp.cpp
index 9ef936275..903ddac48 100644
--- a/tools/emulator/opengl/host/libs/Translator/GLES_CM/GLEScmImp.cpp
+++ b/tools/emulator/opengl/host/libs/Translator/GLES_CM/GLEScmImp.cpp
@@ -1673,6 +1673,10 @@ GL_API void GL_APIENTRY glEGLImageTargetTexture2DOES(GLenum target, GLeglImageOE
ctx->dispatcher().glBindTexture(GL_TEXTURE_2D, img->globalTexName);
TextureData *texData = getTextureTargetData(target);
SET_ERROR_IF(texData==NULL,GL_INVALID_OPERATION);
+ texData->width = img->width;
+ texData->height = img->height;
+ texData->border = img->border;
+ texData->internalFormat = img->internalFormat;
texData->sourceEGLImage = (unsigned int)image;
texData->eglImageDetach = s_eglIface->eglDetachEGLImage;
}