| Index: gpu/command_buffer/service/gles2_cmd_decoder.cc
|
| ===================================================================
|
| --- gpu/command_buffer/service/gles2_cmd_decoder.cc (revision 98655)
|
| +++ gpu/command_buffer/service/gles2_cmd_decoder.cc (working copy)
|
| @@ -477,7 +477,11 @@
|
| virtual ContextGroup* GetContextGroup() { return group_.get(); }
|
|
|
| virtual void SetResizeCallback(Callback1<gfx::Size>::Type* callback);
|
| +
|
| +#if defined(OS_MACOSX)
|
| virtual void SetSwapBuffersCallback(Callback0::Type* callback);
|
| +#endif
|
| +
|
| virtual bool GetServiceTextureId(uint32 client_texture_id,
|
| uint32* service_texture_id);
|
|
|
| @@ -1284,7 +1288,10 @@
|
| GLenum offscreen_saved_color_format_;
|
|
|
| scoped_ptr<Callback1<gfx::Size>::Type> resize_callback_;
|
| +
|
| +#if defined(OS_MACOSX)
|
| scoped_ptr<Callback0::Type> swap_buffers_callback_;
|
| +#endif
|
|
|
| // The format of the back buffer_
|
| GLenum back_buffer_color_format_;
|
| @@ -2280,9 +2287,11 @@
|
| resize_callback_.reset(callback);
|
| }
|
|
|
| +#if defined(OS_MACOSX)
|
| void GLES2DecoderImpl::SetSwapBuffersCallback(Callback0::Type* callback) {
|
| swap_buffers_callback_.reset(callback);
|
| }
|
| +#endif
|
|
|
| bool GLES2DecoderImpl::GetServiceTextureId(uint32 client_texture_id,
|
| uint32* service_texture_id) {
|
| @@ -6580,9 +6589,11 @@
|
| // For multisampled buffers, bind the resolved frame buffer so that
|
| // callbacks can call ReadPixels or CopyTexImage2D.
|
| ScopedResolvedFrameBufferBinder binder(this, true, false);
|
| +#if defined(OS_MACOSX)
|
| if (swap_buffers_callback_.get()) {
|
| swap_buffers_callback_->Run();
|
| }
|
| +#endif
|
| return error::kNoError;
|
| } else {
|
| ScopedFrameBufferBinder binder(this,
|
| @@ -6603,9 +6614,11 @@
|
|
|
| // Run the callback with |binder| in scope, so that the callback can call
|
| // ReadPixels or CopyTexImage2D.
|
| +#if defined(OS_MACOSX)
|
| if (swap_buffers_callback_.get()) {
|
| swap_buffers_callback_->Run();
|
| }
|
| +#endif
|
| return error::kNoError;
|
| }
|
| } else {
|
| @@ -6616,9 +6629,11 @@
|
| }
|
| }
|
|
|
| +#if defined(OS_MACOSX)
|
| if (swap_buffers_callback_.get()) {
|
| swap_buffers_callback_->Run();
|
| }
|
| +#endif
|
|
|
| return error::kNoError;
|
| }
|
|
|