fixed kernel compilation warnings on MacOSX
This commit is contained in:
parent
ad1ba56fcf
commit
1f51e6c0de
@ -212,13 +212,35 @@ void openCLVerifyKernel(const Context *ctx, cl_kernel kernel, size_t *localThrea
|
|||||||
static double total_execute_time = 0;
|
static double total_execute_time = 0;
|
||||||
static double total_kernel_time = 0;
|
static double total_kernel_time = 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
static std::string removeDuplicatedWhiteSpaces(const char * buildOptions)
|
||||||
|
{
|
||||||
|
if (buildOptions == NULL)
|
||||||
|
return "";
|
||||||
|
|
||||||
|
size_t length = strlen(buildOptions), didx = 0, sidx = 0;
|
||||||
|
while (sidx < length && buildOptions[sidx] == 0)
|
||||||
|
++sidx;
|
||||||
|
|
||||||
|
std::string opt;
|
||||||
|
opt.resize(length);
|
||||||
|
|
||||||
|
for ( ; sidx < length; ++sidx)
|
||||||
|
if (buildOptions[sidx] != ' ')
|
||||||
|
opt[didx++] = buildOptions[sidx];
|
||||||
|
else if ( !(didx > 0 && opt[didx - 1] == ' ') )
|
||||||
|
opt[didx++] = buildOptions[sidx];
|
||||||
|
|
||||||
|
return opt;
|
||||||
|
}
|
||||||
|
|
||||||
void openCLExecuteKernel_(Context *ctx, const cv::ocl::ProgramEntry* source, string kernelName, size_t globalThreads[3],
|
void openCLExecuteKernel_(Context *ctx, const cv::ocl::ProgramEntry* source, string kernelName, size_t globalThreads[3],
|
||||||
size_t localThreads[3], vector< pair<size_t, const void *> > &args, int channels,
|
size_t localThreads[3], vector< pair<size_t, const void *> > &args, int channels,
|
||||||
int depth, const char *build_options)
|
int depth, const char *build_options)
|
||||||
{
|
{
|
||||||
//construct kernel name
|
//construct kernel name
|
||||||
//The rule is functionName_Cn_Dn, C represent Channels, D Represent DataType Depth, n represent an integer number
|
//The rule is functionName_Cn_Dn, C represent Channels, D Represent DataType Depth, n represent an integer number
|
||||||
//for exmaple split_C2_D2, represent the split kernel with channels =2 and dataType Depth = 2(Data type is char)
|
//for example split_C2_D3, represent the split kernel with channels = 2 and dataType Depth = 3(Data type is short)
|
||||||
stringstream idxStr;
|
stringstream idxStr;
|
||||||
if(channels != -1)
|
if(channels != -1)
|
||||||
idxStr << "_C" << channels;
|
idxStr << "_C" << channels;
|
||||||
@ -227,7 +249,8 @@ void openCLExecuteKernel_(Context *ctx, const cv::ocl::ProgramEntry* source, str
|
|||||||
kernelName += idxStr.str();
|
kernelName += idxStr.str();
|
||||||
|
|
||||||
cl_kernel kernel;
|
cl_kernel kernel;
|
||||||
kernel = openCLGetKernelFromSource(ctx, source, kernelName, build_options);
|
std::string fixedOptions = removeDuplicatedWhiteSpaces(build_options);
|
||||||
|
kernel = openCLGetKernelFromSource(ctx, source, kernelName, fixedOptions.c_str());
|
||||||
|
|
||||||
if ( localThreads != NULL)
|
if ( localThreads != NULL)
|
||||||
{
|
{
|
||||||
|
@ -1497,7 +1497,7 @@ namespace cv
|
|||||||
openCLSafeCall(clReleaseKernel(kernel));
|
openCLSafeCall(clReleaseKernel(kernel));
|
||||||
|
|
||||||
static char opt[20] = {0};
|
static char opt[20] = {0};
|
||||||
sprintf(opt, " -D WAVE_SIZE=%d", (int)wave_size);
|
sprintf(opt, "-D WAVE_SIZE=%d", (int)wave_size);
|
||||||
openCLExecuteKernel(Context::getContext(), &imgproc_clahe, kernelName, globalThreads, localThreads, args, -1, -1, opt);
|
openCLExecuteKernel(Context::getContext(), &imgproc_clahe, kernelName, globalThreads, localThreads, args, -1, -1, opt);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -70,7 +70,7 @@ __kernel void arithm_absdiff_nonsaturate_binary(__global srcT *src1, int src1_st
|
|||||||
dstT t1 = convertToDstT(src2[src2_index]);
|
dstT t1 = convertToDstT(src2[src2_index]);
|
||||||
dstT t2 = t0 - t1;
|
dstT t2 = t0 - t1;
|
||||||
|
|
||||||
dst[dst_index] = t2 >= 0 ? t2 : -t2;
|
dst[dst_index] = t2 >= (dstT)(0) ? t2 : -t2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -88,6 +88,6 @@ __kernel void arithm_absdiff_nonsaturate(__global srcT *src1, int src1_step, int
|
|||||||
|
|
||||||
dstT t0 = convertToDstT(src1[src1_index]);
|
dstT t0 = convertToDstT(src1[src1_index]);
|
||||||
|
|
||||||
dst[dst_index] = t0 >= 0 ? t0 : -t0;
|
dst[dst_index] = t0 >= (dstT)(0) ? t0 : -t0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -51,14 +51,14 @@
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined (FUNC_SUM)
|
#if FUNC_SUM
|
||||||
#define FUNC(a, b) b += a;
|
#define FUNC(a, b) b += a;
|
||||||
#endif
|
#elif FUNC_ABS_SUM
|
||||||
#if defined (FUNC_ABS_SUM)
|
#define FUNC(a, b) b += a >= (dstT)(0) ? a : -a;
|
||||||
#define FUNC(a, b) b += a >= 0 ? a : -a;
|
#elif FUNC_SQR_SUM
|
||||||
#endif
|
|
||||||
#if defined (FUNC_SQR_SUM)
|
|
||||||
#define FUNC(a, b) b += a * a;
|
#define FUNC(a, b) b += a * a;
|
||||||
|
#else
|
||||||
|
#error No sum function
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**************************************Array buffer SUM**************************************/
|
/**************************************Array buffer SUM**************************************/
|
||||||
|
@ -134,7 +134,7 @@ static void lkSparse_run(oclMat &I, oclMat &J,
|
|||||||
openCLSafeCall(clReleaseKernel(kernel));
|
openCLSafeCall(clReleaseKernel(kernel));
|
||||||
|
|
||||||
static char opt[32] = {0};
|
static char opt[32] = {0};
|
||||||
sprintf(opt, " -D WAVE_SIZE=%d", wave_size);
|
sprintf(opt, "-D WAVE_SIZE=%d", wave_size);
|
||||||
|
|
||||||
openCLExecuteKernel(clCxt, &pyrlk, kernelName, globalThreads, localThreads,
|
openCLExecuteKernel(clCxt, &pyrlk, kernelName, globalThreads, localThreads,
|
||||||
args, I.oclchannels(), I.depth(), opt);
|
args, I.oclchannels(), I.depth(), opt);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user