| 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 6c6e4e475f03b975e2009fd97af12f35f8933c82..8510f85761ecf4fc815ee8b20c3ac930bf7e3cc7 100644
|
| --- a/gpu/command_buffer/service/gles2_cmd_decoder.cc
|
| +++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc
|
| @@ -521,6 +521,7 @@ class GLES2DecoderImpl : public base::SupportsWeakPtr<GLES2DecoderImpl>,
|
| const base::Callback<void(gfx::Size)>& callback);
|
|
|
| virtual void SetSwapBuffersCallback(const base::Closure& callback);
|
| + virtual void SetMsgCallback(const MsgCallback& callback);
|
|
|
| virtual void SetStreamTextureManager(StreamTextureManager* manager);
|
| virtual bool GetServiceTextureId(uint32 client_texture_id,
|
| @@ -1424,6 +1425,7 @@ class GLES2DecoderImpl : public base::SupportsWeakPtr<GLES2DecoderImpl>,
|
| base::Callback<void(gfx::Size)> resize_callback_;
|
|
|
| base::Closure swap_buffers_callback_;
|
| + MsgCallback msg_callback_;
|
|
|
| StreamTextureManager* stream_texture_manager_;
|
|
|
| @@ -2593,6 +2595,10 @@ void GLES2DecoderImpl::SetSwapBuffersCallback(const base::Closure& callback) {
|
| swap_buffers_callback_ = callback;
|
| }
|
|
|
| +void GLES2DecoderImpl::SetMsgCallback(const MsgCallback& callback) {
|
| + msg_callback_ = callback;
|
| +}
|
| +
|
| void GLES2DecoderImpl::SetStreamTextureManager(StreamTextureManager* manager) {
|
| stream_texture_manager_ = manager;
|
| }
|
| @@ -4568,6 +4574,9 @@ void GLES2DecoderImpl::SetGLError(GLenum error, const char* msg) {
|
| if (msg) {
|
| last_error_ = msg;
|
| LOG(ERROR) << last_error_;
|
| + if (!msg_callback_.is_null()) {
|
| + msg_callback_.Run(0, GLES2Util::GetStringEnum(error) + " : " + msg);
|
| + }
|
| }
|
| error_bits_ |= GLES2Util::GLErrorToErrorBit(error);
|
| }
|
|
|