| 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 #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 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 120 NOTREACHED(); | 120 NOTREACHED(); |
| 121 return 0; | 121 return 0; |
| 122 } | 122 } |
| 123 | 123 |
| 124 NOTREACHED(); | 124 NOTREACHED(); |
| 125 return 0; | 125 return 0; |
| 126 } | 126 } |
| 127 | 127 |
| 128 } // namespace | 128 } // namespace |
| 129 | 129 |
| 130 GLImageIOSurface::GLImageIOSurface(const gfx::Size& size, | 130 GLImageIOSurface::GLImageIOSurface(gfx::GenericSharedMemoryId io_surface_id, |
| 131 const gfx::Size& size, |
| 131 unsigned internalformat) | 132 unsigned internalformat) |
| 132 : size_(size), | 133 : io_surface_id_(io_surface_id), |
| 134 size_(size), |
| 133 internalformat_(internalformat), | 135 internalformat_(internalformat), |
| 134 format_(BufferFormat::RGBA_8888) {} | 136 format_(BufferFormat::RGBA_8888) {} |
| 135 | 137 |
| 136 GLImageIOSurface::~GLImageIOSurface() { | 138 GLImageIOSurface::~GLImageIOSurface() { |
| 137 DCHECK(thread_checker_.CalledOnValidThread()); | 139 DCHECK(thread_checker_.CalledOnValidThread()); |
| 138 DCHECK(!io_surface_); | 140 DCHECK(!io_surface_); |
| 139 } | 141 } |
| 140 | 142 |
| 141 bool GLImageIOSurface::Initialize(IOSurfaceRef io_surface, | 143 bool GLImageIOSurface::Initialize(IOSurfaceRef io_surface, |
| 142 BufferFormat format) { | 144 BufferFormat format) { |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 204 const Rect& bounds_rect, | 206 const Rect& bounds_rect, |
| 205 const RectF& crop_rect) { | 207 const RectF& crop_rect) { |
| 206 NOTREACHED(); | 208 NOTREACHED(); |
| 207 return false; | 209 return false; |
| 208 } | 210 } |
| 209 | 211 |
| 210 base::ScopedCFTypeRef<IOSurfaceRef> GLImageIOSurface::io_surface() { | 212 base::ScopedCFTypeRef<IOSurfaceRef> GLImageIOSurface::io_surface() { |
| 211 return io_surface_; | 213 return io_surface_; |
| 212 } | 214 } |
| 213 | 215 |
| 216 void GLImageIOSurface::OnMemoryDump(base::trace_event::ProcessMemoryDump* pmd, |
| 217 uint64_t process_tracing_id, |
| 218 const std::string& dump_name) { |
| 219 size_t size_bytes = IOSurfaceGetAllocSize(io_surface_); |
| 220 |
| 221 base::trace_event::MemoryAllocatorDump* dump = |
| 222 pmd->CreateAllocatorDump(dump_name); |
| 223 dump->AddScalar(base::trace_event::MemoryAllocatorDump::kNameSize, |
| 224 base::trace_event::MemoryAllocatorDump::kUnitsBytes, |
| 225 static_cast<uint64_t>(size_bytes)); |
| 226 |
| 227 auto guid = gfx::GetGenericSharedMemoryGUIDForTracing(process_tracing_id, |
| 228 io_surface_id_); |
| 229 pmd->CreateSharedGlobalAllocatorDump(guid); |
| 230 pmd->AddOwnershipEdge(dump->guid(), guid); |
| 231 } |
| 232 |
| 214 // static | 233 // static |
| 215 void GLImageIOSurface::SetLayerForWidget( | 234 void GLImageIOSurface::SetLayerForWidget( |
| 216 gfx::AcceleratedWidget widget, CALayer* layer) { | 235 gfx::AcceleratedWidget widget, CALayer* layer) { |
| 217 if (layer) | 236 if (layer) |
| 218 g_widget_to_layer_map.Pointer()->insert(std::make_pair(widget, layer)); | 237 g_widget_to_layer_map.Pointer()->insert(std::make_pair(widget, layer)); |
| 219 else | 238 else |
| 220 g_widget_to_layer_map.Pointer()->erase(widget); | 239 g_widget_to_layer_map.Pointer()->erase(widget); |
| 221 } | 240 } |
| 222 | 241 |
| 223 } // namespace gfx | 242 } // namespace gfx |
| OLD | NEW |