diff options
author | Bas Nieuwenhuizen <[email protected]> | 2018-01-10 17:05:10 +0100 |
---|---|---|
committer | Bas Nieuwenhuizen <[email protected]> | 2018-01-11 00:56:52 +0100 |
commit | 67e09c8b451e1db8bd901279160b982b0df0fa41 (patch) | |
tree | 81f36741ef410f7fa5c4443e0b70741526190322 | |
parent | af8fd389961aabdac0a5b0e6171b17950a659f30 (diff) |
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 <[email protected]>
-rw-r--r-- | src/amd/common/ac_nir_to_llvm.c | 1 |
1 files changed, 1 insertions, 0 deletions
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)); |