@@ -2354,6 +2354,9 @@ int32_t RenderHal_LoadKernel(
2354
2354
// To reload the kernel forcibly if needed
2355
2355
if (pKernel->bForceReload )
2356
2356
{
2357
+ // The ForceReload function is only utilized in legacy code.
2358
+ // Since APO does not follow this execution path,
2359
+ // there is no need to include padding size code here.
2357
2360
dwOffset = pKernelAllocation->dwOffset ;
2358
2361
MOS_SecureMemcpy (pStateHeap->pIshBuffer + dwOffset, iKernelSize, pKernelPtr, iKernelSize);
2359
2362
@@ -2398,6 +2401,9 @@ int32_t RenderHal_LoadKernel(
2398
2401
// To reload the kernel forcibly if needed
2399
2402
if (pKernel->bForceReload )
2400
2403
{
2404
+ // The ForceReload function is only utilized in legacy code.
2405
+ // Since APO does not follow this execution path,
2406
+ // there is no need to include padding size code here.
2401
2407
dwOffset = pKernelAllocation->dwOffset ;
2402
2408
MOS_SecureMemcpy (pStateHeap->pIshBuffer + dwOffset, iKernelSize, pKernelPtr, iKernelSize);
2403
2409
@@ -2533,10 +2539,11 @@ int32_t RenderHal_LoadKernel(
2533
2539
pKernelAllocation->iAllocIndex = iKernelAllocationID;
2534
2540
2535
2541
// Copy kernel data
2536
- MOS_SecureMemcpy (pStateHeap->pIshBuffer + dwOffset, iKernelSize, pKernelPtr, iKernelSize);
2537
- if (iKernelSize < iSize)
2542
+ int32_t iCopyKernelSize = iKernelSize - pKernel->iPaddingSize ;
2543
+ MOS_SecureMemcpy (pStateHeap->pIshBuffer + dwOffset, iCopyKernelSize, pKernelPtr, iCopyKernelSize);
2544
+ if (iCopyKernelSize < iSize)
2538
2545
{
2539
- MOS_ZeroMemory (pStateHeap->pIshBuffer + dwOffset + iKernelSize , iSize - iKernelSize );
2546
+ MOS_ZeroMemory (pStateHeap->pIshBuffer + dwOffset + iCopyKernelSize , iSize - iCopyKernelSize );
2540
2547
}
2541
2548
} while (false );
2542
2549
0 commit comments