| 10960 | } |
| 10961 | |
| 10962 | cl_int commandNDRangeKernel(const cl::vector<cl_ndrange_kernel_command_properties_khr> &properties, |
| 10963 | const Kernel& kernel, |
| 10964 | const NDRange& offset, |
| 10965 | const NDRange& global, |
| 10966 | const NDRange& local = NullRange, |
| 10967 | const vector<cl_sync_point_khr>* sync_points_vec = nullptr, |
| 10968 | cl_sync_point_khr* sync_point = nullptr, |
| 10969 | MutableCommandKhr* mutable_handle = nullptr, |
| 10970 | const CommandQueue* command_queue = nullptr) |
| 10971 | { |
| 10972 | if (pfn_clCommandNDRangeKernelKHR == nullptr) { |
| 10973 | return detail::errHandler(CL_INVALID_OPERATION, |
| 10974 | __COMMAND_NDRANGE_KERNEL_KHR_ERR); |
| 10975 | } |
| 10976 | |
| 10977 | cl_sync_point_khr tmp_sync_point; |
| 10978 | cl_int error = detail::errHandler( |
| 10979 | pfn_clCommandNDRangeKernelKHR(object_, |
| 10980 | (command_queue != nullptr) ? (*command_queue)() : nullptr, |
| 10981 | &properties[0], |
| 10982 | kernel(), |
| 10983 | (cl_uint) global.dimensions(), |
| 10984 | offset.dimensions() != 0 ? (const size_type*) offset : nullptr, |
| 10985 | (const size_type*) global, |
| 10986 | local.dimensions() != 0 ? (const size_type*) local : nullptr, |
| 10987 | (sync_points_vec != nullptr) ? (cl_uint) sync_points_vec->size() : 0, |
| 10988 | (sync_points_vec != nullptr && sync_points_vec->size() > 0) ? &sync_points_vec->front() : nullptr, |
| 10989 | (sync_point != nullptr) ? &tmp_sync_point : nullptr, |
| 10990 | (cl_mutable_command_khr*) mutable_handle), |
| 10991 | __COMMAND_NDRANGE_KERNEL_KHR_ERR); |
| 10992 | |
| 10993 | if (sync_point != nullptr && error == CL_SUCCESS) |
| 10994 | *sync_point = tmp_sync_point; |
| 10995 | |
| 10996 | return error; |
| 10997 | } |
| 10998 | |
| 10999 | #if defined(cl_khr_command_buffer_mutable_dispatch) |
| 11000 | cl_int updateMutableCommands(const cl_mutable_base_config_khr* mutable_config) |
nothing calls this directly
no test coverage detected