P4 to Git Change 1492748 by gandryey@gera-w8 on 2017/12/11 11:53:55

SWDEV-139828 - [OCL] OCL runtime hang in multithread app
	- This issue is a regression after Davinci optimizations. Execution lock should be applied for the engine's wait only, since the resource cache has own lock protection that can conflict with the execution lock

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.cpp#65 edit
Этот коммит содержится в:
foreman
2017-12-11 11:59:15 -05:00
родитель e9cf35309d
Коммит 175f01c420
+6 -3
Просмотреть файл
@@ -2716,9 +2716,12 @@ bool VirtualGPU::waitAllEngines(CommandBatch* cb) {
}
void VirtualGPU::waitEventLock(CommandBatch* cb) {
// Make sure VirtualGPU has an exclusive access to the resources
amd::ScopedLock lock(execution());
bool earlyDone = waitAllEngines(cb);
bool earlyDone = false;
{
// Make sure VirtualGPU has an exclusive access to the resources
amd::ScopedLock lock(execution());
earlyDone = waitAllEngines(cb);
}
// Free resource cache if we have too many entries
//! \note we do it here, when all engines are idle,