From e1b559e386ebaeb4a41631a71eb15fd590f10c6d Mon Sep 17 00:00:00 2001 From: Anusha GodavarthySurya Date: Thu, 8 Dec 2022 10:30:15 +0000 Subject: [PATCH] SWDEV-372521 - Fix copy of unused kernel attributes Change-Id: Ib93f27d68cedac2182ba6dac0c234cc71c2c4229 [ROCm/clr commit: 5bcfb07c85200fb3e70506a049138a5a2c491444] --- projects/clr/hipamd/src/hip_graph_internal.hpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/projects/clr/hipamd/src/hip_graph_internal.hpp b/projects/clr/hipamd/src/hip_graph_internal.hpp index 20d184d2fe..a70bb88f1d 100644 --- a/projects/clr/hipamd/src/hip_graph_internal.hpp +++ b/projects/clr/hipamd/src/hip_graph_internal.hpp @@ -656,7 +656,7 @@ class hipGraphKernelNode : public hipGraphNode { hipKernelNodeParams* pKernelParams_; unsigned int numParams_; hipKernelNodeAttrValue kernelAttr_; - hipKernelNodeAttrID kernelAttrInUse_; + unsigned int kernelAttrInUse_; public: std::string GetLabel(hipGraphDebugDotFlags flag) { @@ -770,6 +770,7 @@ class hipGraphKernelNode : public hipGraphNode { ClPrint(amd::LOG_ERROR, amd::LOG_CODE, "[hipGraph] Failed to copy params"); } memset(&kernelAttr_, 0, sizeof(kernelAttr_)); + kernelAttrInUse_ = 0; } ~hipGraphKernelNode() { freeParams(); } @@ -901,10 +902,14 @@ class hipGraphKernelNode : public hipGraphNode { return hipSuccess; } hipError_t CopyAttr(const hipGraphKernelNode* srcNode) { - if (srcNode->kernelAttrInUse_ != kernelAttrInUse_) { + if (kernelAttrInUse_ == 0 && srcNode->kernelAttrInUse_ == 0) { + return hipSuccess; + } + if (kernelAttrInUse_ != 0 && srcNode->kernelAttrInUse_ != kernelAttrInUse_) { return hipErrorInvalidContext; } - switch (kernelAttrInUse_) { + kernelAttrInUse_ = srcNode->kernelAttrInUse_; + switch (srcNode->kernelAttrInUse_) { case hipKernelNodeAttributeAccessPolicyWindow: kernelAttr_.accessPolicyWindow.base_ptr = srcNode->kernelAttr_.accessPolicyWindow.base_ptr; kernelAttr_.accessPolicyWindow.hitProp = srcNode->kernelAttr_.accessPolicyWindow.hitProp;