summaryrefslogtreecommitdiffstats
path: root/third_party
diff options
context:
space:
mode:
authorreveman@google.com <reveman@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-18 20:54:37 +0000
committerreveman@google.com <reveman@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-18 20:54:37 +0000
commit09d50362dfdeff4d370c6897890186bd48c5c63d (patch)
tree2dd2456badedae14492f4965ca204ecab38873ef /third_party
parentee429b55e3bcc64b8bbf63c1c01bbfc4f1402da2 (diff)
downloadchromium_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.h16
-rw-r--r--third_party/khronos/README.chromium1
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.