From 3fca9f71234dfd68d4b586a2bf5822377b414abe Mon Sep 17 00:00:00 2001 From: Jason Macnak Date: Wed, 7 Aug 2024 12:26:24 -0700 Subject: [PATCH] Handle DEPTH_STENCIL_ATTACHMENT_BIT in VK -> AHB usage Reviewed-by: Aaron Ruby Acked-by: Yonggang Luo Acked-by: Adam Jackson Part-of: --- .../vulkan_enc/AndroidHardwareBuffer.cpp | 27 ++++++++++++------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/src/gfxstream/guest/vulkan_enc/AndroidHardwareBuffer.cpp b/src/gfxstream/guest/vulkan_enc/AndroidHardwareBuffer.cpp index f8e4e41f1a5..1a5d93a17eb 100644 --- a/src/gfxstream/guest/vulkan_enc/AndroidHardwareBuffer.cpp +++ b/src/gfxstream/guest/vulkan_enc/AndroidHardwareBuffer.cpp @@ -43,22 +43,29 @@ uint64_t getAndroidHardwareBufferUsageFromVkUsage(const VkImageCreateFlags vk_cr const VkImageUsageFlags vk_usage) { uint64_t ahw_usage = 0; - if (vk_usage & VK_IMAGE_USAGE_SAMPLED_BIT) ahw_usage |= AHARDWAREBUFFER_USAGE_GPU_SAMPLED_IMAGE; - - if (vk_usage & VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT) + if (vk_usage & VK_IMAGE_USAGE_SAMPLED_BIT) { ahw_usage |= AHARDWAREBUFFER_USAGE_GPU_SAMPLED_IMAGE; - - if (vk_usage & VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT) + } + if (vk_usage & VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT) { + ahw_usage |= AHARDWAREBUFFER_USAGE_GPU_SAMPLED_IMAGE; + } + if (vk_usage & VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT) { ahw_usage |= AHARDWAREBUFFER_USAGE_GPU_COLOR_OUTPUT; - - if (vk_create & VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT) + } + if (vk_usage & VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT) { + ahw_usage |= AHARDWAREBUFFER_USAGE_GPU_COLOR_OUTPUT; + } + if (vk_create & VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT) { ahw_usage |= AHARDWAREBUFFER_USAGE_GPU_CUBE_MAP; - - if (vk_create & VK_IMAGE_CREATE_PROTECTED_BIT) + } + if (vk_create & VK_IMAGE_CREATE_PROTECTED_BIT) { ahw_usage |= AHARDWAREBUFFER_USAGE_PROTECTED_CONTENT; + } /* No usage bits set - set at least one GPU usage. */ - if (ahw_usage == 0) ahw_usage = AHARDWAREBUFFER_USAGE_GPU_SAMPLED_IMAGE; + if (ahw_usage == 0) { + ahw_usage = AHARDWAREBUFFER_USAGE_GPU_SAMPLED_IMAGE; + } return ahw_usage; }