This fixes a segfault for varyings not starting at component 0.
---
 src/amd/common/ac_llvm_build.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/amd/common/ac_llvm_build.c b/src/amd/common/ac_llvm_build.c
index 3467bba693..6615a269f8 100644
--- a/src/amd/common/ac_llvm_build.c
+++ b/src/amd/common/ac_llvm_build.c
@@ -413,7 +413,7 @@ ac_build_varying_gather_values(struct ac_llvm_context *ctx, 
LLVMValueRef *values
        for (unsigned i = component; i < value_count + component; i++) {
                LLVMValueRef value = values[i];
 
-               if (!i)
+               if (i == component)
                        vec = LLVMGetUndef( LLVMVectorType(LLVMTypeOf(value), 
value_count));
                LLVMValueRef index = LLVMConstInt(ctx->i32, i - component, 
false);
                vec = LLVMBuildInsertElement(ctx->builder, vec, value, index, 
"");
-- 
2.14.3

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to