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

Side by Side Diff: android_webview/browser/scoped_app_gl_state_restore.cc

Issue 2480373002: Refactor context creation parameters into a struct. (Closed)
Patch Set: address piman's comments Created 4 years, 1 month 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 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 "android_webview/browser/scoped_app_gl_state_restore.h" 5 #include "android_webview/browser/scoped_app_gl_state_restore.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/lazy_instance.h" 9 #include "base/lazy_instance.h"
10 #include "base/trace_event/trace_event.h" 10 #include "base/trace_event/trace_event.h"
11 #include "ui/gl/gl_bindings.h" 11 #include "ui/gl/gl_bindings.h"
12 #include "ui/gl/gl_context.h" 12 #include "ui/gl/gl_context.h"
13 #include "ui/gl/gl_surface_stub.h" 13 #include "ui/gl/gl_surface_stub.h"
14 #include "ui/gl/init/gl_factory.h" 14 #include "ui/gl/init/gl_factory.h"
15 15
16 namespace android_webview { 16 namespace android_webview {
17 17
18 namespace { 18 namespace {
19 19
20 // "App" context is a bit of a stretch. Basically we use this context while 20 // "App" context is a bit of a stretch. Basically we use this context while
21 // saving and restoring the App GL state. 21 // saving and restoring the App GL state.
22 class AppContextSurface { 22 class AppContextSurface {
23 public: 23 public:
24 AppContextSurface() 24 AppContextSurface()
25 : surface(new gl::GLSurfaceStub), 25 : surface(new gl::GLSurfaceStub),
26 context(gl::init::CreateGLContext(nullptr, 26 context(gl::init::CreateGLContext(nullptr,
27 surface.get(), 27 surface.get(),
28 gl::PreferDiscreteGpu)) {} 28 gl::GLContextAttribs())) {}
Torne 2016/11/08 14:34:29 If I'm reading correctly the default is PreferInte
Geoff Lang 2016/11/08 14:44:01 Yes, piman suggested it because Android doesn't ha
29 void MakeCurrent() { context->MakeCurrent(surface.get()); } 29 void MakeCurrent() { context->MakeCurrent(surface.get()); }
30 30
31 private: 31 private:
32 scoped_refptr<gl::GLSurfaceStub> surface; 32 scoped_refptr<gl::GLSurfaceStub> surface;
33 scoped_refptr<gl::GLContext> context; 33 scoped_refptr<gl::GLContext> context;
34 34
35 DISALLOW_COPY_AND_ASSIGN(AppContextSurface); 35 DISALLOW_COPY_AND_ASSIGN(AppContextSurface);
36 }; 36 };
37 37
38 base::LazyInstance<AppContextSurface> g_app_context_surface = 38 base::LazyInstance<AppContextSurface> g_app_context_surface =
(...skipping 398 matching lines...) Expand 10 before | Expand all | Expand 10 after
437 } 437 }
438 438
439 StencilState ScopedAppGLStateRestore::stencil_state() const { 439 StencilState ScopedAppGLStateRestore::stencil_state() const {
440 return impl_->stencil_state(); 440 return impl_->stencil_state();
441 } 441 }
442 int ScopedAppGLStateRestore::framebuffer_binding_ext() const { 442 int ScopedAppGLStateRestore::framebuffer_binding_ext() const {
443 return impl_->framebuffer_binding_ext(); 443 return impl_->framebuffer_binding_ext();
444 } 444 }
445 445
446 } // namespace android_webview 446 } // namespace android_webview
OLDNEW
« no previous file with comments | « no previous file | android_webview/browser/test/fake_window.cc » ('j') | android_webview/browser/test/fake_window.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698