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;