summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/drivers/llvmpipe/lp_bld_blend_aos.c9
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;