summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTodd Stinson <stinson@lindenlab.com>2012-01-19 18:36:21 -0800
committerTodd Stinson <stinson@lindenlab.com>2012-01-19 18:36:21 -0800
commit154ed186eab7f6e57601cf7e08c927f3a860a9d8 (patch)
treec31869ce5e1df43e6dcdd2052db15f4ba36201d7
parentfe637c5f9571e91c8e90440a0677e5c40b7bf648 (diff)
parentd82ca578941a985fb2361ccdc4120aeeb22f82a7 (diff)
Pull and merge from ssh://hg@bitbucket.org/stinson_linden/viewer-development-havokai.
-rw-r--r--autobuild.xml4
-rw-r--r--indra/cmake/00-Common.cmake2
-rw-r--r--indra/llrender/llrendernavprim.cpp19
-rw-r--r--indra/llrender/llrendernavprim.h8
-rw-r--r--indra/newview/CMakeLists.txt6
-rw-r--r--[-rwxr-xr-x]indra/newview/llavatariconctrl.cpp0
-rw-r--r--indra/newview/pipeline.cpp5
7 files changed, 32 insertions, 12 deletions
diff --git a/autobuild.xml b/autobuild.xml
index fb597e5dda..978edc3c9d 100644
--- a/autobuild.xml
+++ b/autobuild.xml
@@ -1266,9 +1266,9 @@
<key>archive</key>
<map>
<key>hash</key>
- <string>e36acc0135ab309062a481f2afef0086</string>
+ <string>7a302b6c36a48e26c4df00f26309bc7c</string>
<key>url</key>
- <string>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</string>
+ <string>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</string>
</map>
<key>name</key>
<string>windows</string>
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/llavatariconctrl.cpp b/indra/newview/llavatariconctrl.cpp
index b539ac38ed..b539ac38ed 100755..100644
--- a/indra/newview/llavatariconctrl.cpp
+++ b/indra/newview/llavatariconctrl.cpp
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index 2681f05a4e..d8c6e61430 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,6 +6213,10 @@ void LLPipeline::resetVertexBuffers()
gSky.resetVertexBuffers();
+ if ( LLPathingLib::getInstance() )
+ {
+ LLPathingLib::getInstance()->cleanupVBOManger();
+ }
LLVertexBuffer::cleanupClass();
//delete all name pool caches