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

Side by Side Diff: ui/gl/gl_context_egl.h

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 (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 #ifndef UI_GL_GL_CONTEXT_EGL_H_ 5 #ifndef UI_GL_GL_CONTEXT_EGL_H_
6 #define UI_GL_GL_CONTEXT_EGL_H_ 6 #define UI_GL_GL_CONTEXT_EGL_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "base/compiler_specific.h" 10 #include "base/compiler_specific.h"
11 #include "base/macros.h" 11 #include "base/macros.h"
12 #include "ui/gl/gl_context.h" 12 #include "ui/gl/gl_context.h"
13 #include "ui/gl/gl_export.h" 13 #include "ui/gl/gl_export.h"
14 14
15 typedef void* EGLContext; 15 typedef void* EGLContext;
16 typedef void* EGLDisplay; 16 typedef void* EGLDisplay;
17 typedef void* EGLConfig; 17 typedef void* EGLConfig;
18 18
19 namespace gl { 19 namespace gl {
20 20
21 class GLSurface; 21 class GLSurface;
22 22
23 // Encapsulates an EGL OpenGL ES context. 23 // Encapsulates an EGL OpenGL ES context.
24 class GL_EXPORT GLContextEGL : public GLContextReal { 24 class GL_EXPORT GLContextEGL : public GLContextReal {
25 public: 25 public:
26 explicit GLContextEGL(GLShareGroup* share_group); 26 explicit GLContextEGL(GLShareGroup* share_group);
27 27
28 // Implement GLContext. 28 // Implement GLContext.
29 bool Initialize(GLSurface* compatible_surface, 29 bool Initialize(GLSurface* compatible_surface,
30 GpuPreference gpu_preference) override; 30 const GLContextAttribs& attribs) override;
31 bool MakeCurrent(GLSurface* surface) override; 31 bool MakeCurrent(GLSurface* surface) override;
32 void ReleaseCurrent(GLSurface* surface) override; 32 void ReleaseCurrent(GLSurface* surface) override;
33 bool IsCurrent(GLSurface* surface) override; 33 bool IsCurrent(GLSurface* surface) override;
34 void* GetHandle() override; 34 void* GetHandle() override;
35 void OnSetSwapInterval(int interval) override; 35 void OnSetSwapInterval(int interval) override;
36 std::string GetExtensions() override; 36 std::string GetExtensions() override;
37 bool WasAllocatedUsingRobustnessExtension() override; 37 bool WasAllocatedUsingRobustnessExtension() override;
38 void SetUnbindFboOnMakeCurrent() override; 38 void SetUnbindFboOnMakeCurrent() override;
39 39
40 protected: 40 protected:
41 ~GLContextEGL() override; 41 ~GLContextEGL() override;
42 42
43 private: 43 private:
44 void Destroy(); 44 void Destroy();
45 45
46 EGLContext context_; 46 EGLContext context_;
47 EGLDisplay display_; 47 EGLDisplay display_;
48 EGLConfig config_; 48 EGLConfig config_;
49 bool unbind_fbo_on_makecurrent_; 49 bool unbind_fbo_on_makecurrent_;
50 int swap_interval_; 50 int swap_interval_;
51 51
52 DISALLOW_COPY_AND_ASSIGN(GLContextEGL); 52 DISALLOW_COPY_AND_ASSIGN(GLContextEGL);
53 }; 53 };
54 54
55 } // namespace gl 55 } // namespace gl
56 56
57 #endif // UI_GL_GL_CONTEXT_EGL_H_ 57 #endif // UI_GL_GL_CONTEXT_EGL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698