OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 #if defined(ENABLE_GPU) | 5 #if defined(ENABLE_GPU) |
6 | 6 |
7 #include "content/common/gpu/image_transport_surface.h" | 7 #include "content/common/gpu/image_transport_surface.h" |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
187 GpuChannelManager* manager, | 187 GpuChannelManager* manager, |
188 int32 render_view_id, | 188 int32 render_view_id, |
189 int32 renderer_id, | 189 int32 renderer_id, |
190 int32 command_buffer_id, | 190 int32 command_buffer_id, |
191 gfx::PluginWindowHandle handle) { | 191 gfx::PluginWindowHandle handle) { |
192 scoped_refptr<gfx::GLSurface> surface; | 192 scoped_refptr<gfx::GLSurface> surface; |
193 | 193 |
194 base::win::OSInfo* os_info = base::win::OSInfo::GetInstance(); | 194 base::win::OSInfo* os_info = base::win::OSInfo::GetInstance(); |
195 | 195 |
196 if (gfx::GetGLImplementation() == gfx::kGLImplementationEGLGLES2 && | 196 if (gfx::GetGLImplementation() == gfx::kGLImplementationEGLGLES2 && |
197 os_info->version() >= base::win::VERSION_VISTA && | 197 gfx::g_EGL_ANGLE_query_surface_pointer && |
| 198 gfx::g_EGL_ANGLE_d3d_share_handle_client_buffer && |
198 !CommandLine::ForCurrentProcess()->HasSwitch( | 199 !CommandLine::ForCurrentProcess()->HasSwitch( |
199 switches::kDisableImageTransportSurface)) { | 200 switches::kDisableImageTransportSurface)) { |
200 surface = new PbufferImageTransportSurface(manager, | 201 surface = new PbufferImageTransportSurface(manager, |
201 render_view_id, | 202 render_view_id, |
202 renderer_id, | 203 renderer_id, |
203 command_buffer_id); | 204 command_buffer_id); |
204 } else { | 205 } else { |
205 surface = gfx::GLSurface::CreateViewGLSurface(false, handle); | 206 surface = gfx::GLSurface::CreateViewGLSurface(false, handle); |
206 if (!surface.get()) | 207 if (!surface.get()) |
207 return NULL; | 208 return NULL; |
208 | 209 |
209 surface = new PassThroughImageTransportSurface(manager, | 210 surface = new PassThroughImageTransportSurface(manager, |
210 render_view_id, | 211 render_view_id, |
211 renderer_id, | 212 renderer_id, |
212 command_buffer_id, | 213 command_buffer_id, |
213 surface.get()); | 214 surface.get()); |
214 } | 215 } |
215 | 216 |
216 if (surface->Initialize()) | 217 if (surface->Initialize()) |
217 return surface; | 218 return surface; |
218 else | 219 else |
219 return NULL; | 220 return NULL; |
220 } | 221 } |
221 | 222 |
222 #endif // ENABLE_GPU | 223 #endif // ENABLE_GPU |
OLD | NEW |