Hi, for this 3rd patch I'm in contact with John Stultz Could you please give me both some advice on how to perform Merge Request (newbie)
I have pushed an android_aco branch in my gitlab repo with account issor.oruam (same used in mesa) but I'm not able to perform Merge Request/Compare branches between source issor.oruam/mesa branch android_aco and the mesa/mesa branch master Is it mandatory that I push to a mesa/mesa branch android_aco to be able to perform MR/Compare to master? Thanks for the info/help Mauro On Sun, Sep 22, 2019 at 12:00 PM Mauro Rossi <issor.or...@gmail.com> wrote: > Android building rules are added in src/amd/Android.compiler.mk > libmesa_aco static library is built conditionally to radeonsi > as done for vulkan.radv module > > This will prevent Android build errors for non x86 systems > > filter-out compiler/aco_instruction_selection_setup.cpp source, > as already included by compiler/aco_instruction_selection.cpp > and would cause several multiple definition linker errors > > NOTE: libLLVM requires AMDGPU Disassembler to build radv with aco > > Fixes: 93c8ebf ("aco: Initial commit of independent AMD compiler") > Fixes: a70a998 ("radv/aco: Setup alternate path in RADV to support the > experimental ACO compiler") > Signed-off-by: Mauro Rossi <issor.or...@gmail.com> > --- > src/amd/Android.compiler.mk | 93 +++++++++++++++++++++++++++++++++++++ > src/amd/Android.mk | 1 + > src/amd/Makefile.sources | 32 +++++++++++++ > src/amd/vulkan/Android.mk | 4 +- > 4 files changed, 129 insertions(+), 1 deletion(-) > create mode 100644 src/amd/Android.compiler.mk > > diff --git a/src/amd/Android.compiler.mk b/src/amd/Android.compiler.mk > new file mode 100644 > index 0000000000..a62c93d9d3 > --- /dev/null > +++ b/src/amd/Android.compiler.mk > @@ -0,0 +1,93 @@ > +# Copyright © 2018 Valve Corporation > +# Copyright © 2019 Mauro Rossi issor.or...@gmail.com > + > +# Permission is hereby granted, free of charge, to any person obtaining a > +# copy of this software and associated documentation files (the > "Software"), > +# to deal in the Software without restriction, including without > limitation > +# the rights to use, copy, modify, merge, publish, distribute, sublicense, > +# and/or sell copies of the Software, and to permit persons to whom the > +# Software is furnished to do so, subject to the following conditions: > +# > +# The above copyright notice and this permission notice (including the > next > +# paragraph) shall be included in all copies or substantial portions of > the > +# Software. > +# > +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS > OR > +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, > +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL > +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR > OTHER > +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING > +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER > DEALINGS > +# IN THE SOFTWARE. > + > +LOCAL_PATH := $(call my-dir) > + > +include $(LOCAL_PATH)/Makefile.sources > + > +# --------------------------------------- > +# Build libmesa_aco > +# --------------------------------------- > + > +include $(CLEAR_VARS) > + > +LOCAL_MODULE := libmesa_aco > + > +# filter-out compiler/aco_instruction_selection_setup.cpp because > +# it's already included by compiler/aco_instruction_selection.cpp > +LOCAL_SRC_FILES := \ > + $(filter-out compiler/aco_instruction_selection_setup.cpp, > $(ACO_FILES)) > + > +LOCAL_CFLAGS += -DFORCE_BUILD_AMDGPU # instructs LLVM to declare > LLVMInitializeAMDGPU* functions > + > +LOCAL_CPPFLAGS += -Wall -std=c++14 > + > +# generate sources > +LOCAL_MODULE_CLASS := STATIC_LIBRARIES > +intermediates := $(call local-generated-sources-dir) > +LOCAL_GENERATED_SOURCES += $(addprefix $(intermediates)/, > $(ACO_GENERATED_FILES)) > + > +ACO_OPCODES_H_SCRIPT := $(MESA_TOP)/src/amd/compiler/aco_opcodes_h.py > +ACO_OPCODES_CPP_SCRIPT := $(MESA_TOP)/src/amd/compiler/aco_opcodes_cpp.py > +ACO_BUILDER_H_SCRIPT := $(MESA_TOP)/src/amd/compiler/aco_builder_h.py > + > +ACO_DEPS := $(MESA_TOP)/src/amd/compiler/aco_opcodes.py > + > +$(intermediates)/compiler/aco_opcodes.h: $(ACO_OPCODES_H_SCRIPT) > $(ACO_DEPS) > + @mkdir -p $(dir $@) > + @echo "Gen Header: $(PRIVATE_MODULE) <= $(notdir $(@))" > + $(hide) $(MESA_PYTHON2) $(ACO_OPCODES_H_SCRIPT) > $@ || ($(RM) $@; > false) > + > +$(intermediates)/compiler/aco_opcodes.cpp: $(ACO_OPCODES_CPP_SCRIPT) > $(ACO_DEPS) > + @mkdir -p $(dir $@) > + @echo "Gen Header: $(PRIVATE_MODULE) <= $(notdir $(@))" > + $(hide) $(MESA_PYTHON2) $(ACO_OPCODES_CPP_SCRIPT) > $@ || ($(RM) > $@; false) > + > +$(intermediates)/compiler/aco_builder.h: $(ACO_BUILDER_H_SCRIPT) > $(ACO_DEPS) > + @mkdir -p $(dir $@) > + @echo "Gen Header: $(PRIVATE_MODULE) <= $(notdir $(@))" > + $(hide) $(MESA_PYTHON2) $(ACO_BUILDER_H_SCRIPT) > $@ || ($(RM) $@; > false) > + > +LOCAL_C_INCLUDES := \ > + $(MESA_TOP)/src/amd \ > + $(MESA_TOP)/src/amd/common \ > + $(MESA_TOP)/src/amd/compiler \ > + $(MESA_TOP)/src/compiler/nir \ > + $(MESA_TOP)/src/mapi \ > + $(MESA_TOP)/src/mesa \ > + $(intermediates)/compiler > + > +LOCAL_EXPORT_C_INCLUDE_DIRS := \ > + $(MESA_TOP)/src/amd/compiler \ > + $(intermediates)/compiler > + > +LOCAL_SHARED_LIBRARIES := \ > + libdrm_amdgpu > + > +LOCAL_STATIC_LIBRARIES := \ > + libmesa_amd_common \ > + libmesa_nir > + > +$(call mesa-build-with-llvm) > + > +include $(MESA_COMMON_MK) > +include $(BUILD_STATIC_LIBRARY) > diff --git a/src/amd/Android.mk b/src/amd/Android.mk > index e40e7da01b..c9dbeafde1 100644 > --- a/src/amd/Android.mk > +++ b/src/amd/Android.mk > @@ -28,5 +28,6 @@ include $(LOCAL_PATH)/Makefile.sources > include $(LOCAL_PATH)/Android.addrlib.mk > include $(LOCAL_PATH)/Android.common.mk > ifneq ($(filter radeonsi,$(BOARD_GPU_DRIVERS)),) > +include $(LOCAL_PATH)/Android.compiler.mk > include $(LOCAL_PATH)/vulkan/Android.mk > endif > diff --git a/src/amd/Makefile.sources b/src/amd/Makefile.sources > index 8ebcd8803d..22f71bf175 100644 > --- a/src/amd/Makefile.sources > +++ b/src/amd/Makefile.sources > @@ -71,3 +71,35 @@ AMD_DEBUG_FILES = \ > AMD_GENERATED_FILES = \ > common/amdgfxregs.h \ > common/sid_tables.h > + > +ACO_FILES = \ > + compiler/aco_dead_code_analysis.cpp \ > + compiler/aco_dominance.cpp \ > + compiler/aco_instruction_selection.cpp \ > + compiler/aco_instruction_selection_setup.cpp \ > + compiler/aco_interface.cpp \ > + compiler/aco_interface.h \ > + compiler/aco_ir.h \ > + compiler/aco_assembler.cpp \ > + compiler/aco_insert_exec_mask.cpp \ > + compiler/aco_insert_NOPs.cpp \ > + compiler/aco_insert_waitcnt.cpp \ > + compiler/aco_reduce_assign.cpp \ > + compiler/aco_register_allocation.cpp \ > + compiler/aco_live_var_analysis.cpp \ > + compiler/aco_lower_bool_phis.cpp \ > + compiler/aco_lower_to_hw_instr.cpp \ > + compiler/aco_optimizer.cpp \ > + compiler/aco_opt_value_numbering.cpp \ > + compiler/aco_print_asm.cpp \ > + compiler/aco_print_ir.cpp \ > + compiler/aco_scheduler.cpp \ > + compiler/aco_ssa_elimination.cpp \ > + compiler/aco_spill.cpp \ > + compiler/aco_util.h \ > + compiler/aco_validate.cpp > + > +ACO_GENERATED_FILES = \ > + compiler/aco_builder.h \ > + compiler/aco_opcodes.cpp \ > + compiler/aco_opcodes.h > diff --git a/src/amd/vulkan/Android.mk b/src/amd/vulkan/Android.mk > index d0002b8aac..f01e10f900 100644 > --- a/src/amd/vulkan/Android.mk > +++ b/src/amd/vulkan/Android.mk > @@ -67,6 +67,7 @@ $(call mesa-build-with-llvm) > LOCAL_C_INCLUDES := $(RADV_COMMON_INCLUDES) > > LOCAL_STATIC_LIBRARIES := \ > + libmesa_aco \ > libmesa_amd_common \ > libmesa_nir \ > libmesa_util \ > @@ -167,7 +168,8 @@ LOCAL_WHOLE_STATIC_LIBRARIES := \ > libmesa_amdgpu_addrlib \ > libmesa_amd_common \ > libmesa_radv_common \ > - libmesa_vulkan_util > + libmesa_vulkan_util \ > + libmesa_aco > > LOCAL_SHARED_LIBRARIES += $(RADV_SHARED_LIBRARIES) libz libsync liblog > > -- > 2.20.1 > >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev