Mesa (master): ac/nir: Sanitize location_frac for local variables.
Bas Nieuwenhuizen
bnieuwenhuizen at kemper.freedesktop.org
Wed Jan 10 23:58:20 UTC 2018
Module: Mesa
Branch: master
Commit: 67e09c8b451e1db8bd901279160b982b0df0fa41
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=67e09c8b451e1db8bd901279160b982b0df0fa41
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date: Wed Jan 10 17:05:10 2018 +0100
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 <tarceri at itsqueeze.com>
---
src/amd/common/ac_nir_to_llvm.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
index 5885c70ef8..8301b16057 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));
More information about the mesa-commit
mailing list