@@ -103,8 +103,15 @@ static void addArgsForLocalAccessor(detail::LocalAccessorImplHost *LAcc,
103103
104104void KernelData::processArg (void *Ptr, const detail::kernel_param_kind_t &Kind,
105105 const int Size, const size_t Index,
106- size_t &IndexShift,
107- bool IsKernelCreatedFromSource) {
106+ size_t &IndexShift, bool IsKernelCreatedFromSource
107+ #ifndef __INTEL_PREVIEW_BREAKING_CHANGES
108+ ,
109+ bool IsESIMD
110+ #endif
111+ ) {
112+ #ifdef __INTEL_PREVIEW_BREAKING_CHANGES
113+ bool IsESIMD = isESIMD ();
114+ #endif
108115 using detail::kernel_param_kind_t ;
109116 size_t GlobalSize = MNDRDesc.GlobalSize [0 ];
110117 for (size_t I = 1 ; I < MNDRDesc.Dims ; ++I) {
@@ -126,14 +133,14 @@ void KernelData::processArg(void *Ptr, const detail::kernel_param_kind_t &Kind,
126133 detail::Requirement *GBufReq = &*detail::getSyclObjImpl (*GBufBase);
127134 addArgsForGlobalAccessor (GBufReq, Index, IndexShift, Size,
128135 IsKernelCreatedFromSource, GlobalSize, MArgs,
129- isESIMD () );
136+ IsESIMD );
130137 ++IndexShift;
131138 detail::AccessorBaseHost *GOffsetBase =
132139 static_cast <detail::AccessorBaseHost *>(&S->GlobalOffset );
133140 detail::Requirement *GOffsetReq = &*detail::getSyclObjImpl (*GOffsetBase);
134141 addArgsForGlobalAccessor (GOffsetReq, Index, IndexShift, Size,
135142 IsKernelCreatedFromSource, GlobalSize, MArgs,
136- isESIMD () );
143+ IsESIMD );
137144 ++IndexShift;
138145 detail::AccessorBaseHost *GFlushBase =
139146 static_cast <detail::AccessorBaseHost *>(&S->GlobalFlushBuf );
@@ -152,7 +159,7 @@ void KernelData::processArg(void *Ptr, const detail::kernel_param_kind_t &Kind,
152159 }
153160 addArgsForGlobalAccessor (GFlushReq, Index, IndexShift, Size,
154161 IsKernelCreatedFromSource, GlobalSize, MArgs,
155- isESIMD () );
162+ IsESIMD );
156163 ++IndexShift;
157164 addArg (kernel_param_kind_t ::kind_std_layout, &S->FlushBufferSize ,
158165 sizeof (S->FlushBufferSize ), Index + IndexShift);
@@ -170,15 +177,15 @@ void KernelData::processArg(void *Ptr, const detail::kernel_param_kind_t &Kind,
170177 detail::Requirement *AccImpl = static_cast <detail::Requirement *>(Ptr);
171178 addArgsForGlobalAccessor (AccImpl, Index, IndexShift, Size,
172179 IsKernelCreatedFromSource, GlobalSize, MArgs,
173- isESIMD () );
180+ IsESIMD );
174181 break ;
175182 }
176183 case access::target::local: {
177184 detail::LocalAccessorImplHost *LAccImpl =
178185 static_cast <detail::LocalAccessorImplHost *>(Ptr);
179186
180187 addArgsForLocalAccessor (LAccImpl, Index, IndexShift,
181- IsKernelCreatedFromSource, MArgs, isESIMD () );
188+ IsKernelCreatedFromSource, MArgs, IsESIMD );
182189 break ;
183190 }
184191 case access::target::image:
@@ -221,7 +228,7 @@ void KernelData::processArg(void *Ptr, const detail::kernel_param_kind_t &Kind,
221228
222229 addArgsForLocalAccessor (&DynLocalAccessorImpl->LAccImplHost , Index,
223230 IndexShift, IsKernelCreatedFromSource, MArgs,
224- isESIMD () );
231+ IsESIMD );
225232 break ;
226233 }
227234 default : {
@@ -289,7 +296,12 @@ void KernelData::extractArgsAndReqs(bool IsKernelCreatedFromSource) {
289296 const detail::kernel_param_kind_t &Kind = UnPreparedArgs[I].MType ;
290297 const int &Size = UnPreparedArgs[I].MSize ;
291298 const int Index = UnPreparedArgs[I].MIndex ;
292- processArg (Ptr, Kind, Size, Index, IndexShift, IsKernelCreatedFromSource);
299+ processArg (Ptr, Kind, Size, Index, IndexShift, IsKernelCreatedFromSource
300+ #ifndef __INTEL_PREVIEW_BREAKING_CHANGES
301+ ,
302+ isESIMD ()
303+ #endif
304+ );
293305 }
294306}
295307
@@ -341,7 +353,12 @@ void KernelData::extractArgsAndReqsFromLambda() {
341353 }
342354
343355 processArg (Ptr, Kind, Size, I, IndexShift,
344- /* IsKernelCreatedFromSource=*/ false );
356+ /* IsKernelCreatedFromSource=*/ false
357+ #ifndef __INTEL_PREVIEW_BREAKING_CHANGES
358+ ,
359+ isESIMD ()
360+ #endif
361+ );
345362 }
346363}
347364
0 commit comments