Mesa (master): etnaviv: Clear lbl_usage array correctly
Christian Gmeiner
austriancoder at kemper.freedesktop.org
Sun Jul 23 19:53:47 UTC 2017
Module: Mesa
Branch: master
Commit: 15a1ceb127b70ac98b03cae051927f75fb7ee204
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=15a1ceb127b70ac98b03cae051927f75fb7ee204
Author: Wladimir J. van der Laan <laanwj at gmail.com>
Date: Sun Jul 23 13:24:39 2017 +0200
etnaviv: Clear lbl_usage array correctly
Fill the entire array instead of just a quarter. This avoids
crashes with large shaders.
(currently this never causes a problem because shaders larger than 2048/4
instructions are not supported by this driver on any hardware, but it will
cause problems in the future)
Fixes: ec436051899 ("etnaviv: fix shader miscompilation with more than 16 labels")
Cc: mesa-stable at lists.freedesktop.org
Signed-off-by: Wladimir J. van der Laan <laanwj at gmail.com>
Reviewed-by: Christian Gmeiner <christian.gmeiner at gmail.com>
---
src/gallium/drivers/etnaviv/etnaviv_compiler.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/gallium/drivers/etnaviv/etnaviv_compiler.c b/src/gallium/drivers/etnaviv/etnaviv_compiler.c
index cc6bfc9425..165ab74298 100644
--- a/src/gallium/drivers/etnaviv/etnaviv_compiler.c
+++ b/src/gallium/drivers/etnaviv/etnaviv_compiler.c
@@ -2353,7 +2353,7 @@ etna_compile_shader(struct etna_shader_variant *v)
if (!c)
return false;
- memset(&c->lbl_usage, -1, ARRAY_SIZE(c->lbl_usage));
+ memset(&c->lbl_usage, -1, sizeof(c->lbl_usage));
const struct tgsi_token *tokens = v->shader->tokens;
More information about the mesa-commit
mailing list