Add new cases for GLES3 SRC_ALPHA_SATURATE blend modes.
TRAC #23125
Signed-off-by: Geoff Lang
Signed-off-by: Nicolas Capens
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2351 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/libGLESv2/libGLESv2.cpp b/src/libGLESv2/libGLESv2.cpp
index 937e70f..cc15969 100644
--- a/src/libGLESv2/libGLESv2.cpp
+++ b/src/libGLESv2/libGLESv2.cpp
@@ -1106,6 +1106,8 @@
try
{
+ gl::Context *context = gl::getNonLostContext();
+
switch (srcRGB)
{
case GL_ZERO:
@@ -1145,6 +1147,14 @@
case GL_CONSTANT_ALPHA:
case GL_ONE_MINUS_CONSTANT_ALPHA:
break;
+
+ case GL_SRC_ALPHA_SATURATE:
+ if (!context || context->getClientVersion() < 3)
+ {
+ return gl::error(GL_INVALID_ENUM);
+ }
+ break;
+
default:
return gl::error(GL_INVALID_ENUM);
}
@@ -1188,6 +1198,14 @@
case GL_CONSTANT_ALPHA:
case GL_ONE_MINUS_CONSTANT_ALPHA:
break;
+
+ case GL_SRC_ALPHA_SATURATE:
+ if (!context || context->getClientVersion() < 3)
+ {
+ return gl::error(GL_INVALID_ENUM);
+ }
+ break;
+
default:
return gl::error(GL_INVALID_ENUM);
}
@@ -1204,8 +1222,6 @@
return gl::error(GL_INVALID_OPERATION);
}
- gl::Context *context = gl::getNonLostContext();
-
if (context)
{
context->setBlendFactors(srcRGB, dstRGB, srcAlpha, dstAlpha);