diff --git a/api/current.txt b/api/current.txt index cc0ca64d0efda..2281ec9d9ba9d 100644 --- a/api/current.txt +++ b/api/current.txt @@ -9786,6 +9786,8 @@ package android.content.pm { field public static final java.lang.String FEATURE_VERIFIED_BOOT = "android.software.verified_boot"; field public static final java.lang.String FEATURE_VR_MODE = "android.software.vr.mode"; field public static final java.lang.String FEATURE_VR_MODE_HIGH_PERFORMANCE = "android.hardware.vr.high_performance"; + field public static final java.lang.String FEATURE_VULKAN_HARDWARE_LEVEL = "android.hardware.vulkan.level"; + field public static final java.lang.String FEATURE_VULKAN_HARDWARE_VERSION = "android.hardware.vulkan.version"; field public static final java.lang.String FEATURE_WATCH = "android.hardware.type.watch"; field public static final java.lang.String FEATURE_WEBVIEW = "android.software.webview"; field public static final java.lang.String FEATURE_WIFI = "android.hardware.wifi"; diff --git a/api/system-current.txt b/api/system-current.txt index 3d08637caabbf..c48e1a898d345 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -10151,6 +10151,8 @@ package android.content.pm { field public static final java.lang.String FEATURE_VERIFIED_BOOT = "android.software.verified_boot"; field public static final java.lang.String FEATURE_VR_MODE = "android.software.vr.mode"; field public static final java.lang.String FEATURE_VR_MODE_HIGH_PERFORMANCE = "android.hardware.vr.high_performance"; + field public static final java.lang.String FEATURE_VULKAN_HARDWARE_LEVEL = "android.hardware.vulkan.level"; + field public static final java.lang.String FEATURE_VULKAN_HARDWARE_VERSION = "android.hardware.vulkan.version"; field public static final java.lang.String FEATURE_WATCH = "android.hardware.type.watch"; field public static final java.lang.String FEATURE_WEBVIEW = "android.software.webview"; field public static final java.lang.String FEATURE_WIFI = "android.hardware.wifi"; diff --git a/api/test-current.txt b/api/test-current.txt index 7a7880638751c..40f33cb7d3451 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -9794,6 +9794,8 @@ package android.content.pm { field public static final java.lang.String FEATURE_VERIFIED_BOOT = "android.software.verified_boot"; field public static final java.lang.String FEATURE_VR_MODE = "android.software.vr.mode"; field public static final java.lang.String FEATURE_VR_MODE_HIGH_PERFORMANCE = "android.hardware.vr.high_performance"; + field public static final java.lang.String FEATURE_VULKAN_HARDWARE_LEVEL = "android.hardware.vulkan.level"; + field public static final java.lang.String FEATURE_VULKAN_HARDWARE_VERSION = "android.hardware.vulkan.version"; field public static final java.lang.String FEATURE_WATCH = "android.hardware.type.watch"; field public static final java.lang.String FEATURE_WEBVIEW = "android.software.webview"; field public static final java.lang.String FEATURE_WIFI = "android.hardware.wifi"; diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java index 188e1d7d92b0d..b7f968c47079e 100644 --- a/core/java/android/content/pm/PackageManager.java +++ b/core/java/android/content/pm/PackageManager.java @@ -1571,6 +1571,48 @@ public abstract class PackageManager { @SdkConstant(SdkConstantType.FEATURE) public static final String FEATURE_OPENGLES_EXTENSION_PACK = "android.hardware.opengles.aep"; + /** + * Feature for {@link #getSystemAvailableFeatures} and + * {@link #hasSystemFeature}: If this feature is supported, the Vulkan native API will enumerate + * at least one {@code VkPhysicalDevice}, and the feature version will indicate what + * level of optional hardware features limits it supports. + *

+ * Level 0 includes the base Vulkan requirements as well as: + *

+ *

+ * Level 1 additionally includes: + *

+ */ + @SdkConstant(SdkConstantType.FEATURE) + public static final String FEATURE_VULKAN_HARDWARE_LEVEL = "android.hardware.vulkan.level"; + + /** + * Feature for {@link #getSystemAvailableFeatures} and + * {@link #hasSystemFeature}: The version of this feature indicates the highest + * {@code VkPhysicalDeviceProperties::apiVersion} supported by the physical devices that support + * the hardware level indicated by {@link #FEATURE_VULKAN_HARDWARE_LEVEL}. The feature version + * uses the same encoding as Vulkan version numbers: + * + */ + @SdkConstant(SdkConstantType.FEATURE) + public static final String FEATURE_VULKAN_HARDWARE_VERSION = "android.hardware.vulkan.version"; + /** * Feature for {@link #getSystemAvailableFeatures} and * {@link #hasSystemFeature}: The device includes an accelerometer. @@ -4059,7 +4101,7 @@ public abstract class PackageManager { * * @return A list of {@link InstrumentationInfo} objects containing one * entry for each matching instrumentation. If there are no - * instrumentation available, returns and empty list. + * instrumentation available, returns an empty list. * * @see #GET_META_DATA */