 				int active_lane = __ffs(mask) - 1; //[0..31]                        
 				mask &= ~(1 << active_lane);   
 
-				volatile int* warp_buffer = &storage.per_warp_buffer[warpId];
+				volatile int* warp_buffer = &per_warp_buffer[warpId];
 
 				//broadcast beg
 				if (active_lane == laneId)


void pcl::device::OctreeImpl::approxNearestSearch(const Queries& queries, NeighborIndices& results) const
{
    typedef OctreeImpl::PointType PointType;
    typedef pcl::device::appnearest_search::Batch<PointType> BatchType;

    BatchType batch;
    batch.indices = indices;

		if (__all(active == false)) 
			return;

		Warp_appNearestSearch search(batch, query_index);
		search.launch(active); 
	}

