Skip to content

Commit f81c726

Browse files
committed
Fix backward compatibility with 6.3
1 parent 341d413 commit f81c726

File tree

2 files changed

+23
-10
lines changed

2 files changed

+23
-10
lines changed

sycl/source/detail/handler_impl.hpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,15 @@ class handler_impl {
223223
// Allocation ptr to be freed asynchronously.
224224
void *MFreePtr = nullptr;
225225

226+
#ifndef __INTEL_PREVIEW_BREAKING_CHANGES
227+
// TODO: remove in the next ABI-breaking window
228+
// Today they are used only in the handler::setKernelNameBasedCachePtr
229+
int MKernelNumArgs = 0;
230+
detail::kernel_param_desc_t (*MKernelParamDescGetter)(int) = nullptr;
231+
bool MKernelIsESIMD = false;
232+
bool MKernelHasSpecialCaptures = true;
233+
#endif
234+
226235
KernelData MKernelData;
227236
};
228237

sycl/source/handler.cpp

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2326,23 +2326,27 @@ void handler::setNDRangeDescriptor(sycl::range<1> NumWorkItems,
23262326
void 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

23342341
void 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

Comments
 (0)