opengles emulator: 2.0: handle texture=0 on glFramebufferTexture2D
texture=0 has a special meaning - detach texture. Therefore we should pass
it on as 0 rather than look for the global name in the name space.
Change-Id: If7d0174a7fd07fc13a75430312b605497653f01b
diff --git a/tools/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp b/tools/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp
index 69781f1..4439782 100644
--- a/tools/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp
+++ b/tools/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp
@@ -612,10 +612,18 @@
GLESv2Validate::framebufferAttachment(attachment)),GL_INVALID_ENUM);
SET_ERROR_IF(level != 0, GL_INVALID_VALUE);
- if(ctx->shareGroup().Ptr()) {
+ if(texture == 0)
+ {
+ // Special case - detach texture
+ ctx->dispatcher().glFramebufferTexture2DEXT(target,attachment,textarget,0,level);
+ }
+ else
+ {
+ if(ctx->shareGroup().Ptr()) {
ObjectLocalName texname = TextureLocalName(textarget,texture);
GLuint globalTextureName = ctx->shareGroup()->getGlobalName(TEXTURE,texname);
ctx->dispatcher().glFramebufferTexture2DEXT(target,attachment,textarget,globalTextureName,level);
+ }
}
}