diff --git a/modules/rgbd/src/tsdf.cpp b/modules/rgbd/src/tsdf.cpp index 1e8704170f4b7c0c21c98a08ad2ac7071b4a5979..a35899d9ab757d297e684676081ede948388841d 100644 --- a/modules/rgbd/src/tsdf.cpp +++ b/modules/rgbd/src/tsdf.cpp @@ -419,8 +419,11 @@ struct RaycastInvoker : ParallelLoopBody // near clipping plane const float clip = 0.f; - float tmin = max(v_reduce_max(minAx), clip); - float tmax = v_reduce_min(maxAx); + float _minAx[4], _maxAx[4]; + v_store(_minAx, minAx); + v_store(_maxAx, maxAx); + float tmin = max( {_minAx[0], _minAx[1], _minAx[2], clip} ); + float tmax = min( {_maxAx[0], _maxAx[1], _maxAx[2]} ); // precautions against getting coordinates out of bounds tmin = tmin + tstep;