diff --git a/projects/clr/rocclr/device/rocm/rocmemory.cpp b/projects/clr/rocclr/device/rocm/rocmemory.cpp index 3b05a28a31..5fdfc0bfff 100644 --- a/projects/clr/rocclr/device/rocm/rocmemory.cpp +++ b/projects/clr/rocclr/device/rocm/rocmemory.cpp @@ -1497,6 +1497,7 @@ bool Image::AddView(amd::Image* image) { view_cache_.push_back(image); // Remove parent dependency on the child, since cache will be destroyed within the parent owner()->release(); + image->SetParent(nullptr); return true; } diff --git a/projects/clr/rocclr/platform/memory.hpp b/projects/clr/rocclr/platform/memory.hpp index 42a6dc949d..0ccc652998 100644 --- a/projects/clr/rocclr/platform/memory.hpp +++ b/projects/clr/rocclr/platform/memory.hpp @@ -323,6 +323,7 @@ class Memory : public amd::RuntimeObject { // Accessors Memory* parent() const { return parent_; } + void SetParent(amd::Memory* parent) { parent_ = parent; } bool isParent() const { return isParent_; } size_t getOrigin() const { return origin_; }