diff options
author | Tapani Pälli <[email protected]> | 2020-01-23 09:48:47 +0200 |
---|---|---|
committer | Tapani Pälli <[email protected]> | 2020-01-28 14:46:25 +0200 |
commit | 104744f4dfce026ebaf8c5c6c9b1eba905dd40be (patch) | |
tree | 7f92aec9b8e0a875046df0ed1276c73196b84e1f /src | |
parent | 03a0d39366db367b26aea29b04b032c6f1f7cd84 (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.mk | 4 | ||||
-rw-r--r-- | 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; } |