diff options
-rw-r--r-- | opengl/libs/EGL/Loader.cpp | 2 | ||||
-rw-r--r-- | vulkan/libvulkan/driver.cpp | 11 |
2 files changed, 8 insertions, 5 deletions
diff --git a/opengl/libs/EGL/Loader.cpp b/opengl/libs/EGL/Loader.cpp index ec7b190c74..bf0e38e986 100644 --- a/opengl/libs/EGL/Loader.cpp +++ b/opengl/libs/EGL/Loader.cpp @@ -270,7 +270,7 @@ void* Loader::open(egl_connection_t* cnx) { hnd = attempt_to_load_updated_driver(cnx); // If updated driver apk is set but fail to load, abort here. - LOG_ALWAYS_FATAL_IF(android::GraphicsEnv::getInstance().getDriverNamespace(), + LOG_ALWAYS_FATAL_IF(android::GraphicsEnv::getInstance().getDriverNamespace() && !hnd, "couldn't find an OpenGL ES implementation from %s", android::GraphicsEnv::getInstance().getDriverPath().c_str()); } diff --git a/vulkan/libvulkan/driver.cpp b/vulkan/libvulkan/driver.cpp index 3f89960e32..ef213f0c7a 100644 --- a/vulkan/libvulkan/driver.cpp +++ b/vulkan/libvulkan/driver.cpp @@ -339,10 +339,13 @@ void Hal::UnloadBuiltinDriver() { ALOGD("Unload builtin Vulkan driver."); - // Close the opened device - int err = hal_.dev_->common.close( - const_cast<struct hw_device_t*>(&hal_.dev_->common)); - ALOG_ASSERT(!err, "hw_device_t::close() failed."); + if (hal_.dev_->common.close != nullptr) + { + // Close the opened device + int err = hal_.dev_->common.close( + const_cast<struct hw_device_t*>(&hal_.dev_->common)); + ALOG_ASSERT(!err, "hw_device_t::close() failed."); + } // Close the opened shared library in the hw_module_t android_unload_sphal_library(hal_.dev_->common.module->dso); |