Commit f5b21e81 authored by Yan Wang's avatar Yan Wang

Avoid deadlock becasue some work item couldn't reach barrier in loop

and unsynchronized.
Signed-off-by: 's avatarYan Wang <yan.wang@linux.intel.com>
parent df57d038
......@@ -587,7 +587,7 @@ bool HaarEvaluator::read(const FileNode& node, Size _origWinSize)
localSize = lbufSize = Size(0, 0);
if (ocl::haveOpenCL())
{
if (ocl::Device::getDefault().isAMD())
if (ocl::Device::getDefault().isAMD() || ocl::Device::getDefault().isIntel())
{
localSize = Size(8, 8);
lbufSize = Size(origWinSize.width + localSize.width,
......
......@@ -233,11 +233,12 @@ void runHaarClassifier(
for( stageIdx = SPLIT_STAGE; stageIdx < N_STAGES; stageIdx++ )
{
barrier(CLK_LOCAL_MEM_FENCE);
int nrects = lcount[0];
barrier(CLK_LOCAL_MEM_FENCE);
if( nrects == 0 )
break;
barrier(CLK_LOCAL_MEM_FENCE);
if( lidx == 0 )
lcount[0] = 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment