@@ -2326,23 +2326,27 @@ void handler::setNDRangeDescriptor(sycl::range<1> NumWorkItems,
23262326void handler::setKernelNameBasedCachePtr (
23272327 sycl::detail::KernelNameBasedCacheT *KernelNameBasedCachePtr) {
23282328 assert (!impl->MKernelData .getDeviceKernelInfoPtr () && " Already set!" );
2329+
2330+ CompileTimeKernelInfoTy HandlerInfo;
2331+ HandlerInfo.Name = MKernelName;
2332+ HandlerInfo.NumParams = impl->MKernelNumArgs ;
2333+ HandlerInfo.ParamDescGetter = impl->MKernelParamDescGetter ;
2334+ HandlerInfo.IsESIMD = impl->MKernelIsESIMD ;
2335+ HandlerInfo.HasSpecialCaptures = impl->MKernelHasSpecialCaptures ;
23292336 impl->MKernelData .setDeviceKernelInfoPtr (
2330- reinterpret_cast <sycl::detail::DeviceKernelInfo *> (
2331- KernelNameBasedCachePtr ));
2337+ & detail::ProgramManager::getInstance (). getOrCreateDeviceKernelInfo (
2338+ HandlerInfo ));
23322339}
23332340
23342341void handler::setKernelInfo (
23352342 void *KernelFuncPtr, int KernelNumArgs,
23362343 detail::kernel_param_desc_t (*KernelParamDescGetter)(int ),
23372344 bool KernelIsESIMD, bool KernelHasSpecialCaptures) {
2338- if (impl->MKernelData .getDeviceKernelInfoPtr () == nullptr ) {
2339- impl->MKernelData .setDeviceKernelInfoPtr (
2340- &detail::ProgramManager::getInstance ().getOrCreateDeviceKernelInfo (
2341- toKernelNameStrT (MKernelName)));
2342- }
2343- impl->MKernelData .setKernelInfo (KernelFuncPtr, KernelNumArgs,
2344- KernelParamDescGetter, KernelIsESIMD,
2345- KernelHasSpecialCaptures);
2345+ impl->MKernelData .setKernelInfo (KernelFuncPtr);
2346+ impl->MKernelNumArgs = KernelNumArgs;
2347+ impl->MKernelParamDescGetter = KernelParamDescGetter;
2348+ impl->MKernelIsESIMD = KernelIsESIMD;
2349+ impl->MKernelHasSpecialCaptures = KernelHasSpecialCaptures;
23462350}
23472351#endif
23482352
0 commit comments