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

Tapani Pälli tapani.palli at intel.com
Wed Mar 1 05:03:15 UTC 2017


On 03/01/2017 06:17 AM, Jason Ekstrand wrote:
> On Tue, Feb 28, 2017 at 7:52 PM, Randy Xu <randy.xu at intel.com 
> <mailto: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.
>

This was my question as well. I proposed Randy to include functionality, 
at the moment it would be along these lines:

https://github.com/android-ia/external-mesa/commit/8b6b2fc4de933c03feba33e5b57c20262e7983cc

I don't have a strong preference where functionality exists but it seems 
like ideally the whole thing would exist in one single component. If the 
extension list cannot be modified in HAL then this becomes harder to 
achieve in HAL.

>     Test: Pass Vulkan dEQP-VK.wsi.android.swapchain.* on Android platform
>
>     Signed-off-by: Randy Xu <randy.xu at intel.com
>     <mailto:randy.xu at intel.com>>
>     ---
>     Android.common.mk <http://Android.common.mk>            | 3 +++
>      src/intel/vulkan/anv_device.c | 9 +++++++++
>      2 files changed, 12 insertions(+)
>
>     diff --git a/Android.common.mk <http://Android.common.mk>
>     b/Android.common.mk <http://Android.common.mk>
>     index 611162a..f49189b 100644
>     --- a/Android.common.mk <http://Android.common.mk>
>     +++ b/Android.common.mk <http://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
>     <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 <mailto:mesa-dev at lists.freedesktop.org>
>     https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>     <https://lists.freedesktop.org/mailman/listinfo/mesa-dev>
>
>
>
>
> _______________________________________________
> 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/20170301/193774ab/attachment.html>


More information about the mesa-dev mailing list