mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-24 20:39:56 +08:00
fix: correctly patch implicit arg buffer in indirect data
- use correct size alignment of implicit arg buffer, crosshtread data should start after the buffer without extra padding Related-To: NEO-14449 Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
22ddaea09f
commit
e345d55fe5
@@ -48,14 +48,7 @@ uint32_t getSizeForImplicitArgsStruct(const ImplicitArgs *pImplicitArgs, const K
|
||||
if (!pImplicitArgs) {
|
||||
return 0;
|
||||
}
|
||||
auto implicitArgsSize = pImplicitArgs->getSize();
|
||||
|
||||
auto patchImplicitArgsBufferInCrossThread = NEO::isValidOffset<>(kernelDescriptor.payloadMappings.implicitArgs.implicitArgsBuffer);
|
||||
if (patchImplicitArgsBufferInCrossThread) {
|
||||
return alignUp(implicitArgsSize, MemoryConstants::cacheLineSize);
|
||||
} else {
|
||||
return implicitArgsSize;
|
||||
}
|
||||
return pImplicitArgs->getAlignedSize();
|
||||
}
|
||||
|
||||
uint32_t getSizeForImplicitArgsPatching(const ImplicitArgs *pImplicitArgs, const KernelDescriptor &kernelDescriptor, bool isHwLocalIdGeneration, const RootDeviceEnvironment &rootDeviceEnvironment) {
|
||||
@@ -112,7 +105,7 @@ void *patchImplicitArgs(void *ptrToPatch, const ImplicitArgs &implicitArgs, cons
|
||||
dimensionOrder,
|
||||
false, grfSize, grfCount, rootDeviceEnvironment);
|
||||
|
||||
auto sizeForLocalIdsProgramming = totalSizeToProgram - implicitArgs.getSize();
|
||||
auto sizeForLocalIdsProgramming = totalSizeToProgram - implicitArgs.getAlignedSize();
|
||||
ptrToPatch = ptrOffset(ptrToPatch, sizeForLocalIdsProgramming);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user