diff options
author | Roman Kuznetsov <r.kuznetsow@gmail.com> | 2019-05-03 10:58:29 +0300 |
---|---|---|
committer | Arsentiy Milchakov <milcars@mapswithme.com> | 2019-05-08 16:49:33 +0300 |
commit | b89775a79093d302a336b3876939a3c6b9ff3514 (patch) | |
tree | 1b95a4f2a0adca4c7b8009bbb881c489fb22a0ea /android | |
parent | 1be944fbf59a686bd516fd975039bead5a913520 (diff) |
[vulkan] Forbid Vulkan for not standard compliant Adreno drivers
Diffstat (limited to 'android')
-rw-r--r-- | android/jni/com/mapswithme/maps/Framework.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/android/jni/com/mapswithme/maps/Framework.cpp b/android/jni/com/mapswithme/maps/Framework.cpp index c5bf8ec19a..5a773d66a6 100644 --- a/android/jni/com/mapswithme/maps/Framework.cpp +++ b/android/jni/com/mapswithme/maps/Framework.cpp @@ -19,11 +19,13 @@ #include "storage/storage_helpers.hpp" -#include "drape/pointers.hpp" -#include "drape/visual_scale.hpp" #include "drape_frontend/user_event_stream.hpp" #include "drape_frontend/visual_params.hpp" +#include "drape/pointers.hpp" +#include "drape/support_manager.hpp" +#include "drape/visual_scale.hpp" + #include "coding/file_container.hpp" #include "coding/file_name_utils.hpp" @@ -173,7 +175,11 @@ bool Framework::DestroySurfaceOnDetach() bool Framework::CreateDrapeEngine(JNIEnv * env, jobject jSurface, int densityDpi, bool firstLaunch, bool launchByDeepLink, int appVersionCode) { - if (m_work.LoadPreferredGraphicsAPI() == dp::ApiVersion::Vulkan) + auto const vulkanForbidden = dp::SupportManager::Instance().IsVulkanForbidden(); + if (vulkanForbidden) + LOG(LWARNING, ("Vulkan API is forbidden on this device.")); + + if (m_work.LoadPreferredGraphicsAPI() == dp::ApiVersion::Vulkan && !vulkanForbidden) { m_vulkanContextFactory = make_unique_dp<AndroidVulkanContextFactory>(appVersionCode); if (!CastFactory(m_vulkanContextFactory)->IsVulkanSupported()) |