From e2ef5a5edce6a01724d91fde5b471b0bae18d045 Mon Sep 17 00:00:00 2001 From: prep Date: Thu, 19 Jan 2012 14:38:16 -0500 Subject: Path-196 : vbo cleanup, visual fixes (path-222) --- indra/cmake/00-Common.cmake | 2 +- indra/llrender/llrendernavprim.cpp | 19 ++++++++++++++++--- indra/llrender/llrendernavprim.h | 8 +++++--- indra/newview/CMakeLists.txt | 6 +++--- 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(); -- cgit v1.2.3 From d82ca578941a985fb2361ccdc4120aeeb22f82a7 Mon Sep 17 00:00:00 2001 From: prep Date: Thu, 19 Jan 2012 14:55:25 -0500 Subject: updated pathing lib package dependency --- autobuild.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/autobuild.xml b/autobuild.xml index fb597e5dda..978edc3c9d 100644 --- a/autobuild.xml +++ b/autobuild.xml @@ -1266,9 +1266,9 @@ archive hash - e36acc0135ab309062a481f2afef0086 + 7a302b6c36a48e26c4df00f26309bc7c url - http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/stinson_llpathinglibrary/rev/247841/arch/CYGWIN/installer/llpathinglibrary-0.1-windows-20120117.tar.bz2 + http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/stinson_llpathinglibrary/rev/248078/arch/CYGWIN/installer/llpathinglibrary-0.1-windows-20120119.tar.bz2 name windows -- cgit v1.2.3