From: José Fonseca Date: Thu, 16 Sep 2010 08:52:20 +0000 (+0100) Subject: gallivm: Fix address register swizzle. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3d5b9c1f2d3340259dd0d8765090a5a963074f29;p=mesa.git gallivm: Fix address register swizzle. We're actually doing a double swizzling: indirect_reg->Swizzle[indirect_reg->SwizzleX] instead of simply indirect_reg->SwizzleX --- diff --git a/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c b/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c index cd5b132b41d..0d8d49be2c7 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;