From: Roland Scheidegger <srol...@vmware.com> Some rasterization code relies (for sse) on the first and third planes (but not the second for now) being 128bit aligned, and we didn't get that on 32bit - I mistakenly thought the 64bit number in the struct would get the thing aligned to 64bit even on 32bit archs. Stephane Marchesin really figured this out.
This fixes https://bugs.freedesktop.org/show_bug.cgi?id=94522 CC: <mesa-sta...@lists.freedesktop.org> --- src/gallium/drivers/llvmpipe/lp_rast.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/gallium/drivers/llvmpipe/lp_rast.h b/src/gallium/drivers/llvmpipe/lp_rast.h index 34008e1..d9be7f3 100644 --- a/src/gallium/drivers/llvmpipe/lp_rast.h +++ b/src/gallium/drivers/llvmpipe/lp_rast.h @@ -116,6 +116,12 @@ struct lp_rast_plane { /* one-pixel sized trivial reject offsets for each plane */ uint32_t eo; + /* + * We rely on this struct being 64bit aligned (ideally it would be 128bit + * but that's quite the waste) and therefore on 32bit we need padding + * since otherwise (even with the 64bit number in there) it wouldn't be. + */ + uint32_t pad; }; /** -- 2.1.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev