From 1cd7e93195815b5260a90228b4fca4ec9eb1e8ab Mon Sep 17 00:00:00 2001 From: Jesse Hall Date: Sun, 5 Feb 2017 19:58:15 -0800 Subject: [PATCH] Add Vulkan compute level system feature The names of specific Vulkan API features can't be documented yet, because they won't be ratified by Khronos before the documentation becomes public in a developer preview. Bug: 34745152 Test: android.graphics.cts.VulkanFeaturesTest Change-Id: I9af673bcb5b0c74bde72ab7a579573894170a55d --- api/current.txt | 1 + api/system-current.txt | 1 + api/test-current.txt | 1 + core/java/android/content/pm/PackageManager.java | 16 ++++++++++++++++ 4 files changed, 19 insertions(+) diff --git a/api/current.txt b/api/current.txt index eac0653297341..1ac778d90a720 100644 --- a/api/current.txt +++ b/api/current.txt @@ -10324,6 +10324,7 @@ 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_COMPUTE = "android.hardware.vulkan.compute"; 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"; diff --git a/api/system-current.txt b/api/system-current.txt index 3b2ad3fd44a17..75c8920ee1557 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -10812,6 +10812,7 @@ 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_COMPUTE = "android.hardware.vulkan.compute"; 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"; diff --git a/api/test-current.txt b/api/test-current.txt index bfb0d14455efc..25dc030ba1770 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -10356,6 +10356,7 @@ 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_COMPUTE = "android.hardware.vulkan.compute"; 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"; diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java index ab641c9164411..b20b5e2e9d962 100644 --- a/core/java/android/content/pm/PackageManager.java +++ b/core/java/android/content/pm/PackageManager.java @@ -1739,6 +1739,22 @@ public abstract class PackageManager { @SdkConstant(SdkConstantType.FEATURE) public static final String FEATURE_VULKAN_HARDWARE_LEVEL = "android.hardware.vulkan.level"; + /** + * Feature for {@link #getSystemAvailableFeatures} and + * {@link #hasSystemFeature(String, int)}: 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 compute features are supported beyond the Vulkan 1.0 requirements. + *

+ * Compute level 0 indicates support for: + *

+ */ + @SdkConstant(SdkConstantType.FEATURE) + public static final String FEATURE_VULKAN_HARDWARE_COMPUTE = "android.hardware.vulkan.compute"; + /** * Feature for {@link #getSystemAvailableFeatures} and * {@link #hasSystemFeature(String, int)}: The version of this feature indicates the highest