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

Unified Diff: content/browser/compositor/gpu_process_transport_factory.cc

Issue 1251783002: Mac Overlays: Wire up overlays on Mac (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@part22
Patch Set: Leave widget type unchanged Created 5 years, 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | content/browser/gpu/browser_gpu_memory_buffer_manager.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/compositor/gpu_process_transport_factory.cc
diff --git a/content/browser/compositor/gpu_process_transport_factory.cc b/content/browser/compositor/gpu_process_transport_factory.cc
index a6d18220786b8454cdf8339c2d339b8b2b3c7a5f..f73e8a3015bf44e56d98e4dad6be4c67f223b508 100644
--- a/content/browser/compositor/gpu_process_transport_factory.cc
+++ b/content/browser/compositor/gpu_process_transport_factory.cc
@@ -277,15 +277,23 @@ void GpuProcessTransportFactory::EstablishedGpuChannel(
context_provider, compositor->vsync_manager(),
scoped_ptr<BrowserCompositorOverlayCandidateValidator>()));
} else if (capabilities.gpu.surfaceless) {
+ GLenum target = GL_TEXTURE_2D;
+ GLenum format = GL_RGB;
+#if defined(OS_MACOSX)
+ target = GL_TEXTURE_RECTANGLE_ARB;
+ format = GL_BGRA_EXT;
+#endif
surface =
make_scoped_ptr(new GpuSurfacelessBrowserCompositorOutputSurface(
context_provider, data->surface_id, compositor->vsync_manager(),
- CreateOverlayCandidateValidator(compositor->widget()),
- GL_TEXTURE_2D, GL_RGB, BrowserGpuMemoryBufferManager::current()));
+ CreateOverlayCandidateValidator(compositor->widget()), target,
+ format, BrowserGpuMemoryBufferManager::current()));
} else {
- surface = make_scoped_ptr(new GpuBrowserCompositorOutputSurface(
- context_provider, compositor->vsync_manager(),
- CreateOverlayCandidateValidator(compositor->widget())));
+ if (!surface) {
+ surface = make_scoped_ptr(new GpuBrowserCompositorOutputSurface(
+ context_provider, compositor->vsync_manager(),
+ CreateOverlayCandidateValidator(compositor->widget())));
+ }
}
}
« no previous file with comments | « no previous file | content/browser/gpu/browser_gpu_memory_buffer_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698