Add a profile mask member to the FunctionsGL structure.

BUG=angleproject:883

Change-Id: I3cdf88391e77a26a77e120de0fd32296a2b079d1
Reviewed-on: https://chromium-review.googlesource.com/286822
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
diff --git a/src/libANGLE/renderer/gl/FunctionsGL.cpp b/src/libANGLE/renderer/gl/FunctionsGL.cpp
index 44a01b8..b60938a 100644
--- a/src/libANGLE/renderer/gl/FunctionsGL.cpp
+++ b/src/libANGLE/renderer/gl/FunctionsGL.cpp
@@ -773,12 +773,12 @@
 {
     // Grab the version number
     AssignGLEntryPoint(loadProcAddress("glGetString"), &getString);
+    AssignGLEntryPoint(loadProcAddress("glGetIntegerv"), &getIntegerv);
     GetGLVersion(getString, &version, &standard);
 
     // Grab the GL extensions
     if (isAtLeastGL(gl::Version(3, 0)))
     {
-        AssignGLEntryPoint(loadProcAddress("glGetIntegerv"), &getIntegerv);
         AssignGLEntryPoint(loadProcAddress("glGetStringi"), &getStringi);
         extensions = GetIndexedExtensions(getIntegerv, getStringi);
     }
@@ -788,6 +788,16 @@
         angle::SplitStringAlongWhitespace(std::string(exts), &extensions);
     }
 
+    // Check the context profile
+    if (isAtLeastGL(gl::Version(3, 2)))
+    {
+        getIntegerv(GL_CONTEXT_PROFILE_MASK, &profile);
+    }
+    else
+    {
+        profile = 0;
+    }
+
     // 1.0
     if (isAtLeastGL(gl::Version(1, 0)))
     {