From 1cead8845b95643582903f054255d20b3de3e19a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jos=C3=A9=20Fonseca?= Date: Wed, 28 Nov 2012 20:45:03 +0000 Subject: [PATCH] llvmpipe: Implement logic ops for the AoS path. It was forgotten in the previous patch series, but it is trivial to implement, based on the SoA path. This fixes glean logicOp failures. --- src/gallium/drivers/llvmpipe/lp_bld_blend_aos.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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; -- 2.30.2