From 7e9d5eab7cab45b4888fd624872a9d72fddcb8d0 Mon Sep 17 00:00:00 2001 From: "Critchley, Paul" Date: Mon, 28 Apr 2025 08:02:34 -0700 Subject: [PATCH] SWDEV-523611 - [Tools][OCL] OpenCL fails to capture with PalTrace (#198) Finalize DevDriver initialization after device creation --- rocclr/device/pal/paldevice.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/rocclr/device/pal/paldevice.cpp b/rocclr/device/pal/paldevice.cpp index 41d447b3e4..1f979d6754 100644 --- a/rocclr/device/pal/paldevice.cpp +++ b/rocclr/device/pal/paldevice.cpp @@ -1414,7 +1414,7 @@ bool Device::init() { // Make sure the devdriver initialization is done after Pal platform creation // to avoid a timeout in RGP server platform_->GetDevDriverServer()->GetDriverControlServer()->StartLateDeviceInit(); - platform_->GetDevDriverServer()->GetDriverControlServer()->FinishDeviceInit(); + } #endif // PAL_GPUOPEN_OCL @@ -1443,6 +1443,14 @@ bool Device::init() { Device* d = new Device(); result = result && (nullptr != d) && d->create(gDeviceList[ordinal]); +#ifdef PAL_GPUOPEN_OCL + if ((platform_->GetDevDriverServer() != nullptr) && + (platform_->GetDevDriverServer()->GetDriverControlServer() != nullptr)) { + // Finalize DevDriver initialization after device creation + platform_->GetDevDriverServer()->GetDriverControlServer()->FinishDeviceInit(); + } +#endif // PAL_GPUOPEN_OCL + if (result) { foundDevice = true; d->registerDevice();