From c1e5cfb01fd04f38aa0e99772faae19253e1305f Mon Sep 17 00:00:00 2001 From: Roman Stratiienko Date: Fri, 5 Aug 2022 16:23:10 +0300 Subject: [PATCH] v3dv: Limit API version to v1.0 for Android MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Android CDD has additional requirements that must be met in order to enable 1.1+: - samplerYcbcrConversion - VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT - VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT - VK_ANDROID_external_memory_android_hardware_buffer >= v2 Requirements are checked by: android.graphics.cts.VulkanFeaturesTest#testVulkan1_1Requirements CTS Fixes: 2686c5419d67 ("v3dv: add Android support") Signed-off-by: Roman Stratiienko Reviewed-by: Alejandro PiƱeiro Part-of: (cherry picked from commit b17ea48f91d8fa09668ac61a034013f4a79dc6be) --- .pick_status.json | 2 +- src/broadcom/vulkan/v3dv_device.c | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 8a7a27fbf7e..6552e3d4471 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -247,7 +247,7 @@ "description": "v3dv: Limit API version to v1.0 for Android", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "2686c5419d67aab365c83647094a537a31a89085" }, diff --git a/src/broadcom/vulkan/v3dv_device.c b/src/broadcom/vulkan/v3dv_device.c index 50ac6fd470a..5016f178d3c 100644 --- a/src/broadcom/vulkan/v3dv_device.c +++ b/src/broadcom/vulkan/v3dv_device.c @@ -63,7 +63,12 @@ #include "wayland-drm-client-protocol.h" #endif -#define V3DV_API_VERSION VK_MAKE_VERSION(1, 2, VK_HEADER_VERSION) +#ifndef ANDROID +# define V3DV_API_VERSION VK_MAKE_VERSION(1, 2, VK_HEADER_VERSION) +#else +/* Android CDD require additional extensions for API v1.1+ */ +# define V3DV_API_VERSION VK_MAKE_VERSION(1, 0, VK_HEADER_VERSION) +#endif VKAPI_ATTR VkResult VKAPI_CALL v3dv_EnumerateInstanceVersion(uint32_t *pApiVersion)