gallivm/nir: pass the correct float builder to ddx/y
authorDave Airlie <airlied@redhat.com>
Thu, 22 Jul 2021 06:14:57 +0000 (16:14 +1000)
committerMarge Bot <eric+marge@anholt.net>
Thu, 16 Sep 2021 04:15:41 +0000 (04:15 +0000)
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11816>

src/gallium/auxiliary/gallivm/lp_bld_nir.c

index d451766..a07603d 100644 (file)
@@ -689,12 +689,12 @@ static LLVMValueRef do_alu_action(struct lp_build_nir_context *bld_base,
    case nir_op_fddx:
    case nir_op_fddx_coarse:
    case nir_op_fddx_fine:
-      result = lp_build_ddx(&bld_base->base, src[0]);
+      result = lp_build_ddx(get_flt_bld(bld_base, src_bit_size[0]), src[0]);
       break;
    case nir_op_fddy:
    case nir_op_fddy_coarse:
    case nir_op_fddy_fine:
-      result = lp_build_ddy(&bld_base->base, src[0]);
+      result = lp_build_ddy(get_flt_bld(bld_base, src_bit_size[0]), src[0]);
       break;
    case nir_op_fdiv:
       result = lp_build_div(get_flt_bld(bld_base, src_bit_size[0]),