diff --git a/src/Bullet3Common/b3Logging.cpp b/src/Bullet3Common/b3Logging.cpp index cb779057e..324fc2569 100644 --- a/src/Bullet3Common/b3Logging.cpp +++ b/src/Bullet3Common/b3Logging.cpp @@ -3,19 +3,20 @@ #include #include + void b3PrintfFuncDefault(const char* msg) { - printf(msg); + printf("%s",msg); } void b3WarningMessageFuncDefault(const char* msg) { - printf(msg); + printf("%s",msg); } void b3ErrorMessageFuncDefault(const char* msg) { - printf(msg); + printf("%s",msg); } static b3PrintfFunc* b3s_printfFunc = b3PrintfFuncDefault; @@ -37,13 +38,19 @@ void b3SetCustomErrorMessageFunc(b3PrintfFunc* errorMessageFunc) b3s_errorMessageFunc = errorMessageFunc; } +#define B3_MAX_DEBUG_STRING_LENGTH 32 + void b3OutputPrintfVarArgsInternal(const char *str, ...) { - char strDebug[1024]={0}; + char strDebug[B3_MAX_DEBUG_STRING_LENGTH]={0}; va_list argList; va_start(argList, str); - vsprintf_s(strDebug,str,argList); +#ifdef _WIN32 + vsprintf_s(strDebug,B3_MAX_DEBUG_STRING_LENGTH,str,argList); +#else + vsnprintf(strDebug,B3_MAX_DEBUG_STRING_LENGTH,str,argList); +#endif (b3s_printfFunc)(strDebug); va_end(argList); } @@ -52,18 +59,30 @@ void b3OutputWarningMessageVarArgsInternal(const char *str, ...) char strDebug[1024]={0}; va_list argList; va_start(argList, str); - vsprintf_s(strDebug,str,argList); +#ifdef _WIN32 + vsprintf_s(strDebug,B3_MAX_DEBUG_STRING_LENGTH,str,argList); +#else + vsnprintf(strDebug,B3_MAX_DEBUG_STRING_LENGTH,str,argList); +#endif (b3s_warningMessageFunc)(strDebug); va_end(argList); } void b3OutputErrorMessageVarArgsInternal(const char *str, ...) { + char strDebug[1024]={0}; va_list argList; va_start(argList, str); - vsprintf_s(strDebug,str,argList); +#ifdef _WIN32 + vsprintf_s(strDebug,B3_MAX_DEBUG_STRING_LENGTH,str,argList); +#else + vsnprintf(strDebug,B3_MAX_DEBUG_STRING_LENGTH,str,argList); +#endif (b3s_errorMessageFunc)(strDebug); va_end(argList); + } - +#ifndef _WIN32 +#undef vsprintf_s +#endif diff --git a/src/Bullet3Common/b3Scalar.h b/src/Bullet3Common/b3Scalar.h index eda4d2044..60b7f1cfd 100644 --- a/src/Bullet3Common/b3Scalar.h +++ b/src/Bullet3Common/b3Scalar.h @@ -310,8 +310,6 @@ inline __m128 operator * (const __m128 A, const __m128 B) #define b3CastdTo128f(a) ((__m128) (a)) #define b3CastdTo128i(a) ((__m128i)(a)) #define b3Assign128(r0,r1,r2,r3) (__m128){r0,r1,r2,r3} -#define B3_INFINITY INFINITY -#define B3_NAN NAN #endif//_WIN32 #endif //B3_USE_SSE_IN_API diff --git a/src/Bullet3OpenCL/ParallelPrimitives/b3BoundSearchCL.cpp b/src/Bullet3OpenCL/ParallelPrimitives/b3BoundSearchCL.cpp index cae108689..cd48cc990 100644 --- a/src/Bullet3OpenCL/ParallelPrimitives/b3BoundSearchCL.cpp +++ b/src/Bullet3OpenCL/ParallelPrimitives/b3BoundSearchCL.cpp @@ -32,7 +32,7 @@ b3BoundSearchCL::b3BoundSearchCL(cl_context ctx, cl_device_id device, cl_command { const char* additionalMacros = ""; - const char* srcFileNameForCaching=""; + //const char* srcFileNameForCaching=""; cl_int pErrNum; const char* kernelSource = boundSearchKernelsCL; diff --git a/src/Bullet3OpenCL/ParallelPrimitives/b3LauncherCL.h b/src/Bullet3OpenCL/ParallelPrimitives/b3LauncherCL.h index 18a47dc67..f0670ebd9 100644 --- a/src/Bullet3OpenCL/ParallelPrimitives/b3LauncherCL.h +++ b/src/Bullet3OpenCL/ParallelPrimitives/b3LauncherCL.h @@ -7,6 +7,9 @@ #include "b3OpenCLArray.h" #include +#define B3_DEBUG_SERIALIZE_CL + + #ifdef _WIN32 #pragma warning(disable :4996) #endif @@ -31,11 +34,10 @@ class b3LauncherCL cl_command_queue m_commandQueue; cl_kernel m_kernel; int m_idx; - + b3AlignedObjectArray m_kernelArguments; - - int m_serializationSizeInBytes; + bool m_enableSerialization; public: @@ -44,7 +46,8 @@ class b3LauncherCL b3LauncherCL(cl_command_queue queue, cl_kernel kernel) :m_commandQueue(queue), m_kernel(kernel), - m_idx(0) + m_idx(0), + m_enableSerialization(false) { m_serializationSizeInBytes = sizeof(int); } @@ -59,30 +62,31 @@ class b3LauncherCL inline void setBuffer( cl_mem clBuffer) { - - b3KernelArgData kernelArg; - kernelArg.m_argIndex = m_idx; - kernelArg.m_isBuffer = 1; - kernelArg.m_clBuffer = clBuffer; - - cl_mem_info param_name = CL_MEM_SIZE; - size_t param_value; - size_t sizeInBytes = sizeof(size_t); - size_t actualSizeInBytes; - cl_int err; - err = clGetMemObjectInfo ( kernelArg.m_clBuffer, - param_name, - sizeInBytes, - ¶m_value, - &actualSizeInBytes); - - b3Assert( err == CL_SUCCESS ); - kernelArg.m_argSizeInBytes = param_value; - - m_kernelArguments.push_back(kernelArg); - m_serializationSizeInBytes+= sizeof(b3KernelArgData); - m_serializationSizeInBytes+=param_value; - + if (m_enableSerialization) + { + b3KernelArgData kernelArg; + kernelArg.m_argIndex = m_idx; + kernelArg.m_isBuffer = 1; + kernelArg.m_clBuffer = clBuffer; + + cl_mem_info param_name = CL_MEM_SIZE; + size_t param_value; + size_t sizeInBytes = sizeof(size_t); + size_t actualSizeInBytes; + cl_int err; + err = clGetMemObjectInfo ( kernelArg.m_clBuffer, + param_name, + sizeInBytes, + ¶m_value, + &actualSizeInBytes); + + b3Assert( err == CL_SUCCESS ); + kernelArg.m_argSizeInBytes = param_value; + + m_kernelArguments.push_back(kernelArg); + m_serializationSizeInBytes+= sizeof(b3KernelArgData); + m_serializationSizeInBytes+=param_value; + } cl_int status = clSetKernelArg( m_kernel, m_idx++, sizeof(cl_mem), &clBuffer); b3Assert( status == CL_SUCCESS ); } @@ -92,29 +96,31 @@ class b3LauncherCL { for(int i=0; i