|
|
|
@ -600,17 +600,12 @@ edgesHysteresisGlobal |
|
|
|
|
int map_offset |
|
|
|
|
) |
|
|
|
|
{ |
|
|
|
|
|
|
|
|
|
map_step /= sizeof(*map); |
|
|
|
|
map_offset /= sizeof(*map); |
|
|
|
|
|
|
|
|
|
map += map_offset; |
|
|
|
|
|
|
|
|
|
int gidx = get_global_id(0); |
|
|
|
|
int gidy = get_global_id(1); |
|
|
|
|
|
|
|
|
|
int lidx = get_local_id(0); |
|
|
|
|
int lidy = get_local_id(1); |
|
|
|
|
|
|
|
|
|
int grp_idx = get_group_id(0); |
|
|
|
|
int grp_idy = get_group_id(1); |
|
|
|
@ -631,14 +626,11 @@ edgesHysteresisGlobal |
|
|
|
|
if(ind < count) |
|
|
|
|
{ |
|
|
|
|
ushort2 pos = st1[ind]; |
|
|
|
|
if (pos.x > 0 && pos.x <= cols && pos.y > 0 && pos.y <= rows) |
|
|
|
|
{ |
|
|
|
|
if (lidx < 8) |
|
|
|
|
{ |
|
|
|
|
pos.x += c_dx[lidx]; |
|
|
|
|
pos.y += c_dy[lidx]; |
|
|
|
|
|
|
|
|
|
if (map[pos.x + pos.y * map_step] == 1) |
|
|
|
|
if (pos.x > 0 && pos.x <= cols && pos.y > 0 && pos.y <= rows && map[pos.x + pos.y * map_step] == 1) |
|
|
|
|
{ |
|
|
|
|
map[pos.x + pos.y * map_step] = 2; |
|
|
|
|
|
|
|
|
@ -654,8 +646,6 @@ edgesHysteresisGlobal |
|
|
|
|
const int subTaskIdx = lidx >> 3; |
|
|
|
|
const int portion = min(s_counter, (uint)(get_local_size(0)>> 3)); |
|
|
|
|
|
|
|
|
|
pos.x = pos.y = 0; |
|
|
|
|
|
|
|
|
|
if (subTaskIdx < portion) |
|
|
|
|
pos = s_st[s_counter - 1 - subTaskIdx]; |
|
|
|
|
barrier(CLK_LOCAL_MEM_FENCE); |
|
|
|
@ -664,12 +654,11 @@ edgesHysteresisGlobal |
|
|
|
|
s_counter -= portion; |
|
|
|
|
barrier(CLK_LOCAL_MEM_FENCE); |
|
|
|
|
|
|
|
|
|
if (pos.x > 0 && pos.x <= cols && pos.y > 0 && pos.y <= rows) |
|
|
|
|
if (subTaskIdx < portion) |
|
|
|
|
{ |
|
|
|
|
pos.x += c_dx[lidx & 7]; |
|
|
|
|
pos.y += c_dy[lidx & 7]; |
|
|
|
|
|
|
|
|
|
if (map[pos.x + pos.y * map_step] == 1) |
|
|
|
|
if (pos.x > 0 && pos.x <= cols && pos.y > 0 && pos.y <= rows && map[pos.x + pos.y * map_step] == 1) |
|
|
|
|
{ |
|
|
|
|
map[pos.x + pos.y * map_step] = 2; |
|
|
|
|
|
|
|
|
@ -698,7 +687,6 @@ edgesHysteresisGlobal |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
#undef stack_size |
|
|
|
|
|
|
|
|
|