diff options
author | reveman@chromium.org <reveman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-18 05:15:50 +0000 |
---|---|---|
committer | reveman@chromium.org <reveman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-18 05:15:50 +0000 |
commit | f4ba36512524dc3150261942ec9a89b4dfb7364a (patch) | |
tree | e9f7e293728188a158b4156a03eb713f5eeebada /third_party/khronos | |
parent | fcb0f644c83064a695588aa74d755aff74a51286 (diff) | |
download | chromium_src-f4ba36512524dc3150261942ec9a89b4dfb7364a.zip chromium_src-f4ba36512524dc3150261942ec9a89b4dfb7364a.tar.gz chromium_src-f4ba36512524dc3150261942ec9a89b4dfb7364a.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
Review URL: https://chromiumcodereview.appspot.com/10543125
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@162654 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'third_party/khronos')
-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. |