sylware / nyanlinux (public) (License: AFFERO GPLv3) (since 2019-09-09) (hash sha1)
scripts for a lean, from scratch, amd hardware, linux distro

/builders/mesa-gl-amd-sh-d31ca63527e3eb5bf271267c2a60a9b5af83bd89/contrib/gallium_drivers.sh (51ec67b4032048b9ea2d4543ecd93c9d7c3d5e3f) (6983 bytes) (mode 100644) (type blob)

printf "\tbuilding drivers sub-components-->\n"
mkdir -p $build_dir/src/gallium/drivers/radeonsi

export PYTHONPATH=$mako
$python3 $src_dir/src/amd/common/gfx10_format_table.py \
$src_dir/src/util/format/u_format.csv \
$src_dir/src/amd/registers/gfx10-rsrc.json \
>$build_dir/src/gallium/drivers/radeonsi/gfx10_format_table.c
unset PYTHONPATH

#-------------------------------------------------------------------------------

# do remove the radeonsi pipe loader fallback from (amdgpu/drm winsys) to
# (radeon/drm winsys)
mkdir -p $build_dir/src/gallium/drivers/radeonsi
cp -f $src_dir/src/gallium/drivers/radeonsi/si_pipe.c $build_dir/src/gallium/drivers/radeonsi/
patch -i $script_dir/si_pipe.c.patch $build_dir/src/gallium/drivers/radeonsi/si_pipe.c

# uvd block is crap, avoid any non-critical code related to it
cp -f $script_dir/si_uvd.c $build_dir/src/gallium/drivers/radeonsi/si_uvd.c

libradeonsi_files_c="\
$build_dir/src/gallium/drivers/radeonsi/gfx10_format_table.c \
$src_dir/src/gallium/drivers/radeonsi/gfx10_query.c \
$src_dir/src/gallium/drivers/radeonsi/gfx10_shader_ngg.c \
\
$src_dir/src/gallium/drivers/radeonsi/si_blit.c \
$src_dir/src/gallium/drivers/radeonsi/si_buffer.c \
$src_dir/src/gallium/drivers/radeonsi/si_clear.c \
$src_dir/src/gallium/drivers/radeonsi/si_compute.c \
$src_dir/src/gallium/drivers/radeonsi/si_compute_blit.c \
$src_dir/src/gallium/drivers/radeonsi/si_cp_dma.c \
$src_dir/src/gallium/drivers/radeonsi/si_cp_reg_shadowing.c \
$src_dir/src/gallium/drivers/radeonsi/si_debug.c \
$src_dir/src/gallium/drivers/radeonsi/si_descriptors.c \
$src_dir/src/gallium/drivers/radeonsi/si_sdma_copy_image.c \
$src_dir/src/gallium/drivers/radeonsi/si_fence.c \
$src_dir/src/gallium/drivers/radeonsi/si_get.c \
$src_dir/src/gallium/drivers/radeonsi/si_gfx_cs.c \
$src_dir/src/gallium/drivers/radeonsi/si_gpu_load.c \
$src_dir/src/gallium/drivers/radeonsi/si_nir_optim.c \
$src_dir/src/gallium/drivers/radeonsi/si_perfcounter.c \
$build_dir/src/gallium/drivers/radeonsi/si_pipe.c \
$src_dir/src/gallium/drivers/radeonsi/si_pm4.c \
$src_dir/src/gallium/drivers/radeonsi/si_query.c \
$src_dir/src/gallium/drivers/radeonsi/si_shader.c \
$src_dir/src/gallium/drivers/radeonsi/si_shaderlib_nir.c \
$src_dir/src/gallium/drivers/radeonsi/si_shader_llvm.c \
$src_dir/src/gallium/drivers/radeonsi/si_shader_llvm_vs.c \
$src_dir/src/gallium/drivers/radeonsi/si_shader_llvm_gs.c \
$src_dir/src/gallium/drivers/radeonsi/si_shader_llvm_ps.c \
$src_dir/src/gallium/drivers/radeonsi/si_shader_llvm_resources.c \
$src_dir/src/gallium/drivers/radeonsi/si_shader_llvm_tess.c \
$src_dir/src/gallium/drivers/radeonsi/si_shader_nir.c \
$src_dir/src/gallium/drivers/radeonsi/si_shaderlib_tgsi.c \
$src_dir/src/gallium/drivers/radeonsi/si_sqtt.c \
$src_dir/src/gallium/drivers/radeonsi/si_state.c \
$src_dir/src/gallium/drivers/radeonsi/si_state_binning.c \
$src_dir/src/gallium/drivers/radeonsi/si_state_msaa.c \
$src_dir/src/gallium/drivers/radeonsi/si_state_streamout.c \
$src_dir/src/gallium/drivers/radeonsi/si_state_viewport.c \
$src_dir/src/gallium/drivers/radeonsi/si_test_blit.c \
$src_dir/src/gallium/drivers/radeonsi/si_test_dma_perf.c \
$src_dir/src/gallium/drivers/radeonsi/si_texture.c \
$build_dir/src/gallium/drivers/radeonsi/si_uvd.c \
\
$src_dir/src/gallium/drivers/radeon/radeon_uvd.c \
$src_dir/src/gallium/drivers/radeon/radeon_vcn_enc_1_2.c \
$src_dir/src/gallium/drivers/radeon/radeon_vcn_enc_2_0.c \
$src_dir/src/gallium/drivers/radeon/radeon_vcn_enc.c \
$src_dir/src/gallium/drivers/radeon/radeon_vcn_dec_jpeg.c \
$src_dir/src/gallium/drivers/radeon/radeon_vcn_dec.c \
$src_dir/src/gallium/drivers/radeon/radeon_uvd_enc_1_1.c \
$src_dir/src/gallium/drivers/radeon/radeon_uvd_enc.c \
$src_dir/src/gallium/drivers/radeon/radeon_vce_40_2_2.c \
$src_dir/src/gallium/drivers/radeon/radeon_vce_50.c \
$src_dir/src/gallium/drivers/radeon/radeon_vce_52.c \
$src_dir/src/gallium/drivers/radeon/radeon_vce.c \
$src_dir/src/gallium/drivers/radeon/radeon_video.c \
"
#-------------------------------------------------------------------------------

for f in $libradeonsi_files_c
do
	libradeonsi_obj_dir=$(dirname $f)
	libradeonsi_obj_dir=$build_dir/${libradeonsi_obj_dir#*/src/}
	mkdir -p $libradeonsi_obj_dir

	libradeonsi_obj=$libradeonsi_obj_dir/$(basename $f .c).o
	libradeonsi_a="$libradeonsi_a $libradeonsi_obj"

	$cco_slib -o $libradeonsi_obj $f \
		-I$build_dir/src/gallium/drivers/radeonsi \
		-I$build_dir/src/amd \
		-I$build_dir/src/compiler/nir \
		-I$src_dir/src/util \
		-I$src_dir/src/amd/llvm \
		-I$src_dir/src/amd/common \
		-I$src_dir/src/amd \
		-I$src_dir/src/gallium/drivers/radeonsi \
		-I$src_dir/src/gallium/drivers \
		-I$src_dir/src/gallium/auxiliary \
		-I$src_dir/src/gallium/include \
		-I$src_dir/src/compiler/nir \
		-I$src_dir/src \
		-I$src_dir/include \
		$cco_slib_common_trailer &
done

# don't mind cpp here, GL is massive cr*p like c++ anyway
libradeonsi_files_cpp="\
$src_dir/src/gallium/drivers/radeonsi/si_state_shaders.cpp \
"

for f in $libradeonsi_files_cpp
do
	libradeonsi_obj_dir=$(dirname $f)
	libradeonsi_obj_dir=$build_dir/${libradeonsi_obj_dir#*/src/}
	mkdir -p $libradeonsi_obj_dir

	libradeonsi_obj=$libradeonsi_obj_dir/$(basename $f .cpp).o
	libradeonsi_a="$libradeonsi_a $libradeonsi_obj"

	$cxxo_slib -o $libradeonsi_obj $f \
		-I$build_dir/src/gallium/drivers/radeonsi \
		-I$build_dir/src/amd \
		-I$build_dir/src/compiler/nir \
		-I$src_dir/src/util \
		-I$src_dir/src/amd/llvm \
		-I$src_dir/src/amd/common \
		-I$src_dir/src/amd \
		-I$src_dir/src/gallium/drivers/radeonsi \
		-I$src_dir/src/gallium/drivers \
		-I$src_dir/src/gallium/auxiliary \
		-I$src_dir/src/gallium/include \
		-I$src_dir/src/compiler/nir \
		-I$src_dir/src \
		-I$src_dir/include \
		$cco_slib_common_trailer &
done

wait
$ar $build_dir/libradeonsi.a $libradeonsi_a

libradeonsi_gfx_files_cpp="\
$src_dir/src/gallium/drivers/radeonsi/si_state_draw.cpp \
"
for g in 6 7 8 9 10 103
do
	libradeonsi_gfx_a=
	for f in $libradeonsi_gfx_files_cpp
	do
		libradeonsi_gfx_obj_dir=$(dirname $f)
		libradeonsi_gfx_obj_dir=$build_dir/${libradeonsi_gfx_obj_dir#*/src/}
		mkdir -p $libradeonsi_gfx_obj_dir
	
		libradeonsi_gfx_obj=$libradeonsi_gfx_obj_dir/$(basename $f .c).$g.o
		libradeonsi_gfx_a="$libradeonsi_gfx_a $libradeonsi_gfx_obj"
	
		$cxxo_slib -o $libradeonsi_gfx_obj $f \
			-DGFX_VER=$g \
			-I$build_dir/src/gallium/drivers/radeonsi \
			-I$build_dir/src/amd \
			-I$build_dir/src/compiler/nir \
			-I$src_dir/src/util \
			-I$src_dir/src/amd/llvm \
			-I$src_dir/src/amd/common \
			-I$src_dir/src/amd \
			-I$src_dir/src/gallium/drivers/radeonsi \
			-I$src_dir/src/gallium/drivers \
			-I$src_dir/src/gallium/auxiliary \
			-I$src_dir/src/gallium/include \
			-I$src_dir/src \
			-I$src_dir/include \
			$cco_slib_common_trailer &
	done
	wait
	$ar $build_dir/libradeonsi_gfx$g.a $libradeonsi_gfx_a
	libradeonsi_gfx_libs="$libradeonsi_gfx_libs $build_dir/libradeonsi_gfx$g.a"
done
printf "\t<--drivers sub-components built\n"


Mode Type Size Ref File
100644 blob 5 8eba6c8dd4dcaf6166bd22285ed34625f38a84ff .gitignore
100755 blob 1587 57fa4264b9ee0ae0a6f678f2527a05d3b22dda78 00-bootstrap-build.sh
100755 blob 848 a30f443bf405d56682efe3b4c5d3a19d5f7eb45d 01-re-bootstrap-build.sh
100644 blob 2142 f19c2d6b293244bb11a3f74ee77c10675cadc7d6 INSTALL
100644 blob 30 c9b735fa1332286f4b3f5f81fa10527fd7506b6e LICENSE
040000 tree - 357061d85902d374b516bb96fedea2b8545f0f14 builders
100644 blob 1773 ef1551089a803bde37e36edc8d61bb819d06f793 conf.bootstrap.sh
100644 blob 479 8cc15efe46965ac7750fe304460f5a2b0aa4201c conf.sh
040000 tree - 7f251574f7a78832ee5b4b8b8aa6de70a9ae4c0e files
100755 blob 333 06859f922e41c1e691c72ada1be3f981ef05f602 pkg-build
100644 blob 22800641 e9e6291054c857401f6835c728f31541dae4311e steam.tar.bz2
100644 blob 173 2047af328b22f9d146585cd9e759edbc18122250 utils.sh
040000 tree - b7a22de7f5cbd97650dd45412ef7d4246e395eb8 x86
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/sylware/nyanlinux

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/sylware/nyanlinux

Clone this repository using git:
git clone git://git.rocketgit.com/user/sylware/nyanlinux

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main