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

Side by Side Diff: views/widget/native_widget_wayland.cc

Issue 8233027: Support dynamic switching between integrated and discrete GPUs on Mac OS X. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 2 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 | Annotate | Revision Log
OLDNEW
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 #include "views/widget/native_widget_wayland.h" 5 #include "views/widget/native_widget_wayland.h"
6 6
7 #include <cairo.h> 7 #include <cairo.h>
8 #include <cairo-gl.h> 8 #include <cairo-gl.h>
9 #include <EGL/egl.h> 9 #include <EGL/egl.h>
10 #include <GL/gl.h> 10 #include <GL/gl.h>
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 compositor_ = (*Widget::compositor_factory())(); 87 compositor_ = (*Widget::compositor_factory())();
88 } else { 88 } else {
89 compositor_ = ui::Compositor::Create(this, 89 compositor_ = ui::Compositor::Create(this,
90 egl_window_, 90 egl_window_,
91 allocation_.size()); 91 allocation_.size());
92 } 92 }
93 if (compositor_.get()) 93 if (compositor_.get())
94 delegate_->AsWidget()->GetRootView()->SetPaintToLayer(true); 94 delegate_->AsWidget()->GetRootView()->SetPaintToLayer(true);
95 } else { 95 } else {
96 surface_ = gfx::GLSurface::CreateViewGLSurface(false, egl_window_); 96 surface_ = gfx::GLSurface::CreateViewGLSurface(false, egl_window_);
97 context_ = gfx::GLContext::CreateGLContext(NULL, surface_.get()); 97 context_ = gfx::GLContext::CreateGLContext(
98 NULL,
99 surface_.get(),
100 gfx::PreferIntegratedGpu);
98 101
99 if (!context_->MakeCurrent(surface_.get())) 102 if (!context_->MakeCurrent(surface_.get()))
100 DLOG(ERROR) << "Failed to make surface current"; 103 DLOG(ERROR) << "Failed to make surface current";
101 104
102 device_ = cairo_egl_device_create(gfx::GLSurfaceEGL::GetHardwareDisplay(), 105 device_ = cairo_egl_device_create(gfx::GLSurfaceEGL::GetHardwareDisplay(),
103 context_->GetHandle()); 106 context_->GetHandle());
104 if (cairo_device_status(device_) != CAIRO_STATUS_SUCCESS) 107 if (cairo_device_status(device_) != CAIRO_STATUS_SUCCESS)
105 DLOG(ERROR) << "Failed to create cairo egl device"; 108 DLOG(ERROR) << "Failed to create cairo egl device";
106 109
107 cairo_surface_ = cairo_gl_surface_create_for_egl(device_, 110 cairo_surface_ = cairo_gl_surface_create_for_egl(device_,
(...skipping 567 matching lines...) Expand 10 before | Expand all | Expand 10 after
675 678
676 // static 679 // static
677 bool NativeWidgetPrivate::IsMouseButtonDown() { 680 bool NativeWidgetPrivate::IsMouseButtonDown() {
678 NOTIMPLEMENTED(); 681 NOTIMPLEMENTED();
679 return false; 682 return false;
680 } 683 }
681 684
682 } // namespace internal 685 } // namespace internal
683 686
684 } // namespace views 687 } // namespace views
OLDNEW
« no previous file with comments | « ui/gfx/surface/accelerated_surface_mac.cc ('k') | webkit/gpu/webgraphicscontext3d_in_process_command_buffer_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698