1 #ifndef U_DUAL_BLEND_H
2 #define U_DUAL_BLEND_H
3 
4 #include "pipe/p_state.h"
5 
util_blend_factor_is_dual_src(int factor)6 static INLINE boolean util_blend_factor_is_dual_src(int factor)
7 {
8    return (factor == PIPE_BLENDFACTOR_SRC1_COLOR) ||
9           (factor == PIPE_BLENDFACTOR_SRC1_ALPHA) ||
10           (factor == PIPE_BLENDFACTOR_INV_SRC1_COLOR) ||
11           (factor == PIPE_BLENDFACTOR_INV_SRC1_ALPHA);
12 }
13 
util_blend_state_is_dual(const struct pipe_blend_state * blend,int index)14 static INLINE boolean util_blend_state_is_dual(const struct pipe_blend_state *blend,
15 				  int index)
16 {
17    if (util_blend_factor_is_dual_src(blend->rt[index].rgb_src_factor) ||
18        util_blend_factor_is_dual_src(blend->rt[index].alpha_src_factor) ||
19        util_blend_factor_is_dual_src(blend->rt[index].rgb_dst_factor) ||
20        util_blend_factor_is_dual_src(blend->rt[index].alpha_dst_factor))
21       return true;
22    return false;
23 }
24 
25 
26 #endif
27