[Mesa-dev] [PATCH] android: enable VK_ANDROID_native_buffer

Jason Ekstrand jason at jlekstrand.net
Wed May 16 05:46:41 UTC 2018


On Tue, May 15, 2018 at 10:42 PM, Tapani Pälli <tapani.palli at intel.com>
wrote:

> Patch changes entrypoints generator to not skip this extension even
> though it is set as disabled in the xml. We also need compilation
> flag VK_USE_PLATFORM_ANDROID_KHR to be enabled and a small fix to
> vk_icd.h because of following compilation error:
>
> vk_icd.h:116:5: error: must use 'struct' tag to refer to type
> 'ANativeWindow'
>
> It looks like this extension got disabled in commit 69f447553c.
>
> Signed-off-by: Tapani Pälli <tapani.palli at intel.com>
> ---
>  Android.common.mk                       | 1 +
>  include/vulkan/vk_icd.h                 | 2 +-
>  src/intel/vulkan/anv_entrypoints_gen.py | 5 ++++-
>  3 files changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/Android.common.mk b/Android.common.mk
> index e8aed48c31..999e17789b 100644
> --- a/Android.common.mk
> +++ b/Android.common.mk
> @@ -73,6 +73,7 @@ LOCAL_CFLAGS += \
>         -DHAVE_ENDIAN_H \
>         -DHAVE_ZLIB \
>         -DMAJOR_IN_SYSMACROS \
> +       -DVK_USE_PLATFORM_ANDROID_KHR \
>         -fvisibility=hidden \
>         -Wno-sign-compare
>
> diff --git a/include/vulkan/vk_icd.h b/include/vulkan/vk_icd.h
> index 7b54fb5774..77709c9f8d 100644
> --- a/include/vulkan/vk_icd.h
> +++ b/include/vulkan/vk_icd.h
> @@ -113,7 +113,7 @@ typedef struct {
>
>  #ifdef VK_USE_PLATFORM_ANDROID_KHR
>  typedef struct {
> -    ANativeWindow* window;
> +    struct ANativeWindow* window;
>

Please submit a PR against the Vulkan-LoaderAndValidationLayers for this.
I belive the core issue is that we're including it from C whereas most
people are using C++.


>  } VkIcdSurfaceAndroid;
>  #endif //VK_USE_PLATFORM_ANDROID_KHR
>
> diff --git a/src/intel/vulkan/anv_entrypoints_gen.py
> b/src/intel/vulkan/anv_entrypoints_gen.py
> index d603ac1b20..53ffbe30b9 100644
> --- a/src/intel/vulkan/anv_entrypoints_gen.py
> +++ b/src/intel/vulkan/anv_entrypoints_gen.py
> @@ -495,7 +495,10 @@ def get_entrypoints(doc, entrypoints_to_defines,
> start_index):
>          if ext_name not in supported_exts:
>              continue
>
> -        if extension.attrib['supported'] != 'vulkan':
> +        # VK_ANDROID_native_buffer is set as 'disabled' but Mesa
> +        # supports it.
> +        if (extension.attrib['supported'] != 'vulkan' and
> +            ext_name != 'VK_ANDROID_native_buffer'):
>

Is this continue even needed anymore?  I honestly don't remember what it's
here for.


>              continue
>
>          ext = supported_exts[ext_name]
> --
> 2.14.3
>
> _______________________________________________
> 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/20180515/9089a46f/attachment.html>


More information about the mesa-dev mailing list