From 903a14ed9146f3a38895ca7e39f69f2ad77bf5df Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Sun, 23 Oct 2011 10:02:53 -0600 Subject: [PATCH] gallivm: added lp_build_print_ivec4() function --- src/gallium/auxiliary/gallivm/lp_bld_printf.c | 21 +++++++++++++++++++ src/gallium/auxiliary/gallivm/lp_bld_printf.h | 3 +++ 2 files changed, 24 insertions(+) diff --git a/src/gallium/auxiliary/gallivm/lp_bld_printf.c b/src/gallium/auxiliary/gallivm/lp_bld_printf.c index 60cc6094f5a..56ff4269588 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_printf.c +++ b/src/gallium/auxiliary/gallivm/lp_bld_printf.c @@ -149,3 +149,24 @@ lp_build_print_vec4(struct gallivm_state *gallivm, util_snprintf(format, sizeof(format), "%s %%f %%f %%f %%f\n", msg); return lp_build_printf(gallivm, format, x, y, z, w); } + + +/** + * Print a intt[4] vector. + */ +LLVMValueRef +lp_build_print_ivec4(struct gallivm_state *gallivm, + const char *msg, LLVMValueRef vec) +{ + LLVMBuilderRef builder = gallivm->builder; + char format[1000]; + LLVMValueRef x, y, z, w; + + x = LLVMBuildExtractElement(builder, vec, lp_build_const_int32(gallivm, 0), ""); + y = LLVMBuildExtractElement(builder, vec, lp_build_const_int32(gallivm, 1), ""); + z = LLVMBuildExtractElement(builder, vec, lp_build_const_int32(gallivm, 2), ""); + w = LLVMBuildExtractElement(builder, vec, lp_build_const_int32(gallivm, 3), ""); + + util_snprintf(format, sizeof(format), "%s %%i %%i %%i %%i\n", msg); + return lp_build_printf(gallivm, format, x, y, z, w); +} diff --git a/src/gallium/auxiliary/gallivm/lp_bld_printf.h b/src/gallium/auxiliary/gallivm/lp_bld_printf.h index f6bb8348699..79db74d8886 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_printf.h +++ b/src/gallium/auxiliary/gallivm/lp_bld_printf.h @@ -45,6 +45,9 @@ LLVMValueRef lp_build_print_vec4(struct gallivm_state *gallivm, const char *msg, LLVMValueRef vec); +LLVMValueRef +lp_build_print_ivec4(struct gallivm_state *gallivm, + const char *msg, LLVMValueRef vec); #endif -- 2.30.2