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

Side by Side Diff: content/common/gpu/image_transport_surface_fbo_mac.mm

Issue 615503004: Remove TextureImageTransportSurface (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: NOTREACHED -> NOTIMPLEMENTED Created 6 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/common/gpu/image_transport_surface_fbo_mac.h" 5 #include "content/common/gpu/image_transport_surface_fbo_mac.h"
6 6
7 #include "content/common/gpu/gpu_messages.h" 7 #include "content/common/gpu/gpu_messages.h"
8 #include "content/common/gpu/image_transport_surface_calayer_mac.h" 8 #include "content/common/gpu/image_transport_surface_calayer_mac.h"
9 #include "content/common/gpu/image_transport_surface_iosurface_mac.h" 9 #include "content/common/gpu/image_transport_surface_iosurface_mac.h"
10 #include "ui/base/cocoa/remote_layer_api.h" 10 #include "ui/base/cocoa/remote_layer_api.h"
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 49
50 if (!helper_->Initialize()) 50 if (!helper_->Initialize())
51 return false; 51 return false;
52 52
53 helper_->stub()->AddDestructionObserver(this); 53 helper_->stub()->AddDestructionObserver(this);
54 return true; 54 return true;
55 } 55 }
56 56
57 void ImageTransportSurfaceFBO::Destroy() { 57 void ImageTransportSurfaceFBO::Destroy() {
58 DestroyFramebuffer(); 58 DestroyFramebuffer();
59
60 helper_->Destroy();
61 } 59 }
62 60
63 bool ImageTransportSurfaceFBO::DeferDraws() { 61 bool ImageTransportSurfaceFBO::DeferDraws() {
64 storage_provider_->WillWriteToBackbuffer(); 62 storage_provider_->WillWriteToBackbuffer();
65 // We should not have a pending send when we are drawing the next frame. 63 // We should not have a pending send when we are drawing the next frame.
66 DCHECK(!is_swap_buffers_send_pending_); 64 DCHECK(!is_swap_buffers_send_pending_);
67 return false; 65 return false;
68 } 66 }
69 67
70 bool ImageTransportSurfaceFBO::IsOffscreen() { 68 bool ImageTransportSurfaceFBO::IsOffscreen() {
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
104 AdjustBufferAllocation(); 102 AdjustBufferAllocation();
105 } 103 }
106 104
107 void ImageTransportSurfaceFBO::AdjustBufferAllocation() { 105 void ImageTransportSurfaceFBO::AdjustBufferAllocation() {
108 // On mac, the frontbuffer and backbuffer are the same buffer. The buffer is 106 // On mac, the frontbuffer and backbuffer are the same buffer. The buffer is
109 // free'd when both the browser and gpu processes have Unref'd the IOSurface. 107 // free'd when both the browser and gpu processes have Unref'd the IOSurface.
110 if (!backbuffer_suggested_allocation_ && 108 if (!backbuffer_suggested_allocation_ &&
111 !frontbuffer_suggested_allocation_ && 109 !frontbuffer_suggested_allocation_ &&
112 has_complete_framebuffer_) { 110 has_complete_framebuffer_) {
113 DestroyFramebuffer(); 111 DestroyFramebuffer();
114 helper_->Suspend();
115 } else if (backbuffer_suggested_allocation_ && !has_complete_framebuffer_) { 112 } else if (backbuffer_suggested_allocation_ && !has_complete_framebuffer_) {
116 CreateFramebuffer(); 113 CreateFramebuffer();
117 } 114 }
118 } 115 }
119 116
120 bool ImageTransportSurfaceFBO::SwapBuffers() { 117 bool ImageTransportSurfaceFBO::SwapBuffers() {
121 DCHECK(backbuffer_suggested_allocation_); 118 DCHECK(backbuffer_suggested_allocation_);
122 if (!frontbuffer_suggested_allocation_) 119 if (!frontbuffer_suggested_allocation_)
123 return true; 120 return true;
124 glFlush(); 121 glFlush();
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after
313 return; 310 return;
314 } 311 }
315 312
316 has_complete_framebuffer_ = true; 313 has_complete_framebuffer_ = true;
317 314
318 glBindTexture(GL_TEXTURE_RECTANGLE_ARB, previous_texture_id); 315 glBindTexture(GL_TEXTURE_RECTANGLE_ARB, previous_texture_id);
319 // The FBO remains bound for this GL context. 316 // The FBO remains bound for this GL context.
320 } 317 }
321 318
322 } // namespace content 319 } // namespace content
OLDNEW
« no previous file with comments | « content/common/gpu/image_transport_surface_android.cc ('k') | content/common/gpu/image_transport_surface_mac.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698