Mesa (master): gallivm: Fix address register swizzle.

Jose Fonseca jrfonseca at kemper.freedesktop.org
Thu Sep 16 19:21:04 UTC 2010


Module: Mesa
Branch: master
Commit: 3d5b9c1f2d3340259dd0d8765090a5a963074f29
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3d5b9c1f2d3340259dd0d8765090a5a963074f29

Author: José Fonseca <jfonseca at vmware.com>
Date:   Thu Sep 16 09:52:20 2010 +0100

gallivm: Fix address register swizzle.

We're actually doing a double swizzling:

  indirect_reg->Swizzle[indirect_reg->SwizzleX]

instead of simply

  indirect_reg->SwizzleX

---

 src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c b/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c
index cd5b132..0d8d49b 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c
@@ -476,9 +476,8 @@ get_indirect_offsets(struct lp_build_tgsi_soa_context *bld,
                      const struct tgsi_src_register *indirect_reg)
 {
    /* always use X component of address register */
-   const int x = indirect_reg->SwizzleX;
+   unsigned swizzle = indirect_reg->SwizzleX;
    LLVMTypeRef int_vec_type = lp_build_int_vec_type(bld->base.type);
-   uint swizzle = tgsi_util_get_src_register_swizzle(indirect_reg, x);
    LLVMValueRef vec4 = lp_build_const_int_vec(bld->int_bld.type, 4); 
    LLVMValueRef addr_vec;
 




More information about the mesa-commit mailing list