venus: complete the format conversion between AHB and Vulkan
authorYiwei Zhang <zzyiwei@chromium.org>
Mon, 24 May 2021 17:59:14 +0000 (17:59 +0000)
committerMarge Bot <eric+marge@anholt.net>
Wed, 26 May 2021 20:26:18 +0000 (20:26 +0000)
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10960>

src/virtio/vulkan/vn_android.c

index 42d21a6..58df3f8 100644 (file)
@@ -117,6 +117,18 @@ vn_android_ahb_format_from_vk_format(VkFormat format)
       return AHARDWAREBUFFER_FORMAT_R16G16B16A16_FLOAT;
    case VK_FORMAT_A2B10G10R10_UNORM_PACK32:
       return AHARDWAREBUFFER_FORMAT_R10G10B10A2_UNORM;
+   case VK_FORMAT_D16_UNORM:
+      return AHARDWAREBUFFER_FORMAT_D16_UNORM;
+   case VK_FORMAT_X8_D24_UNORM_PACK32:
+      return AHARDWAREBUFFER_FORMAT_D24_UNORM;
+   case VK_FORMAT_D24_UNORM_S8_UINT:
+      return AHARDWAREBUFFER_FORMAT_D24_UNORM_S8_UINT;
+   case VK_FORMAT_D32_SFLOAT:
+      return AHARDWAREBUFFER_FORMAT_D32_FLOAT;
+   case VK_FORMAT_D32_SFLOAT_S8_UINT:
+      return AHARDWAREBUFFER_FORMAT_D32_FLOAT_S8_UINT;
+   case VK_FORMAT_S8_UINT:
+      return AHARDWAREBUFFER_FORMAT_S8_UINT;
    case VK_FORMAT_G8_B8R8_2PLANE_420_UNORM:
       return AHARDWAREBUFFER_FORMAT_Y8Cb8Cr8_420;
    default:
@@ -139,6 +151,18 @@ vn_android_ahb_format_to_vk_format(uint32_t format)
       return VK_FORMAT_R16G16B16A16_SFLOAT;
    case AHARDWAREBUFFER_FORMAT_R10G10B10A2_UNORM:
       return VK_FORMAT_A2B10G10R10_UNORM_PACK32;
+   case AHARDWAREBUFFER_FORMAT_D16_UNORM:
+      return VK_FORMAT_D16_UNORM;
+   case AHARDWAREBUFFER_FORMAT_D24_UNORM:
+      return VK_FORMAT_X8_D24_UNORM_PACK32;
+   case AHARDWAREBUFFER_FORMAT_D24_UNORM_S8_UINT:
+      return VK_FORMAT_D24_UNORM_S8_UINT;
+   case AHARDWAREBUFFER_FORMAT_D32_FLOAT:
+      return VK_FORMAT_D32_SFLOAT;
+   case AHARDWAREBUFFER_FORMAT_D32_FLOAT_S8_UINT:
+      return VK_FORMAT_D32_SFLOAT_S8_UINT;
+   case AHARDWAREBUFFER_FORMAT_S8_UINT:
+      return VK_FORMAT_S8_UINT;
    case AHARDWAREBUFFER_FORMAT_Y8Cb8Cr8_420:
       return VK_FORMAT_G8_B8R8_2PLANE_420_UNORM;
    default: