Implement eglQueryContext

BUG=angle:895

Change-Id: I5e709f772d6222cdb7b5d7c060830a75eac9f815
Reviewed-on: https://chromium-review.googlesource.com/246490
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libANGLE/Context.cpp b/src/libANGLE/Context.cpp
index 81c6598..6e6f164 100644
--- a/src/libANGLE/Context.cpp
+++ b/src/libANGLE/Context.cpp
@@ -13,6 +13,7 @@
 #include "common/platform.h"
 #include "libANGLE/Compiler.h"
 #include "libANGLE/Buffer.h"
+#include "libANGLE/Config.h"
 #include "libANGLE/Display.h"
 #include "libANGLE/Fence.h"
 #include "libANGLE/Framebuffer.h"
@@ -36,7 +37,7 @@
 namespace gl
 {
 
-Context::Context(int clientVersion, const Context *shareContext, rx::Renderer *renderer, bool notifyResets, bool robustAccess)
+Context::Context(const egl::Config *config, int clientVersion, const Context *shareContext, rx::Renderer *renderer, bool notifyResets, bool robustAccess)
     : mRenderer(renderer)
 {
     ASSERT(robustAccess == false);   // Unimplemented
@@ -46,6 +47,10 @@
 
     mClientVersion = clientVersion;
 
+    mConfigID = config->configID;
+    mClientType = EGL_OPENGL_ES_API;
+    mRenderBuffer = EGL_NONE;
+
     mFenceNVHandleAllocator.setBaseHandle(0);
 
     if (shareContext != NULL)
@@ -186,6 +191,8 @@
                                                           mRenderer->createDefaultAttachment(GL_STENCIL, surface));
 
     setFramebufferZero(framebufferZero);
+
+    mRenderBuffer = surface->getRenderBuffer();
 }
 
 // NOTE: this function should not assume that this context is current!
@@ -1274,6 +1281,21 @@
     return mClientVersion;
 }
 
+EGLint Context::getConfigID() const
+{
+    return mConfigID;
+}
+
+EGLenum Context::getClientType() const
+{
+    return mClientType;
+}
+
+EGLenum Context::getRenderBuffer() const
+{
+    return mRenderBuffer;
+}
+
 const Caps &Context::getCaps() const
 {
     return mCaps;