diff options
author | sievers@chromium.org <sievers@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-28 22:04:42 +0000 |
---|---|---|
committer | sievers@chromium.org <sievers@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-28 22:04:42 +0000 |
commit | b0af4f572f1e082a876a1e87eb2933c5876e0ba0 (patch) | |
tree | dfa113ede64291cf4fd1604d992e64fb901fef79 /gpu/command_buffer/service/gles2_cmd_decoder.h | |
parent | a09ef7e5fade0f4f62157aae616f3929b8cbba53 (diff) | |
download | chromium_src-b0af4f572f1e082a876a1e87eb2933c5876e0ba0.zip chromium_src-b0af4f572f1e082a876a1e87eb2933c5876e0ba0.tar.gz chromium_src-b0af4f572f1e082a876a1e87eb2933c5876e0ba0.tar.bz2 |
External stream texture support.
This adds a GL_CHROMIUM_stream_texture extension with an abstract interface
that can be used to allow a consumer to render from a stream of textures being produced externally.
It adds the following functionality:
* GLuint glCreateStreamTextureCHROMIUM(GLuint texture)
This API takes a texture id and creates a StreamTexture object associated with the texture in the GPU process that can be implemented in a platform-specific way.
The returned handle is supposed to identify the stream endpoint. Connecting this to a producer is outside the scope of this change.
* GLvoid glDestroyStreamTextureCHROMIUM(GLuint texture)
Deletes the StreamTexture object associated with the texture and marks the texture as not special anymore.
* BindTexture() will invoke method StreamTexture::Update() if the target is GL_TEXTURE_EXTERNAL_OES and the texture is marked as 'stream texture'.
TEST=added unit tests
Review URL: http://codereview.chromium.org/7754033
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@103191 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu/command_buffer/service/gles2_cmd_decoder.h')
-rw-r--r-- | gpu/command_buffer/service/gles2_cmd_decoder.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.h b/gpu/command_buffer/service/gles2_cmd_decoder.h index 00fff76..118c27d 100644 --- a/gpu/command_buffer/service/gles2_cmd_decoder.h +++ b/gpu/command_buffer/service/gles2_cmd_decoder.h @@ -22,6 +22,7 @@ class GLSurface; namespace gpu { +class StreamTextureManager; class SurfaceManager; namespace gles2 { @@ -111,6 +112,8 @@ class GLES2Decoder : public CommonDecoder { virtual void SetSwapBuffersCallback(Callback0::Type* callback) = 0; #endif + virtual void SetStreamTextureManager(StreamTextureManager* manager) = 0; + // Get the service texture ID corresponding to a client texture ID. // If no such record is found then return false. virtual bool GetServiceTextureId(uint32 client_texture_id, |