From dadc4d943995e039466d5813535e08fbfcacd7e8 Mon Sep 17 00:00:00 2001 From: sdashmiz Date: Thu, 9 Mar 2023 15:31:01 -0500 Subject: [PATCH] SWDEV-387508 - construct uuid from pal props Signed-off-by: sdashmiz Change-Id: I6d31d260b297ed5845a2ed5574f8e242ef0d34e2 --- rocclr/device/pal/paldevice.cpp | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/rocclr/device/pal/paldevice.cpp b/rocclr/device/pal/paldevice.cpp index 647d6ca496..ca9c3ba7c5 100644 --- a/rocclr/device/pal/paldevice.cpp +++ b/rocclr/device/pal/paldevice.cpp @@ -327,12 +327,6 @@ void NullDevice::fillDeviceInfo(const Pal::DeviceProperties& palProp, uint numExclusiveComputeRings) { info_.type_ = CL_DEVICE_TYPE_GPU; info_.vendorId_ = palProp.vendorId; - // Set uuid - memcpy(info_.uuid_, &palProp.pciProperties.domainNumber, sizeof(uint32_t)); - memcpy(info_.uuid_ + 4, &palProp.pciProperties.busNumber, sizeof(uint32_t)); - memcpy(info_.uuid_ + 8, &palProp.pciProperties.deviceNumber, sizeof(uint32_t)); - memcpy(info_.uuid_ + 12, &palProp.pciProperties.functionNumber, sizeof(uint32_t)); - info_.maxWorkItemDimensions_ = 3; info_.maxComputeUnits_ = settings().enableWgpMode_ @@ -844,12 +838,24 @@ uint32_t gNumDevices = 0; bool Device::create(Pal::IDevice* device) { resourceList_ = new std::unordered_set(); + char uuidByte[4]; if (nullptr == resourceList_) { return false; } appProfile_.init(); device_ = device; + // Construct uuid from pal prop + memset(info_.uuid_, 0, sizeof(info_.uuid_)); + sprintf(uuidByte, "%04x", properties().pciProperties.domainNumber); + strncpy(info_.uuid_, uuidByte, 4); + sprintf(uuidByte, "%04x", properties().pciProperties.busNumber); + strncpy(info_.uuid_+4, uuidByte, 4); + sprintf(uuidByte, "%04x", properties().pciProperties.deviceNumber); + strncpy(info_.uuid_+8, uuidByte, 4); + sprintf(uuidByte, "%04x", properties().pciProperties.functionNumber); + strncpy(info_.uuid_+12, uuidByte, 4); + // Retrive device properties Pal::Result result = iDev()->GetProperties(&properties_); if (result != Pal::Result::Success) {