summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/llcommon/llmemory.h20
-rw-r--r--indra/llmath/llvolume.h2
-rw-r--r--indra/newview/llspatialpartition.cpp4
-rw-r--r--install.xml4
4 files changed, 24 insertions, 6 deletions
diff --git a/indra/llcommon/llmemory.h b/indra/llcommon/llmemory.h
index 1c8c91f57e..35935efa88 100644
--- a/indra/llcommon/llmemory.h
+++ b/indra/llcommon/llmemory.h
@@ -34,6 +34,22 @@
#include <stdlib.h>
+// A not necessarily efficient, but general, aligned malloc http://stackoverflow.com/questions/196329/osx-lacks-memalign
+inline void* ll_aligned_malloc( size_t size, int align )
+{
+ void* mem = malloc( size + (align - 1) + sizeof(void*) );
+ char* aligned = ((char*)mem) + sizeof(void*);
+ aligned += align - ((uintptr_t)aligned & (align - 1));
+
+ ((void**)aligned)[-1] = mem;
+ return aligned;
+}
+
+inline void ll_aligned_free( void* ptr )
+{
+ free( ((void**)ptr)[-1] );
+}
+
inline void* ll_aligned_malloc_16(size_t size) // returned hunk MUST be freed with ll_aligned_free_16().
{
#if defined(LL_WINDOWS)
@@ -65,7 +81,7 @@ inline void* ll_aligned_malloc_32(size_t size) // returned hunk MUST be freed wi
#if defined(LL_WINDOWS)
return _mm_malloc(size, 32);
#elif defined(LL_DARWIN)
-# error implement me.
+ return ll_aligned_malloc( size, 32 );
#else
void *rtn;
if (LL_LIKELY(0 == posix_memalign(&rtn, 32, size)))
@@ -80,7 +96,7 @@ inline void ll_aligned_free_32(void *p)
#if defined(LL_WINDOWS)
_mm_free(p);
#elif defined(LL_DARWIN)
-# error implement me.
+ ll_aligned_free( p );
#else
free(p); // posix_memalign() is compatible with heap deallocator
#endif
diff --git a/indra/llmath/llvolume.h b/indra/llmath/llvolume.h
index af28337f57..9cce94e6cf 100644
--- a/indra/llmath/llvolume.h
+++ b/indra/llmath/llvolume.h
@@ -41,7 +41,7 @@ class LLVolumeParams;
class LLProfile;
class LLPath;
-#define LL_MESH_ENABLED 1
+#define LL_MESH_ENABLED 0
template <class T> class LLOctreeNode;
diff --git a/indra/newview/llspatialpartition.cpp b/indra/newview/llspatialpartition.cpp
index dc193dc600..9951cf0193 100644
--- a/indra/newview/llspatialpartition.cpp
+++ b/indra/newview/llspatialpartition.cpp
@@ -2791,6 +2791,7 @@ void renderPhysicsShape(LLDrawable* drawable)
U32 data_mask = LLVertexBuffer::MAP_VERTEX;
+#if LL_MESH_ENABLED
if (volume->isMesh())
{
LLUUID mesh_id = volume->getVolume()->getParams().getSculptID();
@@ -2827,7 +2828,8 @@ void renderPhysicsShape(LLDrawable* drawable)
return;
}
}
-
+#endif //LL_MESH_ENABLED
+
//push faces
glColor3fv(color.mV);
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
diff --git a/install.xml b/install.xml
index d84ab14d53..40ec65b2b0 100644
--- a/install.xml
+++ b/install.xml
@@ -1065,9 +1065,9 @@ anguage Infrstructure (CLI) international standard</string>
<key>darwin</key>
<map>
<key>md5sum</key>
- <string>01853c92592c9b969d2cdbc339738b98</string>
+ <string>b9fe5149a23cbc55a341867c2f6abb8e</string>
<key>url</key>
- <uri>scp:install-packages.lindenlab.com:/local/www/install-packages/doc/llconvexdecomposition-0.1-darwin-20100624.tar.bz2</uri>
+ <uri>scp:install-packages.lindenlab.com:/local/www/install-packages/doc/llconvexdecomposition-0.1-darwin-20100626.tar.bz2</uri>
</map>
</map>
</map>