diff options
author | Lionel Landwerlin <lionel.g.landwerlin@intel.com> | 2021-08-05 18:10:15 +0300 |
---|---|---|
committer | Eric Engestrom <eric@engestrom.ch> | 2021-08-09 08:29:55 +0100 |
commit | 7c0e37e1029a305e52387d175088dc903fc3155d (patch) | |
tree | 648a47d3b4501db2c34227d93a716dfbcc534b5b | |
parent | 7c1de4eb265b7e9cca5b92af5b35c69d3c1d9195 (diff) |
anv: don't try to access Android swapchains
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5180
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12217>
(cherry picked from commit bc3c71b87ae0b8e053f45c26c1179560e462db04)
-rw-r--r-- | .pick_status.json | 2 | ||||
-rw-r--r-- | src/intel/vulkan/anv_image.c | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/.pick_status.json b/.pick_status.json index ca3efdb325e..421d5bdfbc2 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -580,7 +580,7 @@ "description": "anv: don't try to access Android swapchains", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null }, diff --git a/src/intel/vulkan/anv_image.c b/src/intel/vulkan/anv_image.c index b99891a4fcd..c1f4898b5ce 100644 --- a/src/intel/vulkan/anv_image.c +++ b/src/intel/vulkan/anv_image.c @@ -1477,11 +1477,17 @@ anv_CreateImage(VkDevice device, return anv_image_from_gralloc(device, pCreateInfo, gralloc_info, pAllocator, pImage); +#ifndef VK_USE_PLATFORM_ANDROID_KHR + /* Ignore swapchain creation info on Android. Since we don't have an + * implementation in Mesa, we're guaranteed to access an Android object + * incorrectly. + */ const VkImageSwapchainCreateInfoKHR *swapchain_info = vk_find_struct_const(pCreateInfo->pNext, IMAGE_SWAPCHAIN_CREATE_INFO_KHR); if (swapchain_info && swapchain_info->swapchain != VK_NULL_HANDLE) return anv_image_from_swapchain(device, pCreateInfo, swapchain_info, pAllocator, pImage); +#endif return anv_image_create(device, &(struct anv_image_create_info) { |