mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-04 23:56:39 +08:00
fix: correct loading L0 loader functions
- don't load ze_loader.dll from file system - to perform self-open on Windows use getModuleHandleA with proper module name - don't free library loaded with getModuleHandleA - as loader may be not available during runtime teardown: - load translate handle function during global setup - load setDriverTeardown function during global teardown - when loader is not available during teardown, unset translate handle function Related-To: GSD-10147 Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
9d6d6e85f1
commit
4154e6666b
@@ -26,7 +26,7 @@ class GlFunctionHelperMock : public GlFunctionHelper {
|
||||
};
|
||||
|
||||
TEST(GlFunctionHelper, whenCreateGlFunctionHelperThenSetGlFunctionPtrToLoadAnotherFunctions) {
|
||||
std::unique_ptr<OsLibrary> glLibrary(OsLibrary::loadFunc("mock_opengl32.dll"));
|
||||
std::unique_ptr<OsLibrary> glLibrary(OsLibrary::loadFunc({"mock_opengl32.dll"}));
|
||||
EXPECT_TRUE(glLibrary->isLoaded());
|
||||
GlFunctionHelperMock loader(glLibrary.get(), "mockLoader");
|
||||
funcType function1 = ConvertibleProcAddr{reinterpret_cast<void *>(loader.glFunctionPtr("realFunction"))};
|
||||
@@ -35,7 +35,7 @@ TEST(GlFunctionHelper, whenCreateGlFunctionHelperThenSetGlFunctionPtrToLoadAnoth
|
||||
}
|
||||
|
||||
TEST(GlFunctionHelper, givenNonExistingFunctionNameWhenCreateGlFunctionHelperThenNullptr) {
|
||||
std::unique_ptr<OsLibrary> glLibrary(OsLibrary::loadFunc("mock_opengl32.dll"));
|
||||
std::unique_ptr<OsLibrary> glLibrary(OsLibrary::loadFunc({"mock_opengl32.dll"}));
|
||||
EXPECT_TRUE(glLibrary->isLoaded());
|
||||
GlFunctionHelper loader(glLibrary.get(), "mockLoader");
|
||||
funcType function = loader["nonExistingFunction"];
|
||||
@@ -43,7 +43,7 @@ TEST(GlFunctionHelper, givenNonExistingFunctionNameWhenCreateGlFunctionHelperThe
|
||||
}
|
||||
|
||||
TEST(GlFunctionHelper, givenRealFunctionNameWhenCreateGlFunctionHelperThenGetPointerToAppropriateFunction) {
|
||||
std::unique_ptr<OsLibrary> glLibrary(OsLibrary::loadFunc("mock_opengl32.dll"));
|
||||
std::unique_ptr<OsLibrary> glLibrary(OsLibrary::loadFunc({"mock_opengl32.dll"}));
|
||||
EXPECT_TRUE(glLibrary->isLoaded());
|
||||
GlFunctionHelper loader(glLibrary.get(), "mockLoader");
|
||||
funcType function = loader["realFunction"];
|
||||
|
||||
@@ -38,7 +38,7 @@ using setGLMockValue = void (*)(GLMockReturnedValues);
|
||||
struct GlDllHelper {
|
||||
public:
|
||||
GlDllHelper() {
|
||||
glDllLoad.reset(OsLibrary::loadFunc(Os::openglDllName));
|
||||
glDllLoad.reset(OsLibrary::loadFunc({Os::openglDllName}));
|
||||
if (glDllLoad) {
|
||||
glSetString = (*glDllLoad)["glSetString"];
|
||||
UNRECOVERABLE_IF(glSetString == nullptr);
|
||||
|
||||
Reference in New Issue
Block a user