P4 to Git Change 1258779 by gandryey@gera-ocl on 2016/04/15 19:16:15

SWDEV-92245 - [CQE OCL][QR][G] Multiple 32/64 bit Bolt sample crashes on all CPUs. FaultyCL#1257532
	- Bolt calls map/unmap with the same region twice. Add a counter for the same region to track that case

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/device.cpp#195 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/device.hpp#272 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#401 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.cpp#6 edit
This commit is contained in:
foreman
2016-04-15 19:22:30 -04:00
szülő 9b99d758cd
commit 6569fba06d
4 fájl változott, egészen pontosan 23 új sor hozzáadva és 10 régi sor törölve
+7 -5
Fájl megtekintése
@@ -689,11 +689,7 @@ Memory::saveMapInfo(
WriteMapInfo* pInfo = &info;
auto it = writeMapInfo_.find(mapAddress);
if (it != writeMapInfo_.end()) {
LogWarning("Double map of the same region!");
}
else {
writeMapInfo_.insert(std::pair<const void*, WriteMapInfo>(mapAddress, info));
it = writeMapInfo_.find(mapAddress);
LogWarning("Double map of the same or overlapped region!");
pInfo = &it->second;
}
@@ -707,6 +703,12 @@ Memory::saveMapInfo(
pInfo->unmapRead_ = true;
}
pInfo->baseMip_ = baseMip;
// Insert into the map if it's the first region
if (++pInfo->count_ == 1) {
writeMapInfo_.insert(std::pair<const void*, WriteMapInfo>(mapAddress, info));
}
}
Program::Program(amd::Device& device)