Mesa (master): anv/android: setup gralloc1 usage from gralloc0 usage manually

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Jan 28 13:09:13 UTC 2020


Module: Mesa
Branch: master
Commit: 104744f4dfce026ebaf8c5c6c9b1eba905dd40be
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=104744f4dfce026ebaf8c5c6c9b1eba905dd40be

Author: Tapani Pälli <tapani.palli at intel.com>
Date:   Thu Jan 23 09:48:47 2020 +0200

anv/android: setup gralloc1 usage from gralloc0 usage manually

This cuts away dependency to libgrallocusage.

Signed-off-by: Tapani Pälli <tapani.palli at intel.com>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Reviewed-by: Kristian H. Kristensen <hoegsberg at google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3532>

---

 src/intel/Android.vulkan.mk    |  4 ----
 src/intel/vulkan/anv_android.c | 21 +++++++++++++++++----
 2 files changed, 17 insertions(+), 8 deletions(-)

diff --git a/src/intel/Android.vulkan.mk b/src/intel/Android.vulkan.mk
index 134f4183eec..c5280b0bf04 100644
--- a/src/intel/Android.vulkan.mk
+++ b/src/intel/Android.vulkan.mk
@@ -329,9 +329,5 @@ else
         libexpat
 endif
 
-ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 27; echo $$?), 0)
-LOCAL_STATIC_LIBRARIES += libgrallocusage
-endif
-
 include $(MESA_COMMON_MK)
 include $(BUILD_SHARED_LIBRARY)
diff --git a/src/intel/vulkan/anv_android.c b/src/intel/vulkan/anv_android.c
index 7e4047696f9..d50a0294962 100644
--- a/src/intel/vulkan/anv_android.c
+++ b/src/intel/vulkan/anv_android.c
@@ -25,7 +25,6 @@
 
 #if ANDROID_API_LEVEL >= 26
 #include <hardware/gralloc1.h>
-#include <grallocusage/GrallocUsageConversion.h>
 #endif
 
 #include <hardware/hardware.h>
@@ -634,7 +633,6 @@ setup_gralloc0_usage(VkFormat format, VkImageUsageFlags imageUsage,
    return VK_SUCCESS;
 }
 
-
 #if ANDROID_API_LEVEL >= 26
 VkResult anv_GetSwapchainGrallocUsage2ANDROID(
     VkDevice            device_h,
@@ -660,8 +658,23 @@ VkResult anv_GetSwapchainGrallocUsage2ANDROID(
    if (result != VK_SUCCESS)
       return result;
 
-   android_convertGralloc0To1Usage(grallocUsage, grallocProducerUsage,
-                                   grallocConsumerUsage);
+   /* Setup gralloc1 usage flags from gralloc0 flags. */
+
+   if (grallocUsage & GRALLOC_USAGE_HW_RENDER) {
+      *grallocProducerUsage |= GRALLOC1_PRODUCER_USAGE_GPU_RENDER_TARGET;
+      *grallocConsumerUsage |= GRALLOC1_CONSUMER_USAGE_CLIENT_TARGET;
+   }
+
+   if (grallocUsage & GRALLOC_USAGE_HW_TEXTURE) {
+      *grallocConsumerUsage |= GRALLOC1_CONSUMER_USAGE_GPU_TEXTURE;
+   }
+
+   if (grallocUsage & (GRALLOC_USAGE_HW_FB |
+                       GRALLOC_USAGE_HW_COMPOSER |
+                       GRALLOC_USAGE_EXTERNAL_DISP)) {
+      *grallocProducerUsage |= GRALLOC1_PRODUCER_USAGE_GPU_RENDER_TARGET;
+      *grallocConsumerUsage |= GRALLOC1_CONSUMER_USAGE_HWCOMPOSER;
+   }
 
    return VK_SUCCESS;
 }



More information about the mesa-commit mailing list