diff options
author | andreykproductengine <andreykproductengine@lindenlab.com> | 2017-09-01 17:06:25 +0300 |
---|---|---|
committer | andreykproductengine <andreykproductengine@lindenlab.com> | 2017-09-01 17:06:25 +0300 |
commit | 58cea615c53d625d31943c9af062e2143bc6cb2b (patch) | |
tree | e8a8217b9648715972fde4d573bd9ac4ec836568 /indra/llmath | |
parent | bf1af55a060b25e2de291c66a4d848dd969729ed (diff) |
MAINT-7649 Error with information in case of failed allocation.
Diffstat (limited to 'indra/llmath')
-rw-r--r-- | indra/llmath/llvolume.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/indra/llmath/llvolume.cpp b/indra/llmath/llvolume.cpp index 7a54d83b3f..b0ac3c9436 100644 --- a/indra/llmath/llvolume.cpp +++ b/indra/llmath/llvolume.cpp @@ -5311,19 +5311,31 @@ void LLVolumeFace::cacheOptimize() S32 num_verts = mNumVertices; S32 size = ((num_verts*sizeof(LLVector2)) + 0xF) & ~0xF; LLVector4a* pos = (LLVector4a*) ll_aligned_malloc<64>(sizeof(LLVector4a)*2*num_verts+size); + if (pos == NULL) + { + LL_ERRS("LLVOLUME") << "Allocation of positions vector[" << sizeof(LLVector4a) * 2 * num_verts + size << "] failed. " << LL_ENDL; + } LLVector4a* norm = pos + num_verts; LLVector2* tc = (LLVector2*) (norm + num_verts); LLVector4a* wght = NULL; if (mWeights) { - wght = (LLVector4a*) ll_aligned_malloc_16(sizeof(LLVector4a)*num_verts); + wght = (LLVector4a*)ll_aligned_malloc_16(sizeof(LLVector4a)*num_verts); + if (wght == NULL) + { + LL_ERRS("LLVOLUME") << "Allocation of weights[" << sizeof(LLVector4a) * num_verts << "] failed" << LL_ENDL; + } } LLVector4a* binorm = NULL; if (mTangents) { binorm = (LLVector4a*) ll_aligned_malloc_16(sizeof(LLVector4a)*num_verts); + if (binorm == NULL) + { + LL_ERRS("LLVOLUME") << "Allocation of binormals[" << sizeof(LLVector4a)*num_verts << "] failed" << LL_ENDL; + } } //allocate mapping of old indices to new indices |