mirror of
https://github.com/MobileGL-Dev/MobileGL
synced 2026-11-07 01:53:24 +09:00
GL_TEXTURE_EXTERNAL_OES had a target of its own but nothing behind it: the texture factory had no row for it (the compositor died on "Unimplemented texture type" the moment it bound one), the attach path had no upload target for 0x8D65 (validation failed, the attachment was never recorded and the compositor read GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT), and nothing downstream could tell an imported texture from an ordinary one. An external texture is now a TextureObject2D created with the TextureExternalOES target, attached through the 2D upload target - which the three framebuffer-texture validations accept for an external object - and the target crosses the pipe (TexExternalOES maps back on the server) so the render server can recognise it. To the driver it stays a 2D texture: MapToBackendTextureTarget folds it to Texture2D like the other targets ES does not have.