fix build on systems without CUDA,

apply opcode patch: http://code.google.com/p/bullet/issues/detail?id=175
This commit is contained in:
erwin.coumans
2009-02-06 06:26:44 +00:00
parent 24d1fea8b2
commit 17bf62c013
23 changed files with 39 additions and 43 deletions

View File

@@ -24,7 +24,9 @@ subject to the following restrictions:
#include "btBulletCollisionCommon.h"
#include "BulletCollision/BroadphaseCollision/btDbvtBroadphase.h"
#include "Camera.h"
#ifdef USE_CUDA_BROADPHASE
#include "../CUDA/btCudaBroadphase.h"
#endif
#include "LinearMath/btQuickprof.h"
int numParts =2;
@@ -429,14 +431,18 @@ BulletSAPCompleteBoxPruningTest::BulletSAPCompleteBoxPruningTest(int numBoxes,in
// m_broadphase = new btCudaBroadphase(aabbMin, aabbMax, 8, 8, 8, 8192, 8192, 64, 16);
// m_broadphase = new btCudaBroadphase(aabbMin, aabbMax, 12, 12, 12, 8192, 8192, 64, 16);
// m_broadphase = new btCudaBroadphase(aabbMin, aabbMax, 16, 16, 16, 8192, 8192, 64, 16);
#ifdef USE_CUDA_BROADPHASE
m_broadphase = new btCudaBroadphase(aabbMin, aabbMax, 24, 24, 24,maxNumBoxes , maxNumBoxes, 64, 16);
// m_broadphase = new btCudaBroadphase(aabbMin, aabbMax, 32, 32, 32, 8192, 8192, 64, 16);
methodname = "btCudaBroadphase";
break;
case 9:
m_broadphase = new bt3DGridBroadphase(aabbMin, aabbMax, 24, 24, 24,maxNumBoxes , maxNumBoxes, 64, 16);
methodname = "bt3DGridBroadphase";
break;
#endif //USE_CUDA_BROADPHASE
default:
{
m_broadphase = new btAxisSweep3(aabbMin,aabbMax,numBoxes,new btNullPairCache());

View File

@@ -2,10 +2,9 @@ Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CDTestFramework", "CDTestFramework.vcproj", "{0565DB39-45CC-416E-B549-BFC24F2666D1}"
ProjectSection(ProjectDependencies) = postProject
{F74E8E02-0B47-4816-BD0B-FAEAE3343165} = {F74E8E02-0B47-4816-BD0B-FAEAE3343165}
{6ADA430D-009C-2ED4-A787-2AC2D6FEB8CE} = {6ADA430D-009C-2ED4-A787-2AC2D6FEB8CE}
{DBE44CA3-2912-4441-8D99-AA2242688AD2} = {DBE44CA3-2912-4441-8D99-AA2242688AD2}
{7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A} = {7D6E339F-9C2C-31DA-FDB0-5EE50973CF2A}
{DBE44CA3-2912-4441-8D99-AA2242688AD2} = {DBE44CA3-2912-4441-8D99-AA2242688AD2}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Opcode", "Opcode\Opcode.vcproj", "{DBE44CA3-2912-4441-8D99-AA2242688AD2}"
@@ -14,8 +13,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libbulletmath", "..\..\msvc
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libbulletcollision", "..\..\msvc\8\libbulletcollision.vcproj", "{6ADA430D-009C-2ED4-A787-2AC2D6FEB8CE}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libbulletcuda", "..\CUDA\libbulletcuda.vcproj", "{F74E8E02-0B47-4816-BD0B-FAEAE3343165}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@@ -74,18 +71,6 @@ Global
{6ADA430D-009C-2ED4-A787-2AC2D6FEB8CE}.ReleaseDll|Win32.Build.0 = ReleaseDll|Win32
{6ADA430D-009C-2ED4-A787-2AC2D6FEB8CE}.ReleaseDoublePrecision|Win32.ActiveCfg = ReleaseDoublePrecision|Win32
{6ADA430D-009C-2ED4-A787-2AC2D6FEB8CE}.ReleaseDoublePrecision|Win32.Build.0 = ReleaseDoublePrecision|Win32
{F74E8E02-0B47-4816-BD0B-FAEAE3343165}.Debug|Win32.ActiveCfg = Debug|Win32
{F74E8E02-0B47-4816-BD0B-FAEAE3343165}.Debug|Win32.Build.0 = Debug|Win32
{F74E8E02-0B47-4816-BD0B-FAEAE3343165}.DebugDll|Win32.ActiveCfg = DebugDll|Win32
{F74E8E02-0B47-4816-BD0B-FAEAE3343165}.DebugDll|Win32.Build.0 = DebugDll|Win32
{F74E8E02-0B47-4816-BD0B-FAEAE3343165}.DebugDoublePrecision|Win32.ActiveCfg = DebugDoublePrecision|Win32
{F74E8E02-0B47-4816-BD0B-FAEAE3343165}.DebugDoublePrecision|Win32.Build.0 = DebugDoublePrecision|Win32
{F74E8E02-0B47-4816-BD0B-FAEAE3343165}.Release|Win32.ActiveCfg = Release|Win32
{F74E8E02-0B47-4816-BD0B-FAEAE3343165}.Release|Win32.Build.0 = Release|Win32
{F74E8E02-0B47-4816-BD0B-FAEAE3343165}.ReleaseDll|Win32.ActiveCfg = ReleaseDll|Win32
{F74E8E02-0B47-4816-BD0B-FAEAE3343165}.ReleaseDll|Win32.Build.0 = ReleaseDll|Win32
{F74E8E02-0B47-4816-BD0B-FAEAE3343165}.ReleaseDoublePrecision|Win32.ActiveCfg = ReleaseDoublePrecision|Win32
{F74E8E02-0B47-4816-BD0B-FAEAE3343165}.ReleaseDoublePrecision|Win32.Build.0 = ReleaseDoublePrecision|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

@@ -63,10 +63,9 @@
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="cudart.lib"
OutputFile="./Bin/CDTestFrameworkDEBUG.exe"
LinkIncremental="2"
AdditionalLibraryDirectories=".\AntTweakBar\lib;../../Glut;&quot;$(CUDA_LIB_PATH)&quot;"
AdditionalLibraryDirectories=".\AntTweakBar\lib;../../Glut"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)/CDTestFramework.pdb"
SubSystem="1"

View File

@@ -37,7 +37,7 @@ subject to the following restrictions:
// Precompiled Header
#include "Stdafx.h"
using namespace IceMaths;
using namespace Opcode;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/**

View File

@@ -12,7 +12,7 @@
#include "StdAfx.h"
#include <malloc.h>
using namespace IceCore;
using namespace Opcode;
//#define ZERO_OVERHEAD_RELEASE
#define NEW_CODE

View File

@@ -22,7 +22,7 @@
// Precompiled Header
#include "StdAfx.h"
using namespace IceCore;
using namespace Opcode;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/**

View File

@@ -24,7 +24,7 @@
// Precompiled Header
#include "StdAfx.h"
using namespace IceCore;
using namespace Opcode;
// Static members
#ifdef CONTAINER_STATS

View File

@@ -44,7 +44,7 @@ subject to the following restrictions:
// Precompiled Header
#include "Stdafx.h"
using namespace IceMaths;
using namespace Opcode;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Point Mul = HPoint * Matrix3x3;
@@ -84,3 +84,4 @@ HPoint& HPoint::operator*=(const Matrix4x4& mat)
return *this;
}

View File

@@ -27,7 +27,7 @@ subject to the following restrictions:
// Precompiled Header
#include "Stdafx.h"
using namespace IceMaths;
using namespace Opcode;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/**

View File

@@ -51,7 +51,7 @@ subject to the following restrictions:
// Precompiled Header
#include "Stdafx.h"
using namespace IceMaths;
using namespace Opcode;
// Cast operator
Matrix3x3::operator Matrix4x4() const

View File

@@ -54,7 +54,7 @@ subject to the following restrictions:
// Precompiled Header
#include "Stdafx.h"
using namespace IceMaths;
using namespace Opcode;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/**
@@ -149,3 +149,4 @@ Matrix4x4& Matrix4x4::Invert()
return *this;
}

View File

@@ -36,7 +36,7 @@ subject to the following restrictions:
// Precompiled Header
#include "Stdafx.h"
using namespace IceMaths;
using namespace Opcode;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/**

View File

@@ -36,7 +36,7 @@ subject to the following restrictions:
// Precompiled Header
#include "Stdafx.h"
using namespace IceMaths;
using namespace Opcode;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/**

View File

@@ -64,7 +64,7 @@ subject to the following restrictions:
// Precompiled Header
#include "Stdafx.h"
using namespace IceMaths;
using namespace Opcode;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/**

View File

@@ -27,7 +27,7 @@ subject to the following restrictions:
// Precompiled Header
#include "Stdafx.h"
using namespace IceCore;
using namespace Opcode;
void IceCore:: SRand(udword seed)
{
@@ -49,3 +49,4 @@ udword IceCore::GetRandomIndex(udword max_index)
return Index % max_index;
}

View File

@@ -77,7 +77,7 @@ subject to the following restrictions:
// Precompiled Header
#include "Stdafx.h"
using namespace IceMaths;
using namespace Opcode;
float Ray::SquareDistance(const Point& point, float* t) const
{

View File

@@ -56,7 +56,7 @@ To do:
// Precompiled Header
#include "StdAfx.h"
using namespace IceCore;
using namespace Opcode;
#define INVALIDATE_RANKS mCurrentSize|=0x80000000
#define VALIDATE_RANKS mCurrentSize&=0x7fffffff

View File

@@ -40,7 +40,7 @@ subject to the following restrictions:
// Precompiled Header
#include "Stdafx.h"
using namespace IceMaths;
using namespace Opcode;
float Segment::SquareDistance(const Point& point, float* t) const
{

View File

@@ -27,7 +27,7 @@ subject to the following restrictions:
// Precompiled Header
#include "Stdafx.h"
using namespace IceMaths;
using namespace Opcode;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/**

View File

@@ -27,7 +27,7 @@ subject to the following restrictions:
// Precompiled Header
#include "Stdafx.h"
using namespace IceCore;
using namespace Opcode;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/**

View File

@@ -318,7 +318,7 @@ udword HybridModel::GetUsedBytes() const
return UsedBytes;
}
inline_ void ComputeMinMax(Point& min, Point& max, const VertexPointers& vp)
inline_ void ComputeMinMax_HM(Point& min, Point& max, const VertexPointers& vp)
{
// Compute triangle's AABB = a leaf box
#ifdef OPC_USE_FCOMI // a 15% speedup on my machine, not much
@@ -388,7 +388,7 @@ bool HybridModel::Refit()
while(NbTris--)
{
mIMesh->GetTriangle(VP, *T++);
ComputeMinMax(TmpMin, TmpMax, VP);
ComputeMinMax_HM(TmpMin, TmpMax, VP);
Min.Min(TmpMin);
Max.Max(TmpMax);
}
@@ -401,7 +401,7 @@ bool HybridModel::Refit()
while(NbTris--)
{
mIMesh->GetTriangle(VP, BaseIndex++);
ComputeMinMax(TmpMin, TmpMax, VP);
ComputeMinMax_HM(TmpMin, TmpMax, VP);
Min.Min(TmpMin);
Max.Max(TmpMax);
}
@@ -433,7 +433,7 @@ bool HybridModel::Refit()
while(NbTris--)
{
mIMesh->GetTriangle(VP, *T++);
ComputeMinMax(TmpMin, TmpMax, VP);
ComputeMinMax_HM(TmpMin, TmpMax, VP);
Min_.Min(TmpMin);
Max_.Max(TmpMax);
}
@@ -446,7 +446,7 @@ bool HybridModel::Refit()
while(NbTris--)
{
mIMesh->GetTriangle(VP, BaseIndex++);
ComputeMinMax(TmpMin, TmpMax, VP);
ComputeMinMax_HM(TmpMin, TmpMax, VP);
Min_.Min(TmpMin);
Max_.Max(TmpMax);
}

View File

@@ -54,6 +54,8 @@ subject to the following restrictions:
#include ".\Ice\IceFPU.h"
#include ".\Ice\IceMemoryMacros.h"
namespace Opcode
{
namespace IceCore
{
#include ".\Ice\IceAllocator.h"
@@ -87,3 +89,4 @@ subject to the following restrictions:
#include ".\Ice\IceLSS.h"
}
using namespace IceMaths;
}

View File

@@ -357,7 +357,7 @@ bool AABBNoLeafTree::Build(AABBTree* tree)
return true;
}
inline_ void ComputeMinMax(Point& min, Point& max, const VertexPointers& vp)
inline_ void ComputeMinMax_OT(Point& min, Point& max, const VertexPointers& vp)
{
// Compute triangle's AABB = a leaf box
#ifdef OPC_USE_FCOMI // a 15% speedup on my machine, not much
@@ -403,7 +403,7 @@ bool AABBNoLeafTree::Refit(const MeshInterface* mesh_interface)
if(Current.HasPosLeaf())
{
mesh_interface->GetTriangle(VP, Current.GetPosPrimitive());
ComputeMinMax(Min, Max, VP);
ComputeMinMax_OT(Min, Max, VP);
}
else
{
@@ -415,7 +415,7 @@ bool AABBNoLeafTree::Refit(const MeshInterface* mesh_interface)
if(Current.HasNegLeaf())
{
mesh_interface->GetTriangle(VP, Current.GetNegPrimitive());
ComputeMinMax(Min_, Max_, VP);
ComputeMinMax_OT(Min_, Max_, VP);
}
else
{