Currently both users of this would overflow an array when the input was a dual slot double as they expected the number of components to be a max of 4.
Since we pass the type we can just let the functions handle doubles in a way they choose. --- src/amd/common/ac_nir_to_llvm.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c index 0bbf0a9ecd..2bd1257a52 100644 --- a/src/amd/common/ac_nir_to_llvm.c +++ b/src/amd/common/ac_nir_to_llvm.c @@ -3202,8 +3202,8 @@ static LLVMValueRef visit_load_var(struct ac_nir_context *ctx, return ctx->abi->load_inputs(ctx->abi, instr->variables[0]->var->data.location, instr->variables[0]->var->data.driver_location, - instr->variables[0]->var->data.location_frac, ve, - vertex_index, const_index, type); + instr->variables[0]->var->data.location_frac, + instr->num_components, vertex_index, const_index, type); } for (unsigned chan = comp; chan < ve + comp; chan++) { -- 2.14.3 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev