feature: Define L0 Driver API for Driver Version String

Related-To: NEO-11752

- Adds zeIntelGetDriverVersionString to report the driver
version string to the user in the format:
Major.Minor.Patch+Optional

Signed-off-by: Neil R. Spruit <neil.r.spruit@intel.com>
This commit is contained in:
Neil R. Spruit
2024-06-21 16:42:37 +00:00
committed by Compute-Runtime-Automation
parent cf71353d84
commit 0daa0335cf
9 changed files with 168 additions and 0 deletions

View File

@@ -6105,5 +6105,9 @@ TEST(ExtensionLookupTest, givenLookupMapWhenAskingForBindlessImageExtensionFunct
EXPECT_NE(nullptr, ExtensionFunctionAddressHelper::getExtensionFunctionAddress("zeImageGetDeviceOffsetExp"));
}
TEST(ExtensionLookupTest, givenLookupMapWhenAskingForZeIntelGetDriverVersionStringThenReturnCorrectValue) {
EXPECT_NE(nullptr, ExtensionFunctionAddressHelper::getExtensionFunctionAddress("zeIntelGetDriverVersionString"));
}
} // namespace ult
} // namespace L0

View File

@@ -39,6 +39,7 @@
#include "level_zero/core/test/unit_tests/mocks/mock_builtin_functions_lib_impl.h"
#include "level_zero/core/test/unit_tests/mocks/mock_driver.h"
#include "level_zero/core/test/unit_tests/mocks/mock_driver_handle.h"
#include "level_zero/include/ze_intel_gpu.h"
#include "driver_version.h"
@@ -1264,6 +1265,7 @@ TEST_F(DriverExperimentalApiTest, whenRetrievingApiFunctionThenExpectProperPoint
decltype(&zexDriverReleaseImportedPointer) expectedRelease = L0::zexDriverReleaseImportedPointer;
decltype(&zexDriverGetHostPointerBaseAddress) expectedGet = L0::zexDriverGetHostPointerBaseAddress;
decltype(&zexKernelGetBaseAddress) expectedKernelGetBaseAddress = L0::zexKernelGetBaseAddress;
decltype(&zeIntelGetDriverVersionString) expectedIntelGetDriverVersionString = zeIntelGetDriverVersionString;
void *funPtr = nullptr;
@@ -1282,6 +1284,10 @@ TEST_F(DriverExperimentalApiTest, whenRetrievingApiFunctionThenExpectProperPoint
result = zeDriverGetExtensionFunctionAddress(driverHandle, "zexKernelGetBaseAddress", &funPtr);
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
EXPECT_EQ(expectedKernelGetBaseAddress, reinterpret_cast<decltype(&zexKernelGetBaseAddress)>(funPtr));
result = zeDriverGetExtensionFunctionAddress(driverHandle, "zeIntelGetDriverVersionString", &funPtr);
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
EXPECT_EQ(expectedIntelGetDriverVersionString, reinterpret_cast<decltype(&zeIntelGetDriverVersionString)>(funPtr));
}
TEST_F(DriverExperimentalApiTest, givenHostPointerApiExistWhenImportingPtrThenExpectProperBehavior) {
@@ -1303,5 +1309,17 @@ TEST_F(DriverExperimentalApiTest, givenHostPointerApiExistWhenImportingPtrThenEx
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
}
TEST_F(DriverExperimentalApiTest, givenGetVersionStringAPIExistsThenGetCurrentVersionString) {
size_t sizeOfDriverString = 0;
auto result = zeIntelGetDriverVersionString(driverHandle, nullptr, &sizeOfDriverString);
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
EXPECT_NE(sizeOfDriverString, 0u);
char *driverVersionString = reinterpret_cast<char *>(malloc(sizeOfDriverString * sizeof(char)));
result = zeIntelGetDriverVersionString(driverHandle, driverVersionString, &sizeOfDriverString);
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
EXPECT_NE("", driverVersionString);
free(driverVersionString);
}
} // namespace ult
} // namespace L0