diff options
author | reveman@google.com <reveman@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-18 20:54:37 +0000 |
---|---|---|
committer | reveman@google.com <reveman@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-18 20:54:37 +0000 |
commit | 09d50362dfdeff4d370c6897890186bd48c5c63d (patch) | |
tree | 2dd2456badedae14492f4965ca204ecab38873ef /third_party | |
parent | ee429b55e3bcc64b8bbf63c1c01bbfc4f1402da2 (diff) | |
download | chromium_src-09d50362dfdeff4d370c6897890186bd48c5c63d.zip chromium_src-09d50362dfdeff4d370c6897890186bd48c5c63d.tar.gz chromium_src-09d50362dfdeff4d370c6897890186bd48c5c63d.tar.bz2 |
gpu: Add support for GLX_EXT_texture_from_pixmap extension.
Implement CHROMIUM_texture_from_image. This extension behaves just like
EXT_texture_from_pixmap but uses chromium specific image identifiers rather
than platform specific pixmap IDs.
Add IPC message for creating an image identifier using a
gfx::PluginWindowHandle. Each GPU channel maintains a different set of
images and deleting an image will cause the internal image representation
to be freed once it's no longer bound to a texture.
BUG=132342
TEST=gpu_unittests --gtest_filter=TextureInfoTest.GetLevelImage:GLES2DecoderTest.BindTexImage2DCHROMIUM:GLES2DecoderTest.ReleaseTexImage2DCHROMIUM and manual
Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=162654
Review URL: https://codereview.chromium.org/10543125
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@162784 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'third_party')
-rw-r--r-- | third_party/khronos/GLES2/gl2ext.h | 16 | ||||
-rw-r--r-- | third_party/khronos/README.chromium | 1 |
2 files changed, 17 insertions, 0 deletions
diff --git a/third_party/khronos/GLES2/gl2ext.h b/third_party/khronos/GLES2/gl2ext.h index fee1192..a452f3f 100644 --- a/third_party/khronos/GLES2/gl2ext.h +++ b/third_party/khronos/GLES2/gl2ext.h @@ -2037,6 +2037,22 @@ typedef void (GL_APIENTRYP PFNGLBINDUNIFORMLOCATIONCHROMIUM) (GLuint program, GL #endif #endif +/* GL_CHROMIUM_texture_from_image */ +#ifndef GL_CHROMIUM_texture_from_image +#define GL_CHROMIUM_texture_from_image 1 +#ifdef GL_GLEXT_PROTOTYPES +#define glBindTexImage2DCHROMIUM GLES2_GET_FUN(BindTexImage2DCHROMIUM) +#define glReleaseTexImage2DCHROMIUM GLES2_GET_FUN(ReleaseTexImage2DCHROMIUM) +#if !defined(GLES2_USE_CPP_BINDINGS) +GL_APICALL void GL_APIENTRY glBindTexImage2DCHROMIUM (GLenum target, GLint imageId); +GL_APICALL void GL_APIENTRY glReleaseTexImage2DCHROMIUM (GLenum target, GLint imageId); +#endif +#else +typedef void (GL_APIENTRYP PFNGLBINDTEXIMAGE2DCHROMIUM) (GLenum target, GLint imageId); +typedef void (GL_APIENTRYP PFNGLRELEASETEXIMAGE2DCHROMIUM) (GLenum target, GLint imageId); +#endif +#endif + #ifdef __cplusplus } #endif diff --git a/third_party/khronos/README.chromium b/third_party/khronos/README.chromium index f49e752..4128e35 100644 --- a/third_party/khronos/README.chromium +++ b/third_party/khronos/README.chromium @@ -27,6 +27,7 @@ GLES2/gl2ext.h - Added GL_CHROMIUM_copy_texture - Added GL_CHROMIUM_bind_uniform_location - Added GL_CHROMIUM_get_error_query + - Added GL_CHROMIUM_texture_from_image - Added GL_NVX_gpu_memory_info EGL/eglplatform.h - Added EGLNative*Type for Mac. |