summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/llmath/llvolume.cpp8
-rw-r--r--indra/newview/llface.cpp5
-rw-r--r--indra/newview/llviewercontrol.cpp5
3 files changed, 17 insertions, 1 deletions
diff --git a/indra/llmath/llvolume.cpp b/indra/llmath/llvolume.cpp
index a0874e859c..2411bb7900 100644
--- a/indra/llmath/llvolume.cpp
+++ b/indra/llmath/llvolume.cpp
@@ -92,11 +92,13 @@ extern BOOL gDebugGL;
void assert_aligned(void* ptr, U32 alignment)
{
+#if 0
U32 t = (U32) ptr;
if (t%alignment != 0)
{
llerrs << "WTF?" << llendl;
}
+#endif
}
BOOL check_same_clock_dir( const LLVector3& pt1, const LLVector3& pt2, const LLVector3& pt3, const LLVector3& norm)
@@ -6600,6 +6602,12 @@ BOOL LLVolumeFace::createSide(LLVolume* volume, BOOL partial_build)
}
}
+ //clear normals
+ for (U32 i = 0; i < mNumVertices; i++)
+ {
+ mNormals[i].clear();
+ }
+
//generate normals
for (U32 i = 0; i < mNumIndices/3; i++) //for each triangle
{
diff --git a/indra/newview/llface.cpp b/indra/newview/llface.cpp
index 4de61964c7..f5a04c8c81 100644
--- a/indra/newview/llface.cpp
+++ b/indra/newview/llface.cpp
@@ -1665,6 +1665,11 @@ BOOL LLFace::getGeometryVolume(const LLVolume& volume,
LLVector4a* dst = (LLVector4a*) colors.get();
S32 num_vecs = num_vertices/4;
+ if (num_vertices%4 > 0)
+ {
+ ++num_vecs;
+ }
+
for (S32 i = 0; i < num_vecs; i++)
{
dst[i] = src;
diff --git a/indra/newview/llviewercontrol.cpp b/indra/newview/llviewercontrol.cpp
index 131c712241..13dee0c7b7 100644
--- a/indra/newview/llviewercontrol.cpp
+++ b/indra/newview/llviewercontrol.cpp
@@ -123,7 +123,10 @@ static bool handleSetShaderChanged(const LLSD& newvalue)
static bool handleLightingDetailChanged(const LLSD& newvalue)
{
- gPipeline.setLightingDetail(-1);
+ if (gPipeline.isInit())
+ {
+ gPipeline.setLightingDetail(-1);
+ }
return true;
}