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

Side by Side Diff: content/browser/renderer_host/render_process_host_impl.cc

Issue 301973010: Remove IOSurfaceSupport (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 6 years, 6 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 // Represents the browser side of the browser <--> renderer communication 5 // Represents the browser side of the browser <--> renderer communication
6 // channel. There will be one RenderProcessHost per renderer process. 6 // channel. There will be one RenderProcessHost per renderer process.
7 7
8 #include "content/browser/renderer_host/render_process_host_impl.h" 8 #include "content/browser/renderer_host/render_process_host_impl.h"
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
154 #include "webkit/common/resource_type.h" 154 #include "webkit/common/resource_type.h"
155 155
156 #if defined(OS_ANDROID) 156 #if defined(OS_ANDROID)
157 #include "content/browser/media/android/browser_demuxer_android.h" 157 #include "content/browser/media/android/browser_demuxer_android.h"
158 #include "content/browser/renderer_host/compositor_impl_android.h" 158 #include "content/browser/renderer_host/compositor_impl_android.h"
159 #include "content/common/gpu/client/gpu_memory_buffer_impl_surface_texture.h" 159 #include "content/common/gpu/client/gpu_memory_buffer_impl_surface_texture.h"
160 #endif 160 #endif
161 161
162 #if defined(OS_MACOSX) 162 #if defined(OS_MACOSX)
163 #include "content/common/gpu/client/gpu_memory_buffer_impl_io_surface.h" 163 #include "content/common/gpu/client/gpu_memory_buffer_impl_io_surface.h"
164 #include "ui/gl/io_surface_support_mac.h"
165 #endif 164 #endif
166 165
167 #if defined(OS_WIN) 166 #if defined(OS_WIN)
168 #include "base/win/scoped_com_initializer.h" 167 #include "base/win/scoped_com_initializer.h"
169 #include "content/common/font_cache_dispatcher_win.h" 168 #include "content/common/font_cache_dispatcher_win.h"
170 #include "content/common/sandbox_win.h" 169 #include "content/common/sandbox_win.h"
171 #endif 170 #endif
172 171
173 #if defined(ENABLE_WEBRTC) 172 #if defined(ENABLE_WEBRTC)
174 #include "content/browser/media/webrtc_internals.h" 173 #include "content/browser/media/webrtc_internals.h"
(...skipping 1989 matching lines...) Expand 10 before | Expand all | Expand 10 after
2164 GpuMemoryBufferAllocated(reply, gfx::GpuMemoryBufferHandle()); 2163 GpuMemoryBufferAllocated(reply, gfx::GpuMemoryBufferHandle());
2165 return; 2164 return;
2166 } 2165 }
2167 2166
2168 #if defined(OS_MACOSX) 2167 #if defined(OS_MACOSX)
2169 // TODO(reveman): This should be moved to 2168 // TODO(reveman): This should be moved to
2170 // GpuMemoryBufferImpl::AllocateForChildProcess and 2169 // GpuMemoryBufferImpl::AllocateForChildProcess and
2171 // GpuMemoryBufferImplIOSurface. crbug.com/325045, crbug.com/323304 2170 // GpuMemoryBufferImplIOSurface. crbug.com/325045, crbug.com/323304
2172 if (GpuMemoryBufferImplIOSurface::IsConfigurationSupported(internalformat, 2171 if (GpuMemoryBufferImplIOSurface::IsConfigurationSupported(internalformat,
2173 usage)) { 2172 usage)) {
2174 IOSurfaceSupport* io_surface_support = IOSurfaceSupport::Initialize(); 2173 base::ScopedCFTypeRef<CFMutableDictionaryRef> properties;
2175 if (io_surface_support) { 2174 properties.reset(
2176 base::ScopedCFTypeRef<CFMutableDictionaryRef> properties; 2175 CFDictionaryCreateMutable(kCFAllocatorDefault,
2177 properties.reset( 2176 0,
2178 CFDictionaryCreateMutable(kCFAllocatorDefault, 2177 &kCFTypeDictionaryKeyCallBacks,
2179 0, 2178 &kCFTypeDictionaryValueCallBacks));
2180 &kCFTypeDictionaryKeyCallBacks, 2179 AddIntegerValue(properties, kIOSurfaceWidth, width);
2181 &kCFTypeDictionaryValueCallBacks)); 2180 AddIntegerValue(properties, kIOSurfaceHeight, height);
2182 AddIntegerValue( 2181 AddIntegerValue(properties,
2183 properties, io_surface_support->GetKIOSurfaceWidth(), width); 2182 kIOSurfaceBytesPerElement,
2184 AddIntegerValue( 2183 GpuMemoryBufferImpl::BytesPerPixel(internalformat));
2185 properties, io_surface_support->GetKIOSurfaceHeight(), height); 2184 AddIntegerValue(
2186 AddIntegerValue(properties, 2185 properties,
2187 io_surface_support->GetKIOSurfaceBytesPerElement(), 2186 kIOSurfacePixelFormat,
2188 GpuMemoryBufferImpl::BytesPerPixel(internalformat)); 2187 GpuMemoryBufferImplIOSurface::PixelFormat(internalformat));
2189 AddIntegerValue( 2188 // TODO(reveman): Remove this when using a mach_port_t to transfer
2190 properties, 2189 // IOSurface to renderer process. crbug.com/323304
2191 io_surface_support->GetKIOSurfacePixelFormat(), 2190 AddBooleanValue(
2192 GpuMemoryBufferImplIOSurface::PixelFormat(internalformat)); 2191 properties, kIOSurfaceIsGlobal, true);
2193 // TODO(reveman): Remove this when using a mach_port_t to transfer
2194 // IOSurface to renderer process. crbug.com/323304
2195 AddBooleanValue(
2196 properties, io_surface_support->GetKIOSurfaceIsGlobal(), true);
2197 2192
2198 base::ScopedCFTypeRef<CFTypeRef> io_surface( 2193 base::ScopedCFTypeRef<IOSurfaceRef> io_surface(IOSurfaceCreate(properties));
2199 io_surface_support->IOSurfaceCreate(properties)); 2194 if (io_surface) {
2200 if (io_surface) { 2195 gfx::GpuMemoryBufferHandle handle;
2201 gfx::GpuMemoryBufferHandle handle; 2196 handle.type = gfx::IO_SURFACE_BUFFER;
2202 handle.type = gfx::IO_SURFACE_BUFFER; 2197 handle.io_surface_id = IOSurfaceGetID(io_surface);
2203 handle.io_surface_id = io_surface_support->IOSurfaceGetID(io_surface);
2204 2198
2205 // TODO(reveman): This makes the assumption that the renderer will 2199 // TODO(reveman): This makes the assumption that the renderer will
2206 // grab a reference to the surface before sending another message. 2200 // grab a reference to the surface before sending another message.
2207 // crbug.com/325045 2201 // crbug.com/325045
2208 last_io_surface_ = io_surface; 2202 last_io_surface_ = io_surface;
2209 GpuMemoryBufferAllocated(reply, handle); 2203 GpuMemoryBufferAllocated(reply, handle);
2210 return; 2204 return;
2211 }
2212 } 2205 }
2213 } 2206 }
2214 #endif 2207 #endif
2215 2208
2216 #if defined(OS_ANDROID) 2209 #if defined(OS_ANDROID)
2217 // TODO(reveman): This should be moved to 2210 // TODO(reveman): This should be moved to
2218 // GpuMemoryBufferImpl::AllocateForChildProcess and 2211 // GpuMemoryBufferImpl::AllocateForChildProcess and
2219 // GpuMemoryBufferImplSurfaceTexture when adding support for out-of-process 2212 // GpuMemoryBufferImplSurfaceTexture when adding support for out-of-process
2220 // GPU service. crbug.com/368716 2213 // GPU service. crbug.com/368716
2221 if (GpuMemoryBufferImplSurfaceTexture::IsConfigurationSupported( 2214 if (GpuMemoryBufferImplSurfaceTexture::IsConfigurationSupported(
(...skipping 26 matching lines...) Expand all
2248 void RenderProcessHostImpl::GpuMemoryBufferAllocated( 2241 void RenderProcessHostImpl::GpuMemoryBufferAllocated(
2249 IPC::Message* reply, 2242 IPC::Message* reply,
2250 const gfx::GpuMemoryBufferHandle& handle) { 2243 const gfx::GpuMemoryBufferHandle& handle) {
2251 DCHECK_CURRENTLY_ON(BrowserThread::UI); 2244 DCHECK_CURRENTLY_ON(BrowserThread::UI);
2252 ChildProcessHostMsg_SyncAllocateGpuMemoryBuffer::WriteReplyParams(reply, 2245 ChildProcessHostMsg_SyncAllocateGpuMemoryBuffer::WriteReplyParams(reply,
2253 handle); 2246 handle);
2254 Send(reply); 2247 Send(reply);
2255 } 2248 }
2256 2249
2257 } // namespace content 2250 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/renderer_host/render_process_host_impl.h ('k') | content/browser/renderer_host/render_widget_helper_mac.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698