00001 #include <parallel_quickstep.h> 00002 #include <parallel_stepper.h> 00003 00004 #include "quickstep.h" 00005 #include "util.h" 00006 00008 static dxParallelStepParameters cs; 00009 00010 int dWorldParallelQuickStep (dWorldID w, dReal stepsize) 00011 { 00012 dUASSERT (w,"bad world argument"); 00013 dUASSERT (stepsize > 0,"stepsize must be > 0"); 00014 00015 bool result = false; 00016 00017 if( dxReallocateParallelWorldProcessContext (w, stepsize, &dxEstimateParallelStepMemoryRequirements) ) { 00018 dxParallelProcessIslands (w, stepsize, &dxParallelQuickStepper); 00019 result = true; 00020 } 00021 00022 return result; 00023 } 00024 00025 void dWorldSetParallelQuickStepSyncType(dWorldID w, int syncType) 00026 { 00027 dAASSERT(w); 00028 //w->cs.syncType = syncType; 00029 cs.syncType = syncType; 00030 } 00031 00032 void dWorldSetParallelQuickStepReduceType(dWorldID w, int reduceType) 00033 { 00034 dAASSERT(w); 00035 //w->cs.reduceType = reduceType; 00036 cs.reduceType = reduceType; 00037 } 00038 00039 00040