VK_ENTRYPOINTS_SCRIPT := $(MESA_PYTHON2) $(LOCAL_PATH)/vulkan/anv_entrypoints_gen.py
+VK_EXTENSIONS_SCRIPT := $(MESA_PYTHON2) $(LOCAL_PATH)/vulkan/anv_extensions.py
+
VULKAN_COMMON_INCLUDES := \
- $(MESA_TOP)/include/vulkan \
+ $(MESA_TOP)/include \
$(MESA_TOP)/src/mapi \
$(MESA_TOP)/src/gallium/auxiliary \
$(MESA_TOP)/src/gallium/include \
$(MESA_TOP)/src/mesa \
$(MESA_TOP)/src/vulkan/wsi \
+ $(MESA_TOP)/src/vulkan/util \
$(MESA_TOP)/src/intel \
- $(MESA_TOP)/src/intel/vulkan
+ $(MESA_TOP)/include/drm-uapi \
+ $(MESA_TOP)/src/intel/vulkan \
+ frameworks/native/vulkan/include
# libmesa_anv_entrypoints with header and dummy.c
#
@echo "Gen Dummy: $(PRIVATE_MODULE) <= $(notdir $(@))"
$(hide) touch $@
-$(intermediates)/vulkan/anv_entrypoints.h:
- @mkdir -p $(dir $@)
- $(hide) cat $(MESA_TOP)/src/vulkan/registry/vk.xml | $(VK_ENTRYPOINTS_SCRIPT) header > $@
+$(intermediates)/vulkan/anv_entrypoints.h: $(intermediates)/vulkan/dummy.c
+ $(VK_ENTRYPOINTS_SCRIPT) \
+ --outdir $(dir $@) \
+ --xml $(MESA_TOP)/src/vulkan/registry/vk.xml \
+ --xml $(MESA_TOP)/src/vulkan/registry/vk_android_native_buffer.xml
LOCAL_EXPORT_C_INCLUDE_DIRS := \
$(intermediates)
-LOCAL_SHARED_LIBRARIES := libdrm_intel
+LOCAL_SHARED_LIBRARIES := libdrm
include $(MESA_COMMON_MK)
include $(BUILD_STATIC_LIBRARY)
LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_anv_entrypoints libmesa_genxml
-LOCAL_SHARED_LIBRARIES := libdrm_intel
+LOCAL_SHARED_LIBRARIES := libdrm
include $(MESA_COMMON_MK)
include $(BUILD_STATIC_LIBRARY)
LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_anv_entrypoints libmesa_genxml
-LOCAL_SHARED_LIBRARIES := libdrm_intel
+LOCAL_SHARED_LIBRARIES := libdrm
include $(MESA_COMMON_MK)
include $(BUILD_STATIC_LIBRARY)
LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_anv_entrypoints libmesa_genxml
-LOCAL_SHARED_LIBRARIES := libdrm_intel
+LOCAL_SHARED_LIBRARIES := libdrm
include $(MESA_COMMON_MK)
include $(BUILD_STATIC_LIBRARY)
LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_anv_entrypoints libmesa_genxml
-LOCAL_SHARED_LIBRARIES := libdrm_intel
+LOCAL_SHARED_LIBRARIES := libdrm
+
+include $(MESA_COMMON_MK)
+include $(BUILD_STATIC_LIBRARY)
+
+#
+# libanv for gen10
+#
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := libmesa_anv_gen10
+LOCAL_MODULE_CLASS := STATIC_LIBRARIES
+
+LOCAL_SRC_FILES := $(VULKAN_GEN10_FILES)
+LOCAL_CFLAGS := -DGEN_VERSIONx10=100
+
+LOCAL_C_INCLUDES := $(ANV_INCLUDES)
+
+LOCAL_WHOLE_STATIC_LIBRARIES := libmesa_anv_entrypoints libmesa_genxml
+
+LOCAL_SHARED_LIBRARIES := libdrm
include $(MESA_COMMON_MK)
include $(BUILD_STATIC_LIBRARY)
libmesa_genxml \
libmesa_vulkan_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
$(intermediates)/vulkan/anv_entrypoints.c:
@mkdir -p $(dir $@)
- $(hide) cat $(MESA_TOP)/src/vulkan/registry/vk.xml | $(VK_ENTRYPOINTS_SCRIPT) code > $@
+ $(VK_ENTRYPOINTS_SCRIPT) \
+ --xml $(MESA_TOP)/src/vulkan/registry/vk.xml \
+ --xml $(MESA_TOP)/src/vulkan/registry/vk_android_native_buffer.xml \
+ --outdir $(dir $@)
-LOCAL_SHARED_LIBRARIES := libdrm_intel
+$(intermediates)/vulkan/anv_extensions.c:
+ @mkdir -p $(dir $@)
+ $(VK_EXTENSIONS_SCRIPT) \
+ --xml $(MESA_TOP)/src/vulkan/registry/vk.xml \
+ --xml $(MESA_TOP)/src/vulkan/registry/vk_android_native_buffer.xml \
+ --out $@
+
+LOCAL_SHARED_LIBRARIES := libdrm
include $(MESA_COMMON_MK)
include $(BUILD_STATIC_LIBRARY)
#
-# vulkan.mesa_intel
+# libvulkan_intel
#
include $(CLEAR_VARS)
-LOCAL_MODULE := vulkan.mesa_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) \
libmesa_anv_gen75 \
libmesa_anv_gen8 \
libmesa_anv_gen9 \
+ libmesa_anv_gen10 \
libmesa_intel_compiler \
libmesa_anv_entrypoints
-LOCAL_SHARED_LIBRARIES := \
- libdrm_intel
+LOCAL_SHARED_LIBRARIES := libdrm libz libsync liblog
include $(MESA_COMMON_MK)
include $(BUILD_SHARED_LIBRARY)