summaryrefslogtreecommitdiffstats
path: root/src/mesa/main/blend.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2012-03-24 13:33:00 +0000
committerDave Airlie <airlied@redhat.com>2012-04-13 17:18:55 +0100
commitf8cf79936b42405a8366613b80e3bde21aadaa02 (patch)
treefc77c2e3bc4976c6cd9e99a02fa7c90b70b25744 /src/mesa/main/blend.c
parenta75c6163e605f35b14f26930dd9227e4f337ec9e (diff)
downloadexternal_mesa3d-f8cf79936b42405a8366613b80e3bde21aadaa02.zip
external_mesa3d-f8cf79936b42405a8366613b80e3bde21aadaa02.tar.gz
external_mesa3d-f8cf79936b42405a8366613b80e3bde21aadaa02.tar.bz2
mesa: add support for ARB_blend_func_extended (v4)
Add implementations of the two API functions, Add a new strings to uint mapping for index bindings Add the blending mode validation for SRC1 + SRC_ALPHA_SATURATE Add get for MAX_DUAL_SOURCE_DRAW_BUFFERS v2: Add check in valid_to_render to address case in spec ERRORS. v3: Add index to ir.h so this patch compiles on its own fixup comment v4: fixup Brian's comments The GLSL patch will setup the indices. Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'src/mesa/main/blend.c')
-rw-r--r--src/mesa/main/blend.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/mesa/main/blend.c b/src/mesa/main/blend.c
index 09acdf5..bc446ed 100644
--- a/src/mesa/main/blend.c
+++ b/src/mesa/main/blend.c
@@ -63,6 +63,11 @@ legal_src_factor(const struct gl_context *ctx, GLenum factor)
case GL_CONSTANT_ALPHA:
case GL_ONE_MINUS_CONSTANT_ALPHA:
return GL_TRUE;
+ case GL_SRC1_COLOR:
+ case GL_SRC1_ALPHA:
+ case GL_ONE_MINUS_SRC1_COLOR:
+ case GL_ONE_MINUS_SRC1_ALPHA:
+ return ctx->Extensions.ARB_blend_func_extended;
default:
return GL_FALSE;
}
@@ -93,6 +98,12 @@ legal_dst_factor(const struct gl_context *ctx, GLenum factor)
case GL_CONSTANT_ALPHA:
case GL_ONE_MINUS_CONSTANT_ALPHA:
return GL_TRUE;
+ case GL_SRC_ALPHA_SATURATE:
+ case GL_SRC1_COLOR:
+ case GL_SRC1_ALPHA:
+ case GL_ONE_MINUS_SRC1_COLOR:
+ case GL_ONE_MINUS_SRC1_ALPHA:
+ return ctx->Extensions.ARB_blend_func_extended;
default:
return GL_FALSE;
}