OLD | NEW |
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_GL_API_IMPLEMENTATION_H_ | 5 #ifndef UI_GL_GL_GL_API_IMPLEMENTATION_H_ |
6 #define UI_GL_GL_GL_API_IMPLEMENTATION_H_ | 6 #define UI_GL_GL_GL_API_IMPLEMENTATION_H_ |
7 | 7 |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/compiler_specific.h" | 10 #include "base/compiler_specific.h" |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
55 | 55 |
56 // Implemenents the GL API by calling directly into the driver. | 56 // Implemenents the GL API by calling directly into the driver. |
57 class GL_EXPORT RealGLApi : public GLApiBase { | 57 class GL_EXPORT RealGLApi : public GLApiBase { |
58 public: | 58 public: |
59 RealGLApi(); | 59 RealGLApi(); |
60 ~RealGLApi() override; | 60 ~RealGLApi() override; |
61 void Initialize(DriverGL* driver); | 61 void Initialize(DriverGL* driver); |
62 void InitializeWithCommandLine(DriverGL* driver, | 62 void InitializeWithCommandLine(DriverGL* driver, |
63 base::CommandLine* command_line); | 63 base::CommandLine* command_line); |
64 | 64 |
| 65 void InitializeWithContext(); |
| 66 |
65 void glGetIntegervFn(GLenum pname, GLint* params) override; | 67 void glGetIntegervFn(GLenum pname, GLint* params) override; |
66 const GLubyte* glGetStringFn(GLenum name) override; | 68 const GLubyte* glGetStringFn(GLenum name) override; |
67 const GLubyte* glGetStringiFn(GLenum name, GLuint index) override; | 69 const GLubyte* glGetStringiFn(GLenum name, GLuint index) override; |
68 | 70 |
69 private: | 71 private: |
| 72 void InitializeFilteredExtensions(); |
70 void glFinishFn() override; | 73 void glFinishFn() override; |
71 void glFlushFn() override; | 74 void glFlushFn() override; |
72 | 75 |
73 // Filtered GL_EXTENSIONS we return to glGetString(i) calls. | 76 // Filtered GL_EXTENSIONS we return to glGetString(i) calls. |
| 77 std::vector<std::string> disabled_exts_; |
74 std::vector<std::string> filtered_exts_; | 78 std::vector<std::string> filtered_exts_; |
75 std::string filtered_exts_str_; | 79 std::string filtered_exts_str_; |
76 }; | 80 }; |
77 | 81 |
78 // Inserts a TRACE for every GL call. | 82 // Inserts a TRACE for every GL call. |
79 class TraceGLApi : public GLApi { | 83 class TraceGLApi : public GLApi { |
80 public: | 84 public: |
81 TraceGLApi(GLApi* gl_api) : gl_api_(gl_api) { } | 85 TraceGLApi(GLApi* gl_api) : gl_api_(gl_api) { } |
82 ~TraceGLApi() override; | 86 ~TraceGLApi() override; |
83 | 87 |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
137 ScopedSetGLToRealGLApi(); | 141 ScopedSetGLToRealGLApi(); |
138 ~ScopedSetGLToRealGLApi(); | 142 ~ScopedSetGLToRealGLApi(); |
139 | 143 |
140 private: | 144 private: |
141 GLApi* old_gl_api_; | 145 GLApi* old_gl_api_; |
142 }; | 146 }; |
143 | 147 |
144 } // namespace gfx | 148 } // namespace gfx |
145 | 149 |
146 #endif // UI_GL_GL_GL_API_IMPLEMENTATION_H_ | 150 #endif // UI_GL_GL_GL_API_IMPLEMENTATION_H_ |
OLD | NEW |