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

Tapani Pälli tapani.palli at intel.com
Wed May 16 05:42:46 UTC 2018


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;
 } 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'):
             continue
 
         ext = supported_exts[ext_name]
-- 
2.14.3



More information about the mesa-dev mailing list