Reviewed-by: Tim Rowley <timothy.o.row...@intel.com<mailto:timothy.o.row...@intel.com>>
On Apr 12, 2017, at 6:43 PM, Bruce Cherniak <bruce.chern...@intel.com<mailto:bruce.chern...@intel.com>> wrote: The context now contains SIMD vectors which must be aligned (specifically samplePositions in the rastState in the derived state). Failure to align can result in segv crash on unaligned memory access in vector instructions. --- src/gallium/drivers/swr/swr_context.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/swr/swr_context.cpp b/src/gallium/drivers/swr/swr_context.cpp index 8c5a269..6f46d66 100644 --- a/src/gallium/drivers/swr/swr_context.cpp +++ b/src/gallium/drivers/swr/swr_context.cpp @@ -386,7 +386,7 @@ swr_destroy(struct pipe_context *pipe) if (screen->pipe == pipe) screen->pipe = NULL; - FREE(ctx); + AlignedFree(ctx); } @@ -452,7 +452,10 @@ swr_UpdateStatsFE(HANDLE hPrivateContext, const SWR_STATS_FE *pStats) struct pipe_context * swr_create_context(struct pipe_screen *p_screen, void *priv, unsigned flags) { - struct swr_context *ctx = CALLOC_STRUCT(swr_context); + struct swr_context *ctx = (struct swr_context *) + AlignedMalloc(sizeof(struct swr_context), KNOB_SIMD_BYTES); + memset(ctx, 0, sizeof(struct swr_context)); + ctx->blendJIT = new std::unordered_map<BLEND_COMPILE_STATE, PFN_BLEND_JIT_FUNC>; -- 2.7.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org<mailto:mesa-dev@lists.freedesktop.org> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev