summaryrefslogtreecommitdiff
path: root/indra/llmath
diff options
context:
space:
mode:
authorPtolemy <ptolemy@lindenlab.com>2020-05-06 09:43:25 -0700
committerPtolemy <ptolemy@lindenlab.com>2020-05-06 09:43:25 -0700
commitcabbc19e95707400a7632498296cc1012b34bb0f (patch)
tree00a1fc15e9fd2c2ee742951967cf37eff22ee47a /indra/llmath
parent7bf2a1f5fef557e4531731c608c8dd924c97bc39 (diff)
parent7449f4b6d770be9d56ee5fa3d20b6b59d816719c (diff)
DRTVWR-510: Fix merge conflict
Diffstat (limited to 'indra/llmath')
-rw-r--r--indra/llmath/llvolume.cpp31
1 files changed, 22 insertions, 9 deletions
diff --git a/indra/llmath/llvolume.cpp b/indra/llmath/llvolume.cpp
index 2ac1eb99ce..7da53bf8c8 100644
--- a/indra/llmath/llvolume.cpp
+++ b/indra/llmath/llvolume.cpp
@@ -2399,9 +2399,9 @@ bool LLVolume::unpackVolumeFaces(std::istream& is, S32 size)
{ //face has no geometry, continue
face.resizeIndices(3);
face.resizeVertices(1);
- memset(face.mPositions, 0, sizeof(LLVector4a));
- memset(face.mNormals, 0, sizeof(LLVector4a));
- memset(face.mTexCoords, 0, sizeof(LLVector2));
+ face.mPositions->clear();
+ face.mNormals->clear();
+ face.mTexCoords->setZero();
memset(face.mIndices, 0, sizeof(U16)*3);
continue;
}
@@ -2489,7 +2489,11 @@ bool LLVolume::unpackVolumeFaces(std::istream& is, S32 size)
}
else
{
- memset(norm_out, 0, sizeof(LLVector4a)*num_verts);
+ for (U32 j = 0; j < num_verts; ++j)
+ {
+ norm_out->clear();
+ norm_out++; // or just norm_out[j].clear();
+ }
}
}
@@ -2519,7 +2523,11 @@ bool LLVolume::unpackVolumeFaces(std::istream& is, S32 size)
}
else
{
- memset(tc_out, 0, sizeof(LLVector2)*num_verts);
+ for (U32 j = 0; j < num_verts; j += 2)
+ {
+ tc_out->clear();
+ tc_out++;
+ }
}
}
@@ -5288,7 +5296,7 @@ bool LLVolumeFace::cacheOptimize()
triangle_data.resize(mNumIndices / 3);
vertex_data.resize(mNumVertices);
}
- catch (std::bad_alloc)
+ catch (std::bad_alloc&)
{
LL_WARNS("LLVOLUME") << "Resize failed" << LL_ENDL;
return false;
@@ -5442,7 +5450,7 @@ bool LLVolumeFace::cacheOptimize()
{
new_idx.resize(mNumVertices, -1);
}
- catch (std::bad_alloc)
+ catch (std::bad_alloc&)
{
ll_aligned_free<64>(pos);
ll_aligned_free_16(wght);
@@ -6968,11 +6976,16 @@ void CalculateTangentArray(U32 vertexCount, const LLVector4a *vertex, const LLVe
{
//LLVector4a *tan1 = new LLVector4a[vertexCount * 2];
LLVector4a* tan1 = (LLVector4a*) ll_aligned_malloc_16(vertexCount*2*sizeof(LLVector4a));
+ // new(tan1) LLVector4a;
LLVector4a* tan2 = tan1 + vertexCount;
- memset(tan1, 0, vertexCount*2*sizeof(LLVector4a));
-
+ U32 count = vertexCount * 2;
+ for (U32 i = 0; i < count; i++)
+ {
+ tan1[i].clear();
+ }
+
for (U32 a = 0; a < triangleCount; a++)
{
U32 i1 = *index_array++;