summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZack Rusin <[email protected]>2013-09-23 17:29:39 -0400
committerZack Rusin <[email protected]>2013-09-23 18:10:51 -0400
commite5ec5aef2be4d667a1f28f0ee0105dd6dc204732 (patch)
treebc6f688684aed5f13d69a086af42322dcfc86371
parentf036d55515bc2b3821d52d16f2211d6c2e21b9a2 (diff)
llvmpipe: align the array used for subdivived vertices
When subdiving a triangle we're using a temporary array to store the new coordinates for the subdivided triangles. Unfortunately the array used for that was not aligned properly causing random crashes in the llvm jit code which was trying to load vectors from it. Signed-off-by: Zack Rusin <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]>
-rw-r--r--src/gallium/drivers/llvmpipe/lp_setup_tri.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_setup_tri.c b/src/gallium/drivers/llvmpipe/lp_setup_tri.c
index 8b0fcd09e5a..cf67f29f0e3 100644
--- a/src/gallium/drivers/llvmpipe/lp_setup_tri.c
+++ b/src/gallium/drivers/llvmpipe/lp_setup_tri.c
@@ -909,7 +909,7 @@ subdiv_tri(struct lp_setup_context *setup,
unsigned n = setup->fs.current.variant->shader->info.base.num_inputs + 1;
const struct lp_shader_input *inputs =
setup->fs.current.variant->shader->inputs;
- float vmid[PIPE_MAX_ATTRIBS][4];
+ PIPE_ALIGN_VAR(LP_MIN_VECTOR_ALIGN) float vmid[PIPE_MAX_ATTRIBS][4];
const float (*vm)[4] = (const float (*)[4]) vmid;
unsigned i;
float w0, w1, wm;