Mesa (master): llvmpipe: Implement logic ops for the AoS path.

Jose Fonseca jrfonseca at kemper.freedesktop.org
Wed Nov 28 20:45:41 UTC 2012


Module: Mesa
Branch: master
Commit: 1cead8845b95643582903f054255d20b3de3e19a
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1cead8845b95643582903f054255d20b3de3e19a

Author: José Fonseca <jfonseca at vmware.com>
Date:   Wed Nov 28 20:45:03 2012 +0000

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 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 8be0b97..641c253 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;




More information about the mesa-commit mailing list