buildfix: fixing linux build to handle new SSE2 architecture

code reviewed by davep and falcon
master
Nyx (Neal Orman) 2010-08-26 16:52:32 -04:00
parent 71de5f622a
commit 054e8fbde3
8 changed files with 14 additions and 15 deletions

View File

@ -144,6 +144,8 @@ if (LINUX)
-fno-strict-aliasing
-fsigned-char
-g
-msse2
-mfpmath=sse
-pthread
)
@ -163,10 +165,6 @@ if (LINUX)
link_directories(/usr/lib/mysql4/mysql)
endif (EXISTS /usr/lib/mysql4/mysql)
add_definitions(
-msse2
-mfpmath=sse
)
endif (SERVER)
if (VIEWER)

View File

@ -206,7 +206,7 @@ public:
{
const LLVector4a& pos = data->getPositionGroup();
LLVector4a gt = pos.greaterThan(center);
LLVector4Logical gt = pos.greaterThan(center);
LLVector4a up;
up = _mm_and_ps(size, gt);

View File

@ -153,7 +153,6 @@ public:
// Prefer this method for read-only access to a single element. Prefer the templated version if the elem is known at compile time.
template <int N> LL_FORCE_INLINE LLSimdScalar getScalarAt() const;
template <> LL_FORCE_INLINE LLSimdScalar getScalarAt<0>() const;
// Set to an x, y, z and optional w provided
inline void set(F32 x, F32 y, F32 z, F32 w = 0.f);
@ -322,6 +321,8 @@ private:
LLQuad mQ;
};
template <> LL_FORCE_INLINE LLSimdScalar LLVector4a::getScalarAt<0>() const;
inline void update_min_max(LLVector4a& min, LLVector4a& max, const LLVector4a& p)
{
min.setMin(min, p);

View File

@ -35,12 +35,12 @@
#include "linden_common.h"
#include "../test/lltut.h"
#include "../llquaternion.h"
#include "../v4math.h"
#include "../v3math.h"
#include "../v3dmath.h"
#include "../m4math.h"
#include "../m3math.h"
#include "../llquaternion.h"
namespace tut
{

View File

@ -36,11 +36,11 @@
#include "llsd.h"
#include "../test/lltut.h"
#include "../llquaternion.h"
#include "../m3math.h"
#include "../v4math.h"
#include "../v3dmath.h"
#include "../v3dmath.h"
#include "../llquaternion.h"
namespace tut
{

View File

@ -36,12 +36,12 @@
#include "../test/lltut.h"
#include "llsd.h"
#include "../llquaternion.h"
#include "../llquantize.h"
#include "../v3dmath.h"
#include "../m3math.h"
#include "../v4math.h"
#include "../v3math.h"
#include "../llquaternion.h"
#include "../llquantize.h"
namespace tut

View File

@ -36,9 +36,9 @@
#include "../test/lltut.h"
#include "llsd.h"
#include "../llquaternion.h"
#include "../m4math.h"
#include "../v4math.h"
#include "../llquaternion.h"
namespace tut
{

View File

@ -2656,8 +2656,8 @@ void LLModelPreview::updateStatusMessages()
const F32 ratio = 0.5f;
const S32 required_verts = 128;
F32 scaler = powf(0.5f, lod_high-lod);
S32 max_verts = verts[lod_high][i]*scaler;
F32 scaler = powf(ratio, lod_high-lod);
S32 max_verts = (S32)(verts[lod_high][i]*scaler);
if (max_verts > required_verts)
{ //some model in this slot might have more than 128 vertices
@ -2691,8 +2691,8 @@ void LLModelPreview::updateStatusMessages()
{
const F32 ratio = 0.5f;
F32 scaler = powf(0.5f, lod_high-lod);
S32 max_verts = verts[lod_high][i]*scaler;
F32 scaler = powf(ratio, lod_high-lod);
S32 max_verts = (S32)(verts[lod_high][i]*scaler);
if (verts[lod][i] > max_verts)
{