From: Bas Nieuwenhuizen Date: Wed, 10 Jan 2018 16:05:10 +0000 (+0100) Subject: ac/nir: Sanitize location_frac for local variables. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=67e09c8b451e1db8bd901279160b982b0df0fa41;p=mesa.git ac/nir: Sanitize location_frac for local variables. If they were promoted from inputs/outputs, they could have a non-zero value left over, which messed with our store handling. Fixes: 06f05040eb "radv: Link shaders." Reviewed-by: Timothy Arceri --- diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c index 5885c70ef89..8301b16057d 100644 --- a/src/amd/common/ac_nir_to_llvm.c +++ b/src/amd/common/ac_nir_to_llvm.c @@ -5556,6 +5556,7 @@ setup_locals(struct ac_nir_context *ctx, nir_foreach_variable(variable, &func->impl->locals) { unsigned attrib_count = glsl_count_attribute_slots(variable->type, false); variable->data.driver_location = ctx->num_locals * 4; + variable->data.location_frac = 0; ctx->num_locals += attrib_count; } ctx->locals = malloc(4 * ctx->num_locals * sizeof(LLVMValueRef));