radv,aco: disable opts if VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT
[mesa.git] / src / amd / Android.common.mk
index a6c0deb2d726ede2c7217add9ae5bb442fcab778..6b83f39662fe01993b4c27d292abff95b5f6c283 100644 (file)
@@ -20,6 +20,8 @@
 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
 # IN THE SOFTWARE.
 
+ifeq ($(MESA_ENABLE_LLVM),true)
+
 # ---------------------------------------
 # Build libmesa_amd_common
 # ---------------------------------------
@@ -29,7 +31,8 @@ include $(CLEAR_VARS)
 LOCAL_MODULE := libmesa_amd_common
 
 LOCAL_SRC_FILES := \
-       $(AMD_COMPILER_FILES) \
+       $(AMD_COMMON_FILES) \
+       $(AMD_COMMON_LLVM_FILES) \
        $(AMD_DEBUG_FILES)
 
 LOCAL_CFLAGS += -DFORCE_BUILD_AMDGPU   # instructs LLVM to declare LLVMInitializeAMDGPU* functions
@@ -39,31 +42,82 @@ LOCAL_MODULE_CLASS := STATIC_LIBRARIES
 intermediates := $(call local-generated-sources-dir)
 LOCAL_GENERATED_SOURCES := $(addprefix $(intermediates)/, $(AMD_GENERATED_FILES))
 
-$(LOCAL_GENERATED_SOURCES): PRIVATE_PYTHON := $(MESA_PYTHON2)
-$(LOCAL_GENERATED_SOURCES): PRIVATE_CUSTOM_TOOL = $(PRIVATE_PYTHON) $^ > $@
+SID_TABLES := $(LOCAL_PATH)/common/sid_tables.py
+
+SID_TABLES_INPUTS := \
+       $(LOCAL_PATH)/common/sid.h \
+       $(LOCAL_PATH)/registers/amdgfxregs.json \
+       $(LOCAL_PATH)/registers/pkt3.json \
+       $(LOCAL_PATH)/registers/gfx10.json \
+       $(LOCAL_PATH)/registers/gfx10-rsrc.json
+
+$(intermediates)/common/sid_tables.h: $(SID_TABLES) $(SID_TABLES_INPUTS)
+       @mkdir -p $(dir $@)
+       @echo "Gen Header: $(PRIVATE_MODULE) <= $(notdir $(@))"
+       $(hide) $(MESA_PYTHON2) $(SID_TABLES) $(SID_TABLES_INPUTS) > $@ || ($(RM) $@; false)
+
+AMDGFXREGS := $(LOCAL_PATH)/registers/makeregheader.py
+
+AMDGFXREGS_INPUTS := \
+       $(LOCAL_PATH)/registers/gfx6.json \
+       $(LOCAL_PATH)/registers/gfx7.json \
+       $(LOCAL_PATH)/registers/gfx8.json \
+       $(LOCAL_PATH)/registers/gfx81.json \
+       $(LOCAL_PATH)/registers/gfx9.json \
+       $(LOCAL_PATH)/registers/gfx10.json \
+       $(LOCAL_PATH)/registers/gfx103.json \
+       $(LOCAL_PATH)/registers/pkt3.json \
+       $(LOCAL_PATH)/registers/gfx10-rsrc.json \
+       $(LOCAL_PATH)/registers/registers-manually-defined.json
+
+$(intermediates)/common/amdgfxregs.h: $(AMDGFXREGS) $(AMDGFXREGS_INPUTS)
+       @mkdir -p $(dir $@)
+       @echo "Gen Header: $(PRIVATE_MODULE) <= $(notdir $(@))"
+       $(hide) $(MESA_PYTHON2) $(AMDGFXREGS) $(AMDGFXREGS_INPUTS) --sort address --guard AMDGFXREGS_H > $@ || ($(RM) $@; false)
+
+GEN10_FORMAT_TABLE_INPUTS := \
+       $(MESA_TOP)/src/util/format/u_format.csv \
+       $(MESA_TOP)/src/amd/registers/gfx10-rsrc.json
 
-$(intermediates)/common/sid_tables.h: $(LOCAL_PATH)/common/sid_tables.py $(MESA_TOP)/src/amd/common/sid.h
-       $(transform-generated-source)
+GEN10_FORMAT_TABLE_DEP := \
+       $(MESA_TOP)/src/amd/registers/regdb.py
+
+GEN10_FORMAT_TABLE := $(LOCAL_PATH)/common/gfx10_format_table.py
+
+$(intermediates)/common/gfx10_format_table.c: $(GEN10_FORMAT_TABLE) $(GEN10_FORMAT_TABLE_INPUTS) $(GEN10_FORMAT_TABLE_DEP)
+       @mkdir -p $(dir $@)
+       @echo "Gen Header: $(PRIVATE_MODULE) <= $(notdir $(@))"
+       $(hide) $(MESA_PYTHON2) $(GEN10_FORMAT_TABLE) $(GEN10_FORMAT_TABLE_INPUTS) > $@ || ($(RM) $@; false)
 
 LOCAL_C_INCLUDES := \
        $(MESA_TOP)/include \
        $(MESA_TOP)/src \
        $(MESA_TOP)/src/amd/common \
+       $(MESA_TOP)/src/amd/llvm \
        $(MESA_TOP)/src/compiler \
        $(call generated-sources-dir-for,STATIC_LIBRARIES,libmesa_nir,,)/nir \
        $(MESA_TOP)/src/gallium/include \
        $(MESA_TOP)/src/gallium/auxiliary \
-       $(intermediates)/common \
-       external/llvm/include \
-       external/llvm/device/include \
-       $(ELF_INCLUDES)
+       $(MESA_TOP)/src/mesa \
+       $(intermediates)/common
 
 LOCAL_EXPORT_C_INCLUDE_DIRS := \
-       $(LOCAL_PATH)/common
+       $(LOCAL_PATH)/common \
+       $(LOCAL_PATH)/llvm \
+       $(intermediates)/common
+
+LOCAL_SHARED_LIBRARIES := \
+       libdrm_amdgpu
 
 LOCAL_STATIC_LIBRARIES := \
-       libLLVMCore \
        libmesa_nir
 
+LOCAL_WHOLE_STATIC_LIBRARIES := \
+       libelf
+
+$(call mesa-build-with-llvm)
+
 include $(MESA_COMMON_MK)
 include $(BUILD_STATIC_LIBRARY)
+
+endif # MESA_ENABLE_LLVM == true