Another fix for disable "conditional expression is constant"

This commit is contained in:
Vladimir Bystricky 2013-12-06 14:42:06 +04:00
parent 3013b469fe
commit 591b1a7e70

View File

@ -669,6 +669,7 @@ static bool ocl_boxFilter( InputArray _src, OutputArray _dst, int ddepth,
size_t maxWorkItemSizes[32]; device.maxWorkItemSizes(maxWorkItemSizes);
size_t tryWorkItems = maxWorkItemSizes[0];
bool dummy = true; // for make compiler happy
do {
size_t BLOCK_SIZE = tryWorkItems;
while (BLOCK_SIZE > 32 && BLOCK_SIZE >= (size_t)ksize.width * 2 && BLOCK_SIZE > (size_t)sz.width * 2)
@ -709,15 +710,15 @@ static bool ocl_boxFilter( InputArray _src, OutputArray _dst, int ddepth,
size_t kernelWorkGroupSize = kernel.workGroupSize();
if (localsize[0] <= kernelWorkGroupSize)
{
dummy = false;
break;
}
if (BLOCK_SIZE < kernelWorkGroupSize)
return false;
tryWorkItems = kernelWorkGroupSize;
#pragma warning( push )
#pragma warning( disable : 4127 )
} while (true);
#pragma warning( pop )
} while (dummy);
_dst.create(sz, CV_MAKETYPE(ddepth, cn));
UMat dst = _dst.getUMat();