GLES1: glAlphaFunc

BUG=angleproject:2306

Change-Id: I0bf229d3ab8a4a1217c12b434dcd8fa67d7cbadc
Reviewed-on: https://chromium-review.googlesource.com/973897
Commit-Queue: Lingfeng Yang <lfy@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libANGLE/State.cpp b/src/libANGLE/State.cpp
index 7ea72fa..0a482df 100644
--- a/src/libANGLE/State.cpp
+++ b/src/libANGLE/State.cpp
@@ -98,7 +98,9 @@
 {
 }
 
-State::~State() {}
+State::~State()
+{
+}
 
 void State::initialize(const Context *context,
                        bool debug,
@@ -764,6 +766,12 @@
         case GL_FRAMEBUFFER_SRGB_EXT:
             setFramebufferSRGB(enabled);
             break;
+
+        // GLES1 emulation
+        case GL_ALPHA_TEST:
+            mGLES1State.mAlphaTestEnabled = enabled;
+            break;
+
         default:
             UNREACHABLE();
     }
@@ -816,6 +824,10 @@
         case GL_PROGRAM_CACHE_ENABLED_ANGLE:
             return mProgramBinaryCacheEnabled;
 
+        // GLES1 emulation
+        case GL_ALPHA_TEST:
+            return mGLES1State.mAlphaTestEnabled;
+
         default:
             UNREACHABLE();
             return false;
@@ -1915,6 +1927,9 @@
         case GL_COVERAGE_MODULATION_CHROMIUM:
             params[0] = static_cast<GLfloat>(mCoverageModulation);
             break;
+        case GL_ALPHA_TEST_REF:
+            *params = mGLES1State.mAlphaTestRef;
+            break;
         default:
             UNREACHABLE();
             break;
@@ -2286,6 +2301,9 @@
         case GL_DISPATCH_INDIRECT_BUFFER_BINDING:
             *params = mBoundBuffers[BufferBinding::DispatchIndirect].id();
             break;
+        case GL_ALPHA_TEST_FUNC:
+            *params = ToGLenum(mGLES1State.mAlphaTestFunc);
+            break;
         default:
             UNREACHABLE();
             break;