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

Side by Side Diff: ui/gl/gl_image_io_surface.mm

Issue 1280033004: Revert of Mac Overlays: Add GPU back-pressure (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 4 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
« no previous file with comments | « ui/gl/gl_image_io_surface.h ('k') | ui/gl/scoped_api.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 #include "ui/gl/gl_image_io_surface.h" 5 #include "ui/gl/gl_image_io_surface.h"
6 6
7 #include <map> 7 #include <map>
8 8
9 #include "base/lazy_instance.h" 9 #include "base/lazy_instance.h"
10 #include "base/mac/foundation_util.h" 10 #include "base/mac/foundation_util.h"
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
192 const Point& offset, 192 const Point& offset,
193 const Rect& rect) { 193 const Rect& rect) {
194 return false; 194 return false;
195 } 195 }
196 196
197 bool GLImageIOSurface::ScheduleOverlayPlane(gfx::AcceleratedWidget widget, 197 bool GLImageIOSurface::ScheduleOverlayPlane(gfx::AcceleratedWidget widget,
198 int z_order, 198 int z_order,
199 OverlayTransform transform, 199 OverlayTransform transform,
200 const Rect& bounds_rect, 200 const Rect& bounds_rect,
201 const RectF& crop_rect) { 201 const RectF& crop_rect) {
202 NOTREACHED(); 202 // Only simple overlay planes are currently supported.
203 return false; 203 DCHECK_EQ(0, z_order);
204 } 204 DCHECK_EQ(gfx::RectF(0, 0, 1, 1).ToString(), crop_rect.ToString());
205 DCHECK_EQ(gfx::OVERLAY_TRANSFORM_NONE, transform);
205 206
206 base::ScopedCFTypeRef<IOSurfaceRef> GLImageIOSurface::io_surface() { 207 // Convert the phony widget to the appropriate CALayer.
207 return io_surface_; 208 auto found = g_widget_to_layer_map.Pointer()->find(widget);
209 if (found == g_widget_to_layer_map.Pointer()->end())
210 return false;
211 CALayer* layer = found->second;
212
213 // Also note that transactions are not disabled. The caller must ensure that
214 // all changes to the CALayer tree happen atomically.
215 [layer setContents:static_cast<id>(io_surface_.get())];
216 [layer setFrame:bounds_rect.ToCGRect()];
217 return true;
208 } 218 }
209 219
210 // static 220 // static
211 void GLImageIOSurface::SetLayerForWidget( 221 void GLImageIOSurface::SetLayerForWidget(
212 gfx::AcceleratedWidget widget, CALayer* layer) { 222 gfx::AcceleratedWidget widget, CALayer* layer) {
213 if (layer) 223 if (layer)
214 g_widget_to_layer_map.Pointer()->insert(std::make_pair(widget, layer)); 224 g_widget_to_layer_map.Pointer()->insert(std::make_pair(widget, layer));
215 else 225 else
216 g_widget_to_layer_map.Pointer()->erase(widget); 226 g_widget_to_layer_map.Pointer()->erase(widget);
217 } 227 }
218 228
219 } // namespace gfx 229 } // namespace gfx
OLDNEW
« no previous file with comments | « ui/gl/gl_image_io_surface.h ('k') | ui/gl/scoped_api.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698