Mesa (master): swr/rast: use proper alignment for debug transposedPrims

Tim Rowley torowley at kemper.freedesktop.org
Fri Oct 6 18:33:26 UTC 2017


Module: Mesa
Branch: master
Commit: 9716c69e22613229bdc78c0a28491f39bec2520d
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9716c69e22613229bdc78c0a28491f39bec2520d

Author: Tim Rowley <timothy.o.rowley at intel.com>
Date:   Tue Oct  3 15:23:44 2017 -0500

swr/rast: use proper alignment for debug transposedPrims

Causing a crash in ParaView waveletcontour.py test when
_DEBUG defined due to vector aligned copy with unaligned
address.

Reviewed-by: Bruce Cherniak <bruce.cherniak at intel.com>

---

 src/gallium/drivers/swr/rasterizer/core/clip.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/swr/rasterizer/core/clip.h b/src/gallium/drivers/swr/rasterizer/core/clip.h
index cde5261521..e9a410daa3 100644
--- a/src/gallium/drivers/swr/rasterizer/core/clip.h
+++ b/src/gallium/drivers/swr/rasterizer/core/clip.h
@@ -561,7 +561,7 @@ public:
 
 #if defined(_DEBUG)
         // TODO: need to increase stack size, allocating SIMD16-widened transposedPrims causes stack overflow in debug builds
-        SIMDVERTEX_T<SIMD_T> *transposedPrims = reinterpret_cast<SIMDVERTEX_T<SIMD_T> *>(malloc(sizeof(SIMDVERTEX_T<SIMD_T>) * 2));
+        SIMDVERTEX_T<SIMD_T> *transposedPrims = reinterpret_cast<SIMDVERTEX_T<SIMD_T> *>(AlignedMalloc(sizeof(SIMDVERTEX_T<SIMD_T>) * 2, 64));
 
 #else
         SIMDVERTEX_T<SIMD_T> transposedPrims[2];
@@ -667,7 +667,7 @@ public:
         }
 
 #if defined(_DEBUG)
-        free(transposedPrims);
+        AlignedFree(transposedPrims);
 
 #endif
         // update global pipeline stat




More information about the mesa-commit mailing list