SWDEV-504494 - Use system scope for D2H

- When using shader copy, make sure to use release scope for the AQL
  packet. This is a potential bug but is hidden as hipMemcpyAsync always
needs synchronization(which inserts a barrier with release scope). For
hipMemcpy we use a barrier packet to make sure its blocking. Eitherways
a barrier gets always used and hides in some ways a potential bug.

Change-Id: I57fb7f769c3179e76d712471c0905104c801d7ba
Этот коммит содержится в:
Saleel Kudchadker
2025-01-09 21:36:07 +00:00
родитель a22c45d635
Коммит c9dd95bf6c
+2 -1
Просмотреть файл
@@ -2261,7 +2261,8 @@ bool KernelBlitManager::copyBuffer(device::Memory& srcMemory, device::Memory& ds
// Check CL_MEM_SVM_ATOMICS flag to see if we used system_coarse_segment_
auto memFlags = srcMemory.owner()->getMemFlags();
bool srcSvmAtomics = (memFlags & CL_MEM_SVM_ATOMICS) != 0;
if (!srcSvmAtomics && srcMemory.isHostMemDirectAccess()) {
if ((!srcSvmAtomics && srcMemory.isHostMemDirectAccess()) ||
(dstMemory.isHostMemDirectAccess())) {
gpu().addSystemScope();
}
result = shaderCopyBuffer(reinterpret_cast<address>(dstMemory.virtualAddress()),