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

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

Issue 135213003: Ensure GL initialization only happens once, and provide common init path (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: initgl: Created 6 years, 11 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) 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_IMPLEMENTATION_H_ 5 #ifndef UI_GL_GL_IMPLEMENTATION_H_
6 #define UI_GL_GL_IMPLEMENTATION_H_ 6 #define UI_GL_GL_IMPLEMENTATION_H_
7 7
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 24 matching lines...) Expand all
35 35
36 void GetAllowedGLImplementations(std::vector<GLImplementation>* impls); 36 void GetAllowedGLImplementations(std::vector<GLImplementation>* impls);
37 37
38 #if defined(OS_WIN) 38 #if defined(OS_WIN)
39 typedef void* (WINAPI *GLGetProcAddressProc)(const char* name); 39 typedef void* (WINAPI *GLGetProcAddressProc)(const char* name);
40 #else 40 #else
41 typedef void* (*GLGetProcAddressProc)(const char* name); 41 typedef void* (*GLGetProcAddressProc)(const char* name);
42 #endif 42 #endif
43 43
44 // Initialize a particular GL implementation. 44 // Initialize a particular GL implementation.
45 GL_EXPORT bool InitializeStaticGLBindings(GLImplementation implementation); 45 bool InitializeStaticGLBindings(GLImplementation implementation);
46 46
47 // Initialize function bindings that depend on the context for a GL 47 // Initialize function bindings that depend on the context for a GL
48 // implementation. 48 // implementation.
49 GL_EXPORT bool InitializeDynamicGLBindings(GLImplementation implementation, 49 bool InitializeDynamicGLBindings(GLImplementation implementation,
50 GLContext* context); 50 GLContext* context);
51 51
52 // Initialize Debug logging wrappers for GL bindings. 52 // Initialize Debug logging wrappers for GL bindings.
53 void InitializeDebugGLBindings(); 53 void InitializeDebugGLBindings();
54 54
55 // Initialize stub methods for drawing operations in the GL bindings. 55 // Initialize stub methods for drawing operations in the GL bindings.
56 void InitializeNullDrawGLBindings(); 56 void InitializeNullDrawGLBindings();
57 57
58 GL_EXPORT void ClearGLBindings(); 58 void ClearGLBindings();
59 59
60 // Set the current GL implementation. 60 // Set the current GL implementation.
61 GL_EXPORT void SetGLImplementation(GLImplementation implementation); 61 GL_EXPORT void SetGLImplementation(GLImplementation implementation);
62 62
63 // Get the current GL implementation. 63 // Get the current GL implementation.
64 GL_EXPORT GLImplementation GetGLImplementation(); 64 GL_EXPORT GLImplementation GetGLImplementation();
65 65
66 // Does the underlying GL support all features from Desktop GL 2.0 that were 66 // Does the underlying GL support all features from Desktop GL 2.0 that were
67 // removed from the ES 2.0 spec without requiring specific extension strings. 67 // removed from the ES 2.0 spec without requiring specific extension strings.
68 GL_EXPORT bool HasDesktopGLFeatures(); 68 GL_EXPORT bool HasDesktopGLFeatures();
(...skipping 22 matching lines...) Expand all
91 // unsupported. 91 // unsupported.
92 void* GetGLProcAddress(const char* name); 92 void* GetGLProcAddress(const char* name);
93 93
94 // Return information about the GL window system binding implementation (e.g., 94 // Return information about the GL window system binding implementation (e.g.,
95 // EGL, GLX, WGL). Returns true if the information was retrieved successfully. 95 // EGL, GLX, WGL). Returns true if the information was retrieved successfully.
96 GL_EXPORT bool GetGLWindowSystemBindingInfo(GLWindowSystemBindingInfo* info); 96 GL_EXPORT bool GetGLWindowSystemBindingInfo(GLWindowSystemBindingInfo* info);
97 97
98 } // namespace gfx 98 } // namespace gfx
99 99
100 #endif // UI_GL_GL_IMPLEMENTATION_H_ 100 #endif // UI_GL_GL_IMPLEMENTATION_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698