anv: expose VK_EXT_queue_family_foreign on Android
[mesa.git] / src / intel / Android.vulkan.mk
index 04c9d5b3e4e3548e437b22540ad7d57f6a7f4388..05922afdbe08c1e6bd7ffb1de84fbd8e98d8d456 100644 (file)
@@ -23,9 +23,10 @@ LOCAL_PATH := $(call my-dir)
 include $(CLEAR_VARS)
 include $(LOCAL_PATH)/Makefile.sources
 
-VK_ENTRYPOINTS_SCRIPT := $(MESA_PYTHON2) $(LOCAL_PATH)/vulkan/anv_entrypoints_gen.py
-
-VK_EXTENSIONS_SCRIPT := $(MESA_PYTHON2) $(LOCAL_PATH)/vulkan/anv_extensions_gen.py
+ANV_ENTRYPOINTS_GEN_SCRIPT := $(LOCAL_PATH)/vulkan/anv_entrypoints_gen.py
+ANV_EXTENSIONS_GEN_SCRIPT := $(LOCAL_PATH)/vulkan/anv_extensions_gen.py
+ANV_EXTENSIONS_SCRIPT := $(LOCAL_PATH)/vulkan/anv_extensions.py
+VULKAN_API_XML := $(MESA_TOP)/src/vulkan/registry/vk.xml
 
 VULKAN_COMMON_INCLUDES := \
        $(MESA_TOP)/include \
@@ -40,6 +41,18 @@ VULKAN_COMMON_INCLUDES := \
        $(MESA_TOP)/src/compiler \
        frameworks/native/vulkan/include
 
+ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 27; echo $$?), 0)
+VULKAN_COMMON_INCLUDES += \
+       frameworks/native/vulkan/include \
+       frameworks/native/libs/nativebase/include \
+       frameworks/native/libs/nativewindow/include \
+       frameworks/native/libs/arect/include
+
+VULKAN_COMMON_HEADER_LIBRARIES := \
+       libcutils_headers \
+       libhardware_headers
+endif
+
 # libmesa_anv_entrypoints with header and dummy.c
 #
 # This static library is built to pull entrypoints header
@@ -64,10 +77,13 @@ $(intermediates)/vulkan/dummy.c:
        @echo "Gen Dummy: $(PRIVATE_MODULE) <= $(notdir $(@))"
        $(hide) touch $@
 
-$(intermediates)/vulkan/anv_entrypoints.h: $(intermediates)/vulkan/dummy.c
-       $(VK_ENTRYPOINTS_SCRIPT) \
+$(intermediates)/vulkan/anv_entrypoints.h: $(intermediates)/vulkan/dummy.c \
+                                          $(ANV_ENTRYPOINTS_GEN_SCRIPT) \
+                                          $(ANV_EXTENSIONS_SCRIPT) \
+                                          $(VULKAN_API_XML)
+       $(MESA_PYTHON2) $(ANV_ENTRYPOINTS_GEN_SCRIPT) \
                --outdir $(dir $@) \
-               --xml $(MESA_TOP)/src/vulkan/registry/vk.xml
+               --xml $(VULKAN_API_XML)
 
 LOCAL_EXPORT_C_INCLUDE_DIRS := \
         $(intermediates)
@@ -106,6 +122,7 @@ LOCAL_C_INCLUDES := $(ANV_INCLUDES)
 LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_anv_entrypoints libmesa_genxml
 
 LOCAL_SHARED_LIBRARIES := $(ANV_SHARED_LIBRARIES)
+LOCAL_HEADER_LIBRARIES += $(VULKAN_COMMON_HEADER_LIBRARIES)
 
 include $(MESA_COMMON_MK)
 include $(BUILD_STATIC_LIBRARY)
@@ -126,6 +143,7 @@ LOCAL_C_INCLUDES := $(ANV_INCLUDES)
 LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_anv_entrypoints libmesa_genxml
 
 LOCAL_SHARED_LIBRARIES := $(ANV_SHARED_LIBRARIES)
+LOCAL_HEADER_LIBRARIES += $(VULKAN_COMMON_HEADER_LIBRARIES)
 
 include $(MESA_COMMON_MK)
 include $(BUILD_STATIC_LIBRARY)
@@ -146,6 +164,7 @@ LOCAL_C_INCLUDES := $(ANV_INCLUDES)
 LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_anv_entrypoints libmesa_genxml
 
 LOCAL_SHARED_LIBRARIES := $(ANV_SHARED_LIBRARIES)
+LOCAL_HEADER_LIBRARIES += $(VULKAN_COMMON_HEADER_LIBRARIES)
 
 include $(MESA_COMMON_MK)
 include $(BUILD_STATIC_LIBRARY)
@@ -166,6 +185,7 @@ LOCAL_C_INCLUDES := $(ANV_INCLUDES)
 LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_anv_entrypoints libmesa_genxml
 
 LOCAL_SHARED_LIBRARIES := $(ANV_SHARED_LIBRARIES)
+LOCAL_HEADER_LIBRARIES += $(VULKAN_COMMON_HEADER_LIBRARIES)
 
 include $(MESA_COMMON_MK)
 include $(BUILD_STATIC_LIBRARY)
@@ -186,6 +206,7 @@ LOCAL_C_INCLUDES := $(ANV_INCLUDES)
 LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_anv_entrypoints libmesa_genxml
 
 LOCAL_SHARED_LIBRARIES := $(ANV_SHARED_LIBRARIES)
+LOCAL_HEADER_LIBRARIES += $(VULKAN_COMMON_HEADER_LIBRARIES)
 
 include $(MESA_COMMON_MK)
 include $(BUILD_STATIC_LIBRARY)
@@ -206,6 +227,7 @@ LOCAL_C_INCLUDES := $(ANV_INCLUDES)
 LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_anv_entrypoints libmesa_genxml
 
 LOCAL_SHARED_LIBRARIES := $(ANV_SHARED_LIBRARIES)
+LOCAL_HEADER_LIBRARIES += $(VULKAN_COMMON_HEADER_LIBRARIES)
 
 include $(MESA_COMMON_MK)
 include $(BUILD_STATIC_LIBRARY)
@@ -241,25 +263,32 @@ LOCAL_GENERATED_SOURCES += $(intermediates)/vulkan/anv_entrypoints.c
 LOCAL_GENERATED_SOURCES += $(intermediates)/vulkan/anv_extensions.c
 LOCAL_GENERATED_SOURCES += $(intermediates)/vulkan/anv_extensions.h
 
-$(intermediates)/vulkan/anv_entrypoints.c:
+$(intermediates)/vulkan/anv_entrypoints.c: $(ANV_ENTRYPOINTS_GEN_SCRIPT) \
+                                          $(ANV_EXTENSIONS_SCRIPT) \
+                                          $(VULKAN_API_XML)
        @mkdir -p $(dir $@)
-       $(VK_ENTRYPOINTS_SCRIPT) \
-               --xml $(MESA_TOP)/src/vulkan/registry/vk.xml \
+       $(MESA_PYTHON2) $(ANV_ENTRYPOINTS_GEN_SCRIPT) \
+               --xml $(VULKAN_API_XML) \
                --outdir $(dir $@)
 
-$(intermediates)/vulkan/anv_extensions.c:
+$(intermediates)/vulkan/anv_extensions.c: $(ANV_EXTENSIONS_GEN_SCRIPT) \
+                                         $(ANV_EXTENSIONS_SCRIPT) \
+                                         $(VULKAN_API_XML)
        @mkdir -p $(dir $@)
-       $(VK_EXTENSIONS_SCRIPT) \
-               --xml $(MESA_TOP)/src/vulkan/registry/vk.xml \
+       $(MESA_PYTHON2) $(ANV_EXTENSIONS_GEN_SCRIPT) \
+               --xml $(VULKAN_API_XML) \
                --out-c $@
 
-$(intermediates)/vulkan/anv_extensions.h:
+$(intermediates)/vulkan/anv_extensions.h: $(ANV_EXTENSIONS_GEN_SCRIPT) \
+                                          $(ANV_EXTENSIONS_SCRIPT) \
+                                          $(VULKAN_API_XML)
        @mkdir -p $(dir $@)
-       $(VK_EXTENSIONS_SCRIPT) \
-               --xml $(MESA_TOP)/src/vulkan/registry/vk.xml \
+       $(MESA_PYTHON2) $(ANV_EXTENSIONS_GEN_SCRIPT) \
+               --xml $(VULKAN_API_XML) \
                --out-h $@
 
 LOCAL_SHARED_LIBRARIES := $(ANV_SHARED_LIBRARIES)
+LOCAL_HEADER_LIBRARIES += $(VULKAN_COMMON_HEADER_LIBRARIES)
 
 include $(MESA_COMMON_MK)
 include $(BUILD_STATIC_LIBRARY)
@@ -309,6 +338,16 @@ LOCAL_WHOLE_STATIC_LIBRARIES := \
        libmesa_anv_entrypoints
 
 LOCAL_SHARED_LIBRARIES := $(ANV_SHARED_LIBRARIES) libz libsync liblog
+LOCAL_HEADER_LIBRARIES += $(VULKAN_COMMON_HEADER_LIBRARIES)
+
+# If Android version >=8 MESA should static link libexpat else should dynamic link
+ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 27; echo $$?), 0)
+LOCAL_STATIC_LIBRARIES := \
+       libexpat
+else
+ LOCAL_SHARED_LIBRARIES += \
+        libexpat
+endif
 
 include $(MESA_COMMON_MK)
 include $(BUILD_SHARED_LIBRARY)