SWDEV-430911 - Force SDMA only if explicitly specified & pick appropriate engine.
Change-Id: Ib34fa6b2782f74b753899fa8fddff646dc60c8ce
[ROCm/clr commit: 3daf8b334a]
Este cometimento está contido em:
cometido por
Jaydeepkumar Patel
ascendente
73c249bb59
cometimento
0d74d8b187
@@ -691,7 +691,7 @@ bool DmaBlitManager::hsaCopy(const Memory& srcMemory, const Memory& dstMemory,
|
||||
// Determine engine and assign a copy mask for the new versatile ROCr API
|
||||
// If engine preferred is SDMA, assign the SdmaWrite path
|
||||
if ((srcAgent.handle == dev().getCpuAgent().handle) &&
|
||||
(dstAgent.handle != dev().getCpuAgent().handle) || forceSDMA) {
|
||||
(dstAgent.handle != dev().getCpuAgent().handle)) {
|
||||
engine = HwQueueEngine::SdmaWrite;
|
||||
copyMask = kUseRegularCopyApi ? 0 : dev().fetchSDMAMask(this, false);
|
||||
} else if ((srcAgent.handle != dev().getCpuAgent().handle) &&
|
||||
@@ -700,6 +700,11 @@ bool DmaBlitManager::hsaCopy(const Memory& srcMemory, const Memory& dstMemory,
|
||||
copyMask = kUseRegularCopyApi ? 0 : dev().fetchSDMAMask(this, true);
|
||||
}
|
||||
|
||||
if (engine == HwQueueEngine::Unknown && forceSDMA) {
|
||||
engine = HwQueueEngine::SdmaRead;
|
||||
copyMask = kUseRegularCopyApi ? 0 : dev().fetchSDMAMask(this, true);
|
||||
}
|
||||
|
||||
// Check if host wait has to be forced
|
||||
bool forceHostWait = forceHostWaitFunc(size[0]);
|
||||
|
||||
|
||||
Criar uma nova questão referindo esta
Bloquear um utilizador