Mesa (master): gallivm: added lp_build_print_ivec4() function

Brian Paul brianp at kemper.freedesktop.org
Sun Oct 23 09:12:53 PDT 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