Module: Mesa Branch: main Commit: bf0a5ebca8dee41b441ddbdf4d11a42ca448d2c5 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bf0a5ebca8dee41b441ddbdf4d11a42ca448d2c5
Author: Yiwei Zhang <zzyi...@chromium.org> Date: Sat Aug 26 13:05:56 2023 -0700 venus: use common vk_image_usage_to_ahb_usage helper Signed-off-by: Yiwei Zhang <zzyi...@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25184> --- src/virtio/vulkan/vn_android.c | 32 ++++---------------------------- src/virtio/vulkan/vn_physical_device.c | 5 +++-- 2 files changed, 7 insertions(+), 30 deletions(-) diff --git a/src/virtio/vulkan/vn_android.c b/src/virtio/vulkan/vn_android.c index f45a7e0d858..d86d7388dd7 100644 --- a/src/virtio/vulkan/vn_android.c +++ b/src/virtio/vulkan/vn_android.c @@ -319,32 +319,6 @@ vn_android_drm_format_is_yuv(uint32_t format) } } -uint64_t -vn_android_get_ahb_usage(const VkImageUsageFlags usage, - const VkImageCreateFlags flags) -{ - uint64_t ahb_usage = 0; - if (usage & - (VK_IMAGE_USAGE_SAMPLED_BIT | VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT)) - ahb_usage |= AHARDWAREBUFFER_USAGE_GPU_SAMPLED_IMAGE; - - if (usage & (VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | - VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT)) - ahb_usage |= AHARDWAREBUFFER_USAGE_GPU_FRAMEBUFFER; - - if (flags & VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT) - ahb_usage |= AHARDWAREBUFFER_USAGE_GPU_CUBE_MAP; - - if (flags & VK_IMAGE_CREATE_PROTECTED_BIT) - ahb_usage |= AHARDWAREBUFFER_USAGE_PROTECTED_CONTENT; - - /* must include at least one GPU usage flag */ - if (ahb_usage == 0) - ahb_usage = AHARDWAREBUFFER_USAGE_GPU_SAMPLED_IMAGE; - - return ahb_usage; -} - VkResult vn_GetSwapchainGrallocUsage2ANDROID( VkDevice device, @@ -909,7 +883,8 @@ vn_android_get_drm_format_modifier_info( if (!format) return false; - usage = vn_android_get_ahb_usage(format_info->usage, format_info->flags); + usage = + vk_image_usage_to_ahb_usage(format_info->flags, format_info->usage); ahb = vn_android_ahb_allocate(16, 16, 1, format, usage); if (!ahb) return false; @@ -1090,7 +1065,8 @@ vn_android_device_allocate_ahb(struct vn_device *dev, height = image_info->extent.height; layers = image_info->arrayLayers; format = vk_image_format_to_ahb_format(image_info->format); - usage = vn_android_get_ahb_usage(image_info->usage, image_info->flags); + usage = + vk_image_usage_to_ahb_usage(image_info->flags, image_info->usage); } else { const VkPhysicalDeviceMemoryProperties *mem_props = &dev->physical_device->memory_properties; diff --git a/src/virtio/vulkan/vn_physical_device.c b/src/virtio/vulkan/vn_physical_device.c index ce32262d8af..3aada213d1e 100644 --- a/src/virtio/vulkan/vn_physical_device.c +++ b/src/virtio/vulkan/vn_physical_device.c @@ -15,6 +15,7 @@ #include "git_sha1.h" #include "util/mesa-sha1.h" #include "venus-protocol/vn_protocol_driver_device.h" +#include "vk_android.h" #include "vn_android.h" #include "vn_instance.h" @@ -2042,8 +2043,8 @@ vn_GetPhysicalDeviceImageFormatProperties2( vk_find_struct(pImageFormatProperties->pNext, ANDROID_HARDWARE_BUFFER_USAGE_ANDROID); if (ahb_usage) { - ahb_usage->androidHardwareBufferUsage = vn_android_get_ahb_usage( - pImageFormatInfo->usage, pImageFormatInfo->flags); + ahb_usage->androidHardwareBufferUsage = vk_image_usage_to_ahb_usage( + pImageFormatInfo->flags, pImageFormatInfo->usage); } /* AHBs with mipmap usage will ignore this property */