[Mesa-dev] [PATCH 2/6] gallivm: Add function lp_bld_gather_values()
Jose Fonseca
jfonseca at vmware.com
Mon Jan 16 11:06:27 PST 2012
Looks good.
Jose
----- Original Message -----
> From: Tom Stellard <thomas.stellard at amd.com>
>
> ---
> src/gallium/auxiliary/gallivm/lp_bld_gather.c | 17
> +++++++++++++++++
> src/gallium/auxiliary/gallivm/lp_bld_gather.h | 4 ++++
> 2 files changed, 21 insertions(+), 0 deletions(-)
>
> diff --git a/src/gallium/auxiliary/gallivm/lp_bld_gather.c
> b/src/gallium/auxiliary/gallivm/lp_bld_gather.c
> index 0dc81b1..1bdd4e4 100644
> --- a/src/gallium/auxiliary/gallivm/lp_bld_gather.c
> +++ b/src/gallium/auxiliary/gallivm/lp_bld_gather.c
> @@ -147,3 +147,20 @@ lp_build_gather(struct gallivm_state *gallivm,
>
> return res;
> }
> +
> +LLVMValueRef
> +lp_build_gather_values(struct gallivm_state * gallivm,
> + LLVMValueRef * values,
> + unsigned value_count)
> +{
> + LLVMTypeRef vec_type = LLVMVectorType(LLVMTypeOf(values[0]),
> value_count);
> + LLVMBuilderRef builder = gallivm->builder;
> + LLVMValueRef vec = LLVMGetUndef(vec_type);
> + unsigned i;
> +
> + for (i = 0; i < value_count; i++) {
> + LLVMValueRef index = lp_build_const_int32(gallivm, i);
> + vec = LLVMBuildInsertElement(builder, vec, values[i], index,
> "");
> + }
> + return vec;
> +}
> diff --git a/src/gallium/auxiliary/gallivm/lp_bld_gather.h
> b/src/gallium/auxiliary/gallivm/lp_bld_gather.h
> index 5b04131..8e4c07d 100644
> --- a/src/gallium/auxiliary/gallivm/lp_bld_gather.h
> +++ b/src/gallium/auxiliary/gallivm/lp_bld_gather.h
> @@ -57,5 +57,9 @@ lp_build_gather(struct gallivm_state *gallivm,
> LLVMValueRef base_ptr,
> LLVMValueRef offsets);
>
> +LLVMValueRef
> +lp_build_gather_values(struct gallivm_state * gallivm,
> + LLVMValueRef * values,
> + unsigned value_count);
>
> #endif /* LP_BLD_GATHER_H_ */
> --
> 1.7.3.4
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
More information about the mesa-dev
mailing list