| 8222 | */ |
| 8223 | template<typename T> |
| 8224 | cl_int enqueueUnmapSVM( |
| 8225 | T* ptr, |
| 8226 | const vector<Event>* events = nullptr, |
| 8227 | Event* event = nullptr) const |
| 8228 | { |
| 8229 | cl_event tmp; |
| 8230 | cl_int err = detail::errHandler( |
| 8231 | ::clEnqueueSVMUnmap( |
| 8232 | object_, static_cast<void*>(ptr), |
| 8233 | (events != nullptr) ? (cl_uint)events->size() : 0, |
| 8234 | (events != nullptr && events->size() > 0) ? (cl_event*)&events->front() : nullptr, |
| 8235 | (event != nullptr) ? &tmp : nullptr), |
| 8236 | __ENQUEUE_UNMAP_MEM_OBJECT_ERR); |
| 8237 | |
| 8238 | if (event != nullptr && err == CL_SUCCESS) |
| 8239 | *event = tmp; |
| 8240 | |
| 8241 | return err; |
| 8242 | } |
| 8243 | |
| 8244 | /** |
| 8245 | * Enqueues a command that will release a coarse-grained SVM buffer back to the OpenCL runtime. |
no test coverage detected