From 600b7c365ce657fe0be7bf3afed1868478f9cc9a Mon Sep 17 00:00:00 2001 From: foreman Date: Fri, 26 May 2017 11:43:05 -0400 Subject: [PATCH] P4 to Git Change 1414775 by asalmanp@asalmanp-ocl-stg on 2017/05/26 11:34:07 SWDEV-120065 - [Vega10] Multi 4k60 Hyrid VP9 Chrome Decode Causes System Hang - The hang happens because runtime was overwriting an incomplete IB due to incorrect result for OS event wait. - To fix this issue force to wait for fences if ibReuse is enabled. ReviewBoardURL = http://ocltc.amd.com/reviews/r/12862/ Affected files ... ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.hpp#23 edit --- rocclr/runtime/device/pal/palvirtual.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rocclr/runtime/device/pal/palvirtual.hpp b/rocclr/runtime/device/pal/palvirtual.hpp index 898bdd86d4..0e03e323dd 100644 --- a/rocclr/runtime/device/pal/palvirtual.hpp +++ b/rocclr/runtime/device/pal/palvirtual.hpp @@ -95,7 +95,7 @@ class VirtualGPU : public device::VirtualDevice { bool waifForFence(uint cbId, bool ibReuse = false) const { Pal::Result result = Pal::Result::Success; uint64_t start = amd::Os::timeNanos(); - while (Pal::Result::Success != (result = iCmdFences_[cbId]->GetStatus())) { + while (ibReuse || (Pal::Result::Success != (result = iCmdFences_[cbId]->GetStatus()))) { if (result == Pal::Result::ErrorFenceNeverSubmitted) { result = Pal::Result::Success; break;