X-Git-Url: https://git.libre-soc.org/?p=mesa.git;a=blobdiff_plain;f=src%2Fintel%2FAndroid.vulkan.mk;h=c5280b0bf04213b362c023b4147c31e81e23c69e;hp=17ae4b071b3a918d162250e2479e7aa5b3ecbe39;hb=HEAD;hpb=ca6237eb4f830d42d6ce982a3243f5958a5394ba diff --git a/src/intel/Android.vulkan.mk b/src/intel/Android.vulkan.mk index 17ae4b071b3..c5280b0bf04 100644 --- a/src/intel/Android.vulkan.mk +++ b/src/intel/Android.vulkan.mk @@ -23,11 +23,13 @@ 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.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 \ $(MESA_TOP)/src/mapi \ $(MESA_TOP)/src/gallium/auxiliary \ $(MESA_TOP)/src/gallium/include \ @@ -35,51 +37,31 @@ VULKAN_COMMON_INCLUDES := \ $(MESA_TOP)/src/vulkan/wsi \ $(MESA_TOP)/src/vulkan/util \ $(MESA_TOP)/src/intel \ - $(MESA_TOP)/include/drm-uapi \ - $(MESA_TOP)/src/intel/vulkan - -# libmesa_anv_entrypoints with header and dummy.c -# -# This static library is built to pull entrypoints header -# for multiple gen specific build targets below. The c file -# is generated separately for libmesa_vulkan_common to avoid -# duplicate symbols when linking the anv libraries. - -include $(CLEAR_VARS) -LOCAL_MODULE := libmesa_anv_entrypoints -LOCAL_MODULE_CLASS := STATIC_LIBRARIES - -intermediates := $(call local-generated-sources-dir) - -LOCAL_C_INCLUDES := \ - $(VULKAN_COMMON_INCLUDES) - -LOCAL_GENERATED_SOURCES += $(intermediates)/vulkan/anv_entrypoints.h -LOCAL_GENERATED_SOURCES += $(intermediates)/vulkan/dummy.c - -$(intermediates)/vulkan/dummy.c: - @mkdir -p $(dir $@) - @echo "Gen Dummy: $(PRIVATE_MODULE) <= $(notdir $(@))" - $(hide) touch $@ - -$(intermediates)/vulkan/anv_entrypoints.h: $(intermediates)/vulkan/dummy.c - $(VK_ENTRYPOINTS_SCRIPT) \ - --outdir $(dir $@) \ - --xml $(MESA_TOP)/src/vulkan/registry/vk.xml - -LOCAL_EXPORT_C_INCLUDE_DIRS := \ - $(intermediates) + $(MESA_TOP)/src/intel/vulkan \ + 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 + +ANV_STATIC_LIBRARIES := \ + libmesa_vulkan_common \ + libmesa_genxml \ + libmesa_nir -LOCAL_SHARED_LIBRARIES := libdrm +ANV_SHARED_LIBRARIES := libdrm -include $(MESA_COMMON_MK) -include $(BUILD_STATIC_LIBRARY) - -ANV_INCLUDES := \ - $(VULKAN_COMMON_INCLUDES) \ - $(call generated-sources-dir-for,STATIC_LIBRARIES,libmesa_anv_entrypoints,,)/vulkan \ - $(call generated-sources-dir-for,STATIC_LIBRARIES,libmesa_nir,,)/nir \ - $(call generated-sources-dir-for,STATIC_LIBRARIES,libmesa_vulkan_util,,)/util +ifeq ($(filter $(MESA_ANDROID_MAJOR_VERSION), 4 5 6 7),) +ANV_SHARED_LIBRARIES += libnativewindow +endif # # libanv for gen7 @@ -92,11 +74,12 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES LOCAL_SRC_FILES := $(VULKAN_GEN7_FILES) LOCAL_CFLAGS := -DGEN_VERSIONx10=70 -LOCAL_C_INCLUDES := $(ANV_INCLUDES) +LOCAL_C_INCLUDES := $(VULKAN_COMMON_INCLUDES) -LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_anv_entrypoints libmesa_genxml +LOCAL_STATIC_LIBRARIES := $(ANV_STATIC_LIBRARIES) -LOCAL_SHARED_LIBRARIES := libdrm +LOCAL_SHARED_LIBRARIES := $(ANV_SHARED_LIBRARIES) +LOCAL_HEADER_LIBRARIES += $(VULKAN_COMMON_HEADER_LIBRARIES) include $(MESA_COMMON_MK) include $(BUILD_STATIC_LIBRARY) @@ -112,11 +95,12 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES LOCAL_SRC_FILES := $(VULKAN_GEN75_FILES) LOCAL_CFLAGS := -DGEN_VERSIONx10=75 -LOCAL_C_INCLUDES := $(ANV_INCLUDES) +LOCAL_C_INCLUDES := $(VULKAN_COMMON_INCLUDES) -LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_anv_entrypoints libmesa_genxml +LOCAL_STATIC_LIBRARIES := $(ANV_STATIC_LIBRARIES) -LOCAL_SHARED_LIBRARIES := libdrm +LOCAL_SHARED_LIBRARIES := $(ANV_SHARED_LIBRARIES) +LOCAL_HEADER_LIBRARIES += $(VULKAN_COMMON_HEADER_LIBRARIES) include $(MESA_COMMON_MK) include $(BUILD_STATIC_LIBRARY) @@ -132,11 +116,12 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES LOCAL_SRC_FILES := $(VULKAN_GEN8_FILES) LOCAL_CFLAGS := -DGEN_VERSIONx10=80 -LOCAL_C_INCLUDES := $(ANV_INCLUDES) +LOCAL_C_INCLUDES := $(VULKAN_COMMON_INCLUDES) -LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_anv_entrypoints libmesa_genxml +LOCAL_STATIC_LIBRARIES := $(ANV_STATIC_LIBRARIES) -LOCAL_SHARED_LIBRARIES := libdrm +LOCAL_SHARED_LIBRARIES := $(ANV_SHARED_LIBRARIES) +LOCAL_HEADER_LIBRARIES += $(VULKAN_COMMON_HEADER_LIBRARIES) include $(MESA_COMMON_MK) include $(BUILD_STATIC_LIBRARY) @@ -152,11 +137,12 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES LOCAL_SRC_FILES := $(VULKAN_GEN9_FILES) LOCAL_CFLAGS := -DGEN_VERSIONx10=90 -LOCAL_C_INCLUDES := $(ANV_INCLUDES) +LOCAL_C_INCLUDES := $(VULKAN_COMMON_INCLUDES) -LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_anv_entrypoints libmesa_genxml +LOCAL_STATIC_LIBRARIES := $(ANV_STATIC_LIBRARIES) -LOCAL_SHARED_LIBRARIES := libdrm +LOCAL_SHARED_LIBRARIES := $(ANV_SHARED_LIBRARIES) +LOCAL_HEADER_LIBRARIES += $(VULKAN_COMMON_HEADER_LIBRARIES) include $(MESA_COMMON_MK) include $(BUILD_STATIC_LIBRARY) @@ -172,15 +158,59 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES LOCAL_SRC_FILES := $(VULKAN_GEN10_FILES) LOCAL_CFLAGS := -DGEN_VERSIONx10=100 -LOCAL_C_INCLUDES := $(ANV_INCLUDES) +LOCAL_C_INCLUDES := $(VULKAN_COMMON_INCLUDES) + +LOCAL_STATIC_LIBRARIES := $(ANV_STATIC_LIBRARIES) + +LOCAL_SHARED_LIBRARIES := $(ANV_SHARED_LIBRARIES) +LOCAL_HEADER_LIBRARIES += $(VULKAN_COMMON_HEADER_LIBRARIES) + +include $(MESA_COMMON_MK) +include $(BUILD_STATIC_LIBRARY) + +# +# libanv for gen11 +# + +include $(CLEAR_VARS) +LOCAL_MODULE := libmesa_anv_gen11 +LOCAL_MODULE_CLASS := STATIC_LIBRARIES + +LOCAL_SRC_FILES := $(VULKAN_GEN11_FILES) +LOCAL_CFLAGS := -DGEN_VERSIONx10=110 + +LOCAL_C_INCLUDES := $(VULKAN_COMMON_INCLUDES) -LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_anv_entrypoints libmesa_genxml +LOCAL_STATIC_LIBRARIES := $(ANV_STATIC_LIBRARIES) -LOCAL_SHARED_LIBRARIES := libdrm +LOCAL_SHARED_LIBRARIES := $(ANV_SHARED_LIBRARIES) +LOCAL_HEADER_LIBRARIES += $(VULKAN_COMMON_HEADER_LIBRARIES) include $(MESA_COMMON_MK) include $(BUILD_STATIC_LIBRARY) +# +# libanv for gen12 +# + +include $(CLEAR_VARS) +LOCAL_MODULE := libmesa_anv_gen12 +LOCAL_MODULE_CLASS := STATIC_LIBRARIES + +LOCAL_SRC_FILES := $(VULKAN_GEN12_FILES) +LOCAL_CFLAGS := -DGEN_VERSIONx10=120 + +LOCAL_C_INCLUDES := $(VULKAN_COMMON_INCLUDES) + +LOCAL_STATIC_LIBRARIES := $(ANV_STATIC_LIBRARIES) + +LOCAL_SHARED_LIBRARIES := $(ANV_SHARED_LIBRARIES) +LOCAL_HEADER_LIBRARIES += $(VULKAN_COMMON_HEADER_LIBRARIES) + +include $(MESA_COMMON_MK) +include $(BUILD_STATIC_LIBRARY) + + # # libmesa_vulkan_common # @@ -193,36 +223,54 @@ intermediates := $(call local-generated-sources-dir) LOCAL_SRC_FILES := $(VULKAN_FILES) +LOCAL_EXPORT_C_INCLUDE_DIRS := $(intermediates)/vulkan + LOCAL_C_INCLUDES := \ - $(ANV_INCLUDES) \ - $(MESA_TOP)/src/compiler + $(LOCAL_EXPORT_C_INCLUDE_DIRS) \ + $(VULKAN_COMMON_INCLUDES) -LOCAL_WHOLE_STATIC_LIBRARIES := \ - libmesa_anv_entrypoints \ +LOCAL_STATIC_LIBRARIES := \ + libmesa_nir \ libmesa_genxml \ - libmesa_vulkan_util + libmesa_git_sha1 \ + libmesa_vulkan_util \ + libmesa_util # The rule generates both C and H files, but due to some strange # reason generating the files once leads to link-time issues. # Work around create them here as well - we're safe from race # conditions since they are stored in another location. -LOCAL_GENERATED_SOURCES += $(intermediates)/vulkan/anv_entrypoints.c -LOCAL_GENERATED_SOURCES += $(intermediates)/vulkan/anv_extensions.c +LOCAL_GENERATED_SOURCES := $(addprefix $(intermediates)/,$(VULKAN_GENERATED_FILES)) -$(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_entrypoints.h: $(intermediates)/vulkan/anv_entrypoints.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 \ - --out $@ + $(MESA_PYTHON2) $(ANV_EXTENSIONS_GEN_SCRIPT) \ + --xml $(VULKAN_API_XML) \ + --out-c $@ -LOCAL_SHARED_LIBRARIES := libdrm +$(intermediates)/vulkan/anv_extensions.h: $(ANV_EXTENSIONS_GEN_SCRIPT) \ + $(ANV_EXTENSIONS_SCRIPT) \ + $(VULKAN_API_XML) + @mkdir -p $(dir $@) + $(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) @@ -234,19 +282,19 @@ include $(BUILD_STATIC_LIBRARY) include $(CLEAR_VARS) -LOCAL_MODULE := libvulkan_intel +LOCAL_MODULE := vulkan.$(TARGET_BOARD_PLATFORM) LOCAL_MODULE_CLASS := SHARED_LIBRARIES +LOCAL_PROPRIETARY_MODULE := true +LOCAL_MODULE_RELATIVE_PATH := hw LOCAL_LDFLAGS += -Wl,--build-id=sha1 LOCAL_SRC_FILES := \ - $(VULKAN_GEM_FILES) + $(VULKAN_GEM_FILES) \ + $(VULKAN_ANDROID_FILES) LOCAL_C_INCLUDES := \ $(VULKAN_COMMON_INCLUDES) \ - $(call generated-sources-dir-for,STATIC_LIBRARIES,libmesa_anv_entrypoints,,)/vulkan - -LOCAL_EXPORT_C_INCLUDE_DIRS := $(MESA_TOP)/src/intel/vulkan LOCAL_WHOLE_STATIC_LIBRARIES := \ libmesa_nir \ @@ -256,16 +304,30 @@ LOCAL_WHOLE_STATIC_LIBRARIES := \ libmesa_blorp \ libmesa_compiler \ libmesa_intel_common \ + libmesa_intel_dev \ + libmesa_intel_perf \ libmesa_vulkan_common \ + libmesa_vulkan_util \ libmesa_anv_gen7 \ libmesa_anv_gen75 \ libmesa_anv_gen8 \ libmesa_anv_gen9 \ libmesa_anv_gen10 \ - libmesa_intel_compiler \ - libmesa_anv_entrypoints - -LOCAL_SHARED_LIBRARIES := libdrm libz + libmesa_anv_gen11 \ + libmesa_anv_gen12 \ + libmesa_intel_compiler + +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)