diff options
| -rw-r--r-- | src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c | 7 | 
1 files changed, 4 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 1622eda5c8..0062805472 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c +++ b/src/gallium/auxiliary/gallivm/lp_bld_tgsi_soa.c @@ -391,15 +391,16 @@ emit_ddy(struct lp_build_tgsi_soa_context *bld,  static LLVMValueRef  get_temp_ptr(struct lp_build_tgsi_soa_context *bld,               unsigned index, -             unsigned swizzle, +             unsigned chan,               boolean is_indirect,               LLVMValueRef addr)  { +   assert(chan < 4);     if (!bld->has_indirect_addressing) { -      return bld->temps[index][swizzle]; +      return bld->temps[index][chan];     } else {        LLVMValueRef lindex = -         LLVMConstInt(LLVMInt32Type(), index*4 + swizzle, 0); +         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, ""); | 
