fix some out-of-bounds error in the OpenCL rigid body pipeline
re-enable an OpenCL/gpu rigid body example (box-box stack)
This commit is contained in:
@@ -1031,9 +1031,9 @@ void b3GpuSapBroadphase::calculateOverlappingPairs(int maxPairs)
|
||||
|
||||
if (m_dst.size()!=(numSmallAabbs+1))
|
||||
{
|
||||
m_dst.resize(numSmallAabbs+1);
|
||||
m_sum.resize(numSmallAabbs+1);
|
||||
m_sum2.resize(numSmallAabbs+1);
|
||||
m_dst.resize(numSmallAabbs+128);
|
||||
m_sum.resize(numSmallAabbs+128);
|
||||
m_sum2.resize(numSmallAabbs+128);
|
||||
m_sum.at(numSmallAabbs)=b3MakeVector3(0,0,0); //slow?
|
||||
m_sum2.at(numSmallAabbs)=b3MakeVector3(0,0,0); //slow?
|
||||
}
|
||||
@@ -1044,8 +1044,8 @@ void b3GpuSapBroadphase::calculateOverlappingPairs(int maxPairs)
|
||||
launcher.setBuffer(m_smallAabbsMappingGPU.getBufferCL());
|
||||
launcher.setBuffer(m_sum.getBufferCL());
|
||||
launcher.setBuffer(m_sum2.getBufferCL());
|
||||
launcher.setConst( numSmallAabbs+1 );
|
||||
int num = numSmallAabbs+1;
|
||||
launcher.setConst( numSmallAabbs );
|
||||
int num = numSmallAabbs;
|
||||
launcher.launch1D( num);
|
||||
|
||||
|
||||
|
||||
@@ -377,7 +377,7 @@ __kernel void scatterKernel( __global const btAabbCL* allAabbs, __global const
|
||||
__kernel void prepareSumVarianceKernel( __global const btAabbCL* allAabbs, __global const int* smallAabbMapping, __global float4* sum, __global float4* sum2,int numAabbs)
|
||||
{
|
||||
int i = get_global_id(0);
|
||||
if (i>numAabbs)
|
||||
if (i>=numAabbs)
|
||||
return;
|
||||
|
||||
btAabbCL smallAabb = allAabbs[smallAabbMapping[i]];
|
||||
|
||||
@@ -329,7 +329,7 @@ static const char* sapCL= \
|
||||
"__kernel void prepareSumVarianceKernel( __global const btAabbCL* allAabbs, __global const int* smallAabbMapping, __global float4* sum, __global float4* sum2,int numAabbs)\n"
|
||||
"{\n"
|
||||
" int i = get_global_id(0);\n"
|
||||
" if (i>numAabbs)\n"
|
||||
" if (i>=numAabbs)\n"
|
||||
" return;\n"
|
||||
" \n"
|
||||
" btAabbCL smallAabb = allAabbs[smallAabbMapping[i]];\n"
|
||||
|
||||
Reference in New Issue
Block a user