P4 to Git Change 1588185 by vsytchen@vsytchen-win10 on 2018/08/01 11:46:00
SWDEV-145570 - [HIP] Correctly handle calculating the offset when retrieving the amd::Memory object from a prepinned pointer
ReviewBoardURL = http://ocltc.amd.com/reviews/r/15539/diff/
Affected files ...
... //depot/stg/opencl/drivers/opencl/api/hip/hip_memory.cpp#38 edit
[ROCm/hip commit: 83ae8eb381]
This commit is contained in:
@@ -38,8 +38,16 @@ extern void getDrvChannelOrderAndType(const enum hipArray_Format Format,
|
||||
|
||||
amd::Memory* getMemoryObject(const void* ptr, size_t& offset) {
|
||||
amd::Memory *memObj = amd::MemObjMap::FindMemObj(ptr);
|
||||
if (memObj != nullptr && memObj->getSvmPtr() != nullptr) {
|
||||
offset = reinterpret_cast<size_t>(ptr) - reinterpret_cast<size_t>(memObj->getSvmPtr());
|
||||
if (memObj != nullptr) {
|
||||
if (memObj->getSvmPtr() != nullptr) {
|
||||
// SVM pointer
|
||||
offset = reinterpret_cast<size_t>(ptr) - reinterpret_cast<size_t>(memObj->getSvmPtr());
|
||||
} else if (memObj->getHostMem() != nullptr) {
|
||||
// Prepinned memory
|
||||
offset = reinterpret_cast<size_t>(ptr) - reinterpret_cast<size_t>(memObj->getHostMem());
|
||||
} else {
|
||||
ShouldNotReachHere();
|
||||
}
|
||||
}
|
||||
return memObj;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user