| 34 | |
| 35 | template<typename T> |
| 36 | void initSeeds(Param out, const Param seedsx, const Param seedsy) { |
| 37 | std::array<std::string, 4> options = { |
| 38 | DefineKeyValue(T, dtype_traits<T>::getName()), DefineValue(VALID), |
| 39 | DefineKey(INIT_SEEDS), getTypeBuildDefinition<T>()}; |
| 40 | |
| 41 | auto initSeeds = |
| 42 | common::getKernel("init_seeds", {{flood_fill_cl_src}}, |
| 43 | TemplateArgs(TemplateTypename<T>()), options); |
| 44 | cl::NDRange local(kernel::THREADS, 1, 1); |
| 45 | cl::NDRange global(divup(seedsx.info.dims[0], local[0]) * local[0], 1, 1); |
| 46 | |
| 47 | initSeeds(cl::EnqueueArgs(getQueue(), global, local), *out.data, out.info, |
| 48 | *seedsx.data, seedsx.info, *seedsy.data, seedsy.info); |
| 49 | CL_DEBUG_FINISH(getQueue()); |
| 50 | } |
| 51 | |
| 52 | template<typename T> |
| 53 | void finalizeOutput(Param out, const T newValue) { |
no test coverage detected