Move the EGL-based initial state to the gl::State constructor.

This is a small refactor to allow State::initialize to be called without
needing the EGL context creation attributes.

BUG=angleproject:2464

Change-Id: Ifa167cc83f652435ecc00a0a73e4c6c4a3295430
Reviewed-on: https://chromium-review.googlesource.com/1083312
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
diff --git a/src/libANGLE/Context.cpp b/src/libANGLE/Context.cpp
index d41594d..5bc64e2 100644
--- a/src/libANGLE/Context.cpp
+++ b/src/libANGLE/Context.cpp
@@ -281,6 +281,11 @@
       mSavedArgsType(nullptr),
       mImplementation(implFactory->createContext(mState)),
       mCompiler(),
+      mGLState(GetDebug(attribs),
+               GetBindGeneratesResource(attribs),
+               GetClientArraysEnabled(attribs),
+               GetRobustResourceInit(attribs),
+               memoryProgramCache != nullptr),
       mConfig(config),
       mClientType(EGL_OPENGL_ES_API),
       mHasBeenCurrent(false),
@@ -307,9 +312,7 @@
     initCaps(displayExtensions, clientExtensions, robustResourceInit);
     initWorkarounds();
 
-    mGLState.initialize(this, GetDebug(attribs), GetBindGeneratesResource(attribs),
-                        GetClientArraysEnabled(attribs), robustResourceInit,
-                        mMemoryProgramCache != nullptr);
+    mGLState.initialize(this);
 
     mFenceNVHandleAllocator.setBaseHandle(0);