[Mesa-dev] [PATCH] Vulkan: Add VK_ANDROID_native_buffer to device extension list

Jason Ekstrand jason at jlekstrand.net
Wed Mar 1 04:17:01 UTC 2017


On Tue, Feb 28, 2017 at 7:52 PM, Randy Xu <randy.xu at intel.com> wrote:

> The VK_ANDROID_native_buffer is implemented in Android Vulkan HAL,
> not driver, but must be claimed in device extension list. Otherwise,
> this extension will be screened off in framework and driver.
>

This seems rather odd.  Can't the Vulkan HAL just hook into
vkEnumerateDeviceExtensionProperties and add it to the list there?  It
seems a bit odd to advertise an extension but not actually provide any of
the functionality.

Test: Pass Vulkan dEQP-VK.wsi.android.swapchain.* on Android platform
>
> Signed-off-by: Randy Xu <randy.xu at intel.com>
> ---
>  Android.common.mk             | 3 +++
>  src/intel/vulkan/anv_device.c | 9 +++++++++
>  2 files changed, 12 insertions(+)
>
> diff --git a/Android.common.mk b/Android.common.mk
> index 611162a..f49189b 100644
> --- a/Android.common.mk
> +++ b/Android.common.mk
> @@ -116,6 +116,9 @@ else
>    LOCAL_CFLAGS += -DDEFAULT_DRIVER_DIR=\"/system/lib/$(MESA_DRI_MODULE_
> REL_PATH)\"
>  endif
>
> +# Enable VK_ANDROID_native_buffer
> +LOCAL_CFLAGS += -DVK_USE_PLATFORM_ANDROID_KHR
> +
>  # uncomment to keep the debug symbols
>  #LOCAL_STRIP_MODULE := false
>
> diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c
> index 0db96f2..478d753 100644
> --- a/src/intel/vulkan/anv_device.c
> +++ b/src/intel/vulkan/anv_device.c
> @@ -258,6 +258,15 @@ static const VkExtensionProperties
> device_extensions[] = {
>        .extensionName = VK_KHR_MAINTENANCE1_EXTENSION_NAME,
>        .specVersion = 1,
>     },
> +#ifdef VK_USE_PLATFORM_ANDROID_KHR
> +   {
> +      // Refer https://source.android.com/devices/graphics/implement-
> vulkan.html
> +      // "Window System Integration (WSI) extensions are exported by the
> loader
> +      //  and primarily implemented in it rather than the driver."
> +      .extensionName = "VK_ANDROID_native_buffer",
>

In the other places, we use the EXTENSION_NAME #define


> +      .specVersion = 1,
> +   },
> +#endif
>     {
>        .extensionName = VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME,
>        .specVersion = 1,
> --
> 2.7.4
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20170228/47aff8c7/attachment-0001.html>


More information about the mesa-dev mailing list