| Index: gpu/command_buffer/service/gles2_cmd_decoder.cc
|
| ===================================================================
|
| --- gpu/command_buffer/service/gles2_cmd_decoder.cc (revision 106500)
|
| +++ gpu/command_buffer/service/gles2_cmd_decoder.cc (working copy)
|
| @@ -507,6 +507,7 @@
|
| virtual bool ResizeOffscreenFrameBuffer(const gfx::Size& size);
|
| void UpdateParentTextureInfo();
|
| virtual bool MakeCurrent();
|
| + virtual void ReleaseCurrent();
|
| virtual GLES2Util* GetGLES2Util() { return &util_; }
|
| virtual gfx::GLContext* GetGLContext() { return context_.get(); }
|
| virtual gfx::GLSurface* GetGLSurface() { return surface_.get(); }
|
| @@ -514,9 +515,7 @@
|
|
|
| virtual void SetResizeCallback(Callback1<gfx::Size>::Type* callback);
|
|
|
| -#if defined(OS_MACOSX)
|
| virtual void SetSwapBuffersCallback(Callback0::Type* callback);
|
| -#endif
|
|
|
| virtual void SetStreamTextureManager(StreamTextureManager* manager);
|
| virtual bool GetServiceTextureId(uint32 client_texture_id,
|
| @@ -1324,9 +1323,7 @@
|
|
|
| scoped_ptr<Callback1<gfx::Size>::Type> resize_callback_;
|
|
|
| -#if defined(OS_MACOSX)
|
| scoped_ptr<Callback0::Type> swap_buffers_callback_;
|
| -#endif
|
|
|
| StreamTextureManager* stream_texture_manager_;
|
|
|
| @@ -2223,6 +2220,11 @@
|
| return result;
|
| }
|
|
|
| +void GLES2DecoderImpl::ReleaseCurrent() {
|
| + if (context_.get())
|
| + context_->ReleaseCurrent(surface_.get());
|
| +}
|
| +
|
| void GLES2DecoderImpl::RestoreCurrentRenderbufferBindings() {
|
| glBindRenderbufferEXT(
|
| GL_RENDERBUFFER,
|
| @@ -2371,11 +2373,9 @@
|
| resize_callback_.reset(callback);
|
| }
|
|
|
| -#if defined(OS_MACOSX)
|
| void GLES2DecoderImpl::SetSwapBuffersCallback(Callback0::Type* callback) {
|
| swap_buffers_callback_.reset(callback);
|
| }
|
| -#endif
|
|
|
| void GLES2DecoderImpl::SetStreamTextureManager(StreamTextureManager* manager) {
|
| stream_texture_manager_ = manager;
|
| @@ -6851,11 +6851,10 @@
|
| // 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,
|
| @@ -6876,11 +6875,10 @@
|
|
|
| // 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 {
|
| @@ -6891,11 +6889,9 @@
|
| }
|
| }
|
|
|
| -#if defined(OS_MACOSX)
|
| if (swap_buffers_callback_.get()) {
|
| swap_buffers_callback_->Run();
|
| }
|
| -#endif
|
|
|
| return error::kNoError;
|
| }
|
|
|