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);
}