diff --git a/Demos3/GpuDemos/constraints/ConstraintsDemo.cpp b/Demos3/GpuDemos/constraints/ConstraintsDemo.cpp index 1a005133a..64217736d 100644 --- a/Demos3/GpuDemos/constraints/ConstraintsDemo.cpp +++ b/Demos3/GpuDemos/constraints/ConstraintsDemo.cpp @@ -187,7 +187,7 @@ int GpuConstraintsDemo::createDynamicsObjects2(const ConstructionInfo& ci, const { case 0: { - + ///enable next line to force CPU constraint solving //c = new b3Point2PointConstraint(pid,prevBody,b3Vector3(-1.1,0,0),b3Vector3(1.1,0,0)); // c->setBreakingImpulseThreshold(14); b3Vector3 pivotInA(-1.1,0,0); diff --git a/src/Bullet3OpenCL/RigidBody/b3GpuBatchingPgsSolver.cpp b/src/Bullet3OpenCL/RigidBody/b3GpuBatchingPgsSolver.cpp index 0ea9253c9..267b33a5a 100644 --- a/src/Bullet3OpenCL/RigidBody/b3GpuBatchingPgsSolver.cpp +++ b/src/Bullet3OpenCL/RigidBody/b3GpuBatchingPgsSolver.cpp @@ -351,7 +351,7 @@ void b3GpuBatchingPgsSolver::solveContactConstraint( const b3OpenCLArraym_queue); + //clFinish(m_data->m_queue); } @@ -388,7 +388,7 @@ void b3GpuBatchingPgsSolver::solveContactConstraint( const b3OpenCLArraym_queue); + //clFinish(m_data->m_queue); } #ifdef DEBUG_ME @@ -458,7 +458,7 @@ void b3GpuBatchingPgsSolver::solveContacts(int numBodies, cl_mem bodyBuf, cl_mem m_data->m_solverGPU->m_contactBuffer2->resize(nContacts); } - clFinish(m_data->m_queue); + //clFinish(m_data->m_queue); @@ -586,7 +586,7 @@ void b3GpuBatchingPgsSolver::solveContacts(int numBodies, cl_mem bodyBuf, cl_mem } - clFinish(m_data->m_queue); + //clFinish(m_data->m_queue); // { // b3AlignedObjectArray histogram; @@ -604,7 +604,7 @@ void b3GpuBatchingPgsSolver::solveContacts(int numBodies, cl_mem bodyBuf, cl_mem launcher.setBuffers( bInfo, sizeof(bInfo)/sizeof(b3BufferInfoCL) ); launcher.setConst( cdata ); launcher.launch1D( nContacts, 64 ); - clFinish(m_data->m_queue); + //clFinish(m_data->m_queue); } @@ -666,7 +666,7 @@ void b3GpuBatchingPgsSolver::solveContacts(int numBodies, cl_mem bodyBuf, cl_mem b3Printf("maxNumBatches = %d\n",maxNumBatches); } - clFinish(m_data->m_queue); + //clFinish(m_data->m_queue); } } @@ -691,7 +691,7 @@ void b3GpuBatchingPgsSolver::solveContacts(int numBodies, cl_mem bodyBuf, cl_mem contactConstraintOut, additionalData, nContacts, (b3SolverBase::ConstraintCfg&) csCfg ); - clFinish(m_data->m_queue); + //clFinish(m_data->m_queue); } @@ -723,7 +723,7 @@ void b3GpuBatchingPgsSolver::solveContacts(int numBodies, cl_mem bodyBuf, cl_mem m_data->m_solverGPU->solveContactConstraintHost(m_data->m_bodyBufferGPU, m_data->m_inertiaBufferGPU, m_data->m_contactCGPU,0, nContactOut ,maxNumBatches); } - clFinish(m_data->m_queue); + //clFinish(m_data->m_queue); } diff --git a/src/Bullet3OpenCL/RigidBody/b3GpuPgsJacobiSolver.cpp b/src/Bullet3OpenCL/RigidBody/b3GpuPgsJacobiSolver.cpp index cc3cfbf8e..7829e6af4 100644 --- a/src/Bullet3OpenCL/RigidBody/b3GpuPgsJacobiSolver.cpp +++ b/src/Bullet3OpenCL/RigidBody/b3GpuPgsJacobiSolver.cpp @@ -207,7 +207,7 @@ b3Scalar b3GpuPgsJacobiSolver::solveGroupCacheFriendlySetup(b3OpenCLArraygetBufferCL()); launcher.setConst(numBodies); launcher.launch1D(numBodies); - clFinish(m_gpuData->m_queue); + //clFinish(m_gpuData->m_queue); // m_gpuData->m_gpuSolverBodies->copyToHost(m_tmpSolverBodyPool); } else @@ -264,20 +264,20 @@ b3Scalar b3GpuPgsJacobiSolver::solveGroupCacheFriendlySetup(b3OpenCLArraym_queue); + //clFinish(m_gpuData->m_queue); if (batches.size()==0) m_gpuData->m_gpuBatchConstraints->copyToHost(batchConstraints); if (1) { - m_gpuData->m_gpuConstraintInfo1->copyToHost(m_tmpConstraintSizesPool); + //m_gpuData->m_gpuConstraintInfo1->copyToHost(m_tmpConstraintSizesPool); b3OpenCLArray dst(m_gpuData->m_context,m_gpuData->m_queue); dst.resize(numConstraints); unsigned int total=0; m_gpuData->m_prefixScan->execute(*m_gpuData->m_gpuConstraintInfo1,dst,numConstraints,&total); unsigned int lastElem = m_gpuData->m_gpuConstraintInfo1->at(numConstraints-1); - b3AlignedObjectArray dstHost; - dst.copyToHost(dstHost); + //b3AlignedObjectArray dstHost; + //dst.copyToHost(dstHost); totalNumRows = total+lastElem; { @@ -287,7 +287,7 @@ b3Scalar b3GpuPgsJacobiSolver::solveGroupCacheFriendlySetup(b3OpenCLArraym_gpuBatchConstraints->getBufferCL()); launcher.setConst(numConstraints); launcher.launch1D(numConstraints); - clFinish(m_gpuData->m_queue); + //clFinish(m_gpuData->m_queue); } if (batches.size()==0) m_gpuData->m_gpuBatchConstraints->copyToHost(batchConstraints); @@ -346,12 +346,12 @@ b3Scalar b3GpuPgsJacobiSolver::solveGroupCacheFriendlySetup(b3OpenCLArraym_queue); + //clFinish(m_gpuData->m_queue); if (batches.size()==0) m_gpuData->m_gpuBatchConstraints->copyToHost(batchConstraints); //m_gpuData->m_gpuConstraintRows->copyToHost(verify); - m_gpuData->m_gpuConstraintRows->copyToHost(m_tmpSolverNonContactConstraintPool); + //m_gpuData->m_gpuConstraintRows->copyToHost(m_tmpSolverNonContactConstraintPool); @@ -645,7 +645,7 @@ b3Scalar b3GpuPgsJacobiSolver::solveGroupCacheFriendlyIterations(b3OpenCLArraym_queue); + //clFinish(m_gpuData->m_queue); } else { @@ -740,8 +740,8 @@ b3Scalar b3GpuPgsJacobiSolver::solveGroupCacheFriendlyIterations(b3OpenCLArraym_gpuSolverBodies->copyToHost(m_tmpSolverBodyPool); + //B3_PROFILE("copy to host"); + //m_gpuData->m_gpuSolverBodies->copyToHost(m_tmpSolverBodyPool); } //int sz = sizeof(b3GpuSolverBody); //printf("cpu sizeof(b3GpuSolverBody)=%d\n",sz); @@ -971,7 +971,7 @@ b3Scalar b3GpuPgsJacobiSolver::solveGroupCacheFriendlyFinish(b3OpenCLArraym_gpuSolverBodies->getBufferCL()); launcher.setConst(numBodies); launcher.launch1D(numBodies); - clFinish(m_gpuData->m_queue); + //clFinish(m_gpuData->m_queue); // m_gpuData->m_gpuSolverBodies->copyToHost(m_tmpSolverBodyPool); // m_gpuData->m_gpuBodies->copyToHostPointer(bodies,numBodies); //m_gpuData->m_gpuBodies->copyToHost(testBodies);