Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(174)

Unified Diff: gpu/command_buffer/service/gles2_cmd_decoder.cc

Issue 8060045: Use shared D3D9 texture to transport the compositor's backing buffer to the browser... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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;
}

Powered by Google App Engine
This is Rietveld 408576698