aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTapani Pälli <[email protected]>2020-01-23 09:48:47 +0200
committerTapani Pälli <[email protected]>2020-01-28 14:46:25 +0200
commit104744f4dfce026ebaf8c5c6c9b1eba905dd40be (patch)
tree7f92aec9b8e0a875046df0ed1276c73196b84e1f /src
parent03a0d39366db367b26aea29b04b032c6f1f7cd84 (diff)
anv/android: setup gralloc1 usage from gralloc0 usage manually
This cuts away dependency to libgrallocusage. Signed-off-by: Tapani Pälli <[email protected]> Acked-by: Lionel Landwerlin <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3532>
Diffstat (limited to 'src')
-rw-r--r--src/intel/Android.vulkan.mk4
-rw-r--r--src/intel/vulkan/anv_android.c21
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;
}