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

Author: Dave Airlie <[email protected]>
Date:   Tue Dec  3 14:48:03 2019 +1000

gallivm/nir: copy compare ordering code from tgsi

This fixes some isinf/isnan tests copying what the tgsi code
paths do for float compares

Reviewed-by: Roland Scheidegger <[email protected]>

---

 src/gallium/auxiliary/gallivm/lp_bld_nir.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/gallium/auxiliary/gallivm/lp_bld_nir.c 
b/src/gallium/auxiliary/gallivm/lp_bld_nir.c
index 31b420b246b..8861a8324b5 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_nir.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_nir.c
@@ -235,7 +235,12 @@ static LLVMValueRef fcmp32(struct lp_build_nir_context 
*bld_base,
 {
    LLVMBuilderRef builder = bld_base->base.gallivm->builder;
    struct lp_build_context *flt_bld = get_flt_bld(bld_base, src_bit_size);
-   LLVMValueRef result = lp_build_cmp(flt_bld, compare, src[0], src[1]);
+   LLVMValueRef result;
+
+   if (compare != PIPE_FUNC_NOTEQUAL)
+      result = lp_build_cmp_ordered(flt_bld, compare, src[0], src[1]);
+   else
+      result = lp_build_cmp(flt_bld, compare, src[0], src[1]);
    if (src_bit_size == 64)
       result = LLVMBuildTrunc(builder, result, bld_base->int_bld.vec_type, "");
    return result;

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to