Mesa (master): gallivm: added lp_build_print_ivec4() function
Brian Paul
brianp at kemper.freedesktop.org
Sun Oct 23 16:12:53 UTC 2011
Module: Mesa
Branch: master
Commit: 903a14ed9146f3a38895ca7e39f69f2ad77bf5df
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=903a14ed9146f3a38895ca7e39f69f2ad77bf5df
Author: Brian Paul <brianp at vmware.com>
Date: Sun Oct 23 10:02:53 2011 -0600
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(+), 0 deletions(-)
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_printf.c b/src/gallium/auxiliary/gallivm/lp_bld_printf.c
index 60cc609..56ff426 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 f6bb834..79db74d 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
More information about the mesa-commit
mailing list