summaryrefslogtreecommitdiffstats
path: root/platform/android/java/lib
diff options
context:
space:
mode:
authorFredia Huya-Kouadio <fhuya@meta.com>2023-02-27 07:02:37 -0800
committerFredia Huya-Kouadio <fhuya@meta.com>2023-02-28 11:20:34 -0800
commit306a2ad3865198335974c319f27baa5c4f443186 (patch)
tree198061972cbc804b582a01142cc163a19f712565 /platform/android/java/lib
parent8208060c2189f972dc08554ee54e5937368e2e96 (diff)
downloadredot-engine-306a2ad3865198335974c319f27baa5c4f443186.tar.gz
Add feature check to require min Vulkan api version 1.0 on Android
Diffstat (limited to 'platform/android/java/lib')
-rw-r--r--platform/android/java/lib/src/org/godotengine/godot/Godot.java15
1 files changed, 13 insertions, 2 deletions
diff --git a/platform/android/java/lib/src/org/godotengine/godot/Godot.java b/platform/android/java/lib/src/org/godotengine/godot/Godot.java
index a03da7292b..2b48c33f1b 100644
--- a/platform/android/java/lib/src/org/godotengine/godot/Godot.java
+++ b/platform/android/java/lib/src/org/godotengine/godot/Godot.java
@@ -278,7 +278,8 @@ public class Godot extends Fragment implements SensorEventListener, IDownloaderC
if (usesVulkan()) {
if (!meetsVulkanRequirements(activity.getPackageManager())) {
- Log.w(TAG, "Missing requirements for vulkan support!");
+ alert(R.string.error_missing_vulkan_requirements_message, R.string.text_error_title, this::forceQuit);
+ return false;
}
mRenderView = new GodotVulkanRenderView(activity, this);
} else {
@@ -338,7 +339,17 @@ public class Godot extends Fragment implements SensorEventListener, IDownloaderC
return false;
}
- return Build.VERSION.SDK_INT >= Build.VERSION_CODES.N && packageManager.hasSystemFeature(PackageManager.FEATURE_VULKAN_HARDWARE_LEVEL, 1);
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
+ if (!packageManager.hasSystemFeature(PackageManager.FEATURE_VULKAN_HARDWARE_LEVEL, 1)) {
+ // Optional requirements.. log as warning if missing
+ Log.w(TAG, "The vulkan hardware level does not meet the minimum requirement: 1");
+ }
+
+ // Check for api version 1.0
+ return packageManager.hasSystemFeature(PackageManager.FEATURE_VULKAN_HARDWARE_VERSION, 0x400003);
+ }
+
+ return false;
}
public void setKeepScreenOn(final boolean p_enabled) {