Mesa (master): gallivm: re-org, comments for get_temp_ptr()
Brian Paul
brianp at kemper.freedesktop.org
Wed Jul 21 16:19:54 UTC 2010
Module: Mesa
Branch: master
Commit: 695814a15b4d64e1fa829d51f18c4089837929c3
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=695814a15b4d64e1fa829d51f18c4089837929c3
Author: Brian Paul <brianp at vmware.com>
Date: Wed Jul 21 08:18:56 2010 -0600
gallivm: re-org, comments for get_temp_ptr()
---
src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c | 16 +++++++++++++---
1 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c b/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c
index 994bc53..4e640f5 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c
@@ -405,6 +405,15 @@ static void lp_exec_mask_endsub(struct lp_exec_mask *mask, int *pc)
lp_exec_mask_update(mask);
}
+
+/**
+ * Return pointer to a temporary register channel (src or dest).
+ * \param index which temporary register
+ * \param chan which channel of the temp register.
+ * \param is_indirect if true, add 'addr' to the index
+ * \param addr indirect addressing offset (should already have been
+ * multiplied by four).
+ */
static LLVMValueRef
get_temp_ptr(struct lp_build_tgsi_soa_context *bld,
unsigned index,
@@ -413,15 +422,16 @@ get_temp_ptr(struct lp_build_tgsi_soa_context *bld,
LLVMValueRef addr)
{
assert(chan < 4);
- if (!bld->has_indirect_addressing) {
- return bld->temps[index][chan];
- } else {
+ if (bld->has_indirect_addressing) {
LLVMValueRef lindex =
LLVMConstInt(LLVMInt32Type(), index * 4 + chan, 0);
if (is_indirect)
lindex = lp_build_add(&bld->base, lindex, addr);
return LLVMBuildGEP(bld->base.builder, bld->temps_array, &lindex, 1, "");
}
+ else {
+ return bld->temps[index][chan];
+ }
}
More information about the mesa-commit
mailing list