SWDEV-314254 - Fix for hipMemcpy3D test crash

Change-Id: Iac70bfe0d351cfb5b56fefc9a6487d3f26f2b4ef
Bu işleme şunda yer alıyor:
Sarbojit Sarkar
2021-12-09 07:31:03 +00:00
işlemeyi yapan: Sarbojit Sarkar
ebeveyn 84af5eed4e
işleme aedbad0109
3 değiştirilmiş dosya ile 7 ekleme ve 2 silme
+2
Dosyayı Görüntüle
@@ -834,6 +834,8 @@ class Memory : public amd::HeapObject {
virtual uint64_t virtualAddress() const { return 0; }
virtual uint64_t originalDeviceAddress() const { return 0; }
//! Returns CPU pointer to HW state
virtual const address cpuSrd() const { return nullptr; }
+3
Dosyayı Görüntüle
@@ -102,6 +102,8 @@ class Memory : public device::Memory {
virtual uint64_t virtualAddress() const override { return reinterpret_cast<uint64_t>(getDeviceMemory()); }
virtual uint64_t originalDeviceAddress() const { return virtualAddress(); }
// Accessors for indirect map memory object
amd::Memory* mapMemory() const { return mapMemory_; }
@@ -219,6 +221,7 @@ class Image : public roc::Memory {
amd::Image* CopyImageBuffer() const { return copyImageBuffer_; }
virtual uint64_t originalDeviceAddress() const { return reinterpret_cast<uint64_t>(originalDeviceMemory_); }
private:
//! Disable copy constructor
Image(const Buffer&);
+2 -2
Dosyayı Görüntüle
@@ -507,14 +507,14 @@ bool TwoMemoryArgsCommand::validatePeerMemory(){
// explicit allow access is needed for P2P access
device::Memory* mem1 = memory1_->getDeviceMemory(*srcDevices[0]);
if (!mem1->getAllowedPeerAccess() && srcDevices.size() == 1) {
void* src = reinterpret_cast<void*>(mem1->virtualAddress());
void* src = reinterpret_cast<void*>(mem1->originalDeviceAddress());
accessAllowed = srcDevices[0]->deviceAllowAccess(src);
mem1->setAllowedPeerAccess(true);
}
device::Memory* mem2 = memory2_->getDeviceMemory(*dstDevices[0]);
if (!mem2->getAllowedPeerAccess() && dstDevices.size() == 1) {
void* dst = reinterpret_cast<void*>(mem2->virtualAddress());
void* dst = reinterpret_cast<void*>(mem2->originalDeviceAddress());
accessAllowed &= dstDevices[0]->deviceAllowAccess(dst);
mem2->setAllowedPeerAccess(true);
}