diff options
Diffstat (limited to 'ui/gfx/gl/gl_context.cc')
-rw-r--r-- | ui/gfx/gl/gl_context.cc | 16 |
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) { |