| Index: content/common/gpu/image_transport_surface_fbo_mac.mm
|
| diff --git a/content/common/gpu/image_transport_surface_fbo_mac.mm b/content/common/gpu/image_transport_surface_fbo_mac.mm
|
| index fc7e5ec4bf370933a39cd3ebca0a647539d8b82e..aab15aebbfda88b650e13866221a1936de6eb4aa 100644
|
| --- a/content/common/gpu/image_transport_surface_fbo_mac.mm
|
| +++ b/content/common/gpu/image_transport_surface_fbo_mac.mm
|
| @@ -101,6 +101,8 @@ bool ImageTransportSurfaceFBO::SetBackbufferAllocation(bool allocation) {
|
| return true;
|
| backbuffer_suggested_allocation_ = allocation;
|
| AdjustBufferAllocation();
|
| + if (!allocation)
|
| + storage_provider_->DiscardBackbuffer();
|
| return true;
|
| }
|
|
|
| @@ -130,17 +132,15 @@ bool ImageTransportSurfaceFBO::SwapBuffers() {
|
| return true;
|
| glFlush();
|
|
|
| + DCHECK(!is_swap_buffers_pending_);
|
| + is_swap_buffers_pending_ = true;
|
| +
|
| GpuHostMsg_AcceleratedSurfaceBuffersSwapped_Params params;
|
| - params.surface_handle = storage_provider_->GetSurfaceHandle();
|
| + params.surface_handle = storage_provider_->SwapBuffersAndGetSurfaceHandle();
|
| params.size = GetSize();
|
| params.scale_factor = scale_factor_;
|
| params.latency_info.swap(latency_info_);
|
| helper_->SendAcceleratedSurfaceBuffersSwapped(params);
|
| -
|
| - DCHECK(!is_swap_buffers_pending_);
|
| - is_swap_buffers_pending_ = true;
|
| -
|
| - storage_provider_->WillSwapBuffers();
|
| return true;
|
| }
|
|
|
|
|