anv: add more swapchain formats
[mesa.git] / src / intel / vulkan / anv_android.c
index 6e4d5a6d2772b51f236d77939f1c97b0cb08a27d..46c41d57861f18f482757632c24e83290b317a8e 100644 (file)
@@ -180,7 +180,7 @@ anv_image_from_gralloc(VkDevice device_h,
       goto fail_create;
 
    if (bo->size < image->size) {
-      result = vk_errorf(device, device->instance,
+      result = vk_errorf(device->instance, device,
                          VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR,
                          "dma-buf from VkNativeBufferANDROID is too small for "
                          "VkImage: %"PRIu64"B < %"PRIu64"B",
@@ -189,9 +189,9 @@ anv_image_from_gralloc(VkDevice device_h,
    }
 
    assert(image->n_planes == 1);
-   assert(image->planes[0].bo_offset == 0);
+   assert(image->planes[0].address.offset == 0);
 
-   image->planes[0].bo = bo;
+   image->planes[0].address.bo = bo;
    image->planes[0].bo_is_owned = true;
 
    /* We need to set the WRITE flag on window system buffers so that GEM will
@@ -300,11 +300,17 @@ VkResult anv_GetSwapchainGrallocUsageANDROID(
     *
     * FINISHME: Advertise all display-supported formats.
     */
-   if (format == VK_FORMAT_B8G8R8A8_UNORM ||
-       format == VK_FORMAT_B5G6R5_UNORM_PACK16) {
-      *grallocUsage |= GRALLOC_USAGE_HW_FB |
-                       GRALLOC_USAGE_HW_COMPOSER |
-                       GRALLOC_USAGE_EXTERNAL_DISP;
+   switch (format) {
+      case VK_FORMAT_B8G8R8A8_UNORM:
+      case VK_FORMAT_B5G6R5_UNORM_PACK16:
+      case VK_FORMAT_R8G8B8A8_UNORM:
+      case VK_FORMAT_R8G8B8A8_SRGB:
+         *grallocUsage |= GRALLOC_USAGE_HW_FB |
+                          GRALLOC_USAGE_HW_COMPOSER |
+                          GRALLOC_USAGE_EXTERNAL_DISP;
+         break;
+      default:
+         intel_logw("%s: unsupported format=%d", __func__, format);
    }
 
    if (*grallocUsage == 0)