From 105c5ad3fdde83c2e55aedc557d758ed3ccab35d Mon Sep 17 00:00:00 2001 From: foreman Date: Mon, 22 Oct 2018 17:15:40 -0400 Subject: [PATCH] P4 to Git Change 1622418 by gandryey@gera-w8 on 2018/10/22 17:03:57 SWDEV-79445 - OCL generic changes and code clean-up - Don't disable the trace if start occurred on a queue, which didn't generate a preparation. That should fix random timeouts and still keep trace commands in order. Affected files ... ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palgpuopen.cpp#10 edit [ROCm/clr commit: 697488de5bb9109595d41f4a116d4f0a27a7c2b9] --- projects/clr/rocclr/runtime/device/pal/palgpuopen.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/projects/clr/rocclr/runtime/device/pal/palgpuopen.cpp b/projects/clr/rocclr/runtime/device/pal/palgpuopen.cpp index 99ce6a5cca..ec5b303c9b 100644 --- a/projects/clr/rocclr/runtime/device/pal/palgpuopen.cpp +++ b/projects/clr/rocclr/runtime/device/pal/palgpuopen.cpp @@ -359,7 +359,9 @@ void RgpCaptureMgr::PreDispatch(VirtualGPU* gpu, const HSAILKernel& kernel, if (trace_.prepared_disp_count_ >= num_prep_disp_) { Pal::Result result = BeginRGPTrace(gpu); - if (result != Pal::Result::Success) { + if (Pal::Result::ErrorIncompatibleQueue == result) { + // Let's wait until the app will reach the same queue + } else if (result != Pal::Result::Success) { FinishRGPTrace(gpu, true); } } @@ -501,7 +503,7 @@ Pal::Result RgpCaptureMgr::BeginRGPTrace(VirtualGPU* gpu) // Only allow trace to start if the queue family at prep-time matches the queue // family at begin time because the command buffer engine type must match if (trace_.prepare_queue_ != gpu) { - result = Pal::Result::ErrorIncompatibleQueue; + result = Pal::Result::ErrorIncompatibleQueue; } }