[Mesa-dev] [PATCH 4/4] radeonsi: don't set the last parameter component of llvm.AMDGPU.cube

Nicolai Hähnle nhaehnle at gmail.com
Tue Aug 2 13:46:36 UTC 2016


The series is

Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

On 31.07.2016 22:34, Marek Olšák wrote:
> From: Marek Olšák <marek.olsak at amd.com>
>
> LLVM doesn't use it.
> ---
>  src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c | 10 ++++++++--
>  1 file changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c b/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c
> index e7354de..d75311e 100644
> --- a/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c
> +++ b/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c
> @@ -902,7 +902,7 @@ static void kil_emit(const struct lp_build_tgsi_action *action,
>  }
>
>  static LLVMValueRef build_cube_intrinsic(struct gallivm_state *gallivm,
> -					 LLVMValueRef in[4])
> +					 LLVMValueRef in[3])
>  {
>  	if (HAVE_LLVM >= 0x0309) {
>  		LLVMTypeRef f32 = LLVMTypeOf(in[0]);
> @@ -919,7 +919,13 @@ static LLVMValueRef build_cube_intrinsic(struct gallivm_state *gallivm,
>
>  		return lp_build_gather_values(gallivm, out, 4);
>  	} else {
> -		LLVMValueRef vec = lp_build_gather_values(gallivm, in, 4);
> +		LLVMValueRef c[4] = {
> +			in[0],
> +			in[1],
> +			in[2],
> +			LLVMGetUndef(LLVMTypeOf(in[0]))
> +		};
> +		LLVMValueRef vec = lp_build_gather_values(gallivm, c, 4);
>
>  		return lp_build_intrinsic(gallivm->builder, "llvm.AMDGPU.cube",
>  					  LLVMTypeOf(vec), &vec, 1,
>


More information about the mesa-dev mailing list