Added support for TEXTURE_COMPARE_MODE and TEXTURE_COMPARE_FUNC sampler states.

TRAC #23394
Signed-off-by: Nicolas Capens
Signed-off-by: Shannon Woods
Author: Geoff Lang
diff --git a/src/libGLESv2/libGLESv2.cpp b/src/libGLESv2/libGLESv2.cpp
index b12cb1e..16e5c93 100644
--- a/src/libGLESv2/libGLESv2.cpp
+++ b/src/libGLESv2/libGLESv2.cpp
@@ -7057,6 +7057,28 @@
                 UNIMPLEMENTED();
                 break;
 
+              case GL_TEXTURE_COMPARE_MODE:
+                if (context->getClientVersion() < 3)
+                {
+                    return gl::error(GL_INVALID_ENUM);
+                }
+                if (!texture->setCompareMode((GLenum)param))
+                {
+                    return gl::error(GL_INVALID_ENUM);
+                }
+                break;
+
+              case GL_TEXTURE_COMPARE_FUNC:
+                if (context->getClientVersion() < 3)
+                {
+                    return gl::error(GL_INVALID_ENUM);
+                }
+                if (!texture->setCompareFunc((GLenum)param))
+                {
+                    return gl::error(GL_INVALID_ENUM);
+                }
+                break;
+
               default:
                 return gl::error(GL_INVALID_ENUM);
             }
@@ -7166,8 +7188,6 @@
               case GL_TEXTURE_SWIZZLE_A:
               case GL_TEXTURE_BASE_LEVEL:
               case GL_TEXTURE_MAX_LEVEL:
-              case GL_TEXTURE_COMPARE_MODE:
-              case GL_TEXTURE_COMPARE_FUNC:
                 if (context->getClientVersion() < 3)
                 {
                     return gl::error(GL_INVALID_ENUM);
@@ -7175,6 +7195,28 @@
                 UNIMPLEMENTED();
                 break;
 
+              case GL_TEXTURE_COMPARE_MODE:
+                if (context->getClientVersion() < 3)
+                {
+                    return gl::error(GL_INVALID_ENUM);
+                }
+                if (!texture->setCompareMode((GLenum)param))
+                {
+                    return gl::error(GL_INVALID_ENUM);
+                }
+                break;
+
+              case GL_TEXTURE_COMPARE_FUNC:
+                if (context->getClientVersion() < 3)
+                {
+                    return gl::error(GL_INVALID_ENUM);
+                }
+                if (!texture->setCompareFunc((GLenum)param))
+                {
+                    return gl::error(GL_INVALID_ENUM);
+                }
+                break;
+
               default:
                 return gl::error(GL_INVALID_ENUM);
             }