[Mesa-dev] [PATCH] gallivm: Fix indirect immediate registers.

Roland Scheidegger sroland at vmware.com
Mon Jul 1 14:08:57 PDT 2013


Am 01.07.2013 21:54, schrieb jfonseca at vmware.com:
> From: José Fonseca <jfonseca at vmware.com>
> 
> If reg->Register.Indirect then the immediate is not truly a constant
> expression.
> 
> There is no performance regression -- LLVMBuildBitCast will fallback to
> LLVMConstBitCast internally when the argument is a constant.
> ---
>  src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c b/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c
> index 0bbc408..f641859 100644
> --- a/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c
> +++ b/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c
> @@ -1026,9 +1026,9 @@ emit_fetch_immediate(
>     }
>  
>     if (stype == TGSI_TYPE_UNSIGNED) {
> -      res = LLVMConstBitCast(res, bld_base->uint_bld.vec_type);
> +      res = LLVMBuildBitCast(builder, res, bld_base->uint_bld.vec_type, "");
>     } else if (stype == TGSI_TYPE_SIGNED) {
> -      res = LLVMConstBitCast(res, bld_base->int_bld.vec_type);
> +      res = LLVMBuildBitCast(builder, res, bld_base->int_bld.vec_type, "");
>     }
>     return res;
>  }
> 

Reviewed-by: Roland Scheidegger <sroland at vmware.com>


More information about the mesa-dev mailing list