Add min and max blend modes.
TRAC #22836
Signed-off-by: Geoff Lang
Signed-off-by: Nicolas Capens
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2120 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/libGLESv2/libGLESv2.cpp b/src/libGLESv2/libGLESv2.cpp
index 156562e..d01df47 100644
--- a/src/libGLESv2/libGLESv2.cpp
+++ b/src/libGLESv2/libGLESv2.cpp
@@ -559,12 +559,23 @@
try
{
+ gl::Context *context = gl::getNonLostContext();
+
switch (modeRGB)
{
case GL_FUNC_ADD:
case GL_FUNC_SUBTRACT:
case GL_FUNC_REVERSE_SUBTRACT:
break;
+
+ case GL_MIN:
+ case GL_MAX:
+ if (context && context->getClientVersion() < 3)
+ {
+ return gl::error(GL_INVALID_ENUM);
+ }
+ break;
+
default:
return gl::error(GL_INVALID_ENUM);
}
@@ -575,12 +586,19 @@
case GL_FUNC_SUBTRACT:
case GL_FUNC_REVERSE_SUBTRACT:
break;
+
+ case GL_MIN:
+ case GL_MAX:
+ if (context && context->getClientVersion() < 3)
+ {
+ return gl::error(GL_INVALID_ENUM);
+ }
+ break;
+
default:
return gl::error(GL_INVALID_ENUM);
}
- gl::Context *context = gl::getNonLostContext();
-
if (context)
{
context->setBlendEquation(modeRGB, modeAlpha);