summaryrefslogtreecommitdiffstats
path: root/ui/gfx/gl/gl_context.cc
diff options
context:
space:
mode:
Diffstat (limited to 'ui/gfx/gl/gl_context.cc')
-rw-r--r--ui/gfx/gl/gl_context.cc16
1 files changed, 14 insertions, 2 deletions
diff --git a/ui/gfx/gl/gl_context.cc b/ui/gfx/gl/gl_context.cc
index 998614fb..9fc5411 100644
--- a/ui/gfx/gl/gl_context.cc
+++ b/ui/gfx/gl/gl_context.cc
@@ -39,8 +39,20 @@ GLContext::~GLContext() {
std::string GLContext::GetExtensions() {
DCHECK(IsCurrent(NULL));
- const char* ext = reinterpret_cast<const char*>(glGetString(GL_EXTENSIONS));
- return std::string(ext ? ext : "");
+
+ std::string extensions;
+ if (GLSurface::GetCurrent()) {
+ extensions = GLSurface::GetCurrent()->GetExtensions();
+ }
+
+ const char* gl_ext = reinterpret_cast<const char*>(
+ glGetString(GL_EXTENSIONS));
+ if (gl_ext) {
+ extensions += (!extensions.empty() && gl_ext[0]) ? " " : "";
+ extensions += gl_ext;
+ }
+
+ return extensions;
}
bool GLContext::HasExtension(const char* name) {