From 116c9fd6c183cc1e94156aeb5e741cf3151d7ecd Mon Sep 17 00:00:00 2001 From: German Andryeyev Date: Tue, 11 Jul 2023 11:21:43 -0400 Subject: [PATCH] SWDEV-409815 - Fix image view cache issue Make sure parent_ field is cleared for the internal image views. The internal image views don't require dependencies tracking. The issue appeard only when Navi10 pitch workaround was enabled. Change-Id: I376d212750085a9391f8c32fc2979dcb5d93c89c [ROCm/clr commit: 6b89980fb2b96dded289f2d1825de3c0b8a12d9b] --- projects/clr/rocclr/device/rocm/rocmemory.cpp | 1 + projects/clr/rocclr/platform/memory.hpp | 1 + 2 files changed, 2 insertions(+) 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_; }