Module: Mesa Branch: main Commit: eed11c2778c18b8cadcd2cc99e3111799998073a URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=eed11c2778c18b8cadcd2cc99e3111799998073a
Author: Chia-I Wu <olva...@gmail.com> Date: Thu May 13 15:23:48 2021 -0700 venus: remember image wsi states Signed-off-by: Chia-I Wu <olva...@gmail.com> Reviewed-by: Yiwei Zhang <zzyi...@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10709> --- src/virtio/vulkan/vn_android.c | 1 + src/virtio/vulkan/vn_image.h | 4 ++++ src/virtio/vulkan/vn_wsi.c | 11 ++++++++++- 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/virtio/vulkan/vn_android.c b/src/virtio/vulkan/vn_android.c index 7b834df8912..bb18c4c5919 100644 --- a/src/virtio/vulkan/vn_android.c +++ b/src/virtio/vulkan/vn_android.c @@ -498,6 +498,7 @@ vn_android_image_from_anb(struct vn_device *dev, if (result != VK_SUCCESS) goto fail; + img->is_wsi = true; /* Android WSI image owns the memory */ img->private_memory = memory; *out_img = img; diff --git a/src/virtio/vulkan/vn_image.h b/src/virtio/vulkan/vn_image.h index f5560aa9acf..a8266af01ee 100644 --- a/src/virtio/vulkan/vn_image.h +++ b/src/virtio/vulkan/vn_image.h @@ -33,6 +33,10 @@ struct vn_image { VkMemoryRequirements2 memory_requirements[4]; VkMemoryDedicatedRequirements dedicated_requirements[4]; + + bool is_wsi; + VkBuffer prime_blit_buffer; + /* For VK_ANDROID_native_buffer, the WSI image owns the memory, */ VkDeviceMemory private_memory; /* For VK_ANDROID_external_memory_android_hardware_buffer, real image diff --git a/src/virtio/vulkan/vn_wsi.c b/src/virtio/vulkan/vn_wsi.c index ea62bda2797..72b274267fb 100644 --- a/src/virtio/vulkan/vn_wsi.c +++ b/src/virtio/vulkan/vn_wsi.c @@ -116,7 +116,16 @@ vn_wsi_create_image(struct vn_device *dev, vn_log(dev->instance, "forcing scanout image linear"); } - return vn_image_create(dev, create_info, alloc, out_img); + struct vn_image *img; + VkResult result = vn_image_create(dev, create_info, alloc, &img); + if (result != VK_SUCCESS) + return result; + + img->is_wsi = true; + img->prime_blit_buffer = wsi_info->prime_blit_buffer; + + *out_img = img; + return VK_SUCCESS; } /* surface commands */ _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-commit