diff options
| author | prep <prep@lindenlab.com> | 2012-01-19 14:38:16 -0500 | 
|---|---|---|
| committer | prep <prep@lindenlab.com> | 2012-01-19 14:38:16 -0500 | 
| commit | e2ef5a5edce6a01724d91fde5b471b0bae18d045 (patch) | |
| tree | b5b0bb9796cd893aad8ce3ca329dfcb11026b035 | |
| parent | e683c48e466c264642dc42997327410fb6ebae7f (diff) | |
Path-196 : vbo cleanup, visual fixes (path-222)
| -rw-r--r-- | indra/cmake/00-Common.cmake | 2 | ||||
| -rw-r--r-- | indra/llrender/llrendernavprim.cpp | 19 | ||||
| -rw-r--r-- | indra/llrender/llrendernavprim.h | 8 | ||||
| -rw-r--r-- | indra/newview/CMakeLists.txt | 6 | ||||
| -rw-r--r-- | indra/newview/pipeline.cpp | 7 | 
5 files changed, 31 insertions, 11 deletions
diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index 98eeed09b3..9db0f4fff8 100644 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -180,7 +180,7 @@ if (LINUX)        # this stops us requiring a really recent glibc at runtime        add_definitions(-fno-stack-protector)        # linking can be very memory-hungry, especially the final viewer link -      set(CMAKE_CXX_LINK_FLAGS "-Wl,--no-keep-memory") +      set(CMAKE_CXX_LINK_FLAGS "-Wl,--no-keep-memory,FORCE:MULTIPLE")      endif (NOT STANDALONE)    endif (VIEWER) diff --git a/indra/llrender/llrendernavprim.cpp b/indra/llrender/llrendernavprim.cpp index 3d76f08496..71e808d04e 100644 --- a/indra/llrender/llrendernavprim.cpp +++ b/indra/llrender/llrendernavprim.cpp @@ -1,6 +1,6 @@  /** 
   * @file LLRenderNavPrim.cpp
 - * @brief 
 + * @brief Renderable primitives used by the pathing library
   *
   * $LicenseInfo:firstyear=2001&license=viewerlgpl$
   * Second Life Viewer Source Code
 @@ -35,7 +35,7 @@  //=============================================================================
  LLRenderNavPrim gRenderNav;
  //=============================================================================
 -void LLRenderNavPrim::renderSegment( const LLVector3& start, const LLVector3& end, int color,bool overlayMode  ) const
 +void LLRenderNavPrim::renderSegment( const LLVector3& start, const LLVector3& end, int color, bool overlayMode  ) const
  {	
  	LLGLSLShader::sNoFixedFunction = false;
  	LLColor4 colorA( color );	
 @@ -54,7 +54,7 @@ void LLRenderNavPrim::renderSegment( const LLVector3& start, const LLVector3& en  	glLineWidth(1.0f);	
  }
  //=============================================================================
 -void LLRenderNavPrim::renderTri( const LLVector3& a, const LLVector3& b, const LLVector3& c, int color,bool overlayMode  ) const
 +void LLRenderNavPrim::renderTri( const LLVector3& a, const LLVector3& b, const LLVector3& c, int color, bool overlayMode ) const
  {
  	glLineWidth(1.5f);	
  	if ( overlayMode )
 @@ -101,3 +101,16 @@ void LLRenderNavPrim::renderNavMeshVB( LLVertexBuffer* pVBO, int vertCnt )  	glPolygonMode( GL_FRONT_AND_BACK, GL_FILL );	
  }
  //=============================================================================
 +void LLRenderNavPrim::renderStar( const LLVector3& center, const float scale, int color ) const
 +{	
 +	for (int k=0; k<3; k++)
 +	{
 +		LLVector3 star, pt1, pt2;
 +		star = LLVector3( 0.0f,0.0f,0.0f);
 +		star[k] = 0.5f;
 +		pt1 =  center + star;
 +		pt2 =  center - star;	
 +		renderSegment( pt1, pt2, color, false );
 +	}
 +}
 +//=============================================================================
 diff --git a/indra/llrender/llrendernavprim.h b/indra/llrender/llrendernavprim.h index a30a14551d..d88fe656b7 100644 --- a/indra/llrender/llrendernavprim.h +++ b/indra/llrender/llrendernavprim.h @@ -40,11 +40,13 @@ class LLRenderNavPrim  {
  public:
  	//Draw a line
 -	void renderSegment( const LLVector3& start, const LLVector3& end, int color,bool overlayMode  ) const;
 +	void renderSegment( const LLVector3& start, const LLVector3& end, int color, bool overlayMode  ) const;
  	//Draw simple tri
 -	void renderTri( const LLVector3& a, const LLVector3& b, const LLVector3& c, int color,bool overlayMode  ) const;
 +	void renderTri( const LLVector3& a, const LLVector3& b, const LLVector3& c, int color, bool overlayMode ) const;
  	//Draw the contents of vertex buffer
 -	void renderNavMeshVB( LLVertexBuffer* pVBO, int vertCnt  );
 +	void renderNavMeshVB( LLVertexBuffer* pVBO, int vertCnt );
 +	//Draw a star
 +	void renderStar( const LLVector3& center, const float scale, int color ) const;
  private:
  };
 diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 31081e32de..314bd790dd 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -1517,9 +1517,9 @@ if (WINDOWS)          PROPERTIES          # *TODO -reenable this once we get server usage sorted out          #LINK_FLAGS "/debug /NODEFAULTLIB:LIBCMT /SUBSYSTEM:WINDOWS /INCLUDE:\"__tcmalloc\"" -        LINK_FLAGS "/debug /NODEFAULTLIB:LIBCMT /SUBSYSTEM:WINDOWS /INCLUDE:__tcmalloc" -        LINK_FLAGS_DEBUG "/NODEFAULTLIB:\"LIBCMT;LIBCMTD;MSVCRT\" /INCREMENTAL:NO" -        LINK_FLAGS_RELEASE "" +        LINK_FLAGS "/debug /NODEFAULTLIB:LIBCMT /SUBSYSTEM:WINDOWS /INCLUDE:__tcmalloc /FORCE:MULTIPLE" +  		LINK_FLAGS_DEBUG "/NODEFAULTLIB:\"LIBCMT;LIBCMTD;MSVCRT\" /INCREMENTAL:NO /FORCE:MULTIPLE" +  		LINK_FLAGS_RELEASE "/FORCE:MULTIPLE"          )      if(USE_PRECOMPILED_HEADERS)          set_target_properties( diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index 7511208ae5..f90c525f11 100644 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -104,6 +104,7 @@  #include "lltoolpie.h"
  #include "llcurl.h"
  #include "llnotifications.h"
 +#include "llpathinglib.h"
  #ifdef _DEBUG
  // Debug indices is disabled for now for debug performance - djs 4/24/02
 @@ -6212,7 +6213,11 @@ void LLPipeline::resetVertexBuffers()  	gSky.resetVertexBuffers();
 -		LLVertexBuffer::cleanupClass();
 +	if ( LLPathingLib::getInstance() )
 +	{
 +		LLPathingLib::getInstance()->cleanupVBOManger();
 +	}
 +	LLVertexBuffer::cleanupClass();
  	//delete all name pool caches
  	LLGLNamePool::cleanupPools();
  | 
