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

/builders/mesa-vulkan-amd-sh-9ab59574ef162393f89c36980a366eeb8ecccb64/contrib/generators.sh (26714c7f9eacb10ac3d2c6b19dd5fd6eb3335d49) (11633 bytes) (mode 100644) (type blob)

#===============================================================================
# removing the braindamaged qsort class
cp -f $src_dir/src/compiler/nir/nir.c $build_dir/src/compiler/nir/nir.c
sed -i $build_dir/src/compiler/nir/nir.c \
	-e '/u_qsort.h/ d' \
	-e 's/util_qsort_r/qsort_r/' &
cp -f $src_dir/src/util/mesa_cache_db.c $build_dir/src/util/mesa_cache_db.c
sed -i $build_dir/src/util/mesa_cache_db.c \
	-e '/u_qsort.h/ d' \
	-e 's/util_qsort_r/qsort_r/' &
#===============================================================================
# that compute radix sort implementation ... OMFG! Text book what NOT to do.
# Where is the plain and simple C coded spir-v assembler for those shaders?
# blame: Konstantin Seurer
cp -f $src_dir/src/amd/vulkan/meta/radv_meta.c $build_dir/src/amd/vulkan/meta
patch -p 1 -i $src_dir/contrib/radv_meta.c.patch
cp -f $src_dir/src/amd/vulkan/meta/radv_meta_copy.c $build_dir/src/amd/vulkan/meta
patch -p 1 -i $src_dir/contrib/radv_meta_copy.c.patch
cp -f $src_dir/src/amd/vulkan/radv_device.c $build_dir/src/amd/vulkan
patch -p 1 -i $src_dir/contrib/radv_device.c.patch
# dudes... tracers should be cleanly compilable out... smells forced corpo crap
cp -f $src_dir/contrib/radv_no_tracers.c $build_dir/src/amd/vulkan
#===============================================================================
# vulkan util
export PYTHONPATH=$mako
$python3 $src_dir/src/vulkan/util/gen_enum_to_str.py \
	--beta false \
	--xml $vulkan_api_xml \
	--outdir $build_dir/src/vulkan/util 

# our ndebug/release version
cp -f $src_dir/contrib/vk_enum_to_str.c $src_dir/contrib/vk_enum_to_str.h \
	$build_dir/src/vulkan/util 

$python3 $src_dir/src/vulkan/util/vk_dispatch_table_gen.py \
	--beta false \
	--xml $vulkan_api_xml \
	--out-c $build_dir/src/vulkan/util/vk_dispatch_table.c \
	--out-h $build_dir/src/vulkan/util/vk_dispatch_table.h &

$python3 $src_dir/src/vulkan/util/vk_extensions_gen.py \
	--xml $vulkan_api_xml \
	--out-c $build_dir/src/vulkan/util/vk_extensions.c \
	--out-h $build_dir/src/vulkan/util/vk_extensions.h &

$python3 $src_dir/src/vulkan/util/vk_struct_type_cast_gen.py \
	--beta false \
	--xml $vulkan_api_xml \
	--outdir $build_dir/src/vulkan/util &

$python3 $src_dir/src/compiler/nir/nir_builder_opcodes_h.py \
>$build_dir/src/compiler/nir/nir_builder_opcodes.h &

$python3 $src_dir/src/compiler/nir/nir_opcodes_h.py \
>$build_dir/src/compiler/nir/nir_opcodes.h &

$python3 $src_dir/src/compiler/nir/nir_intrinsics_h.py \
--outdir $build_dir/src/compiler/nir &

$python3 $src_dir/src/compiler/nir/nir_intrinsics_indices_h.py \
--outdir $build_dir/src/compiler/nir &
unset PYTHONPATH
#===============================================================================
# vulkan runtime
export PYTHONPATH=$mako
$python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
	--beta false \
	--xml $vulkan_api_xml \
	--proto --weak \
	--out-h $build_dir/src/vulkan/runtime/vk_common_entrypoints.h \
	--out-c $build_dir/src/vulkan/runtime/vk_common_entrypoints.c \
	--prefix vk_common &
$python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
	--beta false \
	--xml $vulkan_api_xml \
	--proto --weak \
	--out-h $build_dir/src/vulkan/runtime/vk_cmd_enqueue_entrypoints.h \
	--out-c $build_dir/src/vulkan/runtime/vk_cmd_enqueue_entrypoints.c \
	--prefix vk_cmd_enqueue &
$python3 $src_dir/src/vulkan/util/vk_cmd_queue_gen.py \
	--beta false \
	--xml $vulkan_api_xml \
	--out-h $build_dir/src/vulkan/runtime/vk_cmd_queue.h \
	--out-c $build_dir/src/vulkan/runtime/vk_cmd_queue.c &
$python3 $src_dir/src/vulkan/util/vk_dispatch_trampolines_gen.py \
	--beta false \
	--xml $vulkan_api_xml \
	--out-h $build_dir/src/vulkan/runtime/vk_dispatch_trampolines.h \
	--out-c $build_dir/src/vulkan/runtime/vk_dispatch_trampolines.c &
$python3 $src_dir/src/vulkan/util/vk_physical_device_features_gen.py \
	--beta false \
	--xml $vulkan_api_xml \
	--out-h $build_dir/src/vulkan/runtime/vk_physical_device_features.h \
	--out-c $build_dir/src/vulkan/runtime/vk_physical_device_features.c &
$python3 $src_dir/src/vulkan/util/vk_physical_device_properties_gen.py \
	--beta false \
	--xml $vulkan_api_xml \
	--out-h $build_dir/src/vulkan/runtime/vk_physical_device_properties.h \
	--out-c $build_dir/src/vulkan/runtime/vk_physical_device_properties.c &
$python3 $src_dir/src/vulkan/runtime/vk_format_info_gen.py \
	--xml $vulkan_api_xml \
	--out-h $build_dir/src/vulkan/runtime/vk_format_info.h \
	--out-c $build_dir/src/vulkan/runtime/vk_format_info.c &
$python3 $src_dir/src/vulkan/util/vk_synchronization_helpers_gen.py \
	--beta false \
	--xml $vulkan_api_xml \
	--out-c $build_dir/src/vulkan/runtime/vk_synchronization_helpers.c &
unset PYTHONPATH
#===============================================================================
# wsi x11 (Window System Interface)
export PYTHONPATH=$mako
$python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
	--beta false \
	--xml $vulkan_api_xml \
	--proto --weak \
	--out-h $build_dir/src/vulkan/wsi/wsi_common_entrypoints.h \
	--out-c $build_dir/src/vulkan/wsi/wsi_common_entrypoints.c \
	--prefix wsi &
unset PYTHONPATH
#===============================================================================
# amd common archive
$python3 $src_dir/src/amd/common/sid_tables.py \
	$src_dir/src/amd/common/sid.h \
	$src_dir/src/amd/registers/gfx6.json \
	$src_dir/src/amd/registers/gfx7.json \
	$src_dir/src/amd/registers/gfx8.json \
	$src_dir/src/amd/registers/gfx81.json \
	$src_dir/src/amd/registers/gfx9.json \
	$src_dir/src/amd/registers/gfx940.json \
	$src_dir/src/amd/registers/gfx10.json \
	$src_dir/src/amd/registers/gfx10-rsrc.json \
	$src_dir/src/amd/registers/gfx103.json \
	$src_dir/src/amd/registers/gfx11.json \
	$src_dir/src/amd/registers/gfx115.json \
	$src_dir/src/amd/registers/gfx11-rsrc.json \
	$src_dir/src/amd/registers/pkt3.json \
	$src_dir/src/amd/registers/registers-manually-defined.json \
	>$build_dir/src/amd/common/sid_tables.h &
$python3 $src_dir/src/amd/registers/makeregheader.py \
	$src_dir/src/amd/registers/gfx6.json \
	$src_dir/src/amd/registers/gfx7.json \
	$src_dir/src/amd/registers/gfx8.json \
	$src_dir/src/amd/registers/gfx81.json \
	$src_dir/src/amd/registers/gfx9.json \
	$src_dir/src/amd/registers/gfx940.json \
	$src_dir/src/amd/registers/gfx10.json \
	$src_dir/src/amd/registers/gfx10-rsrc.json \
	$src_dir/src/amd/registers/gfx11.json \
	$src_dir/src/amd/registers/gfx115.json \
	$src_dir/src/amd/registers/gfx11-rsrc.json \
	$src_dir/src/amd/registers/gfx103.json \
	$src_dir/src/amd/registers/pkt3.json \
	$src_dir/src/amd/registers/registers-manually-defined.json \
	--sort address \
	--guard AMDGFXREGS_H \
	>$build_dir/src/amd/common/amdgfxregs.h &
#===============================================================================
# libcompiler required by libnir
export PYTHONPATH=$mako
#------------------------------------------------------------------------------
$python3 $src_dir/src/compiler/glsl/ir_expression_operation.py enum \
	>$build_dir/src/compiler/glsl/ir_expression_operation.h &
#------------------------------------------------------------------------------
$python3 $src_dir/src/compiler/builtin_types_h.py \
$build_dir/src/compiler/builtin_types.h &
#------------------------------------------------------------------------------
$python3 $src_dir/src/compiler/builtin_types_c.py \
$build_dir/src/compiler/builtin_types.c &
#------------------------------------------------------------------------------
$python3 $src_dir/src/compiler/builtin_types_cpp_h.py \
$build_dir/src/compiler/builtin_types_cpp.h &
#------------------------------------------------------------------------------
unset PYTHONPATH
#===============================================================================
# libnir
export PYTHONPATH=$mako
$python3 $src_dir/src/compiler/spirv/spirv_info_c.py \
	$src_dir/src/compiler/spirv/spirv.core.grammar.json \
	$build_dir/src/compiler/spirv/spirv_info.c &

$python3 $src_dir/src/compiler/spirv/vtn_gather_types_c.py \
	$src_dir/src/compiler/spirv/spirv.core.grammar.json \
	$build_dir/src/compiler/spirv/vtn_gather_types.c &

$python3 $src_dir/src/compiler/spirv/vtn_generator_ids_h.py \
	$src_dir/src/compiler/spirv/spir-v.xml \
	$build_dir/src/compiler/spirv/vtn_generator_ids.h &
# nir generated files
$python3 $src_dir/src/compiler/nir/nir_constant_expressions.py \
	>$build_dir/src/compiler/nir/nir_constant_expressions.c &

$python3 $src_dir/src/compiler/nir/nir_opt_algebraic.py \
	>$build_dir/src/compiler/nir/nir_opt_algebraic.c &

$python3 $src_dir/src/compiler/nir/nir_opcodes_c.py \
>$build_dir/src/compiler/nir/nir_opcodes.c &

$python3 $src_dir/src/compiler/nir/nir_intrinsics_c.py \
--outdir $build_dir/src/compiler/nir &
unset PYTHONPATH
#===============================================================================
# libaco
export PYTHONPATH=$mako
$python3 $src_dir/src/amd/compiler/aco_opcodes_h.py \
	>$build_dir/src/amd/compiler/aco_opcodes.h &
$python3 $src_dir/src/amd/compiler/aco_opcodes_cpp.py \
	>$build_dir/src/amd/compiler/aco_opcodes.cpp &
$python3 $src_dir/src/amd/compiler/aco_builder_h.py \
	>$build_dir/src/amd/compiler/aco_builder.h &
unset PYTHONPATH
#===============================================================================
# libmesautils
export PYTHONPATH=$mako
$python3 $src_dir/src/util/format_srgb.py \
	>$build_dir/src/util/format_srgb.c

$python3 $src_dir/src/util/format/u_format_table.py \
$src_dir/src/util/format/u_format.csv \
	>$build_dir/src/util/u_format_table.c

# wow, really?
$python3 $src_dir/src/util/format/u_format_table.py \
--header \
$src_dir/src/util/format/u_format.csv \
	>$build_dir/src/util/format/u_format_pack.h

# oooof!
$python3 $src_dir/src/util/driconf_static.py \
$src_dir/src/util/00-mesa-defaults.conf \
$build_dir/src/util/driconf_static.h
unset PYTHONPATH
#$src_dir/src/util/bitset_test.cpp wtf? rotten brain?
#===============================================================================
# amd vulkan
export PYTHONPATH=$mako
#------------------------------------------------------------------------------
# specific API to work around _still maintained at the time of writing _ game
# executable... this is the beginning of the end...
$python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \
	--beta false \
	--xml $vulkan_api_xml \
	--proto --weak \
	--out-h $build_dir/src/amd/vulkan/radv_entrypoints.h \
	--out-c $build_dir/src/amd/vulkan/radv_entrypoints.c \
	--prefix radv \
	--device-prefix metro_exodus \
	--device-prefix rage2 &
#------------------------------------------------------------------------------
#$python3 $src_dir/src/amd/vulkan/radv_extensions.py \
#	--xml $vulkan_api_xml \
#	--out-c radv_extensions.c \
#	--out-h radv_extensions.h &
#------------------------------------------------------------------------------
#$python3 $src_dir/src/amd/vulkan/vk_format_table.py \
#	$src_dir/src/amd/vulkan/vk_format_layout.csv \
#	>$build_dir/vk_format_table.c &
#------------------------------------------------------------------------------
$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 \
	$src_dir/src/amd/registers/gfx11-rsrc.json \
	>$build_dir/src/amd/common/gfx10_format_table.c &
#------------------------------------------------------------------------------
git_sha1=no_git_sha1_available
if test -d $src_dir/.git; then
	git_sha1=$(git --git-dir=$src_dir/.git rev-parse HEAD)
fi
echo git_sha1=$git_sha1
echo "#define MESA_GIT_SHA1 \"$git_sha1\"" >$build_dir/src/git_sha1.h &
unset PYTHONPATH
#===============================================================================


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 - 9177d7fdca42dae24c71fa41d8c159e3fabd6f3b builders
100644 blob 1773 ef1551089a803bde37e36edc8d61bb819d06f793 conf.bootstrap.sh
100644 blob 479 8cc15efe46965ac7750fe304460f5a2b0aa4201c conf.sh
040000 tree - 7736496abef80608f40188d3f4425ef67a16375e files
100755 blob 356 8fb8be28ac72f7214b59934b9f74a682665f2d32 pkg-build
100644 blob 22800641 e9e6291054c857401f6835c728f31541dae4311e steam.tar.bz2
100644 blob 173 2047af328b22f9d146585cd9e759edbc18122250 utils.sh
040000 tree - 8e23f551092a35f82b37129dd08c35c4d313c17b x64
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