Index: gpu/command_buffer/service/gles2_cmd_decoder.cc |
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.cc b/gpu/command_buffer/service/gles2_cmd_decoder.cc |
index 1d366022bbbf05cdc616133fdaf42eacefb51552..4a77a18d53b3f4bec585a6033cce0df04ab60eb7 100644 |
--- a/gpu/command_buffer/service/gles2_cmd_decoder.cc |
+++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc |
@@ -643,6 +643,9 @@ class GLES2DecoderImpl : public GLES2Decoder { |
virtual void SetWaitSyncPointCallback( |
const WaitSyncPointCallback& callback) OVERRIDE; |
+ virtual void SetEncodeBackbufferCallback( |
+ const EncodeBackbufferCallback& callback) OVERRIDE; |
+ |
virtual void SetStreamTextureManager(StreamTextureManager* manager) OVERRIDE; |
virtual gfx::AsyncPixelTransferDelegate* |
@@ -1732,6 +1735,8 @@ class GLES2DecoderImpl : public GLES2Decoder { |
ShaderCacheCallback shader_cache_callback_; |
+ EncodeBackbufferCallback encode_backbuffer_callback_; |
+ |
StreamTextureManager* stream_texture_manager_; |
scoped_ptr<gfx::AsyncPixelTransferDelegate> async_pixel_transfer_delegate_; |
@@ -3120,6 +3125,11 @@ void GLES2DecoderImpl::SetWaitSyncPointCallback( |
wait_sync_point_callback_ = callback; |
} |
+void GLES2DecoderImpl::SetEncodeBackbufferCallback( |
+ const EncodeBackbufferCallback& callback) { |
+ encode_backbuffer_callback_ = callback; |
+} |
+ |
void GLES2DecoderImpl::SetStreamTextureManager(StreamTextureManager* manager) { |
stream_texture_manager_ = manager; |
} |
@@ -9254,6 +9264,14 @@ error::Error GLES2DecoderImpl::HandleWaitSyncPointCHROMIUM( |
error::kNoError : error::kDeferCommandUntilLater; |
} |
+error::Error GLES2DecoderImpl::HandleEncodeBackbufferCHROMIUM( |
+ uint32 immediate_data_size, const cmds::EncodeBackbufferCHROMIUM& c) { |
+ if (!encode_backbuffer_callback_.is_null()) |
+ encode_backbuffer_callback_.Run(); |
+ |
+ return error::kNoError; |
+} |
+ |
bool GLES2DecoderImpl::GenQueriesEXTHelper( |
GLsizei n, const GLuint* client_ids) { |
for (GLsizei ii = 0; ii < n; ++ii) { |