OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 #ifndef UI_ACCELERATED_WIDGET_MAC_IO_SURFACE_LAYER_H_ | 5 #ifndef UI_ACCELERATED_WIDGET_MAC_IO_SURFACE_LAYER_H_ |
6 #define UI_ACCELERATED_WIDGET_MAC_IO_SURFACE_LAYER_H_ | 6 #define UI_ACCELERATED_WIDGET_MAC_IO_SURFACE_LAYER_H_ |
7 | 7 |
8 #import <Cocoa/Cocoa.h> | 8 #import <Cocoa/Cocoa.h> |
9 | 9 |
10 #include "base/mac/scoped_cftyperef.h" | 10 #include "base/mac/scoped_cftyperef.h" |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
102 // new content to draw. | 102 // new content to draw. |
103 uint64 did_not_draw_counter_; | 103 uint64 did_not_draw_counter_; |
104 | 104 |
105 // Set when inside a BeginPumpingFrames/EndPumpingFrames block. | 105 // Set when inside a BeginPumpingFrames/EndPumpingFrames block. |
106 bool is_pumping_frames_; | 106 bool is_pumping_frames_; |
107 | 107 |
108 // The browser places back-pressure on the GPU by not acknowledging swap | 108 // The browser places back-pressure on the GPU by not acknowledging swap |
109 // calls until they appear on the screen. This can lead to hangs if the | 109 // calls until they appear on the screen. This can lead to hangs if the |
110 // view is moved offscreen (among other things). Prevent hangs by always | 110 // view is moved offscreen (among other things). Prevent hangs by always |
111 // acknowledging the frame after timeout of 1/6th of a second has passed. | 111 // acknowledging the frame after timeout of 1/6th of a second has passed. |
112 base::DelayTimer<IOSurfaceLayerHelper> timer_; | 112 base::DelayTimer timer_; |
113 }; | 113 }; |
114 | 114 |
115 } // namespace ui | 115 } // namespace ui |
116 | 116 |
117 // The CoreAnimation layer for drawing accelerated content. | 117 // The CoreAnimation layer for drawing accelerated content. |
118 @interface IOSurfaceLayer : CAOpenGLLayer { | 118 @interface IOSurfaceLayer : CAOpenGLLayer { |
119 @private | 119 @private |
120 scoped_refptr<ui::IOSurfaceTexture> iosurface_; | 120 scoped_refptr<ui::IOSurfaceTexture> iosurface_; |
121 scoped_refptr<ui::IOSurfaceContext> context_; | 121 scoped_refptr<ui::IOSurfaceContext> context_; |
122 | 122 |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
154 // Force a draw immediately, but only if one was requested. | 154 // Force a draw immediately, but only if one was requested. |
155 - (void)displayIfNeededAndAck; | 155 - (void)displayIfNeededAndAck; |
156 | 156 |
157 // Mark a bracket in which new frames are being pumped in a restricted nested | 157 // Mark a bracket in which new frames are being pumped in a restricted nested |
158 // run loop. | 158 // run loop. |
159 - (void)beginPumpingFrames; | 159 - (void)beginPumpingFrames; |
160 - (void)endPumpingFrames; | 160 - (void)endPumpingFrames; |
161 @end | 161 @end |
162 | 162 |
163 #endif // UI_ACCELERATED_WIDGET_MAC_IO_SURFACE_LAYER_H_ | 163 #endif // UI_ACCELERATED_WIDGET_MAC_IO_SURFACE_LAYER_H_ |
OLD | NEW |