29        if (input.
size() == 1) {
 
   31                std::vector<T> tmp{ 0 };
 
   42        auto globalSize = input.
size();
 
   44        std::vector<VkDeviceArray<T>> buffers;
 
   59        sp.
n = buffers[0].size();
 
   66        mScan->flush(groupSize, &buffers[0], &buffers[0], &buffers[1], &uniformParam);
 
   68        for (std::size_t i = 1; i < buffers.size() - 1; i++)
 
   70            sp.
n = buffers[i].size();
 
   75            mScan->flush(groupSizeScan, &buffers[i], &buffers[i], &buffers[i + 1], &uniformParam);
 
   96        for (std::size_t i = buffers.size() - 1; i > 0; i--)
 
  100            mAdd->enqueue(groupSizeAdd, &buffers[i], &buffers[i - 1], &num);
 
  111            mSub->flush(groupSize, &buffers[0], &output, &num);
 
  114        for (std::size_t i = 0; i < buffers.size(); i++)