| 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 26c80f20f131a7315bd8ab6d504ab44329779c1f..a51f4b157316c73175abc645df5c5e44b44ac93a 100644
|
| --- a/gpu/command_buffer/service/gles2_cmd_decoder.cc
|
| +++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc
|
| @@ -589,6 +589,10 @@ class GLES2DecoderImpl : public base::SupportsWeakPtr<GLES2DecoderImpl>,
|
| const base::Callback<void(gfx::Size)>& callback);
|
|
|
| virtual void SetMsgCallback(const MsgCallback& callback);
|
| + virtual void SetDiscardBackbufferCallback(
|
| + const DiscardBackbufferCallback& callback);
|
| + virtual void SetEnsureBackbufferCallback(
|
| + const EnsureBackbufferCallback& callback);
|
|
|
| virtual void SetStreamTextureManager(StreamTextureManager* manager);
|
| virtual bool GetServiceTextureId(uint32 client_texture_id,
|
| @@ -1525,6 +1529,8 @@ class GLES2DecoderImpl : public base::SupportsWeakPtr<GLES2DecoderImpl>,
|
| base::Callback<void(gfx::Size)> resize_callback_;
|
|
|
| MsgCallback msg_callback_;
|
| + DiscardBackbufferCallback discard_backbuffer_callback_;
|
| + EnsureBackbufferCallback ensure_backbuffer_callback_;
|
|
|
| StreamTextureManager* stream_texture_manager_;
|
|
|
| @@ -2754,6 +2760,16 @@ void GLES2DecoderImpl::SetMsgCallback(const MsgCallback& callback) {
|
| msg_callback_ = callback;
|
| }
|
|
|
| +void GLES2DecoderImpl::SetDiscardBackbufferCallback(
|
| + const DiscardBackbufferCallback& callback) {
|
| + discard_backbuffer_callback_ = callback;
|
| +}
|
| +
|
| +void GLES2DecoderImpl::SetEnsureBackbufferCallback(
|
| + const EnsureBackbufferCallback& callback) {
|
| + ensure_backbuffer_callback_ = callback;
|
| +}
|
| +
|
| void GLES2DecoderImpl::SetStreamTextureManager(StreamTextureManager* manager) {
|
| stream_texture_manager_ = manager;
|
| }
|
| @@ -8410,6 +8426,22 @@ void GLES2DecoderImpl::DoTexStorage2DEXT(
|
| }
|
| }
|
|
|
| +error::Error GLES2DecoderImpl::HandleDiscardBackbufferCHROMIUM(
|
| + uint32 immediate_data_size, const gles2::DiscardBackbufferCHROMIUM& c) {
|
| + TRACE_EVENT0("gpu", "glDiscardBackbuffer");
|
| + if (!discard_backbuffer_callback_.is_null())
|
| + discard_backbuffer_callback_.Run();
|
| + return error::kNoError;
|
| +}
|
| +
|
| +error::Error GLES2DecoderImpl::HandleEnsureBackbufferCHROMIUM(
|
| + uint32 immediate_data_size, const gles2::EnsureBackbufferCHROMIUM& c) {
|
| + TRACE_EVENT0("gpu", "glEnsureBackbuffer");
|
| + if (!ensure_backbuffer_callback_.is_null())
|
| + ensure_backbuffer_callback_.Run();
|
| + return error::kNoError;
|
| +}
|
| +
|
| // Include the auto-generated part of this file. We split this because it means
|
| // we can easily edit the non-auto generated parts right here in this file
|
| // instead of having to edit some template or the code generator.
|
|
|