mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-25 13:33:02 +08:00
Use common definition of UUID for Intel GPUs
This patch will eventaully allow matching UUIDs queried from NEO with UUIDs queried from other GPU APIs implementations for Intel GPUs Signed-off-by: Kamil Diedrich <kamil.diedrich@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
200734892b
commit
ad579be87c
@@ -295,7 +295,9 @@ cl_int ClDevice::getDeviceInfo(cl_device_info paramName,
|
||||
}
|
||||
break;
|
||||
case CL_DEVICE_UUID_KHR:
|
||||
device.generateUuid(uuid);
|
||||
if (device.getUuid(uuid) == false) {
|
||||
device.generateUuid(uuid);
|
||||
}
|
||||
src = uuid.data();
|
||||
retSize = srcSize = CL_UUID_SIZE_KHR;
|
||||
break;
|
||||
|
||||
@@ -1055,6 +1055,19 @@ TEST(GetDeviceInfo, givenDeviceUuidWhenGettingDeviceInfoThenGenerateDeviceUuid)
|
||||
EXPECT_EQ(generateDeviceUuid, deviceUuidKHR);
|
||||
}
|
||||
|
||||
TEST(GetDeviceInfo, givenDeviceUuidWhenGettingDeviceInfoThenGenerateDeviceUuidFromPci) {
|
||||
std::array<uint8_t, CL_UUID_SIZE_KHR> generateDeviceUuid, deviceUuidKHR;
|
||||
size_t retSize = 0;
|
||||
memset(generateDeviceUuid.data(), 1, CL_UUID_SIZE_KHR);
|
||||
|
||||
auto device = std::make_unique<MockClDevice>(MockDevice::createWithNewExecutionEnvironment<MockDevice>(nullptr));
|
||||
device->setPciUuid(generateDeviceUuid);
|
||||
auto retVal = device->getDeviceInfo(CL_DEVICE_UUID_KHR, sizeof(deviceUuidKHR), &deviceUuidKHR, &retSize);
|
||||
ASSERT_EQ(retVal, CL_SUCCESS);
|
||||
|
||||
EXPECT_EQ(generateDeviceUuid, deviceUuidKHR);
|
||||
}
|
||||
|
||||
struct DeviceAttributeQueryTest : public ::testing::TestWithParam<uint32_t /*cl_device_info*/> {
|
||||
void SetUp() override {
|
||||
param = GetParam();
|
||||
|
||||
@@ -39,3 +39,8 @@ ExecutionEnvironment *MockClDevice::prepareExecutionEnvironment(const HardwareIn
|
||||
bool MockClDevice::areOcl21FeaturesSupported() const {
|
||||
return device.getHardwareInfo().capabilityTable.supportsOcl21Features;
|
||||
}
|
||||
|
||||
void MockClDevice::setPciUuid(std::array<uint8_t, ProductHelper::uuidSize> &id) {
|
||||
memcpy_s(device.uuid.id.data(), ProductHelper::uuidSize, id.data(), ProductHelper::uuidSize);
|
||||
device.uuid.isValid = true;
|
||||
}
|
||||
|
||||
@@ -43,6 +43,7 @@ class MockClDevice : public ClDevice {
|
||||
|
||||
explicit MockClDevice(MockDevice *pMockDevice);
|
||||
|
||||
void setPciUuid(std::array<uint8_t, ProductHelper::uuidSize> &id);
|
||||
bool createEngines() { return device.createEngines(); }
|
||||
void setOSTime(OSTime *osTime) { device.setOSTime(osTime); }
|
||||
bool getCpuTime(uint64_t *timeStamp) { return device.getCpuTime(timeStamp); }
|
||||
|
||||
Reference in New Issue
Block a user