diff options
author | Jamie Gennis <jgennis@google.com> | 2011-09-28 12:13:31 -0700 |
---|---|---|
committer | Jamie Gennis <jgennis@google.com> | 2011-09-30 14:19:41 -0700 |
commit | fb1b5a2f333800574b0da435d1200cf9b13d723f (patch) | |
tree | e3d0267c2cdbcae5b5efd9404c69fe1ecaa84583 /include | |
parent | 779503fb2890cd23a972c1bd0748f497765d6437 (diff) | |
download | frameworks_native-fb1b5a2f333800574b0da435d1200cf9b13d723f.zip frameworks_native-fb1b5a2f333800574b0da435d1200cf9b13d723f.tar.gz frameworks_native-fb1b5a2f333800574b0da435d1200cf9b13d723f.tar.bz2 |
SurfaceTexture: parameterize the texture target
This change adds a hack to allow Android Browser to use a SurfaceTexture
to stream RGBA images to a GL_TEXTURE_2D texture object.
Change-Id: Idb90064d5d4b920959ef3be7451362ac5012460e
Diffstat (limited to 'include')
-rw-r--r-- | include/gui/SurfaceTexture.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/include/gui/SurfaceTexture.h b/include/gui/SurfaceTexture.h index 926eb9a..e2d6179 100644 --- a/include/gui/SurfaceTexture.h +++ b/include/gui/SurfaceTexture.h @@ -20,6 +20,7 @@ #include <EGL/egl.h> #include <EGL/eglext.h> #include <GLES2/gl2.h> +#include <GLES2/gl2ext.h> #include <gui/ISurfaceTexture.h> @@ -61,7 +62,8 @@ public: // tex indicates the name OpenGL texture to which images are to be streamed. // This texture name cannot be changed once the SurfaceTexture is created. - SurfaceTexture(GLuint tex, bool allowSynchronousMode = true); + SurfaceTexture(GLuint tex, bool allowSynchronousMode = true, + GLenum texTarget = GL_TEXTURE_EXTERNAL_OES); virtual ~SurfaceTexture(); @@ -458,6 +460,14 @@ private: // member variables are accessed. mutable Mutex mMutex; + // mTexTarget is the GL texture target with which the GL texture object is + // associated. It is set in the constructor and never changed. It is + // almost always GL_TEXTURE_EXTERNAL_OES except for one use case in Android + // Browser. In that case it is set to GL_TEXTURE_2D to allow + // glCopyTexSubImage to read from the texture. This is a hack to work + // around a GL driver limitation on the number of FBO attachments, which the + // browser's tile cache exceeds. + const GLenum mTexTarget; }; // ---------------------------------------------------------------------------- |