ParallelCompile: Add entry points.

Add the extension text, entry points and validations.

BUG=chromium:849576
TEST=angle_end2end_tests

Change-Id: I4c06ee30e4f4fe9bb1c1fecada747b9c78fed0ea
Reviewed-on: https://chromium-review.googlesource.com/1103789
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
diff --git a/src/libANGLE/State.cpp b/src/libANGLE/State.cpp
index 48ca6ce..4d6910c 100644
--- a/src/libANGLE/State.cpp
+++ b/src/libANGLE/State.cpp
@@ -110,7 +110,8 @@
       mSampleAlphaToOne(false),
       mFramebufferSRGB(true),
       mRobustResourceInit(robustResourceInit),
-      mProgramBinaryCacheEnabled(programBinaryCacheEnabled)
+      mProgramBinaryCacheEnabled(programBinaryCacheEnabled),
+      mMaxShaderCompilerThreads(std::numeric_limits<GLuint>::max())
 {
 }
 
@@ -1854,6 +1855,16 @@
     return mFramebufferSRGB;
 }
 
+void State::setMaxShaderCompilerThreads(GLuint count)
+{
+    mMaxShaderCompilerThreads = count;
+}
+
+GLuint State::getMaxShaderCompilerThreads() const
+{
+    return mMaxShaderCompilerThreads;
+}
+
 void State::getBooleanv(GLenum pname, GLboolean *params)
 {
     switch (pname)