diff options
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/llmath/llvolume.cpp | 8 | ||||
| -rw-r--r-- | indra/newview/llface.cpp | 5 | ||||
| -rw-r--r-- | indra/newview/llviewercontrol.cpp | 5 | 
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;  }  | 
