Avoid deadlock becasue some work item couldn't reach barrier in loop
and unsynchronized. Signed-off-by: Yan Wang <yan.wang@linux.intel.com>
This commit is contained in:
parent
df57d038b8
commit
f5b21e8141
@ -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;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user