diff options
Diffstat (limited to 'src/gallium')
-rw-r--r-- | src/gallium/drivers/llvmpipe/lp_bld_blend_aos.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_bld_blend_aos.c b/src/gallium/drivers/llvmpipe/lp_bld_blend_aos.c index 8be0b974287..641c253bfe3 100644 --- a/src/gallium/drivers/llvmpipe/lp_bld_blend_aos.c +++ b/src/gallium/drivers/llvmpipe/lp_bld_blend_aos.c @@ -318,7 +318,14 @@ lp_build_blend_aos(struct gallivm_state *gallivm, } } - if (!state->blend_enable) { + if (blend->logicop_enable) { + if(!type.floating) { + result = lp_build_logicop(gallivm->builder, blend->logicop_func, src, dst); + } + else { + result = src; + } + } else if (!state->blend_enable) { result = src; } else { boolean rgb_alpha_same = (state->rgb_src_factor == state->rgb_dst_factor && state->alpha_src_factor == state->alpha_dst_factor) || nr_channels == 1; |