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; |
} |