From 5f12d0b10418e3116bdf3ee0152b7e30f24f36c7 Mon Sep 17 00:00:00 2001 From: Sylvain BERTRAND Date: Sat, 30 Sep 2023 14:03:41 +0000 Subject: [PATCH] Gfx stack update Main issues not fixed, but no planned obsolescence spotted. --- .../builder.sh | 3 + .../builder.sh | 3 + .../contrib/amd.sh | 189 +++ .../contrib/compiler.sh | 72 ++ .../contrib/compiler_aco.sh | 73 ++ .../contrib/compiler_glsl.sh | 196 +++ .../contrib/compiler_nir.sh | 248 ++++ .../contrib/dri2.c.patch | 24 + .../contrib/dri_util.c.patch | 73 ++ .../contrib/dri_util.h.patch | 10 + .../contrib/drm_helper.h.patch | 12 + .../contrib/egl.sh | 118 ++ .../contrib/egl_dri2.c.patch | 20 + .../contrib/external_deps.sh | 408 +++++++ .../contrib/gallium.sh | 7 + .../contrib/gallium_auxiliary.sh | 311 +++++ .../contrib/gallium_drivers.sh | 183 +++ .../contrib/gallium_frontends.sh | 72 ++ .../contrib/gallium_state_trackers.sh | 37 + .../contrib/gallium_targets.sh | 79 ++ .../contrib/gallium_winsys.sh | 40 + .../contrib/gbm.sh | 90 ++ .../contrib/gcc_binutils.sh | 72 ++ .../contrib/generators_amd.sh | 75 ++ .../contrib/generators_compiler.sh | 15 + .../contrib/generators_egl.sh | 7 + .../contrib/generators_gallium_auxiliary.sh | 31 + .../contrib/generators_gallium_frontends.sh | 16 + .../contrib/generators_glsl.sh | 69 ++ .../contrib/generators_mapi.sh | 115 ++ .../contrib/generators_mesa.sh | 48 + .../contrib/generators_nir.sh | 36 + .../contrib/generators_spirv.sh | 21 + .../contrib/generators_util.sh | 29 + .../contrib/glx.sh | 135 ++ .../contrib/loader.sh | 42 + .../contrib/mapi.sh | 83 ++ .../contrib/matypes.h.x86_64 | 157 +++ .../contrib/mesa.sh | 365 ++++++ .../contrib/pipe_loader.c.patch | 10 + .../contrib/pkgconfig/dri.pc.in | 11 + .../contrib/pkgconfig/egl.pc.in | 12 + .../contrib/pkgconfig/gbm.pc.in | 13 + .../contrib/pkgconfig/gl.pc.in | 13 + .../contrib/si_pipe.c.patch | 12 + .../contrib/si_uvd.c | 79 ++ .../contrib/util.sh | 129 ++ .../contrib/vtn_opencl.c | 16 + .../contrib/x86_64_linux_glibc_amdgpu.sh | 320 +++++ .../builder.sh | 3 + .../contrib/generators.sh | 270 ++++ .../contrib/radv_device.c.patch | 13 + .../contrib/radv_meta.c.patch | 80 ++ .../contrib/radv_no_tracers.c | 72 ++ .../contrib/vk_enum_to_str.c | 21 + .../contrib/vk_enum_to_str.h | 7 + .../contrib/vtn_opencl.c | 16 + .../x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh | 1291 ++++++++++++++++++++ .../radeon_icd.x86_64.json | 7 + .../builder.sh | 3 + 60 files changed, 5982 insertions(+) create mode 100644 builders/ffmpeg-ead1426a683523d2973add000b2391f258ab25c6/builder.sh create mode 100644 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/builder.sh create mode 100644 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/amd.sh create mode 100644 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/compiler.sh create mode 100644 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/compiler_aco.sh create mode 100644 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/compiler_glsl.sh create mode 100644 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/compiler_nir.sh create mode 100644 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/dri2.c.patch create mode 100644 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/dri_util.c.patch create mode 100644 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/dri_util.h.patch create mode 100644 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/drm_helper.h.patch create mode 100644 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/egl.sh create mode 100644 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/egl_dri2.c.patch create mode 100644 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/external_deps.sh create mode 100644 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/gallium.sh create mode 100644 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/gallium_auxiliary.sh create mode 100644 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/gallium_drivers.sh create mode 100644 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/gallium_frontends.sh create mode 100644 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/gallium_state_trackers.sh create mode 100644 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/gallium_targets.sh create mode 100644 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/gallium_winsys.sh create mode 100644 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/gbm.sh create mode 100644 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/gcc_binutils.sh create mode 100644 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators_amd.sh create mode 100644 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators_compiler.sh create mode 100644 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators_egl.sh create mode 100644 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators_gallium_auxiliary.sh create mode 100644 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators_gallium_frontends.sh create mode 100644 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators_glsl.sh create mode 100644 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators_mapi.sh create mode 100644 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators_mesa.sh create mode 100644 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators_nir.sh create mode 100644 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators_spirv.sh create mode 100644 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators_util.sh create mode 100644 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/glx.sh create mode 100644 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/loader.sh create mode 100644 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/mapi.sh create mode 100644 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/matypes.h.x86_64 create mode 100644 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/mesa.sh create mode 100644 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/pipe_loader.c.patch create mode 100644 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/pkgconfig/dri.pc.in create mode 100644 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/pkgconfig/egl.pc.in create mode 100644 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/pkgconfig/gbm.pc.in create mode 100644 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/pkgconfig/gl.pc.in create mode 100644 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/si_pipe.c.patch create mode 100644 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/si_uvd.c create mode 100644 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/util.sh create mode 100644 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/vtn_opencl.c create mode 100755 builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/x86_64_linux_glibc_amdgpu.sh create mode 100644 builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/builder.sh create mode 100644 builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators.sh create mode 100644 builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/radv_device.c.patch create mode 100644 builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/radv_meta.c.patch create mode 100644 builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/radv_no_tracers.c create mode 100644 builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/vk_enum_to_str.c create mode 100644 builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/vk_enum_to_str.h create mode 100644 builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/vtn_opencl.c create mode 100755 builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh create mode 100644 builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/radeon_icd.x86_64.json create mode 100644 builders/xf86-video-amdgpu-31a092ae71371fb473a3a51f70fe58e1f42e283b/builder.sh diff --git a/builders/ffmpeg-ead1426a683523d2973add000b2391f258ab25c6/builder.sh b/builders/ffmpeg-ead1426a683523d2973add000b2391f258ab25c6/builder.sh new file mode 100644 index 0000000..8193399 --- /dev/null +++ b/builders/ffmpeg-ead1426a683523d2973add000b2391f258ab25c6/builder.sh @@ -0,0 +1,3 @@ +git_commit=${pkg_name##*-} +slot=$git_commit +. $nyan_root/builders/ffmpeg/builder.sh diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/builder.sh b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/builder.sh new file mode 100644 index 0000000..7579ddf --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/builder.sh @@ -0,0 +1,3 @@ +git_commit=${pkg_name##*-} +slot=$git_commit +. $nyan_root/builders/mesa-gl/builder.sh diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/amd.sh b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/amd.sh new file mode 100644 index 0000000..30bcf78 --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/amd.sh @@ -0,0 +1,189 @@ +echo "building AMD GPU related common component-->" + +#=============================================================================== +# amd/addrlib + +libaddrlib_cxx_files="\ +$src_dir/src/amd/addrlib/src/addrinterface.cpp \ +$src_dir/src/amd/addrlib/src/core/addrelemlib.cpp \ +$src_dir/src/amd/addrlib/src/core/addrlib.cpp \ +$src_dir/src/amd/addrlib/src/core/addrlib1.cpp \ +$src_dir/src/amd/addrlib/src/core/addrlib2.cpp \ +$src_dir/src/amd/addrlib/src/core/addrobject.cpp \ +$src_dir/src/amd/addrlib/src/core/coord.cpp \ +$src_dir/src/amd/addrlib/src/gfx11/gfx11addrlib.cpp \ +$src_dir/src/amd/addrlib/src/gfx10/gfx10addrlib.cpp \ +$src_dir/src/amd/addrlib/src/gfx9/gfx9addrlib.cpp \ +$src_dir/src/amd/addrlib/src/r800/ciaddrlib.cpp \ +$src_dir/src/amd/addrlib/src/r800/egbaddrlib.cpp \ +$src_dir/src/amd/addrlib/src/r800/siaddrlib.cpp \ +" + +#------------------------------------------------------------------------------ + +for f in $libaddrlib_cxx_files +do + libaddrlib_cxx_obj_dir=$(dirname $f) + libaddrlib_cxx_obj_dir=$build_dir/${libaddrlib_cxx_obj_dir#*/src/} + mkdir -p $libaddrlib_cxx_obj_dir + + libaddrlib_cxx_obj=$libaddrlib_cxx_obj_dir/$(basename $f .c).o + libaddrlib_a="$libaddrlib_a $libaddrlib_cxx_obj" + + $cxxo_slib -o $libaddrlib_cxx_obj $f \ + -DLITTLEENDIAN_CPU \ + -I$src_dir/src/amd/addrlib/src/chip/r800 \ + -I$src_dir/src/amd/addrlib/src/chip/gfx9 \ + -I$src_dir/src/amd/addrlib/src/chip/gfx10 \ + -I$src_dir/src/amd/addrlib/src/chip/gfx11 \ + -I$src_dir/src/amd/addrlib/src/core \ + -I$src_dir/src/amd/addrlib/src \ + -I$src_dir/src/amd/addrlib/inc \ + -I$src_dir/src \ + -I$src_dir/include \ + \ + $cxxo_slib_common_trailer & +done + +wait + +$ar $build_dir/libaddrlib.a $libaddrlib_a + +#=============================================================================== +# amd/common + +mkdir -p $build_dir/src/amd + +libamd_common_c_files="\ +$src_dir/src/amd/common/amd_family.c \ +$src_dir/src/amd/common/ac_binary.c \ +$src_dir/src/amd/common/ac_debug.c \ +$src_dir/src/amd/common/ac_nir.c \ +$src_dir/src/amd/common/ac_nir_cull.c \ +$src_dir/src/amd/common/ac_nir_lower_esgs_io_to_mem.c \ +$src_dir/src/amd/common/ac_nir_lower_global_access.c \ +$src_dir/src/amd/common/ac_nir_lower_image_opcodes_cdna.c \ +$src_dir/src/amd/common/ac_nir_lower_ngg.c \ +$src_dir/src/amd/common/ac_nir_lower_ps.c \ +$src_dir/src/amd/common/ac_nir_lower_resinfo.c \ +$src_dir/src/amd/common/ac_nir_lower_subdword_loads.c \ +$src_dir/src/amd/common/ac_nir_lower_taskmesh_io_to_mem.c \ +$src_dir/src/amd/common/ac_nir_lower_tess_io_to_mem.c \ +$src_dir/src/amd/common/ac_nir_lower_tex.c \ +$src_dir/src/amd/common/ac_nir_opt_outputs.c \ +$src_dir/src/amd/common/ac_parse_ib.c \ +$src_dir/src/amd/common/ac_perfcounter.c \ +$src_dir/src/amd/common/ac_shader_util.c \ +$src_dir/src/amd/common/ac_shader_args.c \ +$src_dir/src/amd/common/ac_shadowed_regs.c \ +$src_dir/src/amd/common/ac_gpu_info.c \ +$src_dir/src/amd/common/ac_surface.c \ +$src_dir/src/amd/common/ac_surface_meta_address_test.c \ +$src_dir/src/amd/common/ac_msgpack.c \ +$src_dir/src/amd/common/ac_rtld.c \ +$src_dir/src/amd/common/ac_rgp.c \ +$src_dir/src/amd/common/ac_rgp_elf_object_pack.c \ +$src_dir/src/amd/common/ac_spm.c \ +$src_dir/src/amd/common/ac_sqtt.c \ +$src_dir/src/amd/common/ac_surface_modifier_test.c \ +" + +#------------------------------------------------------------------------------- + +for f in $libamd_common_c_files +do + libamd_common_c_obj_dir=$(dirname $f) + libamd_common_c_obj_dir=$build_dir/${libamd_common_c_obj_dir#*/src/} + mkdir -p $libamd_common_c_obj_dir + + libamd_common_c_obj=$libamd_common_c_obj_dir/$(basename $f .c).o + libamd_common_a="$libamd_common_a $libamd_common_c_obj" + + $cco_slib -o $libamd_common_c_obj $f \ + -I$src_dir/src/gallium/auxiliary \ + -I$src_dir/src/gallium/include \ + -I$src_dir/src/util \ + -I$src_dir/src/mesa \ + -I$src_dir/src/amd/llvm \ + -I$build_dir/src/amd/common \ + -I$src_dir/src/amd/common \ + -I$build_dir/src/amd \ + -I$src_dir/src/amd \ + -I$build_dir/src/compiler/nir \ + -I$src_dir/src/compiler/nir \ + -I$build_dir/src/compiler \ + -I$src_dir/src/compiler \ + -I$src_dir/src \ + -I$src_dir/include \ + \ + $cco_slib_common_trailer & +done + +wait + +$ar $build_dir/libamd_common.a $libamd_common_a + +#=============================================================================== +# amd/llvm + +libamd_llvm_c_files="\ +$src_dir/src/amd/llvm/ac_llvm_build.c \ +$src_dir/src/amd/llvm/ac_llvm_util.c \ +$src_dir/src/amd/llvm/ac_nir_to_llvm.c \ +" + +#------------------------------------------------------------------------------- + +for f in $libamd_llvm_c_files +do + libamd_llvm_c_obj_dir=$(dirname $f) + libamd_llvm_c_obj_dir=$build_dir/${libamd_llvm_c_obj_dir#*/src/} + mkdir -p $libamd_llvm_c_obj_dir + + libamd_llvm_c_obj=$libamd_llvm_c_obj_dir/$(basename $f .c).o + libamd_llvm_a="$libamd_llvm_a $libamd_llvm_c_obj" + + $cco_slib -o $libamd_llvm_c_obj $f \ + -I$src_dir/src/gallium/auxiliary \ + -I$src_dir/src/gallium/include \ + -I$src_dir/src/amd/llvm \ + -I$build_dir/src/amd/common \ + -I$src_dir/src/amd/common \ + -I$build_dir/src/amd \ + -I$src_dir/src/amd \ + -I$build_dir/src/compiler/nir \ + -I$src_dir/src/compiler/nir \ + -I$build_dir/src/compiler \ + -I$src_dir/src/compiler \ + -I$src_dir/src \ + -I$src_dir/include \ + \ + $cco_slib_common_trailer & +done + +#------------------------------------------------------------------------------- + +$cxxo_slib -o $build_dir/amd/llvm/ac_llvm_helper.o $src_dir/src/amd/llvm/ac_llvm_helper.cpp \ + -I$build_dir/src/compiler/nir \ + -I$src_dir/src/compiler/nir \ + -I$build_dir/src/compiler \ + -I$src_dir/src/compiler \ + -I$src_dir/src/amd/llvm \ + -I$build_dir/src/amd/common \ + -I$src_dir/src/amd/common \ + -I$src_dir/src/amd \ + -I$src_dir/src/gallium/include \ + -I$src_dir/src/mesa \ + -I$src_dir/src \ + -I$src_dir/util \ + -I$src_dir/include \ +\ + $cxxo_slib_common_trailer & + +libamd_llvm_a="$libamd_llvm_a $build_dir/amd/llvm/ac_llvm_helper.o" + +wait + +$ar $build_dir/libamd_llvm.a $libamd_llvm_a + +echo "<--AMD GPU related common components built" diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/compiler.sh b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/compiler.sh new file mode 100644 index 0000000..57f237c --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/compiler.sh @@ -0,0 +1,72 @@ +echo "building gpu compiler components-->" +mkdir -p $build_dir/src/compiler/glsl + +#=============================================================================== + +libcompiler_c_files="\ +$src_dir/src/compiler/shader_enums.c \ +$build_dir/src/compiler/builtin_types.c \ +" + +libcompiler_cxx_files="\ +$src_dir/src/compiler/glsl_types.cpp \ +$src_dir/src/compiler/nir_types.cpp \ +" +#------------------------------------------------------------------------------ + +for f in $libcompiler_c_files +do + libcompiler_c_obj_dir=$(dirname $f) + libcompiler_c_obj_dir=$build_dir/${libcompiler_c_obj_dir#*/src/} + mkdir -p $libcompiler_c_obj_dir + + libcompiler_c_obj="$libcompiler_c_obj_dir/$(basename $f .c).o" + libcompiler_a="$libcompiler_a $libcompiler_c_obj" + + $cco_slib -o $libcompiler_c_obj $f \ + -I$build_dir/src/compiler/glsl \ + -I$src_dir/src/compiler/glsl \ + -I$build_dir/src/compiler \ + -I$src_dir/src/compiler \ + -I$src_dir/src/gallium/include \ + -I$src_dir/src/mesa \ + -I$src_dir/src \ + -I$src_dir/include \ + \ + $cco_slib_common_trailer & +done + +#------------------------------------------------------------------------------ + +for f in $libcompiler_cxx_files +do + libcompiler_cxx_obj_dir=$(dirname $f) + libcompiler_cxx_obj_dir=$build_dir/${libcompiler_cxx_obj_dir#*/src/} + mkdir -p $libcompiler_cxx_obj_dir + + libcompiler_cxx_obj="$libcompiler_cxx_obj_dir/$(basename $f .c).o" + libcompiler_a="$libcompiler_a $libcompiler_cxx_obj" + + $cxxo_slib -o $libcompiler_cxx_obj $f \ + -I$build_dir/src/compiler/glsl \ + -I$src_dir/src/compiler/glsl \ + -I$build_dir/src/compiler \ + -I$src_dir/src/compiler \ + -I$src_dir/src/gallium/include \ + -I$src_dir/src/mesa \ + -I$src_dir/src \ + -I$src_dir/include \ + \ + $cxxo_slib_common_trailer & +done + +wait + +$ar $build_dir/libcompiler.a $libcompiler_a + +#=============================================================================== + +. $script_dir/compiler_aco.sh +. $script_dir/compiler_nir.sh +. $script_dir/compiler_glsl.sh +echo "<--gpu compiler components built" diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/compiler_aco.sh b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/compiler_aco.sh new file mode 100644 index 0000000..a744115 --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/compiler_aco.sh @@ -0,0 +1,73 @@ +printf "\tbuilding aco compiler sub-components-->\n" +mkdir -p $build_dir/src/amd/compiler + +#=============================================================================== + +libaco_files="\ +$src_dir/src/amd/compiler/aco_form_hard_clauses.cpp \ +$src_dir/src/amd/compiler/aco_dead_code_analysis.cpp \ +$src_dir/src/amd/compiler/aco_dominance.cpp \ +$src_dir/src/amd/compiler/aco_instruction_selection.cpp \ +$src_dir/src/amd/compiler/aco_instruction_selection_setup.cpp \ +$src_dir/src/amd/compiler/aco_interface.cpp \ +$src_dir/src/amd/compiler/aco_assembler.cpp \ +$src_dir/src/amd/compiler/aco_insert_exec_mask.cpp \ +$src_dir/src/amd/compiler/aco_insert_NOPs.cpp \ +$src_dir/src/amd/compiler/aco_insert_waitcnt.cpp \ +$src_dir/src/amd/compiler/aco_ir.cpp \ +$src_dir/src/amd/compiler/aco_reduce_assign.cpp \ +$src_dir/src/amd/compiler/aco_reindex_ssa.cpp \ +$src_dir/src/amd/compiler/aco_register_allocation.cpp \ +$src_dir/src/amd/compiler/aco_live_var_analysis.cpp \ +$src_dir/src/amd/compiler/aco_lower_phis.cpp \ +$src_dir/src/amd/compiler/aco_lower_to_cssa.cpp \ +$src_dir/src/amd/compiler/aco_lower_to_hw_instr.cpp \ +$build_dir/src/amd/compiler/aco_opcodes.cpp \ +$src_dir/src/amd/compiler/aco_optimizer.cpp \ +$src_dir/src/amd/compiler/aco_optimizer_postRA.cpp \ +$src_dir/src/amd/compiler/aco_opt_value_numbering.cpp \ +$src_dir/src/amd/compiler/aco_print_asm.cpp \ +$src_dir/src/amd/compiler/aco_print_ir.cpp \ +$src_dir/src/amd/compiler/aco_scheduler.cpp \ +$src_dir/src/amd/compiler/aco_ssa_elimination.cpp \ +$src_dir/src/amd/compiler/aco_spill.cpp \ +$src_dir/src/amd/compiler/aco_statistics.cpp \ +$src_dir/src/amd/compiler/aco_validate.cpp \ +" +for f in $libaco_files +do + libaco_obj=$build_dir/src/amd/compiler/$(basename $f .c).o + libaco_a="$libaco_a $libaco_obj" + + $cxxo_slib $f -o $libaco_obj \ + -I$build_dir/src/amd/compiler \ + -I$src_dir/src/amd/compiler \ + -I$src_dir/src/amd/vulkan \ + -I$build_dir/src/amd/common \ + -I$src_dir/src/amd/common \ + -I$build_dir/src/amd \ + -I$src_dir/src/amd \ + -I$build_dir/src/compiler/nir \ + -I$src_dir/src/compiler/nir \ + -I$build_dir/src/compiler \ + -I$src_dir/src/compiler \ + -I$src_dir/src/mesa \ + -I$src_dir/src/gallium/include \ + -I$src_dir/src \ + -I$src_dir/include \ + $mesa_cppflags \ + \ + $external_deps_cppflags \ + \ + $glibc_cppflags \ + $glibc_linux_cppflags \ + $linux_cppflags \ + $gcc_cppflags \ + \ + $cflags_opt & +done + +wait + +$ar $build_dir/libaco.a $libaco_a +printf "\t<--aco compiler sub-components built\n" diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/compiler_glsl.sh b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/compiler_glsl.sh new file mode 100644 index 0000000..2a30eba --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/compiler_glsl.sh @@ -0,0 +1,196 @@ +printf "\tbuilding glsl compiler sub-components-->\n" +mkdir -p $build_dir/src/compiler/glsl/glcpp + +#=============================================================================== + +libglcpp_files="\ +$src_dir/src/compiler/glsl/glcpp/pp.c \ +$src_dir/src/compiler/glsl/glcpp/pp_standalone_scaffolding.c \ +$build_dir/src/compiler/glsl/glcpp/glcpp-lex.c \ +$build_dir/src/compiler/glsl/glcpp/glcpp-parse.c \ +" + +for f in $libglcpp_files +do + libglcpp_obj_dir=$(dirname $f) + libglcpp_obj_dir=$build_dir/${libglcpp_obj_dir#*/src/} + mkdir -p $libglcpp_obj_dir + + libglcpp_obj="$libglcpp_obj_dir/$(basename $f .c).o" + libglcpp_a="$libglcpp_a $libglcpp_obj" + + $cco_slib -o $libglcpp_obj $f \ + -I$build_dir/src/compiler/glsl/glcpp \ + -I$src_dir/src/compiler/glsl/glcpp \ + -I$build_dir/src/compiler/glsl \ + -I$src_dir/src/compiler/glsl \ + -I$build_dir/src/compiler/nir \ + -I$src_dir/src/compiler/nir \ + -I$build_dir/src/compiler \ + -I$src_dir/src/compiler \ + -I$src_dir/src/gallium/include \ + -I$src_dir/src/mapi \ + -I$src_dir/src/main \ + -I$src_dir/src/mesa \ + -I$src_dir/src \ + -I$src_dir/include \ + \ + $cco_slib_common_trailer & +done + +wait + +$ar $build_dir/libglcpp.a $libglcpp_a + +#=============================================================================== + +libglsl_c_files="\ +$src_dir/src/compiler/glsl/gl_nir_lower_atomics.c \ +$src_dir/src/compiler/glsl/gl_nir_lower_blend_equation_advanced.c \ +$src_dir/src/compiler/glsl/gl_nir_lower_images.c \ +$src_dir/src/compiler/glsl/gl_nir_lower_buffers.c \ +$src_dir/src/compiler/glsl/gl_nir_lower_samplers.c \ +$src_dir/src/compiler/glsl/gl_nir_lower_samplers_as_deref.c \ +$src_dir/src/compiler/glsl/gl_nir_link_atomics.c \ +$src_dir/src/compiler/glsl/gl_nir_link_uniform_initializers.c \ +$src_dir/src/compiler/glsl/gl_nir_link_uniform_blocks.c \ +$src_dir/src/compiler/glsl/gl_nir_link_uniforms.c \ +$src_dir/src/compiler/glsl/gl_nir_link_varyings.c \ +$src_dir/src/compiler/glsl/gl_nir_link_xfb.c \ +$src_dir/src/compiler/glsl/gl_nir_linker.c \ +$src_dir/src/compiler/glsl/gl_nir_lower_packed_varyings.c \ +$src_dir/src/compiler/glsl/gl_nir_lower_xfb_varying.c \ +$src_dir/src/compiler/glsl/gl_nir_opt_dead_builtin_varyings.c \ +" + +# c++ toolchain is Hell (slow/kludgy/insane/etc) +libglsl_cxx_files="\ +$build_dir/src/compiler/glsl/glsl_parser.cpp \ +$build_dir/src/compiler/glsl/glsl_lexer.cpp \ +$src_dir/src/compiler/glsl/ast_array_index.cpp \ +$src_dir/src/compiler/glsl/ast_expr.cpp \ +$src_dir/src/compiler/glsl/ast_function.cpp \ +$src_dir/src/compiler/glsl/ast_to_hir.cpp \ +$src_dir/src/compiler/glsl/ast_type.cpp \ +$src_dir/src/compiler/glsl/builtin_functions.cpp \ +$src_dir/src/compiler/glsl/builtin_types.cpp \ +$src_dir/src/compiler/glsl/builtin_variables.cpp \ +$src_dir/src/compiler/glsl/generate_ir.cpp \ +$src_dir/src/compiler/glsl/glsl_parser_extras.cpp \ +$src_dir/src/compiler/glsl/glsl_symbol_table.cpp \ +$src_dir/src/compiler/glsl/glsl_to_nir.cpp \ +$src_dir/src/compiler/glsl/hir_field_selection.cpp \ +$src_dir/src/compiler/glsl/ir_array_refcount.cpp \ +$src_dir/src/compiler/glsl/ir_basic_block.cpp \ +$src_dir/src/compiler/glsl/ir_builder.cpp \ +$src_dir/src/compiler/glsl/ir_clone.cpp \ +$src_dir/src/compiler/glsl/ir_constant_expression.cpp \ +$src_dir/src/compiler/glsl/ir.cpp \ +$src_dir/src/compiler/glsl/ir_equals.cpp \ +$src_dir/src/compiler/glsl/ir_expression_flattening.cpp \ +$src_dir/src/compiler/glsl/ir_function_can_inline.cpp \ +$src_dir/src/compiler/glsl/ir_function_detect_recursion.cpp \ +$src_dir/src/compiler/glsl/ir_function.cpp \ +$src_dir/src/compiler/glsl/ir_hierarchical_visitor.cpp \ +$src_dir/src/compiler/glsl/ir_hv_accept.cpp \ +$src_dir/src/compiler/glsl/ir_print_visitor.cpp \ +$src_dir/src/compiler/glsl/ir_reader.cpp \ +$src_dir/src/compiler/glsl/ir_rvalue_visitor.cpp \ +$src_dir/src/compiler/glsl/ir_validate.cpp \ +$src_dir/src/compiler/glsl/ir_variable_refcount.cpp \ +$src_dir/src/compiler/glsl/linker.cpp \ +$src_dir/src/compiler/glsl/linker_util.cpp \ +$src_dir/src/compiler/glsl/link_functions.cpp \ +$src_dir/src/compiler/glsl/link_interface_blocks.cpp \ +$src_dir/src/compiler/glsl/link_uniforms.cpp \ +$src_dir/src/compiler/glsl/link_uniform_block_active_visitor.cpp \ +$src_dir/src/compiler/glsl/link_uniform_blocks.cpp \ +$src_dir/src/compiler/glsl/lower_builtins.cpp \ +$src_dir/src/compiler/glsl/lower_discard.cpp \ +$src_dir/src/compiler/glsl/lower_discard_flow.cpp \ +$src_dir/src/compiler/glsl/lower_distance.cpp \ +$src_dir/src/compiler/glsl/lower_instructions.cpp \ +$src_dir/src/compiler/glsl/lower_int64.cpp \ +$src_dir/src/compiler/glsl/lower_jumps.cpp \ +$src_dir/src/compiler/glsl/lower_mat_op_to_vec.cpp \ +$src_dir/src/compiler/glsl/lower_precision.cpp \ +$src_dir/src/compiler/glsl/lower_named_interface_blocks.cpp \ +$src_dir/src/compiler/glsl/lower_packing_builtins.cpp \ +$src_dir/src/compiler/glsl/lower_subroutine.cpp \ +$src_dir/src/compiler/glsl/lower_vec_index_to_cond_assign.cpp \ +$src_dir/src/compiler/glsl/lower_vector_derefs.cpp \ +$src_dir/src/compiler/glsl/opt_algebraic.cpp \ +$src_dir/src/compiler/glsl/opt_dead_builtin_variables.cpp \ +$src_dir/src/compiler/glsl/opt_dead_code.cpp \ +$src_dir/src/compiler/glsl/opt_dead_code_local.cpp \ +$src_dir/src/compiler/glsl/opt_dead_functions.cpp \ +$src_dir/src/compiler/glsl/opt_flatten_nested_if_blocks.cpp \ +$src_dir/src/compiler/glsl/opt_flip_matrices.cpp \ +$src_dir/src/compiler/glsl/opt_function_inlining.cpp \ +$src_dir/src/compiler/glsl/opt_if_simplification.cpp \ +$src_dir/src/compiler/glsl/opt_minmax.cpp \ +$src_dir/src/compiler/glsl/opt_rebalance_tree.cpp \ +$src_dir/src/compiler/glsl/opt_tree_grafting.cpp \ +$src_dir/src/compiler/glsl/propagate_invariance.cpp \ +$src_dir/src/compiler/glsl/s_expression.cpp \ +$src_dir/src/compiler/glsl/string_to_uint_map.cpp \ +$src_dir/src/compiler/glsl/serialize.cpp \ +$src_dir/src/compiler/glsl/shader_cache.cpp \ +" + +#------------------------------------------------------------------------------ + +for f in $libglsl_c_files +do + libglsl_c_obj_dir=$(dirname $f) + libglsl_c_obj_dir=$build_dir/${libglsl_c_obj_dir#*/src/} + mkdir -p $libglsl_c_obj_dir + + libglsl_c_obj="$libglsl_c_obj_dir/$(basename $f .c).o" + libglsl_a="$libglsl_a $libglsl_c_obj" + + $cco_slib -o $libglsl_c_obj $f \ + -I$build_dir/src/compiler/glsl \ + -I$src_dir/src/compiler/glsl \ + -I$build_dir/src/compiler/nir \ + -I$src_dir/src/compiler/nir \ + -I$build_dir/src/compiler \ + -I$src_dir/src/compiler \ + -I$src_dir/src/gallium/include \ + -I$src_dir/src/mapi \ + -I$src_dir/src/mesa \ + -I$src_dir/src \ + -I$src_dir/include \ + \ + $cco_slib_common_trailer & +done + +for f in $libglsl_cxx_files +do + libglsl_cxx_obj_dir=$(dirname $f) + libglsl_cxx_obj_dir=$build_dir/${libglsl_cxx_obj_dir#*/src/} + mkdir -p $libglsl_cxx_obj_dir + + libglsl_cxx_obj="$libglsl_cxx_obj_dir/$(basename $f .cpp).o" + libglsl_a="$libglsl_a $libglsl_cxx_obj" + + $cxxo_slib -o $libglsl_cxx_obj $f \ + -I$build_dir/src/compiler/glsl \ + -I$src_dir/src/compiler/glsl \ + -I$build_dir/src/compiler/nir \ + -I$src_dir/src/compiler/nir \ + -I$build_dir/src/compiler \ + -I$src_dir/src/compiler \ + -I$src_dir/src/gallium/include \ + -I$src_dir/src/mapi \ + -I$src_dir/src/mesa \ + -I$src_dir/src \ + -I$src_dir/include \ + \ + $cxxo_slib_common_trailer & +done + +wait + +$ar $build_dir/libglsl.a $libglsl_a +printf "\t<--glsl compiler sub-components built\n" diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/compiler_nir.sh b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/compiler_nir.sh new file mode 100644 index 0000000..e6af972 --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/compiler_nir.sh @@ -0,0 +1,248 @@ +printf "\tbuilding nir compiler sub-components-->\n" +mkdir -p $build_dir/src/compiler/nir + +#=============================================================================== + +libnir_files="\ +$build_dir/src/compiler/spirv/vtn_gather_types.c \ +$build_dir/src/compiler/spirv/spirv_info.c \ +$build_dir/src/compiler/nir/nir_constant_expressions.c \ +$build_dir/src/compiler/nir/nir_opcodes.c \ +$build_dir/src/compiler/nir/nir_opt_algebraic.c \ +$build_dir/src/compiler/nir/nir_intrinsics.c \ +$build_dir/src/compiler/nir/nir.c \ +$src_dir/src/compiler/nir/nir_builder.c \ +$src_dir/src/compiler/nir/nir_builtin_builder.c \ +$src_dir/src/compiler/nir/nir_clone.c \ +$src_dir/src/compiler/nir/nir_control_flow.c \ +$src_dir/src/compiler/nir/nir_deref.c \ +$src_dir/src/compiler/nir/nir_divergence_analysis.c \ +$src_dir/src/compiler/nir/nir_dominance.c \ +$src_dir/src/compiler/nir/nir_from_ssa.c \ +$src_dir/src/compiler/nir/nir_gather_info.c \ +$src_dir/src/compiler/nir/nir_gather_types.c \ +$src_dir/src/compiler/nir/nir_gather_xfb_info.c \ +$src_dir/src/compiler/nir/nir_group_loads.c \ +$src_dir/src/compiler/nir/nir_gs_count_vertices.c \ +$src_dir/src/compiler/nir/nir_functions.c \ +$src_dir/src/compiler/nir/nir_inline_uniforms.c \ +$src_dir/src/compiler/nir/nir_instr_set.c \ +$src_dir/src/compiler/nir/nir_legacy.c \ +$src_dir/src/compiler/nir/nir_linking_helpers.c \ +$src_dir/src/compiler/nir/nir_liveness.c \ +$src_dir/src/compiler/nir/nir_loop_analyze.c \ +$src_dir/src/compiler/nir/nir_lower_alu.c \ +$src_dir/src/compiler/nir/nir_lower_alu_width.c \ +$src_dir/src/compiler/nir/nir_lower_alpha_test.c \ +$src_dir/src/compiler/nir/nir_lower_amul.c \ +$src_dir/src/compiler/nir/nir_lower_atomics_to_ssbo.c \ +$src_dir/src/compiler/nir/nir_lower_bitmap.c \ +$src_dir/src/compiler/nir/nir_lower_blend.c \ +$src_dir/src/compiler/nir/nir_lower_bool_to_bitsize.c \ +$src_dir/src/compiler/nir/nir_lower_bool_to_float.c \ +$src_dir/src/compiler/nir/nir_lower_bool_to_int32.c \ +$src_dir/src/compiler/nir/nir_lower_cl_images.c \ +$src_dir/src/compiler/nir/nir_lower_clamp_color_outputs.c \ +$src_dir/src/compiler/nir/nir_lower_clip.c \ +$src_dir/src/compiler/nir/nir_lower_clip_cull_distance_arrays.c \ +$src_dir/src/compiler/nir/nir_lower_clip_disable.c \ +$src_dir/src/compiler/nir/nir_lower_clip_halfz.c \ +$src_dir/src/compiler/nir/nir_lower_const_arrays_to_uniforms.c \ +$src_dir/src/compiler/nir/nir_lower_continue_constructs.c \ +$src_dir/src/compiler/nir/nir_lower_convert_alu_types.c \ +$src_dir/src/compiler/nir/nir_lower_discard_if.c \ +$src_dir/src/compiler/nir/nir_lower_discard_or_demote.c \ +$src_dir/src/compiler/nir/nir_lower_double_ops.c \ +$src_dir/src/compiler/nir/nir_lower_drawpixels.c \ +$src_dir/src/compiler/nir/nir_lower_fb_read.c \ +$src_dir/src/compiler/nir/nir_lower_flatshade.c \ +$src_dir/src/compiler/nir/nir_lower_flrp.c \ +$src_dir/src/compiler/nir/nir_lower_fp16_conv.c \ +$src_dir/src/compiler/nir/nir_lower_frag_coord_to_pixel_coord.c \ +$src_dir/src/compiler/nir/nir_lower_fragcolor.c \ +$src_dir/src/compiler/nir/nir_lower_fragcoord_wtrans.c \ +$src_dir/src/compiler/nir/nir_lower_frexp.c \ +$src_dir/src/compiler/nir/nir_lower_global_vars_to_local.c \ +$src_dir/src/compiler/nir/nir_lower_goto_ifs.c \ +$src_dir/src/compiler/nir/nir_lower_gs_intrinsics.c \ +$src_dir/src/compiler/nir/nir_lower_helper_writes.c \ +$src_dir/src/compiler/nir/nir_lower_image.c \ +$src_dir/src/compiler/nir/nir_lower_image_atomics_to_global.c \ +$src_dir/src/compiler/nir/nir_lower_input_attachments.c \ +$src_dir/src/compiler/nir/nir_lower_int_to_float.c \ +$src_dir/src/compiler/nir/nir_lower_interpolation.c \ +$src_dir/src/compiler/nir/nir_lower_is_helper_invocation.c \ +$src_dir/src/compiler/nir/nir_lower_load_const_to_scalar.c \ +$src_dir/src/compiler/nir/nir_lower_locals_to_regs.c \ +$src_dir/src/compiler/nir/nir_lower_idiv.c \ +$src_dir/src/compiler/nir/nir_lower_indirect_derefs.c \ +$src_dir/src/compiler/nir/nir_lower_int64.c \ +$src_dir/src/compiler/nir/nir_lower_io.c \ +$src_dir/src/compiler/nir/nir_lower_io_arrays_to_elements.c \ +$src_dir/src/compiler/nir/nir_lower_io_to_temporaries.c \ +$src_dir/src/compiler/nir/nir_lower_io_to_scalar.c \ +$src_dir/src/compiler/nir/nir_lower_io_to_vector.c \ +$src_dir/src/compiler/nir/nir_lower_mediump.c \ +$src_dir/src/compiler/nir/nir_lower_mem_access_bit_sizes.c \ +$src_dir/src/compiler/nir/nir_lower_memcpy.c \ +$src_dir/src/compiler/nir/nir_lower_memory_model.c \ +$src_dir/src/compiler/nir/nir_lower_multiview.c \ +$src_dir/src/compiler/nir/nir_lower_non_uniform_access.c \ +$src_dir/src/compiler/nir/nir_lower_packing.c \ +$src_dir/src/compiler/nir/nir_lower_passthrough_edgeflags.c \ +$src_dir/src/compiler/nir/nir_lower_patch_vertices.c \ +$src_dir/src/compiler/nir/nir_lower_phis_to_scalar.c \ +$src_dir/src/compiler/nir/nir_lower_pntc_ytransform.c \ +$src_dir/src/compiler/nir/nir_lower_point_size.c \ +$src_dir/src/compiler/nir/nir_lower_point_size_mov.c \ +$src_dir/src/compiler/nir/nir_lower_point_smooth.c \ +$src_dir/src/compiler/nir/nir_lower_poly_line_smooth.c \ +$src_dir/src/compiler/nir/nir_lower_readonly_images_to_tex.c \ +$src_dir/src/compiler/nir/nir_lower_reg_intrinsics_to_ssa.c \ +$src_dir/src/compiler/nir/nir_lower_returns.c \ +$src_dir/src/compiler/nir/nir_lower_robust_access.c \ +$src_dir/src/compiler/nir/nir_lower_samplers.c \ +$src_dir/src/compiler/nir/nir_lower_scratch.c \ +$src_dir/src/compiler/nir/nir_lower_single_sampled.c \ +$src_dir/src/compiler/nir/nir_lower_subgroups.c \ +$src_dir/src/compiler/nir/nir_lower_sysvals_to_varyings.c \ +$src_dir/src/compiler/nir/nir_lower_system_values.c \ +$src_dir/src/compiler/nir/nir_lower_task_shader.c \ +$src_dir/src/compiler/nir/nir_lower_tess_coord_z.c \ +$src_dir/src/compiler/nir/nir_lower_tex.c \ +$src_dir/src/compiler/nir/nir_lower_tex_shadow.c \ +$src_dir/src/compiler/nir/nir_lower_texcoord_replace.c \ +$src_dir/src/compiler/nir/nir_lower_texcoord_replace_late.c \ +$src_dir/src/compiler/nir/nir_lower_two_sided_color.c \ +$src_dir/src/compiler/nir/nir_lower_ubo_vec4.c \ +$src_dir/src/compiler/nir/nir_lower_vars_to_ssa.c \ +$src_dir/src/compiler/nir/nir_lower_var_copies.c \ +$src_dir/src/compiler/nir/nir_lower_variable_initializers.c \ +$src_dir/src/compiler/nir/nir_lower_vec_to_regs.c \ +$src_dir/src/compiler/nir/nir_lower_vec3_to_vec4.c \ +$src_dir/src/compiler/nir/nir_lower_viewport_transform.c \ +$src_dir/src/compiler/nir/nir_lower_wpos_center.c \ +$src_dir/src/compiler/nir/nir_lower_wpos_ytransform.c \ +$src_dir/src/compiler/nir/nir_lower_wrmasks.c \ +$src_dir/src/compiler/nir/nir_lower_bit_size.c \ +$src_dir/src/compiler/nir/nir_lower_uniforms_to_ubo.c \ +$src_dir/src/compiler/nir/nir_metadata.c \ +$src_dir/src/compiler/nir/nir_mod_analysis.c \ +$src_dir/src/compiler/nir/nir_move_vec_src_uses_to_dest.c \ +$src_dir/src/compiler/nir/nir_normalize_cubemap_coords.c \ +$src_dir/src/compiler/nir/nir_opt_access.c \ +$src_dir/src/compiler/nir/nir_opt_barriers.c \ +$src_dir/src/compiler/nir/nir_opt_combine_stores.c \ +$src_dir/src/compiler/nir/nir_opt_comparison_pre.c \ +$src_dir/src/compiler/nir/nir_opt_conditional_discard.c \ +$src_dir/src/compiler/nir/nir_opt_constant_folding.c \ +$src_dir/src/compiler/nir/nir_opt_copy_prop_vars.c \ +$src_dir/src/compiler/nir/nir_opt_copy_propagate.c \ +$src_dir/src/compiler/nir/nir_opt_cse.c \ +$src_dir/src/compiler/nir/nir_opt_dce.c \ +$src_dir/src/compiler/nir/nir_opt_dead_cf.c \ +$src_dir/src/compiler/nir/nir_opt_dead_write_vars.c \ +$src_dir/src/compiler/nir/nir_opt_find_array_copies.c \ +$src_dir/src/compiler/nir/nir_opt_fragdepth.c \ +$src_dir/src/compiler/nir/nir_opt_gcm.c \ +$src_dir/src/compiler/nir/nir_opt_idiv_const.c \ +$src_dir/src/compiler/nir/nir_opt_if.c \ +$src_dir/src/compiler/nir/nir_opt_intrinsics.c \ +$src_dir/src/compiler/nir/nir_opt_large_constants.c \ +$src_dir/src/compiler/nir/nir_opt_load_store_vectorize.c \ +$src_dir/src/compiler/nir/nir_opt_loop_unroll.c \ +$src_dir/src/compiler/nir/nir_opt_memcpy.c \ +$src_dir/src/compiler/nir/nir_opt_move.c \ +$src_dir/src/compiler/nir/nir_opt_move_discards_to_top.c \ +$src_dir/src/compiler/nir/nir_opt_non_uniform_access.c \ +$src_dir/src/compiler/nir/nir_opt_offsets.c \ +$src_dir/src/compiler/nir/nir_opt_peephole_select.c \ +$src_dir/src/compiler/nir/nir_opt_phi_precision.c \ +$src_dir/src/compiler/nir/nir_opt_preamble.c \ +$src_dir/src/compiler/nir/nir_opt_ray_queries.c \ +$src_dir/src/compiler/nir/nir_opt_reassociate_bfi.c \ +$src_dir/src/compiler/nir/nir_opt_rematerialize_compares.c \ +$src_dir/src/compiler/nir/nir_opt_remove_phis.c \ +$src_dir/src/compiler/nir/nir_opt_reuse_constants.c \ +$src_dir/src/compiler/nir/nir_opt_shrink_stores.c \ +$src_dir/src/compiler/nir/nir_opt_shrink_vectors.c \ +$src_dir/src/compiler/nir/nir_opt_sink.c \ +$src_dir/src/compiler/nir/nir_opt_trivial_continues.c \ +$src_dir/src/compiler/nir/nir_opt_undef.c \ +$src_dir/src/compiler/nir/nir_opt_uniform_atomics.c \ +$src_dir/src/compiler/nir/nir_opt_vectorize.c \ +$src_dir/src/compiler/nir/nir_passthrough_gs.c \ +$src_dir/src/compiler/nir/nir_passthrough_tcs.c \ +$src_dir/src/compiler/nir/nir_phi_builder.c \ +$src_dir/src/compiler/nir/nir_print.c \ +$src_dir/src/compiler/nir/nir_propagate_invariant.c \ +$src_dir/src/compiler/nir/nir_range_analysis.c \ +$src_dir/src/compiler/nir/nir_remove_dead_variables.c \ +$src_dir/src/compiler/nir/nir_remove_tex_shadow.c \ +$src_dir/src/compiler/nir/nir_repair_ssa.c \ +$src_dir/src/compiler/nir/nir_search.c \ +$src_dir/src/compiler/nir/nir_scale_fdiv.c \ +$src_dir/src/compiler/nir/nir_schedule.c \ +$src_dir/src/compiler/nir/nir_serialize.c \ +$src_dir/src/compiler/nir/nir_split_64bit_vec3_and_vec4.c \ +$src_dir/src/compiler/nir/nir_split_per_member_structs.c \ +$src_dir/src/compiler/nir/nir_split_var_copies.c \ +$src_dir/src/compiler/nir/nir_split_vars.c \ +$src_dir/src/compiler/nir/nir_sweep.c \ +$src_dir/src/compiler/nir/nir_to_lcssa.c \ +$src_dir/src/compiler/nir/nir_trivialize_registers.c \ +$src_dir/src/compiler/nir/nir_validate.c \ +$src_dir/src/compiler/nir/nir_worklist.c \ +$src_dir/src/compiler/nir/nir_xfb_info.h \ +$src_dir/src/compiler/spirv/gl_spirv.c \ +$src_dir/src/compiler/spirv/spirv_to_nir.c \ +$src_dir/src/compiler/spirv/vtn_alu.c \ +$src_dir/src/compiler/spirv/vtn_amd.c \ +$src_dir/src/compiler/spirv/vtn_cfg.c \ +$src_dir/src/compiler/spirv/vtn_glsl450.c \ +$src_dir/src/compiler/spirv/vtn_structured_cfg.c \ +$src_dir/src/compiler/spirv/vtn_subgroup.c \ +$src_dir/src/compiler/spirv/vtn_variables.c \ +$src_dir/src/compiler/spirv/vtn_cmat.c \ +$src_dir/contrib/vtn_opencl.c \ +" +#------------------------------------------------------------------------------ + +for f in $libnir_files +do + libnir_obj_dir=$(dirname $f) + libnir_obj_dir=$build_dir/${libnir_obj_dir#*/src/} + mkdir -p $libnir_obj_dir + + libnir_obj="$libnir_obj_dir/$(basename $f .c).o" + libnir_a="$libnir_a $libnir_obj" + + $cco_slib -o $libnir_obj $f \ + -I$src_dir/src/gallium/auxiliary \ + -I$src_dir/src/gallium/include \ + -I$build_dir/src/compiler/spirv \ + -I$src_dir/src/compiler/spirv \ + -I$build_dir/src/compiler/nir \ + -I$src_dir/src/compiler/nir \ + -I$build_dir/src/compiler \ + -I$src_dir/src/compiler \ + -I$src_dir/src/mesa \ + -I$src_dir/src \ + -I$src_dir/include \ + \ + $mesa_cppflags \ + \ + $external_deps_cppflags \ + \ + $glibc_cppflags \ + $glibc_linux_cppflags \ + $linux_cppflags \ + $gcc_cppflags \ + \ + $cflags_opt & +done + +wait + +$ar $build_dir/libnir.a $libnir_a +printf "\t<--nir compiler sub-components built\n" diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/dri2.c.patch b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/dri2.c.patch new file mode 100644 index 0000000..86465b8 --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/dri2.c.patch @@ -0,0 +1,24 @@ +--- dri2.c ++++ dri2.c +@@ -2410,21 +2410,4 @@ const __DRIextension *galliumdrm_driver_extensions[] = { + NULL + }; + +-static const struct __DRImesaCoreExtensionRec swkmsMesaCoreExtension = { +- .base = { __DRI_MESA, 1 }, +- .version_string = MESA_INTERFACE_VERSION_STRING, +- .createNewScreen = driCreateNewScreen2, +- .createContext = driCreateContextAttribs, +- .initScreen = dri_swrast_kms_init_screen, +-}; +- +-const __DRIextension *dri_swrast_kms_driver_extensions[] = { +- &driCoreExtension.base, +- &swkmsMesaCoreExtension.base, +- &driImageDriverExtension.base, +- &swkmsDRI2Extension.base, +- &gallium_config_options.base, +- NULL +-}; +- + /* vim: set sw=3 ts=8 sts=3 expandtab: */ diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/dri_util.c.patch b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/dri_util.c.patch new file mode 100644 index 0000000..53fa18b --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/dri_util.c.patch @@ -0,0 +1,73 @@ +diff --git a/src/gallium/frontends/dri/dri_util.c b/src/gallium/frontends/dri/dri_util.c +index ed102450ecf..5898a1f437a 100644 +--- a/src/gallium/frontends/dri/dri_util.c ++++ b/src/gallium/frontends/dri/dri_util.c +@@ -186,35 +186,6 @@ dri2CreateNewScreen(int scrn, int fd, + driver_configs, data); + } + +-static __DRIscreen * +-swkmsCreateNewScreen(int scrn, int fd, +- const __DRIextension **extensions, +- const __DRIconfig ***driver_configs, void *data) +-{ +- return driCreateNewScreen2(scrn, fd, extensions, +- dri_swrast_kms_driver_extensions, +- driver_configs, data); +-} +- +-/** swrast driver createNewScreen entrypoint. */ +-static __DRIscreen * +-driSWRastCreateNewScreen(int scrn, const __DRIextension **extensions, +- const __DRIconfig ***driver_configs, void *data) +-{ +- return driCreateNewScreen2(scrn, -1, extensions, +- galliumsw_driver_extensions, +- driver_configs, data); +-} +- +-static __DRIscreen * +-driSWRastCreateNewScreen2(int scrn, const __DRIextension **extensions, +- const __DRIextension **driver_extensions, +- const __DRIconfig ***driver_configs, void *data) +-{ +- return driCreateNewScreen2(scrn, -1, extensions, driver_extensions, +- driver_configs, data); +-} +- + /** + * Destroy the per-screen private information. + * +@@ -988,32 +959,8 @@ const __DRIdri2Extension driDRI2Extension = { + .createNewScreen2 = driCreateNewScreen2, + }; + +-const __DRIdri2Extension swkmsDRI2Extension = { +- .base = { __DRI_DRI2, 4 }, +- +- .createNewScreen = swkmsCreateNewScreen, +- .createNewDrawable = driCreateNewDrawable, +- .createNewContext = driCreateNewContext, +- .getAPIMask = driGetAPIMask, +- .createNewContextForAPI = driCreateNewContextForAPI, +- .allocateBuffer = dri2AllocateBuffer, +- .releaseBuffer = dri2ReleaseBuffer, +- .createContextAttribs = driCreateContextAttribs, +- .createNewScreen2 = driCreateNewScreen2, +-}; +- + #endif + +-const __DRIswrastExtension driSWRastExtension = { +- .base = { __DRI_SWRAST, 4 }, +- +- .createNewScreen = driSWRastCreateNewScreen, +- .createNewDrawable = driCreateNewDrawable, +- .createNewContextForAPI = driCreateNewContextForAPI, +- .createContextAttribs = driCreateContextAttribs, +- .createNewScreen2 = driSWRastCreateNewScreen2, +-}; +- + const __DRI2configQueryExtension dri2ConfigQueryExtension = { + .base = { __DRI2_CONFIG_QUERY, 2 }, + diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/dri_util.h.patch b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/dri_util.h.patch new file mode 100644 index 0000000..ade9755 --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/dri_util.h.patch @@ -0,0 +1,10 @@ +--- dri_util.h ++++ dri_util.h +@@ -67,7 +67,6 @@ struct gl_context; + * Extensions. + */ + extern const __DRIcoreExtension driCoreExtension; +-extern const __DRIswrastExtension driSWRastExtension; + extern const __DRIdri2Extension driDRI2Extension; + extern const __DRIdri2Extension swkmsDRI2Extension; + extern const __DRI2configQueryExtension dri2ConfigQueryExtension; diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/drm_helper.h.patch b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/drm_helper.h.patch new file mode 100644 index 0000000..cd8dead --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/drm_helper.h.patch @@ -0,0 +1,12 @@ +--- drm_helper.h ++++ drm_helper.h +@@ -170,9 +170,6 @@ + /* First, try amdgpu. */ + rw = amdgpu_winsys_create(fd, config, radeonsi_screen_create); + +- if (!rw) +- rw = radeon_drm_winsys_create(fd, config, radeonsi_screen_create); +- + return rw ? debug_screen_wrap(rw->screen) : NULL; + } + diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/egl.sh b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/egl.sh new file mode 100644 index 0000000..45577a4 --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/egl.sh @@ -0,0 +1,118 @@ +# egl is here only on gbm/dri level 2/drm platform for the xserver glamor +# accel +echo "building egl api for GBM/dri2/drm component-->" +mkdir -p $build_dir/src/egl + +libegl_files="\ +$src_dir/src/egl/main/eglapi.c \ +$src_dir/src/egl/main/eglarray.c \ +$src_dir/src/egl/main/eglconfig.c \ +$src_dir/src/egl/main/eglcontext.c \ +$src_dir/src/egl/main/eglcurrent.c \ +$src_dir/src/egl/main/eglconfigdebug.c \ +$src_dir/src/egl/main/egldevice.c \ +$src_dir/src/egl/main/egldisplay.c \ +$src_dir/src/egl/main/eglglobals.c \ +$src_dir/src/egl/main/eglimage.c \ +$src_dir/src/egl/main/egllog.c \ +$src_dir/src/egl/main/eglsurface.c \ +$src_dir/src/egl/main/eglsync.c \ +\ +$build_dir/src/egl/drivers/dri2/egl_dri2.c \ +\ +$src_dir/src/egl/drivers/dri2/platform_surfaceless.c \ +$src_dir/src/egl/drivers/dri2/platform_drm.c \ +$src_dir/src/egl/drivers/dri2/platform_device.c \ +" + +#=============================================================================== + +for f in $libegl_files +do + libegl_obj_dir=$(dirname $f) + libegl_obj_dir=$build_dir/${libegl_obj_dir#*/src/} + mkdir -p $libegl_obj_dir + + libegl_obj=$libegl_obj_dir/$(basename $f .c).o + libegl_a="$libegl_a $libegl_obj" + + $cco_slib -o $libegl_obj $f \ + -DHAVE_DRM_PLATFORM=1 \ + -D_EGL_NATIVE_PLATFORM=_EGL_PLATFORM_DRM \ + \ + -I$src_dir/src/gallium/frontends/dri \ + -I$src_dir/src/gallium/auxiliary \ + -I$src_dir/src/gallium/include \ + -I$src_dir/src/gbm/backends/dri \ + -I$src_dir/src/gbm/main \ + -I$src_dir/src/loader \ + -I$src_dir/src/egl/drivers/dri2 \ + -I$src_dir/src/egl/main \ + -I$src_dir/src/mesa \ + -I$src_dir/src \ + -I$src_dir/include \ + \ + $cco_slib_common_trailer & +done + +wait + +#=============================================================================== + +mkdir -p $build_dir/install_root$libdir + +if test "${libegl_link_cmd-unset}" = unset ; then +libegl_link_cmd="\ +gcc -o $build_dir/install_root$libdir/libEGL.so.1.0.0 -Wl,-soname=libEGL.so.1 \ +-shared -static-libgcc \ +-B/nyan/glibc/current/lib -L/nyan/glibc/current/lib \ +-Wl,-rpath-link,/nyan/glibc/current/lib \ +-Wl,--no-undefined,--gc-sections,-Bsymbolic \ + $libegl_a \ + \ + $build_dir/libloader.a \ + $build_dir/libxmlconfig.a \ + $build_dir/libmesa_util.a \ + \ + $external_deps_static_ldflags \ + -Wl,--exclude-libs,$external_deps_archives \ + \ + -Wl,--as-needed \ + $build_dir/install_root$libdir/libglapi.so.0.0.0 \ + $build_dir/install_root$libdir/libgbm.so.1.0.0 \ + $external_deps_ldflags \ + $glibc_ldflags \ + -Wl,--no-as-needed" +fi +eval $libegl_link_cmd + +ln -sf libEGL.so.1.0.0 $build_dir/install_root$libdir/libEGL.so.1 +ln -sf libEGL.so.1 $build_dir/install_root$libdir/libEGL.so + +#=============================================================================== + +mkdir -p $build_dir/install_root$libdir/pkgconfig + +cp $src_dir/contrib/pkgconfig/egl.pc.in $build_dir/install_root$libdir/pkgconfig/egl.pc +sed -i "\ +s:@prefix@:$prefix:;\ +s:@libdir@:$libdir:;\ +s:@includedir@:$incdir:;\ +s:@GL_PC_REQ_PRIV@::;\ +s:@PACKAGE_VERSION@:$version:;\ +s:@GL_PC_LIB_PRIV@::;\ +s:@GL_PC_CFLAGS@::;\ +" $build_dir/install_root$libdir/pkgconfig/egl.pc + +#=============================================================================== + +mkdir -p $build_dir/install_root$incdir/EGL + +cp -f \ +$src_dir/include/EGL/eglext.h \ +$src_dir/include/EGL/egl.h \ +$src_dir/include/EGL/eglmesaext.h \ +$src_dir/include/EGL/eglplatform.h \ +$build_dir/install_root$incdir/EGL + +echo "<--egl api for GBM/dri2/drm components built" diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/egl_dri2.c.patch b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/egl_dri2.c.patch new file mode 100644 index 0000000..8a4a08a --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/egl_dri2.c.patch @@ -0,0 +1,20 @@ +diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c +index e326215e523..71f71262b86 100644 +--- a/egl_dri2.c ++++ b/egl_dri2.c +@@ -1048,6 +1048,7 @@ dri2_setup_extensions(_EGLDisplay *disp) + return EGL_FALSE; + } + ++#ifdef HAVE_X11_PLATFORM + #ifdef HAVE_DRI3_MODIFIERS + dri2_dpy->multibuffers_available = + (dri2_dpy->dri3_major_version > 1 || +@@ -1057,6 +1058,7 @@ dri2_setup_extensions(_EGLDisplay *disp) + (dri2_dpy->present_major_version == 1 && + dri2_dpy->present_minor_version >= 2)) && + (dri2_dpy->image && dri2_dpy->image->base.version >= 15); ++#endif + #endif + + loader_bind_extensions(dri2_dpy, optional_core_extensions, diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/external_deps.sh b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/external_deps.sh new file mode 100644 index 0000000..28630ac --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/external_deps.sh @@ -0,0 +1,408 @@ +#=============================================================================== +# linux drm uapi +if test "${linux_drm_cppflags-unset}" = unset; then +linux_drm_cppflags='-I/nyan/glibc/current/include-linux/drm' +external_deps_cppflags="$linux_drm_cppflags $external_deps_cppflags" +fi +#=============================================================================== + + +#=============================================================================== +# libdrm +if test "${libdrm_cppflags-unset}" = unset; then +libdrm_cppflags='-I/nyan/drm/current/include -DHAVE_LIBDRM=1' +external_deps_cppflags="$libdrm_cppflags $external_deps_cppflags" +fi +if test "${libdrm_ldflags-unset}" = unset; then +libdrm_ldflags='/nyan/drm/current/lib/libdrm.so' +external_deps_ldflags="$external_deps_ldflags $libdrm_ldflags" +fi +#=============================================================================== + + +#=============================================================================== +# libdrm_amdgpu +if test "${libdrm_amdgpu_cppflags-unset}" = unset; then +libdrm_amdgpu_cppflags='-I/nyan/drm/current/include/libdrm' +external_deps_cppflags="$libdrm_amdgpu_cppflags $external_deps_cppflags" +fi +if test "${libdrm_amdgpu_ldflags-unset}" = unset; then +libdrm_amdgpu_ldflags='/nyan/drm/current/lib/libdrm_amdgpu.so' +external_deps_ldflags="$external_deps_ldflags $libdrm_amdgpu_ldflags" +fi +#=============================================================================== + + +#=============================================================================== +# legacy libdrm_radeon +if test "${libdrm_radeon_cppflags-unset}" = unset; then +libdrm_radeon_cppflags='-I/nyan/drm/current/include/libdrm' +external_deps_cppflags="$libdrm_radeon_cppflags $external_deps_cppflags" +fi +if test "${libdrm_radeon_ldflags-unset}" = unset; then +libdrm_radeon_ldflags='/nyan/drm/current/lib/libdrm_radeon.so' +external_deps_ldflags="$external_deps_ldflags $libdrm_radeon_ldflags" +fi +#=============================================================================== + + +#=============================================================================== +# libelf +if test "${libelf_cppflags-unset}" = unset; then +libelf_cppflags="\ +-I/nyan/libelf/current/include/libelf \ +-I/nyan/libelf/current/include \ +" +external_deps_cppflags="$libelf_cppflags $external_deps_cppflags" +fi +if test "${libelf_archive-unset}" = unset; then +libelf_archives='libelf.a' +external_deps_archives="$libelf_archives:$external_deps_archives" +fi +if test "${libelf_ldflags-unset}" = unset; then +libelf_ldflags="/nyan/libelf/current/lib/$libelf_archives" +external_deps_static_ldflags="$libelf_ldflags $external_deps_static_ldflags" +fi +#=============================================================================== + + +#=============================================================================== +# zlib +if test "${zlib_cppflags-unset}" = unset; then +zlib_cppflags='-I/nyan/zlib/current/include -DHAVE_ZLIB=1' +external_deps_cppflags="$zlib_cppflags $external_deps_cppflags" +fi +if test "${zlib_archives-unset}" = unset; then +zlib_archives=libz.a +external_deps_archives="$zlib_archives:$external_deps_archives" +fi +if test "${zlib_ldflags-unset}" = unset; then +zlib_ldflags="/nyan/zlib/current/lib/$zlib_archives" +external_deps_static_ldflags="$zlib_ldflags $external_deps_static_ldflags" +fi +#=============================================================================== + + +#=============================================================================== +# expat +if test "${expat_cppflags-unset}" = unset; then +expat_cppflags='-I/nyan/expat/current/include' +external_deps_cppflags="$expat_cppflags $external_deps_cppflags" +fi +if test "${expat_archives-unset}" = unset; then +expat_archives=libexpat.a +external_deps_archives="$expat_archives:$external_deps_archives" +fi +if test "${expat_ldflags-unset}" = unset; then +expat_ldflags="/nyan/expat/current/lib/$expat_archives" +external_deps_static_ldflags="$expat_ldflags $external_deps_static_ldflags" +fi +#=============================================================================== + + +#=============================================================================== +# xorgproto +if test "${xorgproto_cppflags-unset}" = unset; then +xorgproto_cppflags='-I/nyan/xorgproto/current/include' +external_deps_cppflags="$xorgproto_cppflags $external_deps_cppflags" +fi +#=============================================================================== + + +#=============================================================================== +# libx11 +if test "${libx11_cppflags-unset}" = unset; then +libx11_cppflags='-I/nyan/libX11/current/include' +external_deps_cppflags="$libx11_cppflags $external_deps_cppflags" +fi +if test "${libx11_ldflags-unset}" = unset; then +libx11_ldflags="\ +/nyan/libX11/current/lib/libX11.so \ +/nyan/libX11/current/lib/libX11-xcb.so \ +" +external_deps_ldflags="$external_deps_ldflags $libx11_ldflags" +fi +#=============================================================================== + + +#=============================================================================== +# libxext +if test "${libxext_cppflags-unset}" = unset; then +libxext_cppflags='-I/nyan/libXext/current/include' +external_deps_cppflags="$libxext_cppflags $external_deps_cppflags" +fi +if test "${libxext_ldflags-unset}" = unset; then +libxext_ldflags='/nyan/libXext/current/lib/libXext.so' +external_deps_ldflags="$external_deps_ldflags $libxext_ldflags" +fi +#=============================================================================== + + +#=============================================================================== +# libxcb +if test "${libxcb_cppflags-unset}" = unset; then +libxcb_cppflags='-I/nyan/libxcb/current/include' +external_deps_cppflags="$libxcb_cppflags $external_deps_cppflags" +fi +if test "${libxcb_ldflags-unset}" = unset; then +libxcb_ldflags="\ +/nyan/libxcb/current/lib/libxcb.so \ +/nyan/libxcb/current/lib/libxcb-glx.so \ +/nyan/libxcb/current/lib/libxcb-present.so \ +/nyan/libxcb/current/lib/libxcb-dri3.so \ +/nyan/libxcb/current/lib/libxcb-dri2.so \ +/nyan/libxcb/current/lib/libxcb-sync.so \ +/nyan/libxcb/current/lib/libxcb-xfixes.so \ +/nyan/libxcb/current/lib/libxcb-shm.so \ +/nyan/libxcb/current/lib/libxcb-randr.so \ +" +external_deps_ldflags="$external_deps_ldflags $libxcb_ldflags" +fi +#=============================================================================== + + +#=============================================================================== +# libxshmfence +if test "${libxshmfence_cppflags-unset}" = unset; then +libxshmfence_cppflags='-I/nyan/libxshmfence/current/include' +external_deps_cppflags="$libxshmfence_cppflags $external_deps_cppflags" +fi +if test "${libxshmfence_ldflags-unset}" = unset; then +libxshmfence_ldflags="/nyan/libxshmfence/current/lib/libxshmfence.so" +external_deps_ldflags="$external_deps_ldflags $libxshmfence_ldflags" +fi +#=============================================================================== + + +#=============================================================================== +# libxxf86vm +if test "${libxxf86vm_cppflags-unset}" = unset; then +libxxf86vm_cppflags='-I/nyan/libXxf86vm/current/include' +external_deps_cppflags="$libxxf86vm_cppflags $external_deps_cppflags" +fi +if test "${libxxf86vm_ldflags-unset}" = unset; then +libxxf86vm_ldflags='/nyan/libXxf86vm/current/lib/libXxf86vm.so' +external_deps_ldflags="$external_deps_ldflags $libxxf86vm_ldflags" +fi +#=============================================================================== + + +#=============================================================================== +# libXfixes +if test "${libxfixes_cppflags-unset}" = unset; then +libxfixes_cppflags='-I/nyan/libXfixes/current/include' +external_deps_cppflags="$libxfixes_cppflags $external_deps_cppflags" +fi +if test "${libxfixes_ldflags-unset}" = unset; then +libxfixes_ldflags='/nyan/libXfixes/current/lib/libXfixes.so' +external_deps_ldflags="$external_deps_ldflags $libxfixes_ldflags" +fi +#=============================================================================== + + +#=============================================================================== +# libXdamage +if test "${libxdamage_cppflags-unset}" = unset; then +libxdamage_cppflags='-I/nyan/libXdamage/current/include' +external_deps_cppflags="$libxdamage_cppflags $external_deps_cppflags" +fi +if test "${libxdamage_ldflags-unset}" = unset; then +libxdamage_ldflags='/nyan/libXdamage/current/lib/libXdamage.so' +external_deps_ldflags="$external_deps_ldflags $libxdamage_ldflags" +fi +#=============================================================================== + + +#=============================================================================== +# llvm related configuration +# the following are values from the llvm-config script +llvm_version_major=15 +llvm_version_minor=0 +llvm_version_patch=0 +llvm_version_str='15.0.0git' + +if test "${llvm_cppflags-unset}" = unset; then +llvm_cppflags="-I/nyan/llvm/current/include -DLLVM_AVAILABLE \ +-DLLVM_VERSION_MAJOR=$llvm_version_major \ +-DLLVM_VERSION_MINOR=$llvm_version_minor \ +-DLLVM_VERSION_PATCH=$llvm_version_patch \ +-DLLVM_IS_SHARED=0 \ +-DMESA_LLVM_VERSION_STRING=\"$llvm_version_str\"" +external_deps_cppflags="$llvm_cppflags $external_deps_cppflags" +fi +if test "${llvm_archives-unset}" = unset; then +llvm_archives="\ +libLLVMWindowsDriver.a:\ +libLLVMTableGenGlobalISel.a:\ +libLLVMOrcTargetProcess.a:\ +libLLVMOrcJIT.a:\ +libLLVMObjCopy.a:\ +libLLVMMCA.a:\ +libLLVMJITLink.a:\ +libLLVMInterfaceStub.a:\ +libLLVMFuzzerCLI.a:\ +libLLVMFrontendOpenMP.a:\ +libLLVMFrontendOpenACC.a:\ +libLLVMFileCheck.a:\ +libLLVMExtensions.a:\ +libLLVMExegesis.a:\ +libLLVMDiff.a:\ +libLLVMDebuginfod.a:\ +libLLVMDebugInfoGSYM.a:\ +libLLVMDWP.a:\ +libLLVMDWARFLinker.a:\ +libLLVMCFIVerify.a:\ +libLLVMCFGuard.a:\ +libLLVMAMDGPUTargetMCA.a:\ +libLLVMRemarks.a:\ +libLLVMObjectYAML.a:\ +libLLVMScalarOpts.a:\ +libLLVMInterpreter.a:\ +libLLVMLineEditor.a:\ +libLLVMTransformUtils.a:\ +libLLVMCodeGen.a:\ +libLLVMDebugInfoMSF.a:\ +libLLVMProfileData.a:\ +libLLVMLTO.a:\ +libLLVMFuzzMutate.a:\ +libLLVMCoroutines.a:\ +libLLVMSymbolize.a:\ +libLLVMBinaryFormat.a:\ +libLLVMInstCombine.a:\ +libLLVMLinker.a:\ +libLLVMMCJIT.a:\ +libLLVMAsmPrinter.a:\ +libLLVMDlltoolDriver.a:\ +libLLVMVectorize.a:\ +libLLVMLibDriver.a:\ +libLLVMBitWriter.a:\ +libLLVMOrcJIT.a:\ +libLLVMipo.a:\ +libLLVMAsmParser.a:\ +libLLVMObjCARCOpts.a:\ +libLLVMObject.a:\ +libLLVMAnalysis.a:\ +libLLVMAMDGPUInfo.a:\ +libLLVMAMDGPUAsmParser.a:\ +libLLVMExecutionEngine.a:\ +libLLVMAMDGPUCodeGen.a:\ +libLLVMMCParser.a:\ +libLLVMDemangle.a:\ +libLLVMCoverage.a:\ +libLLVMBitReader.a:\ +libLLVMBitstreamReader.a:\ +libLLVMWindowsManifest.a:\ +libLLVMDebugInfoPDB.a:\ +libLLVMDebugInfoDWARF.a:\ +libLLVMDebugInfoCodeView.a:\ +libLLVMAMDGPUDesc.a:\ +libLLVMMIRParser.a:\ +libLLVMCore.a:\ +libLLVMAggressiveInstCombine.a:\ +libLLVMInstrumentation.a:\ +libLLVMMC.a:\ +libLLVMOption.a:\ +libLLVMTableGen.a:\ +libLLVMSelectionDAG.a:\ +libLLVMAMDGPUUtils.a:\ +libLLVMMCDisassembler.a:\ +libLLVMPasses.a:\ +libLLVMIRReader.a:\ +libLLVMGlobalISel.a:\ +libLLVMSupport.a:\ +libLLVMXRay.a:\ +libLLVMTarget.a:\ +libLLVMAMDGPUDisassembler.a:\ +libLLVMRuntimeDyld.a:\ +libLLVMTextAPI.a" +fi +if test "${llvm_ldflags-unset}" = unset; then +llvm_ldflags="\ +-Wl,--start-group \ +/nyan/llvm/current/lib/libLLVMWindowsDriver.a \ +/nyan/llvm/current/lib/libLLVMTableGenGlobalISel.a \ +/nyan/llvm/current/lib/libLLVMOrcTargetProcess.a \ +/nyan/llvm/current/lib/libLLVMObjCopy.a \ +/nyan/llvm/current/lib/libLLVMMCA.a \ +/nyan/llvm/current/lib/libLLVMJITLink.a \ +/nyan/llvm/current/lib/libLLVMInterfaceStub.a \ +/nyan/llvm/current/lib/libLLVMFuzzerCLI.a \ +/nyan/llvm/current/lib/libLLVMFrontendOpenMP.a \ +/nyan/llvm/current/lib/libLLVMFrontendOpenACC.a \ +/nyan/llvm/current/lib/libLLVMFileCheck.a \ +/nyan/llvm/current/lib/libLLVMExtensions.a \ +/nyan/llvm/current/lib/libLLVMExegesis.a \ +/nyan/llvm/current/lib/libLLVMDiff.a \ +/nyan/llvm/current/lib/libLLVMDebuginfod.a \ +/nyan/llvm/current/lib/libLLVMDebugInfoGSYM.a \ +/nyan/llvm/current/lib/libLLVMDWP.a \ +/nyan/llvm/current/lib/libLLVMDWARFLinker.a \ +/nyan/llvm/current/lib/libLLVMCFIVerify.a \ +/nyan/llvm/current/lib/libLLVMCFGuard.a \ +/nyan/llvm/current/lib/libLLVMAMDGPUTargetMCA.a \ +/nyan/llvm/current/lib/libLLVMRemarks.a \ +/nyan/llvm/current/lib/libLLVMObjectYAML.a \ +/nyan/llvm/current/lib/libLLVMScalarOpts.a \ +/nyan/llvm/current/lib/libLLVMInterpreter.a \ +/nyan/llvm/current/lib/libLLVMLineEditor.a \ +/nyan/llvm/current/lib/libLLVMTransformUtils.a \ +/nyan/llvm/current/lib/libLLVMCodeGen.a \ +/nyan/llvm/current/lib/libLLVMDebugInfoMSF.a \ +/nyan/llvm/current/lib/libLLVMProfileData.a \ +/nyan/llvm/current/lib/libLLVMLTO.a \ +/nyan/llvm/current/lib/libLLVMFuzzMutate.a \ +/nyan/llvm/current/lib/libLLVMCoroutines.a \ +/nyan/llvm/current/lib/libLLVMSymbolize.a \ +/nyan/llvm/current/lib/libLLVMBinaryFormat.a \ +/nyan/llvm/current/lib/libLLVMInstCombine.a \ +/nyan/llvm/current/lib/libLLVMLinker.a \ +/nyan/llvm/current/lib/libLLVMMCJIT.a \ +/nyan/llvm/current/lib/libLLVMAsmPrinter.a \ +/nyan/llvm/current/lib/libLLVMDlltoolDriver.a \ +/nyan/llvm/current/lib/libLLVMVectorize.a \ +/nyan/llvm/current/lib/libLLVMLibDriver.a \ +/nyan/llvm/current/lib/libLLVMBitWriter.a \ +/nyan/llvm/current/lib/libLLVMOrcJIT.a \ +/nyan/llvm/current/lib/libLLVMipo.a \ +/nyan/llvm/current/lib/libLLVMAsmParser.a \ +/nyan/llvm/current/lib/libLLVMObjCARCOpts.a \ +/nyan/llvm/current/lib/libLLVMObject.a \ +/nyan/llvm/current/lib/libLLVMAnalysis.a \ +/nyan/llvm/current/lib/libLLVMAMDGPUInfo.a \ +/nyan/llvm/current/lib/libLLVMAMDGPUAsmParser.a \ +/nyan/llvm/current/lib/libLLVMExecutionEngine.a \ +/nyan/llvm/current/lib/libLLVMAMDGPUCodeGen.a \ +/nyan/llvm/current/lib/libLLVMMCParser.a \ +/nyan/llvm/current/lib/libLLVMDemangle.a \ +/nyan/llvm/current/lib/libLLVMCoverage.a \ +/nyan/llvm/current/lib/libLLVMBitReader.a \ +/nyan/llvm/current/lib/libLLVMBitstreamReader.a \ +/nyan/llvm/current/lib/libLLVMWindowsManifest.a \ +/nyan/llvm/current/lib/libLLVMDebugInfoPDB.a \ +/nyan/llvm/current/lib/libLLVMDebugInfoDWARF.a \ +/nyan/llvm/current/lib/libLLVMDebugInfoCodeView.a \ +/nyan/llvm/current/lib/libLLVMAMDGPUDesc.a \ +/nyan/llvm/current/lib/libLLVMMIRParser.a \ +/nyan/llvm/current/lib/libLLVMCore.a \ +/nyan/llvm/current/lib/libLLVMAggressiveInstCombine.a \ +/nyan/llvm/current/lib/libLLVMInstrumentation.a \ +/nyan/llvm/current/lib/libLLVMMC.a \ +/nyan/llvm/current/lib/libLLVMOption.a \ +/nyan/llvm/current/lib/libLLVMTableGen.a \ +/nyan/llvm/current/lib/libLLVMSelectionDAG.a \ +/nyan/llvm/current/lib/libLLVMAMDGPUUtils.a \ +/nyan/llvm/current/lib/libLLVMMCDisassembler.a \ +/nyan/llvm/current/lib/libLLVMPasses.a \ +/nyan/llvm/current/lib/libLLVMIRReader.a \ +/nyan/llvm/current/lib/libLLVMGlobalISel.a \ +/nyan/llvm/current/lib/libLLVMSupport.a \ +/nyan/llvm/current/lib/libLLVMXRay.a \ +/nyan/llvm/current/lib/libLLVMTarget.a \ +/nyan/llvm/current/lib/libLLVMAMDGPUDisassembler.a \ +/nyan/llvm/current/lib/libLLVMRuntimeDyld.a \ +/nyan/llvm/current/lib/libLLVMTextAPI.a \ +-Wl,--end-group \ +" +external_deps_static_ldflags="$external_deps_static_ldflags $llvm_ldflags" +fi +#=============================================================================== diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/gallium.sh b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/gallium.sh new file mode 100644 index 0000000..fc2c842 --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/gallium.sh @@ -0,0 +1,7 @@ +echo "building AMD GCN GPU gallium driver components-->" +. $script_dir/gallium_auxiliary.sh +. $script_dir/gallium_winsys.sh +. $script_dir/gallium_drivers.sh +. $script_dir/gallium_frontends.sh +. $script_dir/gallium_targets.sh +echo "<--AMD GCN GPU gallium driver components built" diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/gallium_auxiliary.sh b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/gallium_auxiliary.sh new file mode 100644 index 0000000..18a756a --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/gallium_auxiliary.sh @@ -0,0 +1,311 @@ +printf "\tbuilding gallium auxiliary sub-components-->\n" + +libgallium_c_files="\ +$src_dir/src/gallium/auxiliary/cso_cache/cso_cache.c \ +$src_dir/src/gallium/auxiliary/cso_cache/cso_cache.h \ +$src_dir/src/gallium/auxiliary/cso_cache/cso_context.c \ +$src_dir/src/gallium/auxiliary/cso_cache/cso_hash.c \ +$src_dir/src/gallium/auxiliary/draw/draw_context.c \ +$src_dir/src/gallium/auxiliary/draw/draw_fs.c \ +$src_dir/src/gallium/auxiliary/draw/draw_gs.c \ +$src_dir/src/gallium/auxiliary/draw/draw_mesh.c \ +$src_dir/src/gallium/auxiliary/draw/draw_mesh_prim.c \ +$src_dir/src/gallium/auxiliary/draw/draw_pipe_aaline.c \ +$src_dir/src/gallium/auxiliary/draw/draw_pipe_aapoint.c \ +$src_dir/src/gallium/auxiliary/draw/draw_pipe.c \ +$src_dir/src/gallium/auxiliary/draw/draw_pipe_clip.c \ +$src_dir/src/gallium/auxiliary/draw/draw_pipe_cull.c \ +$src_dir/src/gallium/auxiliary/draw/draw_pipe_flatshade.c \ +$src_dir/src/gallium/auxiliary/draw/draw_pipe_offset.c \ +$src_dir/src/gallium/auxiliary/draw/draw_pipe_pstipple.c \ +$src_dir/src/gallium/auxiliary/draw/draw_pipe_stipple.c \ +$src_dir/src/gallium/auxiliary/draw/draw_pipe_twoside.c \ +$src_dir/src/gallium/auxiliary/draw/draw_pipe_unfilled.c \ +$src_dir/src/gallium/auxiliary/draw/draw_pipe_user_cull.c \ +$src_dir/src/gallium/auxiliary/draw/draw_pipe_util.c \ +$src_dir/src/gallium/auxiliary/draw/draw_pipe_validate.c \ +$src_dir/src/gallium/auxiliary/draw/draw_pipe_vbuf.c \ +$src_dir/src/gallium/auxiliary/draw/draw_pipe_wide_line.c \ +$src_dir/src/gallium/auxiliary/draw/draw_pipe_wide_point.c \ +$src_dir/src/gallium/auxiliary/draw/draw_prim_assembler.c \ +$src_dir/src/gallium/auxiliary/draw/draw_private.h \ +$src_dir/src/gallium/auxiliary/draw/draw_pt.c \ +$src_dir/src/gallium/auxiliary/draw/draw_pt_emit.c \ +$src_dir/src/gallium/auxiliary/draw/draw_pt_fetch.c \ +$src_dir/src/gallium/auxiliary/draw/draw_pt_fetch_shade_emit.c \ +$src_dir/src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline.c \ +$src_dir/src/gallium/auxiliary/draw/draw_pt_mesh_pipeline.c \ +$src_dir/src/gallium/auxiliary/draw/draw_pt_post_vs.c \ +$src_dir/src/gallium/auxiliary/draw/draw_pt_so_emit.c \ +$src_dir/src/gallium/auxiliary/draw/draw_pt_util.c \ +$src_dir/src/gallium/auxiliary/draw/draw_pt_vsplit.c \ +$src_dir/src/gallium/auxiliary/draw/draw_tess.c \ +$src_dir/src/gallium/auxiliary/draw/draw_vertex.c \ +$src_dir/src/gallium/auxiliary/draw/draw_vs.c \ +$src_dir/src/gallium/auxiliary/draw/draw_vs_exec.c \ +$src_dir/src/gallium/auxiliary/draw/draw_vs_variant.c \ +$src_dir/src/gallium/auxiliary/driver_ddebug/dd_context.c \ +$src_dir/src/gallium/auxiliary/driver_ddebug/dd_draw.c \ +$src_dir/src/gallium/auxiliary/driver_ddebug/dd_screen.c \ +$src_dir/src/gallium/auxiliary/driver_noop/noop_pipe.c \ +$src_dir/src/gallium/auxiliary/driver_noop/noop_state.c \ +$src_dir/src/gallium/auxiliary/driver_trace/tr_context.c \ +$src_dir/src/gallium/auxiliary/driver_trace/tr_dump.c \ +$src_dir/src/gallium/auxiliary/driver_trace/tr_dump_state.c \ +$src_dir/src/gallium/auxiliary/driver_trace/tr_public.h \ +$src_dir/src/gallium/auxiliary/driver_trace/tr_screen.c \ +$src_dir/src/gallium/auxiliary/driver_trace/tr_texture.c \ +$src_dir/src/gallium/auxiliary/driver_trace/tr_video.c \ +$build_dir/src/gallium/auxiliary/driver_trace/tr_util.c \ +$src_dir/src/gallium/auxiliary/hud/font.c \ +$src_dir/src/gallium/auxiliary/hud/hud_context.c \ +$src_dir/src/gallium/auxiliary/hud/hud_cpu.c \ +$src_dir/src/gallium/auxiliary/hud/hud_nic.c \ +$src_dir/src/gallium/auxiliary/hud/hud_cpufreq.c \ +$src_dir/src/gallium/auxiliary/hud/hud_diskstat.c \ +$src_dir/src/gallium/auxiliary/hud/hud_sensors_temp.c \ +$src_dir/src/gallium/auxiliary/hud/hud_driver_query.c \ +$src_dir/src/gallium/auxiliary/hud/hud_fps.c \ +$build_dir/src/gallium/auxiliary/indices/u_indices_gen.c \ +$src_dir/src/gallium/auxiliary/indices/u_primconvert.c \ +$build_dir/src/gallium/auxiliary/indices/u_unfilled_gen.c \ +$src_dir/src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c \ +$src_dir/src/gallium/auxiliary/pipebuffer/pb_bufmgr_cache.c \ +$src_dir/src/gallium/auxiliary/pipebuffer/pb_bufmgr_debug.c \ +$src_dir/src/gallium/auxiliary/pipebuffer/pb_bufmgr_mm.c \ +$src_dir/src/gallium/auxiliary/pipebuffer/pb_bufmgr_slab.c \ +$src_dir/src/gallium/auxiliary/pipebuffer/pb_cache.c \ +$src_dir/src/gallium/auxiliary/pipebuffer/pb_slab.c \ +$src_dir/src/gallium/auxiliary/pipebuffer/pb_validate.c \ +$src_dir/src/gallium/auxiliary/postprocess/pp_celshade.c \ +$src_dir/src/gallium/auxiliary/postprocess/pp_colors.c \ +$src_dir/src/gallium/auxiliary/postprocess/pp_colors.h \ +$src_dir/src/gallium/auxiliary/postprocess/pp_init.c \ +$src_dir/src/gallium/auxiliary/postprocess/pp_mlaa.c \ +$src_dir/src/gallium/auxiliary/postprocess/pp_program.c \ +$src_dir/src/gallium/auxiliary/postprocess/pp_run.c \ +$src_dir/src/gallium/auxiliary/rtasm/rtasm_execmem.c \ +$src_dir/src/gallium/auxiliary/rtasm/rtasm_x86sse.c \ +$src_dir/src/gallium/auxiliary/tgsi/tgsi_aa_point.c \ +$src_dir/src/gallium/auxiliary/tgsi/tgsi_build.c \ +$src_dir/src/gallium/auxiliary/tgsi/tgsi_dump.c \ +$src_dir/src/gallium/auxiliary/tgsi/tgsi_dynamic_indexing.c \ +$src_dir/src/gallium/auxiliary/tgsi/tgsi_exec.c \ +$src_dir/src/gallium/auxiliary/tgsi/tgsi_from_mesa.c \ +$src_dir/src/gallium/auxiliary/tgsi/tgsi_info.c \ +$src_dir/src/gallium/auxiliary/tgsi/tgsi_iterate.c \ +$src_dir/src/gallium/auxiliary/tgsi/tgsi_lowering.c \ +$src_dir/src/gallium/auxiliary/tgsi/tgsi_parse.c \ +$src_dir/src/gallium/auxiliary/tgsi/tgsi_point_sprite.c \ +$src_dir/src/gallium/auxiliary/tgsi/tgsi_sanity.c \ +$src_dir/src/gallium/auxiliary/tgsi/tgsi_scan.c \ +$src_dir/src/gallium/auxiliary/tgsi/tgsi_strings.c \ +$src_dir/src/gallium/auxiliary/tgsi/tgsi_text.c \ +$src_dir/src/gallium/auxiliary/tgsi/tgsi_transform.c \ +$src_dir/src/gallium/auxiliary/tgsi/tgsi_two_side.c \ +$src_dir/src/gallium/auxiliary/tgsi/tgsi_ureg.c \ +$src_dir/src/gallium/auxiliary/tgsi/tgsi_util.c \ +$src_dir/src/gallium/auxiliary/tgsi/tgsi_vpos.c \ +$src_dir/src/gallium/auxiliary/translate/translate.c \ +$src_dir/src/gallium/auxiliary/translate/translate_cache.c \ +$src_dir/src/gallium/auxiliary/translate/translate_generic.c \ +$src_dir/src/gallium/auxiliary/translate/translate_sse.c \ +$src_dir/src/gallium/auxiliary/util/u_async_debug.c \ +$src_dir/src/gallium/auxiliary/util/u_bitmask.c \ +$src_dir/src/gallium/auxiliary/util/u_blitter.c \ +$src_dir/src/gallium/auxiliary/util/u_cache.c \ +$src_dir/src/gallium/auxiliary/util/u_compute.c \ +$src_dir/src/gallium/auxiliary/util/u_debug_describe.c \ +$src_dir/src/gallium/auxiliary/util/u_debug_flush.c \ +$src_dir/src/gallium/auxiliary/util/u_debug_image.c \ +$src_dir/src/gallium/auxiliary/util/u_debug_refcnt.c \ +$src_dir/src/gallium/auxiliary/util/u_draw.c \ +$src_dir/src/gallium/auxiliary/util/u_draw_quad.c \ +$src_dir/src/gallium/auxiliary/util/u_driconf.c \ +$src_dir/src/gallium/auxiliary/util/u_dump_defines.c \ +$src_dir/src/gallium/auxiliary/util/u_dump_state.c \ +$src_dir/src/gallium/auxiliary/util/u_framebuffer.c \ +$src_dir/src/gallium/auxiliary/util/u_gen_mipmap.c \ +$src_dir/src/gallium/auxiliary/util/u_handle_table.c \ +$src_dir/src/gallium/auxiliary/util/u_helpers.c \ +$src_dir/src/gallium/auxiliary/util/u_index_modify.c \ +$src_dir/src/gallium/auxiliary/util/u_live_shader_cache.c \ +$src_dir/src/gallium/auxiliary/util/u_log.c \ +$src_dir/src/gallium/auxiliary/util/u_prim.c \ +$src_dir/src/gallium/auxiliary/util/u_prim_restart.c \ +$src_dir/src/gallium/auxiliary/util/u_pstipple.c \ +$src_dir/src/gallium/auxiliary/util/u_resource.c \ +$src_dir/src/gallium/auxiliary/util/u_sample_positions.c \ +$src_dir/src/gallium/auxiliary/util/u_sampler.c \ +$src_dir/src/gallium/auxiliary/util/u_screen.c \ +$src_dir/src/gallium/auxiliary/util/u_simple_shaders.c \ +$src_dir/src/gallium/auxiliary/util/u_split_draw.c \ +$src_dir/src/gallium/auxiliary/util/u_suballoc.c \ +$src_dir/src/gallium/auxiliary/util/u_surface.c \ +$src_dir/src/gallium/auxiliary/util/u_tests.c \ +$src_dir/src/gallium/auxiliary/util/u_texture.c \ +$src_dir/src/gallium/auxiliary/util/u_tile.c \ +$src_dir/src/gallium/auxiliary/util/u_transfer.c \ +$src_dir/src/gallium/auxiliary/util/u_transfer_helper.c \ +$src_dir/src/gallium/auxiliary/util/u_threaded_context.c \ +$src_dir/src/gallium/auxiliary/util/u_upload_mgr.c \ +$src_dir/src/gallium/auxiliary/util/u_vbuf.c \ +$src_dir/src/gallium/auxiliary/util/u_vertex_state_cache.c \ +$src_dir/src/gallium/auxiliary/nir/nir_draw_helpers.c \ +$src_dir/src/gallium/auxiliary/nir/tgsi_to_nir.c \ +$src_dir/src/gallium/auxiliary/nir/nir_to_tgsi.c \ +\ +$src_dir/src/gallium/auxiliary/renderonly/renderonly.c" + +libgallium_cxx_files="\ +$src_dir/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp \ +$src_dir/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp \ +$src_dir/src/gallium/auxiliary/tessellator/p_tessellator.cpp \ +$src_dir/src/gallium/auxiliary/tessellator/tessellator.cpp \ +" + +#------------------------------------------------------------------------------ +wait + +for f in $libgallium_c_files +do + libgallium_c_obj_dir=$(dirname $f) + libgallium_c_obj_dir=$build_dir/${libgallium_c_obj_dir#*/src/} + mkdir -p $libgallium_c_obj_dir + + libgallium_c_obj=$libgallium_c_obj_dir/$(basename $f .c).o + libgallium_a="$libgallium_a $libgallium_c_obj" + + $cco_slib -o $libgallium_c_obj $f \ + -I$build_dir/src/gallium/auxiliary/driver_trace \ + -I$build_dir/src/compiler/nir \ + -I$src_dir/src/compiler/nir \ + -I$build_dir/src/compiler \ + -I$src_dir/src/compiler \ + -I$src_dir/src/gallium/auxiliary/util \ + -I$src_dir/src/gallium/auxiliary \ + -I$src_dir/src/gallium/include \ + -I$src_dir/src/util \ + -I$src_dir/src \ + -I$src_dir/include \ + \ + $cco_slib_common_trailer & +done + +wait + +#------------------------------------------------------------------------------- + +for f in $libgallium_cxx_files +do + libgallium_cxx_obj_dir=$(dirname $f) + libgallium_cxx_obj_dir=$build_dir/${libgallium_cxx_obj_dir#*/src/} + mkdir -p $libgallium_cxx_obj_dir + + libgallium_cxx_obj="$libgallium_cxx_obj_dir/$(basename $f .cpp).o" + libgallium_a="$libgallium_a $libgallium_cxx_obj" + + $cxxo_slib -o $libgallium_cxx_obj $f \ + -I$build_dir/src/compiler \ + -I$src_dir/src/compiler \ + -I$build_dir/src/gallium/auxiliary/driver_trace \ + -I$src_dir/src/gallium/auxiliary \ + -I$src_dir/src/gallium/include \ + -I$src_dir/src/util \ + -I$src_dir/src \ + -I$src_dir/include \ + \ + $cxxo_slib_common_trailer & +done + +wait + +#------------------------------------------------------------------------------- + +$ar $build_dir/libgallium.a $libgallium_a + +#=============================================================================== +# pipe-loader +# "backends" declare "devices", each linked to a specific winsys (windows +# system): +# +# - drm pipe-loader backend: declare a pipe loader device for each drm +# supported piece of hardware. Each pipe loader device gets linked to the +# piece of hardware specific winsys. For instance, amdgpu/drm device gets +# linked to amdgpu/drm winsys (with the legacy radeon/drm winsys +# fallback). The drm backend is include only if HAVE_LIBDRM is defined. +# +# - sw ("software") backend: declare the following devices: +# - dri device linked to the dri winsys if HAVE_PIPE_LOADER_DRI is +# defined +# - kms_dri device linked to the kms_dri winsys if +# HAVE_PIPE_LOADER_KMS is defined +# - null device linked to the null winsys if DROP_PIPE_LOADER_MISC +# is _NOT_ defined +# - wrapper device linked to the wrapper winsys if +# DROP_PIPE_LOADER_MISC is _NOT_ defined + +libpipe_loader_static_files="\ +$build_dir/src/gallium/auxiliary/pipe-loader/pipe_loader.c \ +\ +$src_dir/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c \ +" + +#------------------------------------------------------------------------------- + +for f in $libpipe_loader_static_files +do + libpipe_loader_static_c_obj_dir=$(dirname $f) + libpipe_loader_static_c_obj_dir=$build_dir/${libpipe_loader_static_c_obj_dir#*/src/} + mkdir -p $libpipe_loader_static_c_obj_dir + + libpipe_loader_static_c_obj="$libpipe_loader_static_c_obj_dir/$(basename $f .c).o" + libpipe_loader_static_a="$libpipe_loader_static_a $libpipe_loader_static_c_obj" + + $cco_slib -o $libpipe_loader_static_c_obj $f \ + -DGALLIUM_STATIC_TARGETS=1 \ + \ + -I$build_dir/src/compiler \ + -I$src_dir/src/compiler \ + -I$build_dir/src/util \ + -I$src_dir/src/gallium/auxiliary/pipe-loader \ + -I$src_dir/src/gallium/winsys \ + -I$src_dir/src/gallium/auxiliary \ + -I$src_dir/src/gallium/include \ + -I$src_dir/src/util \ + -I$src_dir/src/loader \ + -I$src_dir/src \ + -I$src_dir/include \ + \ + $cco_slib_common_trailer & + +done + +wait + +#------------------------------------------------------------------------------- + +$ar $build_dir/libpipe_loader_static.a $libpipe_loader_static_a + +#=============================================================================== +# galliumvl +# vl=Video Layer, where you can find vdpau/vapi hardwarer accelerated drivers, +# but we do use only the empty stubs + +mkdir -p $build_dir/gallium/auxiliary/vl +$cco_slib -o $build_dir/gallium/auxiliary/vl/vl_stubs.o $src_dir/src/gallium/auxiliary/vl/vl_stubs.c \ + -I$build_dir/src/compiler \ + -I$src_dir/src/compiler \ + -I$src_dir/src/gallium/auxiliary \ + -I$src_dir/src/gallium/include \ + -I$src_dir/src/util \ + -I$src_dir/src \ + -I$src_dir/include \ + \ + $cco_slib_common_trailer + +#------------------------------------------------------------------------------- + +$ar $build_dir/libgalliumvl.a $build_dir/gallium/auxiliary/vl/vl_stubs.o + +printf "\t<--gallium auxiliary sub-components built\n" diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/gallium_drivers.sh b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/gallium_drivers.sh new file mode 100644 index 0000000..decf672 --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/gallium_drivers.sh @@ -0,0 +1,183 @@ +printf "\tbuilding drivers sub-components-->\n" +mkdir -p $build_dir/src/gallium/drivers/radeonsi + +libradeonsi_files_c="\ +$build_dir/src/gallium/drivers/radeonsi/gfx10_format_table.c \ +$src_dir/src/gallium/drivers/radeonsi/gfx11_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_lower_abi.c \ +$src_dir/src/gallium/drivers/radeonsi/si_nir_lower_resource.c \ +$src_dir/src/gallium/drivers/radeonsi/si_nir_lower_vs_inputs.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_shader_aco.c \ +$src_dir/src/gallium/drivers/radeonsi/si_shader_info.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_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_dma_perf.c \ +$src_dir/src/gallium/drivers/radeonsi/si_test_image_copy_region.c \ +$src_dir/src/gallium/drivers/radeonsi/si_texture.c \ +$build_dir/src/gallium/drivers/radeonsi/si_uvd.c \ +\ +$src_dir/src/gallium/drivers/radeonsi/radeon_uvd.c \ +$src_dir/src/gallium/drivers/radeonsi/radeon_vcn.c \ +$src_dir/src/gallium/drivers/radeonsi/radeon_vcn_enc_1_2.c \ +$src_dir/src/gallium/drivers/radeonsi/radeon_vcn_enc_2_0.c \ +$src_dir/src/gallium/drivers/radeonsi/radeon_vcn_enc_3_0.c \ +$src_dir/src/gallium/drivers/radeonsi/radeon_vcn_enc_4_0.c \ +$src_dir/src/gallium/drivers/radeonsi/radeon_vcn_enc.c \ +$src_dir/src/gallium/drivers/radeonsi/radeon_vcn_dec_jpeg.c \ +$src_dir/src/gallium/drivers/radeonsi/radeon_vcn_dec.c \ +$src_dir/src/gallium/drivers/radeonsi/radeon_uvd_enc_1_1.c \ +$src_dir/src/gallium/drivers/radeonsi/radeon_uvd_enc.c \ +$src_dir/src/gallium/drivers/radeonsi/radeon_vce_40_2_2.c \ +$src_dir/src/gallium/drivers/radeonsi/radeon_vce_50.c \ +$src_dir/src/gallium/drivers/radeonsi/radeon_vce_52.c \ +$src_dir/src/gallium/drivers/radeonsi/radeon_vce.c \ +$src_dir/src/gallium/drivers/radeonsi/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$src_dir/src/util \ + -I$src_dir/src/amd/llvm \ + -I$src_dir/src/amd/compiler \ + -I$build_dir/src/amd/common \ + -I$src_dir/src/amd/common \ + -I$build_dir/src/amd \ + -I$src_dir/src/amd \ + -I$build_dir/src/gallium/drivers/radeonsi \ + -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$build_dir/src/compiler/nir \ + -I$src_dir/src/compiler/nir \ + -I$build_dir/src/compiler \ + -I$src_dir/src/compiler \ + -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$src_dir/src/util \ + -I$src_dir/src/amd/llvm \ + -I$src_dir/src/amd/compiler \ + -I$build_dir/src/amd/common \ + -I$src_dir/src/amd/common \ + -I$build_dir/src/amd \ + -I$src_dir/src/amd \ + -I$build_dir/src/gallium/drivers/radeonsi \ + -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$build_dir/src/compiler/nir \ + -I$src_dir/src/compiler/nir \ + -I$build_dir/src/compiler \ + -I$src_dir/src/compiler \ + -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 11 +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$src_dir/src/util \ + -I$src_dir/src/amd/llvm \ + -I$src_dir/src/amd/compiler \ + -I$build_dir/src/amd/common \ + -I$src_dir/src/amd/common \ + -I$build_dir/src/amd \ + -I$src_dir/src/amd \ + -I$build_dir/src/gallium/drivers/radeonsi \ + -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$build_dir/src/compiler/nir \ + -I$src_dir/src/compiler/nir \ + -I$build_dir/src/compiler \ + -I$src_dir/src/compiler \ + -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" diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/gallium_frontends.sh b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/gallium_frontends.sh new file mode 100644 index 0000000..15fea7d --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/gallium_frontends.sh @@ -0,0 +1,72 @@ +printf "\tbuilding frontends sub-components-->\n" + +libdricommon_files="\ +$build_dir/src/gallium/frontends/dri/dri_util.c \ +" + +for f in $libdricommon_files +do + libdricommon_obj_dir=$(dirname $f) + libdricommon_obj_dir=$build_dir/${libdricommon_obj_dir#*/src/} + mkdir -p $libdricommon_obj_dir + + libdricommon_obj=$libdricommon_obj_dir/$(basename $f .c).o + libdricommon_a="$libdricommon_a $libdricommon_obj" + + $cco_slib -o $libdricommon_obj $f \ + -I$build_dir/src/util \ + -I$build_dir/src/gallium/frontends/dri \ + -I$src_dir/src/gallium/frontends/dri \ + -I$src_dir/src/gallium/auxiliary \ + -I$src_dir/src/gallium/include \ + -I$src_dir/src/mapi \ + -I$src_dir/src/mesa \ + -I$src_dir/src/ \ + -I$src_dir/include \ + \ + $cco_slib_common_trailer & +done + +wait +$ar $build_dir/libdricommon.a $libdricommon_a + +#=============================================================================== + +libdri_files="\ +$src_dir/src/gallium/frontends/dri/dri_context.c \ +$src_dir/src/gallium/frontends/dri/dri_drawable.c \ +$src_dir/src/gallium/frontends/dri/dri_helpers.c \ +$src_dir/src/gallium/frontends/dri/dri_query_renderer.c \ +$src_dir/src/gallium/frontends/dri/dri_screen.c \ +\ +$build_dir/src/gallium/frontends/dri/dri2.c \ +" + +for f in $libdri_files +do + libdri_obj_dir=$(dirname $f) + libdri_obj_dir=$build_dir/${libdri_obj_dir#*/src/} + mkdir -p $libdri_obj_dir + + libdri_obj=$libdri_obj_dir/$(basename $f .c).o + libdri_a="$libdri_a $libdri_obj" + + $cco_slib -o $libdri_obj $f \ + -I$build_dir/src/gallium/frontends/dri \ + -I$build_dir/src \ + -I$src_dir/src/gallium/frontends/dri \ + -I$src_dir/src/gallium/auxiliary \ + -I$src_dir/src/gallium/include \ + -I$src_dir/src/mesa/drivers/dri/common \ + -I$src_dir/src/mesa \ + -I$src_dir/src/mapi \ + -I$src_dir/src \ + -I$src_dir/include \ + $cco_slib_common_trailer & +done + +wait + +$ar $build_dir/libdri.a $libdri_a + +printf "\t<--frontends sub-components built\n" diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/gallium_state_trackers.sh b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/gallium_state_trackers.sh new file mode 100644 index 0000000..df1d73b --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/gallium_state_trackers.sh @@ -0,0 +1,37 @@ +printf "\tbuilding state trackers sub-components-->\n" + +libdri_files="\ +$src_dir/src/gallium/state_trackers/dri/dri_context.c \ +$src_dir/src/gallium/state_trackers/dri/dri_drawable.c \ +$src_dir/src/gallium/state_trackers/dri/dri_helpers.c \ +$src_dir/src/gallium/state_trackers/dri/dri_query_renderer.c \ +$src_dir/src/gallium/state_trackers/dri/dri_screen.c \ +\ +$src_dir/src/gallium/state_trackers/dri/dri2.c \ +" + +for f in $libdri_files +do + libdri_obj_dir=$(dirname $f) + libdri_obj_dir=$build_dir/${libdri_obj_dir#*/src/} + mkdir -p $libdri_obj_dir + + libdri_obj=$libdri_obj_dir/$(basename $f .c).o + libdri_a="$libdri_a $libdri_obj" + + $cco_slib -o $libdri_obj $f \ + -I$src_dir/src/gallium/auxiliary \ + -I$src_dir/src/gallium/include \ + -I$src_dir/src/mesa/drivers/dri/common \ + -I$src_dir/src/mesa \ + -I$src_dir/src/mapi \ + -I$src_dir/src \ + -I$src_dir/include \ + $cco_slib_common_trailer & +done + +wait + +$ar $build_dir/libdri.a $libdri_a + +printf "\t<--state trackers sub-components built\n" diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/gallium_targets.sh b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/gallium_targets.sh new file mode 100644 index 0000000..15dddb8 --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/gallium_targets.sh @@ -0,0 +1,79 @@ +printf "\tbuilding targets sub-components-->\n" + +mkdir -p $build_dir/gallium/targets/dri + +$cco_slib -o $build_dir/gallium/targets/dri/target.o $src_dir/src/gallium/targets/dri/target.c \ + -DGALLIUM_RADEONSI \ + \ + -I$build_dir/src/gallium/auxiliary \ + \ + -I$build_dir/src/util \ + -I$build_dir/src/gallium/drivers \ + -I$build_dir/src/gallium/frontends/dri \ + -I$src_dir/src/gallium/frontends/dri \ + -I$src_dir/src/gallium/winsys \ + -I$src_dir/src/gallium/drivers \ + -I$src_dir/src/gallium/auxiliary \ + -I$src_dir/src/gallium/include \ + -I$src_dir/src/mesa/drivers/dri/common \ + -I$src_dir/src/mesa \ + -I$src_dir/src \ + -I$src_dir/include \ + $cco_slib_common_trailer + +#------------------------------------------------------------------------------- + +# This is the opengl common ("mesa") dri gallium driver + +mkdir -p $build_dir/install_root$dri_driver_search_dir + +#TODO: removed +#$build_dir/libmesa_sse41.a \ +if test "${gallium_dri_link_cmd-unset}" = unset ; then +gallium_dri_link_cmd="\ +g++ -o $build_dir/install_root$dri_driver_search_dir/radeonsi_dri.so -Wl,-soname=gallium_dri.so \ +-shared -static-libgcc -static-libstdc++ \ +-B/nyan/glibc/current/lib -L/nyan/glibc/current/lib \ +-Wl,-rpath-link,/nyan/glibc/current/lib \ +-Wl,--version-script=$src_dir/src/gallium/targets/dri/dri.sym \ +-Wl,--no-undefined,--gc-sections \ + $build_dir/gallium/targets/dri/target.o \ +\ + -Wl,--start-group \ + $build_dir/libmesa_gallium.a \ + $build_dir/libglsl.a \ + $build_dir/libglcpp.a \ + $build_dir/libnir.a \ + $build_dir/libaco.a \ + $build_dir/libcompiler.a \ +\ + $build_dir/libdricommon.a \ + $build_dir/libdri.a \ + $build_dir/libgallium.a \ + $build_dir/libgalliumvl.a \ +\ + $build_dir/libpipe_loader_static.a \ + $build_dir/libloader.a \ + $build_dir/libxmlconfig.a \ +\ + $build_dir/libradeonsi.a \ + $libradeonsi_gfx_libs \ + $build_dir/libmesa_util.a \ + $build_dir/libwinsys_amdgpu_drm.a \ + $build_dir/libaddrlib.a \ + $build_dir/libamd_llvm.a \ + $build_dir/libamd_common.a \ + -Wl,--end-group \ +\ + $external_deps_static_ldflags \ + -Wl,--exclude-libs,$external_deps_archives:$llvm_archives:libstdc++.a \ +\ + -Wl,--as-needed \ + $build_dir/install_root$libdir/libglapi.so.0.0.0 \ + $external_deps_ldflags \ + $glibc_ldflags \ + -Wl,--no-as-needed" +fi +eval $gallium_dri_link_cmd + +printf "\t<--targets sub-components built\n" diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/gallium_winsys.sh b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/gallium_winsys.sh new file mode 100644 index 0000000..31a96ef --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/gallium_winsys.sh @@ -0,0 +1,40 @@ +printf "\tbuilding winsys sub-components-->\n" +mkdir -p $build_dir/gallium/winsys + +libwinsys_amdgpu_drm_files="\ +$src_dir/src/gallium/winsys/amdgpu/drm/amdgpu_bo.c \ +$src_dir/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c \ +$src_dir/src/gallium/winsys/amdgpu/drm/amdgpu_surface.c \ +$src_dir/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c \ +" +#------------------------------------------------------------------------------- + +for f in $libwinsys_amdgpu_drm_files +do + libwinsys_amdgpu_drm_obj_dir=$(dirname $f) + libwinsys_amdgpu_drm_obj_dir=$build_dir/${libwinsys_amdgpu_drm_obj_dir#*/src/} + mkdir -p $libwinsys_amdgpu_drm_obj_dir + + libwinsys_amdgpu_drm_obj=$libwinsys_amdgpu_drm_obj_dir/$(basename $f .c).o + libwinsys_amdgpu_drm_a="$libwinsys_amdgpu_drm_a $libwinsys_amdgpu_drm_obj" + + $cco_slib -o $libwinsys_amdgpu_drm_obj $f \ + -I$build_dir/src/amd \ + -I$src_dir/src/gallium/auxiliary \ + -I$src_dir/src/gallium/include \ + -I$src_dir/src/amd/llvm \ + -I$build_dir/src/amd/common \ + -I$src_dir/src/amd/common \ + -I$src_dir/src/amd \ + -I$src_dir/src \ + -I$src_dir/include \ + $cco_slib_common_trailer & +done + +wait + +#------------------------------------------------------------------------------- + +$ar $build_dir/libwinsys_amdgpu_drm.a $libwinsys_amdgpu_drm_a + +printf "\t<--winsys sub-components built\n" diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/gbm.sh b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/gbm.sh new file mode 100644 index 0000000..a36d9c0 --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/gbm.sh @@ -0,0 +1,90 @@ +echo "building GBM (Generic Buffer Manager) components-->" +# only one backend, (dri level 2)/drm +mkdir -p $build_dir/gbm + +#=============================================================================== + +$cco_slib -o $build_dir/gbm/backend.o $src_dir/src/gbm/main/backend.c \ + -DDEFAULT_BACKENDS_PATH=\"$libdir/gbm\" \ + -I$src_dir/src/gbm/main \ + -I$src_dir/src/loader \ + -I$src_dir/include \ + \ + $cco_slib_common_trailer & + +#=============================================================================== + +$cco_slib -o $build_dir/gbm/gbm.o $src_dir/src/gbm/main/gbm.c \ + -I$src_dir/src/gbm/main \ + -I$src_dir/include \ + \ + $cco_slib_common_trailer & + +#=============================================================================== + +$cco_slib -o $build_dir/gbm/gbm_dri.o $src_dir/src/gbm/backends/dri/gbm_dri.c \ + -I$src_dir/src/gbm/backends/dri \ + -I$src_dir/src/gbm/main \ + -I$src_dir/src/loader \ + -I$src_dir/src/ \ + -I$src_dir/include \ + \ + $cco_slib_common_trailer & + +#=============================================================================== + +wait + +mkdir -p $build_dir/install_root$libdir + +if test "${libgbm_link_cmd-unset}" = unset ; then +libgbm_link_cmd="\ +gcc -o $build_dir/install_root$libdir/libgbm.so.1.0.0 -Wl,-soname=libgbm.so.1 \ +-shared -static-libgcc \ +-B/nyan/glibc/current/lib -L/nyan/glibc/current/lib \ +-Wl,-rpath-link,/nyan/glibc/current/lib \ +-Wl,--no-undefined,--gc-sections \ + $build_dir/gbm/backend.o \ + $build_dir/gbm/gbm.o \ + $build_dir/gbm/gbm_dri.o \ +\ + $build_dir/libloader.a \ + $build_dir/libxmlconfig.a \ + $build_dir/libmesa_util.a \ +\ + $external_deps_static_ldflags \ + -Wl,--exclude-libs,$external_deps_archives \ +\ + -Wl,--as-needed \ + $external_deps_ldflags \ + $glibc_ldflags \ + -Wl,--no-as-needed\ +" +fi +eval $libgbm_link_cmd + +ln -sf libgbm.so.1.0.0 $build_dir/install_root$libdir/libgbm.so.1 +ln -sf libgbm.so.1 $build_dir/install_root$libdir/libgbm.so + +#=============================================================================== + +mkdir -p $build_dir/install_root$libdir/pkgconfig + +cp -f $src_dir/contrib/pkgconfig/gbm.pc.in $build_dir/install_root$libdir/pkgconfig/gbm.pc +sed -i "\ +s:@prefix@:$prefix:;\ +s:@exec_prefix@:$prefix:;\ +s:@libdir@:$libdir:;\ +s:@includedir@:$incdir:;\ +s:@gbmbackendspath@:$libdir/gbm:;\ +s:@GBM_PC_REQ_PRIV@::;\ +s:@VERSION@:$version:;\ +s:@GBM_PC_LIB_PRIV@::;\ +" $build_dir/install_root$libdir/pkgconfig/gbm.pc + +#------------------------------------------------------------------------------ + +mkdir -p $build_dir/install_root$incdir + +cp -f $src_dir/src/gbm/main/gbm.h $build_dir/install_root$incdir +echo "<--GBM components built" diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/gcc_binutils.sh b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/gcc_binutils.sh new file mode 100644 index 0000000..9e3faf7 --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/gcc_binutils.sh @@ -0,0 +1,72 @@ +# toolchain configuration, here gcc +# slib = Shared LIBrary +if test "${cco_slib-unset}" = unset; then +cco_slib='gcc -fvisibility=hidden -static-libgcc -pipe -fPIC -std=c99 -c' +fi + +# llvm is now c++ crap from 2014, and aco is c++ crap from 2017. +if test "${cxxo_slib-unset}" = unset; then +cxxo_slib='g++ -fvisibility=hidden -static-libgcc -static-libstdc++ -std=c++17 -fno-rtti -pipe -fPIC -c' +fi + +if test "${cflags_opt-unset}" = unset; then +cflags_opt='-O2 -Wno-stringop-overflow -idirafter /nyan/glibc/current/include -idirafter /nyan/linux-headers/current/include' +fi + +if test "${cxxflags_opt-unset}" = unset; then +cxxflags_opt='-O2 -Wno-stringop-overflow -idirafter /nyan/glibc/current/include -idirafter /nyan/linux-headers/current/include' +fi + +if test "${ar_rcs-unset}" = unset; then +ar='ar rcs' +fi + +# gcc built-in +gcc_builtins_cppflags="\ +-DHAVE___BUILTIN_BSWAP32=1 \ +-DHAVE___BUILTIN_BSWAP64=1 \ +-DHAVE___BUILTIN_CLZ=1 \ +-DHAVE___BUILTIN_CLZLL=1 \ +-DHAVE___BUILTIN_CTZ=1 \ +-DHAVE___BUILTIN_EXPECT=1 \ +-DHAVE___BUILTIN_FFS=1 \ +-DHAVE___BUILTIN_FFSLL=1 \ +-DHAVE___BUILTIN_POPCOUNT=1 \ +-DHAVE___BUILTIN_POPCOUNTLL=1 \ +-DHAVE___BUILTIN_UNREACHABLE=1 \ +" + +# gcc attributes +gcc_attributes_cppflags="\ +-DHAVE_FUNC_ATTRIBUTE_CONST=1 \ +-DHAVE_FUNC_ATTRIBUTE_FLATTEN=1 \ +-DHAVE_FUNC_ATTRIBUTE_MALLOC=1 \ +-DHAVE_FUNC_ATTRIBUTE_PURE=1 \ +-DHAVE_FUNC_ATTRIBUTE_UNUSED=1 \ +-DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1 \ +-DHAVE_FUNC_ATTRIBUTE_WEAK=1 \ +\ +-DHAVE_FUNC_ATTRIBUTE_FORMAT=1 \ +-DHAVE_FUNC_ATTRIBUTE_PACKED=1 \ +-DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1 \ +-DHAVE_FUNC_ATTRIBUTE_VISIBILITY=1 \ +-DHAVE_FUNC_ATTRIBUTE_ALIAS=1 \ +-DHAVE_FUNC_ATTRIBUTE_NORETURN=1 \ +" + +#TODO: removed +#-DUSE_SSE41=1 \ +#-DUSE_X86_64_ASM=1 \ +# gcc misc +# asm for x86 is -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM +# asm for x86-64 is only USE_X86_64_ASM +# must manually defines asm ABI struct size for cross-compiling +gcc_misc_cppflags="\ +-DUSE_GCC_ATOMIC_BUILTINS=1 \ +" + +gcc_cppflags="\ +$gcc_builtins_cppflags \ +$gcc_attributes_cppflags \ +$gcc_misc_cppflags \ +" diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators_amd.sh b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators_amd.sh new file mode 100644 index 0000000..88a85c7 --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators_amd.sh @@ -0,0 +1,75 @@ +echo "Running AMD GPU code generators-->" +#=============================================================================== +# common +mkdir -p $build_dir/src/amd/common + +$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/gfx11.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 \ +>$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/gfx103.json \ +$src_dir/src/amd/registers/gfx11.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 \ +--sort address \ +--guard AMDGFXREGS_H \ +>$build_dir/src/amd/common/amdgfxregs.h & +#=============================================================================== +# aco +mkdir -p $build_dir/src/amd/compiler + +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 +#=============================================================================== +# gallium driver +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 \ +$src_dir/src/amd/registers/gfx11-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 +#=============================================================================== +echo "<--AMD GPU code generation done" diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators_compiler.sh b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators_compiler.sh new file mode 100644 index 0000000..773da37 --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators_compiler.sh @@ -0,0 +1,15 @@ +printf "Running compiler code generators-->\n" +mkdir -p $build_dir/src/compiler +#=============================================================================== +export PYTHONPATH=$mako +$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 +printf "<--compiler code generation started\n" diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators_egl.sh b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators_egl.sh new file mode 100644 index 0000000..73608ac --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators_egl.sh @@ -0,0 +1,7 @@ +printf "Running egl code generators-->\n" +mkdir -p $build_dir/src/egl/drivers/dri2 +# fix gbm/dri level 2/drm egl platform (because most of the builds do enable +# the additional x11/dri3/drm egl platform) +cp -f $src_dir/src/egl/drivers/dri2/egl_dri2.c $build_dir/src/egl/drivers/dri2 +patch -i $script_dir/egl_dri2.c.patch $build_dir/src/egl/drivers/dri2/egl_dri2.c & +printf "<--egl code generation done\n" diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators_gallium_auxiliary.sh b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators_gallium_auxiliary.sh new file mode 100644 index 0000000..71e408e --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators_gallium_auxiliary.sh @@ -0,0 +1,31 @@ +printf "Running gallium auxiliary code generators-->\n" +#------------------------------------------------------------------------------- +# wow, some genius adding a new code generator to obsolete code +mkdir -p $build_dir/src/gallium/auxiliary/driver_trace + +$python3 $src_dir/src/gallium/auxiliary/driver_trace/enums2names.py \ + $src_dir/src/gallium/include/pipe/p_defines.h \ + $src_dir/src/gallium/include/pipe/p_video_enums.h \ + $src_dir/src/util/blend.h \ + -C $build_dir/src/gallium/auxiliary/driver_trace/tr_util.c \ + -H $build_dir/src/gallium/auxiliary/driver_trace/tr_util.h \ + -I tr_util.h +#------------------------------------------------------------------------------- +mkdir -p $build_dir/src/gallium/auxiliary/indices + +$python3 $src_dir/src/gallium/auxiliary/indices/u_indices_gen.py \ +$build_dir/src/gallium/auxiliary/indices/u_indices_gen.c + +$python3 $src_dir/src/gallium/auxiliary/indices/u_unfilled_gen.py \ +$build_dir/src/gallium/auxiliary/indices/u_unfilled_gen.c +#------------------------------------------------------------------------------- +# do remove the sw backend keep only the drm backend +mkdir -p $build_dir/src/gallium/auxiliary/pipe-loader + +cp -f $src_dir/src/gallium/auxiliary/pipe-loader/pipe_loader.c \ +$build_dir/src/gallium/auxiliary/pipe-loader/ + +patch -i $script_dir/pipe_loader.c.patch \ +$build_dir/src/gallium/auxiliary/pipe-loader/pipe_loader.c & +#------------------------------------------------------------------------------- +printf "<--gallium auxiliary code generation done\n" diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators_gallium_frontends.sh b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators_gallium_frontends.sh new file mode 100644 index 0000000..f25020a --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators_gallium_frontends.sh @@ -0,0 +1,16 @@ +printf "Running gallium frontends code generators-->\n" +# remove drisw (should be compilable out) +mkdir -p $build_dir/src/gallium/frontends/dri +cp -f $src_dir/src/gallium/frontends/dri/dri_util.h \ + $build_dir/src/gallium/frontends/dri +patch -i $script_dir/dri_util.h.patch \ + $build_dir/src/gallium/frontends/dri/dri_util.h & +cp -f $src_dir/src/gallium/frontends/dri/dri_util.c \ + $build_dir/src/gallium/frontends/dri +patch -i $script_dir/dri_util.c.patch \ + $build_dir/src/gallium/frontends/dri/dri_util.c & +cp -f $src_dir/src/gallium/frontends/dri/dri2.c \ + $build_dir/src/gallium/frontends/dri +patch -i $script_dir/dri2.c.patch \ + $build_dir/src/gallium/frontends/dri/dri2.c & +printf "<--gallium frontends code generation done\n" diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators_glsl.sh b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators_glsl.sh new file mode 100644 index 0000000..6ff54e4 --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators_glsl.sh @@ -0,0 +1,69 @@ +printf "Running glsl code generators-->\n" +mkdir -p $build_dir/src/compiler/glsl + +export PYTHONPATH=$mako +$python3 $src_dir/src/compiler/glsl/ir_expression_operation.py enum \ +>$build_dir/src/compiler/glsl/ir_expression_operation.h & +unset PYTHONPATH +#=============================================================================== +mkdir -p $build_dir/src/compiler/glsl/glcpp + +$bison \ +-o $build_dir/src/compiler/glsl/glcpp/glcpp-parse.c \ +-p glcpp_parser_ \ +--defines=$build_dir/src/compiler/glsl/glcpp/glcpp-parse.h \ +$src_dir/src/compiler/glsl/glcpp/glcpp-parse.y & +#------------------------------------------------------------------------------ +$flex \ +-o $build_dir/src/compiler/glsl/glcpp/glcpp-lex.c \ +$src_dir/src/compiler/glsl/glcpp/glcpp-lex.l & +#=============================================================================== +$bison \ +-o $build_dir/src/compiler/glsl/glsl_parser.cpp \ +-p _mesa_glsl_ \ +--defines=$build_dir/src/compiler/glsl/glsl_parser.h \ +$src_dir/src/compiler/glsl/glsl_parser.yy & +#------------------------------------------------------------------------------ +$flex \ +-o $build_dir/src/compiler/glsl/glsl_lexer.cpp \ +$src_dir/src/compiler/glsl/glsl_lexer.ll & +#------------------------------------------------------------------------------ +export PYTHONPATH=$mako +$python3 $src_dir/src/compiler/glsl/ir_expression_operation.py constant \ +>$build_dir/src/compiler/glsl/ir_expression_operation_constant.h & +#------------------------------------------------------------------------------ +$python3 $src_dir/src/compiler/glsl/ir_expression_operation.py strings \ +>$build_dir/src/compiler/glsl/ir_expression_operation_strings.h & +unset PYTHONPATH +#------------------------------------------------------------------------------ +$python3 $src_dir/src/util/xxd.py \ +$src_dir/src/compiler/glsl/float64.glsl \ +$build_dir/src/compiler/glsl/float64_glsl.h \ +-n float64_source & +#------------------------------------------------------------------------------ +$python3 $src_dir/src/util/xxd.py \ +$src_dir/src/compiler/glsl/CrossPlatformSettings_piece_all.glsl \ +$build_dir/src/compiler/glsl/cross_platform_settings_piece_all.h \ +-n cross_platform_settings_piece_all_header & +#------------------------------------------------------------------------------ +$python3 $src_dir/src/util/xxd.py \ +$src_dir/src/compiler/glsl/bc1.glsl \ +$build_dir/src/compiler/glsl/bc1_glsl.h \ +-n bc1_source & +#------------------------------------------------------------------------------ +$python3 $src_dir/src/util/xxd.py \ +$src_dir/src/compiler/glsl/bc4.glsl \ +$build_dir/src/compiler/glsl/bc4_glsl.h \ +-n bc4_source & +#------------------------------------------------------------------------------ +$python3 $src_dir/src/util/xxd.py \ +$src_dir/src/compiler/glsl/etc2_rgba_stitch.glsl \ +$build_dir/src/compiler/glsl/etc2_rgba_stitch_glsl.h \ +-n etc2_rgba_stitch_source & +#------------------------------------------------------------------------------ +$python3 $src_dir/src/util/xxd.py \ +$src_dir/src/compiler/glsl/astc_decoder.glsl \ +$build_dir/src/compiler/glsl/astc_glsl.h \ +-n astc_source & +#------------------------------------------------------------------------------ +printf "<--glsl code generation done\n" diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators_mapi.sh b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators_mapi.sh new file mode 100644 index 0000000..d40606f --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators_mapi.sh @@ -0,0 +1,115 @@ +printf "Running mapi code generators-->\n" +#=============================================================================== +# you have 2 versions of mapi_tmp.h: one for the shared part of glapi and one +# for the static part of glapi +mkdir -p $build_dir/src/mapi/glapi + +$python3 $src_dir/src/mapi/mapi_abi.py \ +--printer shared-glapi \ +$src_dir/src/mapi/glapi/gen/gl_and_es_API.xml \ +>$build_dir/src/mapi/glapi/shared_glapi_mapi_tmp.h & + + +$python3 $src_dir/src/mapi/mapi_abi.py \ +--printer glapi \ +$src_dir/src/mapi/glapi/gen/gl_and_es_API.xml \ +>$build_dir/src/mapi/glapi/static_glapi_mapi_tmp.h & +#------------------------------------------------------------------------------- +$python3 $src_dir/src/mapi/glapi/gen/gl_enums.py -f \ +$src_dir/src/mapi/glapi/registry/gl.xml \ +>$build_dir/src/mapi/glapi/enums.c & +#------------------------------------------------------------------------------- +$python3 $src_dir/src/mapi/glapi/gen/api_exec_init.py -f \ +$src_dir/src/mapi/glapi/gen/gl_and_es_API.xml \ +>$build_dir/src/mapi/glapi/api_exec_init.c & +#------------------------------------------------------------------------------- +$python3 $src_dir/src/mapi/glapi/gen/api_exec_decl_h.py -f \ +$src_dir/src/mapi/glapi/gen/gl_and_es_API.xml \ +>$build_dir/src/mapi/glapi/api_exec_decl.h & +#------------------------------------------------------------------------------- +$python3 $src_dir/src/mapi/glapi/gen/api_save_init_h.py -f \ +$src_dir/src/mapi/glapi/gen/gl_and_es_API.xml \ +>$build_dir/src/mapi/glapi/api_save_init.h & +#------------------------------------------------------------------------------- +$python3 $src_dir/src/mapi/glapi/gen/api_save_h.py -f \ +$src_dir/src/mapi/glapi/gen/gl_and_es_API.xml \ +>$build_dir/src/mapi/glapi/api_save.h & +#------------------------------------------------------------------------------- +$python3 $src_dir/src/mapi/glapi/gen/api_beginend_init_h.py -f \ +$src_dir/src/mapi/glapi/gen/gl_and_es_API.xml \ +>$build_dir/src/mapi/glapi/api_beginend_init.h & +#------------------------------------------------------------------------------- +$python3 $src_dir/src/mapi/glapi/gen/api_hw_select_init_h.py -f \ +$src_dir/src/mapi/glapi/gen/gl_API.xml \ +>$build_dir/src/mapi/glapi/api_hw_select_init.h & +#------------------------------------------------------------------------------- +$python3 $src_dir/src/mapi/glapi/gen/gl_marshal.py \ +$src_dir/src/mapi/glapi/gen/gl_and_es_API.xml \ +0 8 \ +>$build_dir/src/mapi/glapi/marshal_generated0.c & + +$python3 $src_dir/src/mapi/glapi/gen/gl_marshal.py \ +$src_dir/src/mapi/glapi/gen/gl_and_es_API.xml \ +1 8 \ +>$build_dir/src/mapi/glapi/marshal_generated1.c & + +$python3 $src_dir/src/mapi/glapi/gen/gl_marshal.py \ +$src_dir/src/mapi/glapi/gen/gl_and_es_API.xml \ +2 8 \ +>$build_dir/src/mapi/glapi/marshal_generated2.c & + +$python3 $src_dir/src/mapi/glapi/gen/gl_marshal.py \ +$src_dir/src/mapi/glapi/gen/gl_and_es_API.xml \ +3 8 \ +>$build_dir/src/mapi/glapi/marshal_generated3.c & + +$python3 $src_dir/src/mapi/glapi/gen/gl_marshal.py \ +$src_dir/src/mapi/glapi/gen/gl_and_es_API.xml \ +4 8 \ +>$build_dir/src/mapi/glapi/marshal_generated4.c & + +$python3 $src_dir/src/mapi/glapi/gen/gl_marshal.py \ +$src_dir/src/mapi/glapi/gen/gl_and_es_API.xml \ +5 8 \ +>$build_dir/src/mapi/glapi/marshal_generated5.c & + +$python3 $src_dir/src/mapi/glapi/gen/gl_marshal.py \ +$src_dir/src/mapi/glapi/gen/gl_and_es_API.xml \ +6 8 \ +>$build_dir/src/mapi/glapi/marshal_generated6.c & + +$python3 $src_dir/src/mapi/glapi/gen/gl_marshal.py \ +$src_dir/src/mapi/glapi/gen/gl_and_es_API.xml \ +7 8 \ +>$build_dir/src/mapi/glapi/marshal_generated7.c & +#------------------------------------------------------------------------------- +$python3 $src_dir/src/mapi/glapi/gen/gl_unmarshal_table.py \ +$src_dir/src/mapi/glapi/gen/gl_and_es_API.xml \ +>$build_dir/src/mapi/glapi/unmarshal_table.c & +#------------------------------------------------------------------------------- +$python3 $src_dir/src/mapi/glapi/gen/glX_proto_send.py -f \ +$src_dir/src/mapi/glapi/gen/gl_API.xml \ +-m proto \ +>$build_dir/src/mapi/glapi/indirect.c & +#------------------------------------------------------------------------------- +$python3 $src_dir/src/mapi/glapi/gen/glX_proto_send.py -f \ +$src_dir/src/mapi/glapi/gen/gl_API.xml \ +-m init_h \ +>$build_dir/src/mapi/glapi/indirect.h & +#------------------------------------------------------------------------------- +$python3 $src_dir/src/mapi/glapi/gen/glX_proto_send.py -f \ +$src_dir/src/mapi/glapi/gen/gl_API.xml \ +-m init_c \ +>$build_dir/src/mapi/glapi/indirect_init.c & +#------------------------------------------------------------------------------- +$python3 $src_dir/src/mapi/glapi/gen/glX_proto_size.py -f \ +$src_dir/src/mapi/glapi/gen/gl_API.xml \ +--only-set -m size_h --header-tag _INDIRECT_SIZE_H_ \ +>$build_dir/src/mapi/glapi/indirect_size.h & +#------------------------------------------------------------------------------- +$python3 $src_dir/src/mapi/glapi/gen/glX_proto_size.py -f \ +$src_dir/src/mapi/glapi/gen/gl_API.xml \ +--only-set -m size_c \ +>$build_dir/src/mapi/glapi/indirect_size.c & +#=============================================================================== +printf "<--mapi code generation done\n" diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators_mesa.sh b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators_mesa.sh new file mode 100644 index 0000000..4e9dcf6 --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators_mesa.sh @@ -0,0 +1,48 @@ +printf "Running mesa code generators-->\n" +#=============================================================================== +# mesa/program +mkdir -p $build_dir/src/mesa/program +#------------------------------------------------------------------------------- +$flex \ +-o $build_dir/src/mesa/program/lex.yy.c \ +$src_dir/src/mesa/program/program_lexer.l & +#------------------------------------------------------------------------------- +$bison \ +-o $build_dir/src/mesa/program/program_parse.tab.c \ +--defines=$build_dir/src/mesa/program/program_parse.tab.h \ +$src_dir/src/mesa/program/program_parse.y & +#=============================================================================== +# mesa/main +mkdir -p $build_dir/src/mesa/main +#------------------------------------------------------------------------------- +$python3 $src_dir/src/mapi/glapi/gen/gl_table.py \ +-f $src_dir/src/mapi/glapi/gen/gl_and_es_API.xml \ +-m remap_table \ +>$build_dir/src/mesa/main/dispatch.h & +#------------------------------------------------------------------------------- +$python3 $src_dir/src/mapi/glapi/gen/gl_marshal_h.py \ +-f $src_dir/src/mapi/glapi/gen/gl_and_es_API.xml \ +>$build_dir/src/mesa/main/marshal_generated.h & +#------------------------------------------------------------------------------- +$python3 $src_dir/src/mapi/glapi/gen/remap_helper.py \ +-f $src_dir/src/mapi/glapi/gen/gl_and_es_API.xml \ +>$build_dir/src/mesa/main/remap_helper.h & +#=============================================================================== +# mesa +mkdir -p $build_dir/src/mesa +#------------------------------------------------------------------------------- +$python3 $src_dir/src/mesa/main/get_hash_generator.py \ +-f $src_dir/src/mapi/glapi/gen/gl_and_es_API.xml \ +>$build_dir/src/mesa/get_hash.h & +#------------------------------------------------------------------------------- +export PYTHONPATH="$mako" +$python3 $src_dir/src/mesa/main/format_fallback.py \ +$src_dir/src/mesa/main/formats.csv \ +$build_dir/src/mesa/format_fallback.c & +#------------------------------------------------------------------------------- +$python3 $src_dir/src/mesa/main/format_info.py \ +$src_dir/src/mesa/main/formats.csv \ +>$build_dir/src/mesa/format_info.h & +unset PYTHONPATH +#=============================================================================== +printf "<--mesa code generation done\n" diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators_nir.sh b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators_nir.sh new file mode 100644 index 0000000..ae998e7 --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators_nir.sh @@ -0,0 +1,36 @@ +printf "Running nir code generators-->\n" +mkdir -p $build_dir/src/compiler/nir +#=============================================================================== +# 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/' & +#=============================================================================== +export PYTHONPATH=$mako +$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_constant_expressions.py \ +>$build_dir/src/compiler/nir/nir_constant_expressions.c & +#------------------------------------------------------------------------------ +$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_opcodes_c.py \ +>$build_dir/src/compiler/nir/nir_opcodes.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_intrinsics_h.py \ +--outdir $build_dir/src/compiler/nir & +#------------------------------------------------------------------------------ +$python3 $src_dir/src/compiler/nir/nir_intrinsics_c.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 + +printf "<--nir code generation done\n" diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators_spirv.sh b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators_spirv.sh new file mode 100644 index 0000000..a4783fd --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators_spirv.sh @@ -0,0 +1,21 @@ +printf "Running spirv code generators-->\n" +mkdir -p $build_dir/src/compiler/spirv + +# nir related spirv stuff, even if, here, we build opengl, because nir deals +# with both glsl and spirv + +export PYTHONPATH=$mako +$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/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_generator_ids_h.py \ +$src_dir/src/compiler/spirv/spir-v.xml \ +$build_dir/src/compiler/spirv/vtn_generator_ids.h & +unset PYTHONPATH + +printf "<--spirv code generation done\n" diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators_util.sh b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators_util.sh new file mode 100644 index 0000000..8889910 --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators_util.sh @@ -0,0 +1,29 @@ +printf "Running util code generators-->\n" +mkdir -p $build_dir/src/util +#------------------------------------------------------------------------------- +# removing the braindamaged qsort class +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/' & +#------------------------------------------------------------------------------- +$python3 $src_dir/src/util/format_srgb.py >$build_dir/src/util/format_srgb.c & +#------------------------------------------------------------------------------- +mkdir -p $build_dir/src/util/format + +$python3 $src_dir/src/util/format/u_format_table.py \ +$src_dir/src/util/format/u_format.csv \ +>$build_dir/src/util/format/u_format_table.c & + +$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 & + +export PYTHONPATH=$mako +$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 +#------------------------------------------------------------------------------- +printf "<--util code generation done\n" diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/glx.sh b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/glx.sh new file mode 100644 index 0000000..15fc747 --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/glx.sh @@ -0,0 +1,135 @@ +# client glx, direct rendering mode, aka dri level 1, 2 and 3 +echo "building glx dispatcher components-->" + +#=============================================================================== + +libglx_files="\ +$build_dir/src/mapi/glapi/indirect.c \ +$build_dir/src/mapi/glapi/indirect_init.c \ +$build_dir/src/mapi/glapi/indirect_size.c \ +$src_dir/src/glx/clientattrib.c \ +$src_dir/src/glx/clientinfo.c \ +$src_dir/src/glx/compsize.c \ +$src_dir/src/glx/create_context.c \ +$src_dir/src/glx/eval.c \ +$src_dir/src/glx/glx_error.c \ +$src_dir/src/glx/glx_pbuffer.c \ +$src_dir/src/glx/glx_query.c \ +$src_dir/src/glx/glxcmds.c \ +$src_dir/src/glx/glxconfig.c \ +$src_dir/src/glx/glxcurrent.c \ +$src_dir/src/glx/glxext.c \ +$src_dir/src/glx/glxextensions.c \ +$src_dir/src/glx/glxhash.c \ +$src_dir/src/glx/indirect_glx.c \ +$src_dir/src/glx/indirect_texture_compression.c \ +$src_dir/src/glx/indirect_transpose_matrix.c \ +$src_dir/src/glx/indirect_vertex_array.c \ +$src_dir/src/glx/indirect_vertex_program.c \ +$src_dir/src/glx/indirect_window_pos.c \ +$src_dir/src/glx/pixel.c \ +$src_dir/src/glx/pixelstore.c \ +$src_dir/src/glx/query_renderer.c \ +$src_dir/src/glx/render2.c \ +$src_dir/src/glx/renderpix.c \ +$src_dir/src/glx/single2.c \ +$src_dir/src/glx/singlepix.c \ +$src_dir/src/glx/vertarr.c \ +$src_dir/src/glx/dri_common.c \ +$src_dir/src/glx/dri_common_query_renderer.c \ +$src_dir/src/glx/dri_common_interop.c \ +$src_dir/src/glx/xfont.c \ +$src_dir/src/glx/drisw_glx.c \ +$src_dir/src/glx/dri2.c \ +$src_dir/src/glx/dri2_glx.c \ +$src_dir/src/glx/dri3_glx.c \ +" + +#=============================================================================== + +for f in $libglx_files +do + libglx_obj_dir=$(dirname $f) + libglx_obj_dir=$build_dir/${libglx_obj_dir#*/src/} + mkdir -p $libglx_obj_dir + + libglx_obj=$libglx_obj_dir/$(basename $f .c).o + libglx_a="$libglx_a $libglx_obj" + + $cco_slib -o $libglx_obj $f \ + -D_REENTRANT=1 \ + -DGL_LIB_NAME=\"libGL.so.1.2.0\" \ + \ + -I$build_dir/src/mapi/glapi \ + -I$src_dir/src/mapi/glapi \ + -I$src_dir/src/glx \ + -I$src_dir/src/loader \ + -I$src_dir/src \ + -I$src_dir/include/GL/internal \ + -I$src_dir/include \ + \ + $cco_slib_common_trailer & +done + +wait + +$ar $build_dir/libglx.a $libglx_a + +#=============================================================================== + +# This is the client shared lib, which does routing among the enabled GL +# related APIs and hardware drivers (in our case, hardware supported by +# gallium drivers). For the glx API, it deals with indirect/direct rendering +# too. + +mkdir -p $build_dir/install_root$libdir + +if test "${libgl_link_cmd-unset}" = unset ; then +libgl_link_cmd="\ +g++ -o $build_dir/install_root$libdir/libGL.so.1.2.0 -Wl,-soname=libGL.so.1 \ +-shared -static-libgcc -static-libstdc++ \ +-B/nyan/glibc/current/lib -L/nyan/glibc/current/lib \ +-Wl,-rpath-link,/nyan/glibc/current/lib \ +-Wl,--no-undefined,--gc-sections,-Bsymbolic \ + -Wl,--whole-archive \ + $build_dir/libglx.a \ + -Wl,--no-whole-archive \ + $build_dir/libglapi_static.a \ + $build_dir/libloader_dri3_helper.a \ + $build_dir/libloader.a \ +\ + $build_dir/libxmlconfig.a \ + $build_dir/libmesa_util.a \ +\ + $external_deps_static_ldflags \ + -Wl,--exclude-libs,$external_deps_archives:libstdc++.a \ +\ + -Wl,--as-needed \ + $build_dir/install_root$libdir/libglapi.so.0.0.0 \ + $external_deps_ldflags \ + $glibc_ldflags \ + -Wl,--no-as-needed \ +" +fi +eval $libgl_link_cmd + +ln -sf libGL.so.1.2.0 $build_dir/install_root$libdir/libGL.so.1 +ln -sf libGL.so.1 $build_dir/install_root$libdir/libGL.so + +#=============================================================================== + +mkdir -p $build_dir/install_root$incdir/GL/internal +mkdir -p $build_dir/install_root$incdir/KHR + +cp -f $src_dir/include/KHR/khrplatform.h $build_dir/install_root$incdir/KHR +cp -f $src_dir/include/GL/internal/dri_interface.h $build_dir/install_root$incdir/GL/internal + +cp -f \ +$src_dir/include/GL/glcorearb.h \ +$src_dir/include/GL/gl.h \ +$src_dir/include/GL/glext.h \ +$src_dir/include/GL/glx.h \ +$src_dir/include/GL/glxext.h \ +$build_dir/install_root$incdir/GL + +echo "<--glx dispatcher components built" diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/loader.sh b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/loader.sh new file mode 100644 index 0000000..d075c7e --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/loader.sh @@ -0,0 +1,42 @@ +echo "building loader components-->" +mkdir -p $build_dir/loader +#=============================================================================== + +common_opts="\ +-DUSE_DRICONF=1 \ +-DDEFAULT_DRIVER_DIR=\"$dri_driver_search_dir\" \ +\ +-I$src_dir/src/util \ +-I$src_dir/src/loader \ +-I$src_dir/src \ +-I$src_dir/include \ +\ +$cco_slib_common_trailer \ +" + +#=============================================================================== + +$cco_slib -o $build_dir/loader/loader.o $src_dir/src/loader/loader.c \ + -I$build_dir/src/util \ + -I$build_dir/src \ + $common_opts & + +#=============================================================================== + +# this is for a loader on x11/dri platform to go in the generic loader archive +$cco_slib -o $build_dir/loader/loader_dri_helper.o $src_dir/src/loader/loader_dri_helper.c \ + $common_opts & + +#=============================================================================== + +# this is for a loader on x11/(dri level 3) platform +$cco_slib -o $build_dir/loader/loader_dri3_helper.o $src_dir/src/loader/loader_dri3_helper.c \ + $common_opts & + +#=============================================================================== + +wait + +$ar $build_dir/libloader.a $build_dir/loader/loader.o $build_dir/loader/loader_dri_helper.o +$ar $build_dir/libloader_dri3_helper.a $build_dir/loader/loader_dri3_helper.o +echo "<--loader components built" diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/mapi.sh b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/mapi.sh new file mode 100644 index 0000000..3814c88 --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/mapi.sh @@ -0,0 +1,83 @@ +echo "building mapi (APIs de/multiplexer) components-->" +#=============================================================================== +# static part of glapi, only mapi/entry.c in mapi bridge mode +mkdir -p $build_dir/mapi + +$cco_slib -o $build_dir/mapi/entry_mode_bridge.o $src_dir/src/mapi/entry.c \ + -DMAPI_MODE_BRIDGE=1 \ + -DMAPI_ABI_HEADER=\"$build_dir/src/mapi/glapi/static_glapi_mapi_tmp.h\" \ + \ + -I$src_dir/src/mapi \ + -I$src_dir/src \ + -I$src_dir/include \ + \ + $cco_slib_common_trailer + +$ar $build_dir/libglapi_static.a $build_dir/mapi/entry_mode_bridge.o +#=============================================================================== +# shared part of glapi +mapi_glapi_files="\ +$src_dir/src/mapi/entry.c \ +$src_dir/src/mapi/shared-glapi/glapi.c \ +$src_dir/src/mapi/shared-glapi/stub.c \ +$src_dir/src/mapi/shared-glapi/table.c \ +" +mapi_util_files="\ +$src_dir/src/mapi/u_current.c \ +" +cppflags="\ +$gcc_cppflags \ +$linux_cppflags \ +$glibc_cppflags \ +$glibc_linux_cppflags \ +$mesa_cppflags \ +" +for f in $mapi_glapi_files $mapi_util_files +do + libglapi_obj_dir=$(dirname $f) + libglapi_obj_dir=$build_dir/${libglapi_obj_dir#*/src/} + mkdir -p $libglapi_obj_dir + + libglapi_obj="$libglapi_obj_dir/$(basename $f .c).o" + libglapi_slib="$libglapi_slib $libglapi_obj" + + $cco_slib -o $libglapi_obj $f \ + -DMAPI_MODE_GLAPI=1 \ + -DMAPI_ABI_HEADER=\"$build_dir/src/mapi/glapi/shared_glapi_mapi_tmp.h\" \ + \ + -I$src_dir/src/mapi/shared-glapi \ + -I$src_dir/src/mapi \ + -I$src_dir/src/ \ + -I$src_dir/include \ + \ + $cco_slib_common_trailer & +done +#------------------------------------------------------------------------------ +wait + +mkdir -p $build_dir/install_root$libdir + +if test "${libglapi_link_cmd-unset}" = unset ; then +libglapi_link_cmd="\ +gcc -o $build_dir/install_root$libdir/libglapi.so.0.0.0 -Wl,-soname=libglapi.so.0 \ +-shared -static-libgcc \ +-B/nyan/glibc/current/lib -L/nyan/glibc/current/lib \ +-Wl,-rpath-link,/nyan/glibc/current/lib \ +-Wl,--no-undefined,--gc-sections \ + $libglapi_slib \ + $build_dir/libmesa_util.a \ + \ + $external_deps_static_ldflags \ + -Wl,--exclude-libs,$external_deps_archives \ + \ + -Wl,--as-needed \ + $external_deps_ldflags \ + $glibc_ldflags \ + -Wl,--no-as-needed \ +" +fi +eval $libglapi_link_cmd + +ln -sf libglapi.so.0.0.0 $build_dir/install_root$libdir/libglapi.so.0 +ln -sf libglapi.so.0 $build_dir/install_root$libdir/libglapi.so +echo "<--mapi components built" diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/matypes.h.x86_64 b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/matypes.h.x86_64 new file mode 100644 index 0000000..da66a9a --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/matypes.h.x86_64 @@ -0,0 +1,157 @@ +/* + * This file is automatically generated from the Mesa internal type + * definitions. Do not edit directly. + */ + +#ifndef __ASM_TYPES_H__ +#define __ASM_TYPES_H__ + + + +/* ============================================================= + * Offsets for struct gl_context + */ + + +#define CTX_LIGHT_ENABLED 12196 +#define CTX_LIGHT_SHADE_MODEL 12198 +#define CTX_LIGHT_COLOR_MAT_FACE 12202 +#define CTX_LIGHT_COLOR_MAT_MODE 12204 +#define CTX_LIGHT_COLOR_MAT_MASK 12208 +#define CTX_LIGHT_COLOR_MAT_ENABLED 12197 +#define CTX_LIGHT_ENABLED_LIGHTS 12216 +#define CTX_LIGHT_NEED_VERTS 12221 +#define CTX_LIGHT_BASE_COLOR 12224 + + +/* ============================================================= + * Offsets for struct vertex_buffer + */ + +#define VB_SIZE 0 +#define VB_COUNT 4 + +#define VB_ELTS 8 +#define VB_OBJ_PTR 112 +#define VB_EYE_PTR 16 +#define VB_CLIP_PTR 24 +#define VB_PROJ_CLIP_PTR 32 +#define VB_CLIP_OR_MASK 40 +#define VB_CLIP_MASK 48 +#define VB_NORMAL_PTR 120 +#define VB_EDGE_FLAG 64 +#define VB_TEX0_COORD_PTR 168 +#define VB_TEX1_COORD_PTR 176 +#define VB_TEX2_COORD_PTR 184 +#define VB_TEX3_COORD_PTR 192 +#define VB_INDEX_PTR 152 +#define VB_COLOR_PTR 128 +#define VB_SECONDARY_COLOR_PTR 136 +#define VB_FOG_COORD_PTR 144 +#define VB_PRIMITIVE 96 + + +/* + * Flags for struct vertex_buffer + */ + +#define VERT_BIT_OBJ 0x1 +#define VERT_BIT_NORM 0x2 +#define VERT_BIT_RGBA 0x4 +#define VERT_BIT_SPEC_RGB 0x8 +#define VERT_BIT_FOG_COORD 0x10 +#define VERT_BIT_TEX0 0x80 +#define VERT_BIT_TEX1 0x100 +#define VERT_BIT_TEX2 0x200 +#define VERT_BIT_TEX3 0x400 + + +/* ============================================================= + * Offsets for GLvector4f + */ + +#define V4F_DATA 0 +#define V4F_START 8 +#define V4F_COUNT 16 +#define V4F_STRIDE 20 +#define V4F_SIZE 24 +#define V4F_FLAGS 28 + +/* + * Flags for GLvector4f + */ + +#define VEC_MALLOC 0x10 +#define VEC_NOT_WRITEABLE 0x40 +#define VEC_BAD_STRIDE 0x100 + +#define VEC_SIZE_1 0x1 +#define VEC_SIZE_2 0x3 +#define VEC_SIZE_3 0x7 +#define VEC_SIZE_4 0xf + + +/* ============================================================= + * Offsets for GLmatrix + */ + +#define MATRIX_DATA 0 +#define MATRIX_INV 8 +#define MATRIX_FLAGS 16 +#define MATRIX_TYPE 20 + + +/* ============================================================= + * Offsets for struct gl_light + */ + + +#define LIGHT_AMBIENT 0 +#define LIGHT_DIFFUSE 16 +#define LIGHT_SPECULAR 32 +#define LIGHT_EYE_POSITION 48 +#define LIGHT_SPOT_DIRECTION 64 +#define LIGHT_SPOT_EXPONENT 80 +#define LIGHT_SPOT_CUTOFF 84 +#define LIGHT_COS_CUTOFF 88 +#define LIGHT_CONST_ATTEN 92 +#define LIGHT_LINEAR_ATTEN 96 +#define LIGHT_QUADRATIC_ATTEN 100 +#define LIGHT_ENABLED 104 + +#define LIGHT_FLAGS 108 + +#define LIGHT_POSITION 112 +#define LIGHT_VP_INF_NORM 128 +#define LIGHT_H_INF_NORM 140 +#define LIGHT_NORM_DIRECTION 152 +#define LIGHT_VP_INF_SPOT_ATTEN 168 + +#define LIGHT_MAT_AMBIENT 172 +#define LIGHT_MAT_DIFFUSE 196 +#define LIGHT_MAT_SPECULAR 220 + +#define SIZEOF_GL_LIGHT 244 + +/* + * Flags for struct gl_light + */ + +#define LIGHT_SPOT 0x1 +#define LIGHT_LOCAL_VIEWER 0x2 +#define LIGHT_POSITIONAL 0x4 + +#define LIGHT_NEED_VERTICES 0x6 + + +/* ============================================================= + * Offsets for struct gl_lightmodel + */ + +#define LIGHT_MODEL_AMBIENT 0 +#define LIGHT_MODEL_LOCAL_VIEWER 16 +#define LIGHT_MODEL_TWO_SIDE 17 +#define LIGHT_MODEL_COLOR_CONTROL 18 + + +#endif /* __ASM_TYPES_H__ */ diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/mesa.sh b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/mesa.sh new file mode 100644 index 0000000..cd48eb7 --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/mesa.sh @@ -0,0 +1,365 @@ +echo "building opengl related common components-->" +# opengl common part +libmesa_common_c_files="\ +$build_dir/src/mesa/format_fallback.c \ +$build_dir/src/mesa/program/lex.yy.c \ +$build_dir/src/mesa/program/program_parse.tab.c \ +$build_dir/src/mapi/glapi/api_exec_init.c \ +$build_dir/src/mapi/glapi/enums.c \ +$build_dir/src/mapi/glapi/marshal_generated0.c \ +$build_dir/src/mapi/glapi/marshal_generated1.c \ +$build_dir/src/mapi/glapi/marshal_generated2.c \ +$build_dir/src/mapi/glapi/marshal_generated3.c \ +$build_dir/src/mapi/glapi/marshal_generated4.c \ +$build_dir/src/mapi/glapi/marshal_generated5.c \ +$build_dir/src/mapi/glapi/marshal_generated6.c \ +$build_dir/src/mapi/glapi/marshal_generated7.c \ +$build_dir/src/mapi/glapi/unmarshal_table.c \ +$src_dir/src/mesa/program/arbprogparse.c \ +$src_dir/src/mesa/program/prog_cache.c \ +$src_dir/src/mesa/program/prog_instruction.c \ +$src_dir/src/mesa/program/prog_parameter.c \ +$src_dir/src/mesa/program/prog_parameter_layout.c \ +$src_dir/src/mesa/program/prog_print.c \ +$src_dir/src/mesa/program/program.c \ +$src_dir/src/mesa/program/program_parse_extra.c \ +$src_dir/src/mesa/program/prog_statevars.c \ +$src_dir/src/mesa/program/symbol_table.c \ +$src_dir/src/mesa/program/prog_to_nir.c \ +$src_dir/src/mesa/main/accum.c \ +$src_dir/src/mesa/main/api_arrayelt.c \ +$src_dir/src/mesa/main/arbprogram.c \ +$src_dir/src/mesa/main/arrayobj.c \ +$src_dir/src/mesa/main/atifragshader.c \ +$src_dir/src/mesa/main/attrib.c \ +$src_dir/src/mesa/main/barrier.c \ +$src_dir/src/mesa/main/bbox.c \ +$src_dir/src/mesa/main/blend.c \ +$src_dir/src/mesa/main/blit.c \ +$src_dir/src/mesa/main/bufferobj.c \ +$src_dir/src/mesa/main/buffers.c \ +$src_dir/src/mesa/main/clear.c \ +$src_dir/src/mesa/main/clip.c \ +$src_dir/src/mesa/main/compute.c \ +$src_dir/src/mesa/main/condrender.c \ +$src_dir/src/mesa/main/conservativeraster.c \ +$src_dir/src/mesa/main/context.c \ +$src_dir/src/mesa/main/copyimage.c \ +$src_dir/src/mesa/main/debug.c \ +$src_dir/src/mesa/main/debug_output.c \ +$src_dir/src/mesa/main/depth.c \ +$src_dir/src/mesa/main/dlist.c \ +$src_dir/src/mesa/main/draw.c \ +$src_dir/src/mesa/main/drawpix.c \ +$src_dir/src/mesa/main/drawtex.c \ +$src_dir/src/mesa/main/draw_validate.c \ +$src_dir/src/mesa/main/enable.c \ +$src_dir/src/mesa/main/errors.c \ +$src_dir/src/mesa/main/eval.c \ +$src_dir/src/mesa/main/extensions.c \ +$src_dir/src/mesa/main/extensions_table.c \ +$src_dir/src/mesa/main/externalobjects.c \ +$src_dir/src/mesa/main/fbobject.c \ +$src_dir/src/mesa/main/feedback.c \ +$src_dir/src/mesa/main/ff_fragment_shader.c \ +$src_dir/src/mesa/main/ffvertex_prog.c \ +$src_dir/src/mesa/main/fog.c \ +$src_dir/src/mesa/main/formatquery.c \ +$src_dir/src/mesa/main/formats.c \ +$src_dir/src/mesa/main/format_utils.c \ +$src_dir/src/mesa/main/framebuffer.c \ +$src_dir/src/mesa/main/get.c \ +$src_dir/src/mesa/main/genmipmap.c \ +$src_dir/src/mesa/main/getstring.c \ +$src_dir/src/mesa/main/glformats.c \ +$src_dir/src/mesa/main/glspirv.c \ +$src_dir/src/mesa/main/glthread.c \ +$src_dir/src/mesa/main/glthread_bufferobj.c \ +$src_dir/src/mesa/main/glthread_draw.c \ +$src_dir/src/mesa/main/glthread_draw_unroll.c \ +$src_dir/src/mesa/main/glthread_get.c \ +$src_dir/src/mesa/main/glthread_list.c \ +$src_dir/src/mesa/main/glthread_shaderobj.c \ +$src_dir/src/mesa/main/glthread_varray.c \ +$src_dir/src/mesa/main/hash.c \ +$src_dir/src/mesa/main/hint.c \ +$src_dir/src/mesa/main/image.c \ +$src_dir/src/mesa/main/light.c \ +$src_dir/src/mesa/main/lines.c \ +$src_dir/src/mesa/main/matrix.c \ +$src_dir/src/mesa/main/mipmap.c \ +$src_dir/src/mesa/main/multisample.c \ +$src_dir/src/mesa/main/objectlabel.c \ +$src_dir/src/mesa/main/pack.c \ +$src_dir/src/mesa/main/pbo.c \ +$src_dir/src/mesa/main/performance_monitor.c \ +$src_dir/src/mesa/main/performance_query.c \ +$src_dir/src/mesa/main/pipelineobj.c \ +$src_dir/src/mesa/main/pixel.c \ +$src_dir/src/mesa/main/pixelstore.c \ +$src_dir/src/mesa/main/pixeltransfer.c \ +$src_dir/src/mesa/main/points.c \ +$src_dir/src/mesa/main/polygon.c \ +$src_dir/src/mesa/main/program_binary.c \ +$src_dir/src/mesa/main/program_resource.c \ +$src_dir/src/mesa/main/querymatrix.c \ +$src_dir/src/mesa/main/queryobj.c \ +$src_dir/src/mesa/main/rastpos.c \ +$src_dir/src/mesa/main/readpix.c \ +$src_dir/src/mesa/main/remap.c \ +$src_dir/src/mesa/main/renderbuffer.c \ +$src_dir/src/mesa/main/robustness.c \ +$src_dir/src/mesa/main/samplerobj.c \ +$src_dir/src/mesa/main/scissor.c \ +$src_dir/src/mesa/main/shaderapi.c \ +$src_dir/src/mesa/main/shaderimage.c \ +$src_dir/src/mesa/main/shaderobj.c \ +$src_dir/src/mesa/main/shared.c \ +$src_dir/src/mesa/main/spirv_extensions.c \ +$src_dir/src/mesa/main/state.c \ +$src_dir/src/mesa/main/stencil.c \ +$src_dir/src/mesa/main/syncobj.c \ +$src_dir/src/mesa/main/texcompress.c \ +$src_dir/src/mesa/main/texcompress_bptc.c \ +$src_dir/src/mesa/main/texcompress_cpal.c \ +$src_dir/src/mesa/main/texcompress_etc.c \ +$src_dir/src/mesa/main/texcompress_fxt1.c \ +$src_dir/src/mesa/main/texcompress_rgtc.c \ +$src_dir/src/mesa/main/texcompress_s3tc.c \ +$src_dir/src/mesa/main/texenv.c \ +$src_dir/src/mesa/main/texenvprogram.h \ +$src_dir/src/mesa/main/texgen.c \ +$src_dir/src/mesa/main/texgetimage.c \ +$src_dir/src/mesa/main/teximage.c \ +$src_dir/src/mesa/main/texobj.c \ +$src_dir/src/mesa/main/texparam.c \ +$src_dir/src/mesa/main/texstate.c \ +$src_dir/src/mesa/main/texstorage.c \ +$src_dir/src/mesa/main/texstore.c \ +$src_dir/src/mesa/main/texturebindless.c \ +$src_dir/src/mesa/main/textureview.c \ +$src_dir/src/mesa/main/transformfeedback.c \ +$src_dir/src/mesa/main/uniforms.c \ +$src_dir/src/mesa/main/varray.c \ +$src_dir/src/mesa/main/vdpau.c \ +$src_dir/src/mesa/main/version.c \ +$src_dir/src/mesa/main/viewport.c \ +$src_dir/src/mesa/main/es1_conversion.c \ +$src_dir/src/mesa/math/m_eval.c \ +$src_dir/src/mesa/math/m_matrix.c \ +$src_dir/src/mesa/vbo/vbo_context.c \ +$src_dir/src/mesa/vbo/vbo_exec_api.c \ +$src_dir/src/mesa/vbo/vbo_exec.c \ +$src_dir/src/mesa/vbo/vbo_exec_draw.c \ +$src_dir/src/mesa/vbo/vbo_exec_eval.c \ +$src_dir/src/mesa/vbo/vbo_minmax_index.c \ +$src_dir/src/mesa/vbo/vbo_noop.c \ +$src_dir/src/mesa/vbo/vbo_save_api.c \ +$src_dir/src/mesa/vbo/vbo_save.c \ +$src_dir/src/mesa/vbo/vbo_save_draw.c \ +$src_dir/src/mesa/vbo/vbo_save_loopback.c \ +" +# from the trashiest and toxiciest coders: +libmesa_common_cxx_files="\ +$src_dir/src/mesa/main/shader_query.cpp \ +$src_dir/src/mesa/main/texcompress_astc.cpp \ +$src_dir/src/mesa/main/texcompress_astc_luts.cpp \ +$src_dir/src/mesa/main/texcompress_astc_luts_wrap.cpp \ +$src_dir/src/mesa/main/uniform_query.cpp \ +" + +#TODO: removed +#libmesa_common_asm_files="\ +#$src_dir/src/mesa/x86-64/xfrom4.S \ +#" + +libmesa_gallium_c_files="\ +$src_dir/src/mesa/state_tracker/st_atifs_to_nir.c \ +$src_dir/src/mesa/state_tracker/st_atom_atomicbuf.c \ +$src_dir/src/mesa/state_tracker/st_atom_blend.c \ +$src_dir/src/mesa/state_tracker/st_atom_clip.c \ +$src_dir/src/mesa/state_tracker/st_atom_constbuf.c \ +$src_dir/src/mesa/state_tracker/st_atom_depth.c \ +$src_dir/src/mesa/state_tracker/st_atom_framebuffer.c \ +$src_dir/src/mesa/state_tracker/st_atom_image.c \ +$src_dir/src/mesa/state_tracker/st_atom_msaa.c \ +$src_dir/src/mesa/state_tracker/st_atom_pixeltransfer.c \ +$src_dir/src/mesa/state_tracker/st_atom_rasterizer.c \ +$src_dir/src/mesa/state_tracker/st_atom_sampler.c \ +$src_dir/src/mesa/state_tracker/st_atom_scissor.c \ +$src_dir/src/mesa/state_tracker/st_atom_shader.c \ +$src_dir/src/mesa/state_tracker/st_atom_stipple.c \ +$src_dir/src/mesa/state_tracker/st_atom_storagebuf.c \ +$src_dir/src/mesa/state_tracker/st_atom_tess.c \ +$src_dir/src/mesa/state_tracker/st_atom_texture.c \ +$src_dir/src/mesa/state_tracker/st_atom_viewport.c \ +$src_dir/src/mesa/state_tracker/st_cb_bitmap.c \ +$src_dir/src/mesa/state_tracker/st_cb_clear.c \ +$src_dir/src/mesa/state_tracker/st_cb_copyimage.c \ +$src_dir/src/mesa/state_tracker/st_cb_drawpixels.c \ +$src_dir/src/mesa/state_tracker/st_cb_drawtex.c \ +$src_dir/src/mesa/state_tracker/st_cb_eglimage.c \ +$src_dir/src/mesa/state_tracker/st_cb_feedback.c \ +$src_dir/src/mesa/state_tracker/st_cb_flush.c \ +$src_dir/src/mesa/state_tracker/st_cb_rasterpos.c \ +$src_dir/src/mesa/state_tracker/st_cb_readpixels.c \ +$src_dir/src/mesa/state_tracker/st_cb_texture.c \ +$src_dir/src/mesa/state_tracker/st_context.c \ +$src_dir/src/mesa/state_tracker/st_copytex.c \ +$src_dir/src/mesa/state_tracker/st_debug.c \ +$src_dir/src/mesa/state_tracker/st_draw.c \ +$src_dir/src/mesa/state_tracker/st_draw_feedback.c \ +$src_dir/src/mesa/state_tracker/st_draw_hw_select.c \ +$src_dir/src/mesa/state_tracker/st_extensions.c \ +$src_dir/src/mesa/state_tracker/st_format.c \ +$src_dir/src/mesa/state_tracker/st_gen_mipmap.c \ +$src_dir/src/mesa/state_tracker/st_interop.c \ +$src_dir/src/mesa/state_tracker/st_manager.c \ +$src_dir/src/mesa/state_tracker/st_nir_builtins.c \ +$src_dir/src/mesa/state_tracker/st_nir_lower_builtin.c \ +$src_dir/src/mesa/state_tracker/st_nir_lower_fog.c \ +$src_dir/src/mesa/state_tracker/st_nir_lower_position_invariant.c \ +$src_dir/src/mesa/state_tracker/st_nir_lower_tex_src_plane.c \ +$src_dir/src/mesa/state_tracker/st_pbo.c \ +$src_dir/src/mesa/state_tracker/st_pbo_compute.c \ +$src_dir/src/mesa/state_tracker/st_program.c \ +$src_dir/src/mesa/state_tracker/st_sampler_view.c \ +$src_dir/src/mesa/state_tracker/st_scissor.c \ +$src_dir/src/mesa/state_tracker/st_shader_cache.c \ +$src_dir/src/mesa/state_tracker/st_texcompress_compute.c \ +$src_dir/src/mesa/state_tracker/st_texture.c \ +$src_dir/src/mesa/state_tracker/st_vdpau.c \ +" + +libmesa_gallium_cxx_files="\ +$src_dir/src/mesa/state_tracker/st_atom_array.cpp \ +$src_dir/src/mesa/state_tracker/st_glsl_to_nir.cpp \ +" + +#TODO: removed +##libmesa_sse41_c_files="\ +##$src_dir/src/mesa/main/streaming-load-memcpy.c \ +##$src_dir/src/mesa/main/sse_minmax.c \ +##" + +#------------------------------------------------------------------------------ + +###******************************************************************************* +### this is the header for asm code with depend on the host architecture +### we use a pre-generated one for gcc and x86_64 +##mkdir -p $build_dir/src/mesa/x86 +##cp -f $script_dir/matypes.h.x86_64 $build_dir/src/mesa/x86/matypes.h +###******************************************************************************* + +#------------------------------------------------------------------------------ + +for f in $libmesa_common_c_files $libmesa_gallium_c_files +do + libmesa_x_c_obj_dir=$(dirname $f) + libmesa_x_c_obj_dir=$build_dir/${libmesa_x_c_obj_dir#*/src/} + mkdir -p $libmesa_x_c_obj_dir + + libmesa_gallium_c_obj=$libmesa_x_c_obj_dir/$(basename $f .c).o + libmesa_gallium_a="$libmesa_gallium_a $libmesa_gallium_c_obj" + + $cco_slib -o $libmesa_gallium_c_obj $f \ + -I$build_dir/src/compiler/nir \ + -I$build_dir/src/compiler \ + -I$build_dir/src/mapi/glapi \ + -I$build_dir/src/mesa/main \ + -I$build_dir/src/mesa \ + -I$build_dir/src \ + -I$src_dir/src/compiler/nir \ + -I$src_dir/src/compiler \ + -I$src_dir/src/gallium/auxiliary \ + -I$src_dir/src/gallium/include \ + -I$src_dir/src/mesa/main \ + -I$src_dir/src/mesa \ + -I$src_dir/src/mapi \ + -I$src_dir/src/util \ + -I$src_dir/src/ \ + -I$src_dir/include \ + \ + $cco_slib_common_trailer & +done + +wait + +#------------------------------------------------------------------------------ + +for f in $libmesa_common_cxx_files $libmesa_gallium_cxx_files +do + libmesa_x_cxx_obj_dir=$(dirname $f) + libmesa_x_cxx_obj_dir=$build_dir/${libmesa_x_cxx_obj_dir#*/src/} + mkdir -p $libmesa_x_cxx_obj_dir + + libmesa_gallium_cxx_obj=$libmesa_x_cxx_obj_dir/$(basename $f .cpp).o + libmesa_gallium_a="$libmesa_gallium_a $libmesa_gallium_cxx_obj" + + $cxxo_slib -o $libmesa_gallium_cxx_obj $f \ + -I$build_dir/src/compiler/nir \ + -I$build_dir/src/compiler/glsl \ + -I$build_dir/src/compiler \ + -I$build_dir/src/mapi/glapi \ + -I$build_dir/src \ + -I$src_dir/src/compiler/nir \ + -I$src_dir/src/gallium/auxiliary \ + -I$src_dir/src/gallium/include \ + -I$src_dir/src/compiler \ + -I$src_dir/src/mapi \ + -I$src_dir/src/mesa \ + -I$src_dir/src \ + -I$src_dir/include \ + \ + $cxxo_slib_common_trailer & +done + +#------------------------------------------------------------------------------ + +wait + +$ar $build_dir/libmesa_gallium.a $libmesa_common_a $libmesa_gallium_a + +#------------------------------------------------------------------------------ + +#TODO: removed +#for f in $libmesa_sse41_c_files +#do +# libmesa_sse41_c_obj_dir=$(dirname $f) +# libmesa_sse41_c_obj_dir=$build_dir/${libmesa_sse41_c_obj_dir#*/src/} +# mkdir -p $libmesa_sse41_c_obj_dir +# +# libmesa_sse41_c_obj=$libmesa_sse41_c_obj_dir/$(basename $f .c).o +# libmesa_sse41_a="$libmesa_sse41_a $libmesa_sse41_c_obj" +# +# $cco_slib -o $libmesa_sse41_c_obj $f \ +# -msse4.1 \ +# \ +# -I$src_dir/src/gallium/include \ +# -I$src_dir/src/mesa \ +# -I$src_dir/src \ +# -I$src_dir/include \ +# \ +# $cco_slib_common_trailer & +#done +# +#wait +# +#$ar $build_dir/libmesa_sse41.a $libmesa_sse41_a + +#=============================================================================== +mkdir -p $build_dir/install_root$libdir/pkgconfig + +cp -f $src_dir/contrib/pkgconfig/dri.pc.in $build_dir/install_root$libdir/pkgconfig/dri.pc +sed -i "\ +s:@prefix@:$prefix:;\ +s:@exec_prefix@:$prefix:;\ +s:@libdir@:$libdir:;\ +s:@includedir@:$incdir:;\ +s:@DRI_DRIVER_INSTALL_DIR@:$dri_driver_search_dir:;\ +s:@DRI_PC_REQ_PRIV@::;\ +s:@VERSION@:$version:;\ +s:@GBM_PC_LIB_PRIV@::;\ +" $build_dir/install_root$libdir/pkgconfig/dri.pc + +echo "<--opengl related common components built" diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/pipe_loader.c.patch b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/pipe_loader.c.patch new file mode 100644 index 0000000..f2292a5 --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/pipe_loader.c.patch @@ -0,0 +1,10 @@ +--- pipe_loader.c ++++ pipe_loader.c +@@ -48,7 +48,6 @@ + #ifdef HAVE_LIBDRM + &pipe_loader_drm_probe, + #endif +- &pipe_loader_sw_probe + }; + + const driOptionDescription gallium_driconf[] = { diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/pkgconfig/dri.pc.in b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/pkgconfig/dri.pc.in new file mode 100644 index 0000000..de6e08a --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/pkgconfig/dri.pc.in @@ -0,0 +1,11 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ +dridriverdir=@DRI_DRIVER_INSTALL_DIR@ + +Name: dri +Description: Direct Rendering Infrastructure +Version: @VERSION@ +Requires.private: @DRI_PC_REQ_PRIV@ +Cflags: -I${includedir} diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/pkgconfig/egl.pc.in b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/pkgconfig/egl.pc.in new file mode 100644 index 0000000..fd6904b --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/pkgconfig/egl.pc.in @@ -0,0 +1,12 @@ +prefix=@prefix@ +exec_prefix=${prefix} +libdir=@libdir@ +includedir=@includedir@ + +Name: egl +Description: Mesa EGL library +Requires.private: @GL_PC_REQ_PRIV@ +Version: @PACKAGE_VERSION@ +Libs: -L${libdir} -lEGL +Libs.private: @GL_PC_LIB_PRIV@ +Cflags: -I${includedir} @GL_PC_CFLAGS@ diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/pkgconfig/gbm.pc.in b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/pkgconfig/gbm.pc.in new file mode 100644 index 0000000..cbbb8d7 --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/pkgconfig/gbm.pc.in @@ -0,0 +1,13 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ +gbmbackendspath=@gbmbackendspath@ + +Name: gbm +Description: Mesa gbm library +Requires.private: @GBM_PC_REQ_PRIV@ +Version: @VERSION@ +Libs: -L${libdir} -lgbm +Libs.private: @GBM_PC_LIB_PRIV@ +Cflags: -I${includedir} diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/pkgconfig/gl.pc.in b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/pkgconfig/gl.pc.in new file mode 100644 index 0000000..680f742 --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/pkgconfig/gl.pc.in @@ -0,0 +1,13 @@ +prefix=@prefix@ +exec_prefix=${prefix} +libdir=@libdir@ +includedir=@includedir@ + +Name: gl +Description: Mesa OpenGL library +Requires.private: @GL_PC_REQ_PRIV@ +Version: @PACKAGE_VERSION@ +Libs: -L${libdir} -l@GL_PKGCONF_LIB@ +Libs.private: @GL_PC_LIB_PRIV@ +Cflags: -I${includedir} @GL_PC_CFLAGS@ +glx_tls: @GLX_TLS@ diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/si_pipe.c.patch b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/si_pipe.c.patch new file mode 100644 index 0000000..621ee66 --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/si_pipe.c.patch @@ -0,0 +1,12 @@ +--- si_pipe.c ++++ si_pipe.c +@@ -1403,9 +1403,6 @@ + NULL, NULL, NULL, 0, NULL, 0); + + switch (version->version_major) { +- case 2: +- rw = radeon_drm_winsys_create(fd, config, radeonsi_screen_create_impl); +- break; + case 3: + rw = amdgpu_winsys_create(fd, config, radeonsi_screen_create_impl); + break; diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/si_uvd.c b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/si_uvd.c new file mode 100644 index 0000000..da98416 --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/si_uvd.c @@ -0,0 +1,79 @@ +/************************************************************************** + * + * Copyright 2011 Advanced Micro Devices, Inc. + * All Rights Reserved. + * + * 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, sub license, 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 NON-INFRINGEMENT. + * IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) OR AUTHOR(S) 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. + * + **************************************************************************/ + +#include "si_pipe.h" +#include "radeonsi/radeon_video.h" +#include "radeonsi/radeon_uvd.h" +#include "radeonsi/radeon_vce.h" +#include "radeonsi/radeon_vcn_dec.h" +#include "radeonsi/radeon_vcn_enc.h" +#include "radeonsi/radeon_uvd_enc.h" +#include "util/u_video.h" + +/** + * creates an video buffer with an UVD compatible memory layout + */ +struct pipe_video_buffer *si_video_buffer_create(struct pipe_context *pipe, + const struct pipe_video_buffer *tmpl) +{ + return 0; +} + +/* set the decoding target buffer offsets */ +static struct pb_buffer* si_uvd_set_dtb(struct ruvd_msg *msg, struct vl_video_buffer *buf) +{ + + return 0; +} + +/* get the radeon resources for VCE */ +static void si_vce_get_buffer(struct pipe_resource *resource, + struct pb_buffer **handle, + struct radeon_surf **surface) +{ + if (handle) + *handle = 0; + + if (surface) + *surface = 0; +} + +/** + * creates an UVD compatible decoder + */ +struct pipe_video_codec *si_uvd_create_decoder(struct pipe_context *context, + const struct pipe_video_codec *templ) +{ + return 0; +} +struct pipe_video_buffer *si_video_buffer_create_with_modifiers(struct pipe_context *pipe, + const struct pipe_video_buffer *tmpl, + const uint64_t *modifiers, + unsigned int modifiers_count) +{ + return 0; +} diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/util.sh b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/util.sh new file mode 100644 index 0000000..bf2cd21 --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/util.sh @@ -0,0 +1,129 @@ +mkdir -p $build_dir/src/util +#------------------------------------------------------------------------------- +libmesa_util_files="\ +$build_dir/src/util/format_srgb.c \ +$build_dir/src/util/format/u_format_table.c \ +$src_dir/src/util/anon_file.c \ +$src_dir/src/util/bitscan.c \ +$src_dir/src/util/blob.c \ +$src_dir/src/util/build_id.c \ +$src_dir/src/util/compress.c \ +$src_dir/src/util/crc32.c \ +$src_dir/src/util/disk_cache.c \ +$src_dir/src/util/disk_cache_os.c \ +$src_dir/src/util/double.c \ +$src_dir/src/util/fast_idiv_by_const.c \ +$src_dir/src/util/fossilize_db.c \ +$src_dir/src/util/futex.c \ +$src_dir/src/util/half_float.c \ +$src_dir/src/util/hash_table.c \ +$src_dir/src/util/log.c \ +$src_dir/src/util/mesa-sha1.c \ +$build_dir/src/util/mesa_cache_db.c \ +$src_dir/src/util/mesa_cache_db_multipart.c \ +$src_dir/src/util/memstream.c \ +$src_dir/src/util/os_file.c \ +$src_dir/src/util/os_time.c \ +$src_dir/src/util/os_memory_fd.c \ +$src_dir/src/util/os_misc.c \ +$src_dir/src/util/os_socket.c \ +$src_dir/src/util/u_process.c \ +$src_dir/src/util/sha1/sha1.c \ +$src_dir/src/util/ralloc.c \ +$src_dir/src/util/rand_xor.c \ +$src_dir/src/util/rb_tree.c \ +$src_dir/src/util/register_allocate.c \ +$src_dir/src/util/rgtc.c \ +$src_dir/src/util/rwlock.c \ +$src_dir/src/util/set.c \ +$src_dir/src/util/simple_mtx.c \ +$src_dir/src/util/slab.c \ +$src_dir/src/util/softfloat.c \ +$src_dir/src/util/sparse_array.c \ +$src_dir/src/util/streaming-load-memcpy.c \ +$src_dir/src/util/string_buffer.c \ +$src_dir/src/util/strtod.c \ +$src_dir/src/util/u_atomic.c \ +$src_dir/src/util/u_dl.c \ +$src_dir/src/util/u_debug_memory.c \ +$src_dir/src/util/u_dynarray.c \ +$src_dir/src/util/u_printf.c \ +$src_dir/src/util/format/u_format.c \ +$src_dir/src/util/format/u_format_bptc.c \ +$src_dir/src/util/format/u_format_etc.c \ +$src_dir/src/util/format/u_format_fxt1.c \ +$src_dir/src/util/format/u_format_latc.c \ +$src_dir/src/util/format/u_format_other.c \ +$src_dir/src/util/format/u_format_rgtc.c \ +$src_dir/src/util/format/u_format_s3tc.c \ +$src_dir/src/util/format/u_format_tests.c \ +$src_dir/src/util/format/u_format_yuv.c \ +$src_dir/src/util/format/u_format_zs.c \ +$src_dir/src/util/u_cpu_detect.c \ +$src_dir/src/util/u_call_once.c \ +$src_dir/src/util/u_debug.c \ +$src_dir/src/util/u_debug_stack.c \ +$src_dir/src/util/u_debug_symbol.c \ +$src_dir/src/util/u_hash_table.c \ +$src_dir/src/util/u_idalloc.c \ +$src_dir/src/util/u_math.c \ +$src_dir/src/util/u_mm.c \ +$src_dir/src/util/u_queue.c \ +$src_dir/src/util/u_thread.c \ +$src_dir/src/util/u_vector.c \ +$src_dir/src/util/u_worklist.c \ +$src_dir/src/util/vma.c \ +\ +$src_dir/src/c11/impl/threads_posix.c \ +$src_dir/src/c11/impl/time.c \ +" + +#------------------------------------------------------------------------------ + +for f in $libmesa_util_files +do + libmesa_util_obj_dir=$(dirname $f) + libmesa_util_obj_dir=$build_dir/${libmesa_util_obj_dir#*/src/} + mkdir -p $libmesa_util_obj_dir + + libmesa_util_obj=$libmesa_util_obj_dir/$(basename $f .c).o + libmesa_util_a="$libmesa_util_a $libmesa_util_obj" + + $cco_slib -o $libmesa_util_obj $f \ + -I$build_dir/src/util/format \ + -I$build_dir/src/util \ + -I$build_dir/src \ + -I$src_dir/src/gallium/auxiliary \ + -I$src_dir/src/gallium/include \ + -I$src_dir/src/util/format \ + -I$src_dir/src/util \ + -I$src_dir/src/mesa \ + -I$src_dir/src \ + -I$src_dir/include \ + \ + $cco_slib_common_trailer & +done + +#=============================================================================== + +$cco_slib -o $build_dir/util/xmlconfig.o $src_dir/src/util/xmlconfig.c \ + -DSYSCONFDIR=\"$sysconfdir\" \ + -DDATADIR=\"$datadir\" \ + \ + -I$build_dir/src/util \ + -I$src_dir/src \ + -I$src_dir/include \ + \ + $cco_slib_common_trailer & + +wait + +#------------------------------------------------------------------------------ + +$ar $build_dir/libmesa_util.a $libmesa_util_a +$ar $build_dir/libxmlconfig.a $build_dir/util/xmlconfig.o + +#=============================================================================== + +mkdir -p $build_dir/install_root$datadir/drirc.d +cp -f $src_dir/src/util/00-mesa-defaults.conf $build_dir/install_root$datadir/drirc.d diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/vtn_opencl.c b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/vtn_opencl.c new file mode 100644 index 0000000..68cb582 --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/vtn_opencl.c @@ -0,0 +1,16 @@ +/* removal of some bits of redhat/ibm/khronosGL crap */ +#include "math.h" +#include "nir/nir_builtin_builder.h" +#include "vtn_private.h" +bool +vtn_handle_opencl_instruction(struct vtn_builder *b, SpvOp ext_opcode, + const uint32_t *w, unsigned count) +{ + return false; +} +bool +vtn_handle_opencl_core_instruction(struct vtn_builder *b, SpvOp opcode, + const uint32_t *w, unsigned count) +{ + return false; +} diff --git a/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/x86_64_linux_glibc_amdgpu.sh b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/x86_64_linux_glibc_amdgpu.sh new file mode 100755 index 0000000..9fdba03 --- /dev/null +++ b/builders/mesa-gl-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/x86_64_linux_glibc_amdgpu.sh @@ -0,0 +1,320 @@ +#!/bin/sh +# Canonical specialized build scripts for AMD hardware on gnu/linux distros. +# Look for "unset", you'll find the values you can override in $1 or +# $build_dir/local_conf.sh file, that in order to tune the script for your +# specific distro/needs. + +# Usage, drop the scripts in the contrib directory at the top of mesa source tree +# create somewhere else a build directory, cd into it, and call from there the +# main script. + +# you get an install root tree in $build_dir/install_root + +#=============================================================================== +# NOTES +# the shared lib link command has 3 important sections: +# - between whole-archive and no-whole-archive is for finding symbols which are +# going to be dynamic. +# - exclude-libs, remove the symbols of a list of archives/objects from the final +# shared lib. Since with are using the hidden default visibility, it's for +# external archives which could be compiled without the hidden visibility. +# - between as-needed and no-as-needed, will add an explicit shared lib +# dependencies if some symbols from those shared libs are actually used. +# (don't know if this is done based on the shared lib dependendy tree) +# +# the dri platform is actually the os: +# - drm -> linux +# - apple -> macos +# - windows -> microsoft +# +# the EGL platforms are, mainly: +# - GBM/dri/drm (the one used by the xserver glamor acceleration) +# - x11/dri3 (used by real egl client application) +# - wayland/etc +#=============================================================================== + +#=============================================================================== +# build dir, src dir and script dir +build_dir=$(readlink -f .) +echo "build_dir=$build_dir" +# we are in contrib +src_dir=$(readlink -f $(dirname $0)/..) +echo "src_dir=$src_dir" +# script location +script_dir=$(readlink -f $(dirname $0)) +echo "script_dir=$script_dir" +echo +#=============================================================================== + + +#=============================================================================== +# the current configur-able variables may be individually overridden with the +# content of the file in $1 or $build_dir/local_conf.sh. Look for "unset" +# in those scripts to find what you can override to tune the build. +if test -f "$1"; then + . "$1" +else + if test -f $build_dir/local_conf.sh; then + . $build_dir/local_conf.sh + fi +fi +#=============================================================================== + + +#=============================================================================== +if test "${prefix-unset}" = unset; then +prefix='/nyan/mesa-gl/x86_64_linux_glibc_amdgpu' +fi + +if test "${sysconfdir-unset}" = unset; then +sysconfdir='/nyan/mesa-gl/x86_64_linux_glibc_amdgpu/etc' +fi + +if test "${datadir-unset}" = unset; then +datadir='/nyan/mesa-gl/x86_64_linux_glibc_amdgpu/share' +fi + +if test "${libdir-unset}" = unset; then +libdir='/nyan/mesa-gl/x86_64_linux_glibc_amdgpu/lib' +fi + +if test "${incdir-unset}" = unset; then +incdir='/nyan/mesa-gl/x86_64_linux_glibc_amdgpu/include' +fi +#=============================================================================== + + +#=============================================================================== +if test "${version-unset}" = unset; then + if test -f $src_dir/VERSION; then + version=$(cat $src_dir/VERSION) + else + echo 'error:missing version' + exit 1 + fi +fi + +if test "${dri_driver_search_dir-unset}" = unset; then +dri_driver_search_dir=/nyan/mesa-gl/x86_64_linux_glibc_amdgpu/lib/dri +fi +#=============================================================================== + + +#=============================================================================== +# linux +linux_cppflags="\ +-DHAVE_DRM=1 \ +-DHAVE_LINUX_FUTEX_H=1 \ +" +#=============================================================================== + + +#=============================================================================== +# glibc +glibc_cppflags="\ +-DPIC=1 \ +-D_GNU_SOURCE=1 \ +-DHAVE_SYS_SYSCTL_H=1 \ +-DHAVE_ENDIAN_H=1 \ +-DHAVE_DLFCN_H=1 \ +-DHAVE_UNISTD_H=1 \ +\ +-DMAJOR_IN_SYSMACROS=1 \ +-DHAVE_STRTOF=1 \ +-DHAVE_MKOSTEMP=1 \ +-DHAVE_POSIX_MEMALIGN=1 \ +-DHAVE_TIMESPEC_GET=1 \ +-DHAVE_STRTOD_L=1 \ +-DHAVE_DLADDR=1 \ +-DHAVE_DL_ITERATE_PHDR=1 \ +-DHAVE_PTHREAD=1 \ +-DHAVE_PTHREAD_SETAFFINITY=1 \ +-DHAVE_TIMESPEC_GET=1 \ +-DHAVE_STRUCT_TIMESPEC=1 \ +\ +-DHAVE_PROGRAM_INVOCATION_NAME=1 \ +-DHAVE_FLOCK=1 \ +" +#------------------------------------------------------------------------------- +# glibc linux wrappers +glibc_linux_cppflags="\ +-DHAVE_MEMFD_CREATE=1 \ +-DHAVE_MINCORE=1 \ +" +#------------------------------------------------------------------------------- +glibc_ldflags='-pthread -ldl -lm' +#=============================================================================== + + +#=============================================================================== +# lexer and parser +if test "${bison-unset}" = unset; then +bison=/nyan/nyanbison/current/bin/bison +fi +if test "${flex-unset}" = unset; then +flex=/nyan/flex/current/bin/flex +fi +#=============================================================================== + + +#=============================================================================== +# python/perl/ruby/javascript/lua/etc whatever... +if test "${python3-unset}" = unset; then +python3=/nyan/python3/current/bin/python3 +fi + +if test "${mako-unset}" = unset; then +mako=/nyan/mako/current +fi +#=============================================================================== + + +#=============================================================================== +. $script_dir/gcc_binutils.sh +#=============================================================================== + + +#=============================================================================== +# configuration of mesa code paths + +# enable/disable debug code paths +#debug_cppflags='-DDEBUG' +debug_cppflags='-DNDEBUG=1' + +# no GLX_INDIRECT_RENDERING, only GLX_DIRECT_RENDERING +# TODO: removed +#-DGLX_USE_TLS=1 \ +# XXX: the kopper (GL on vulkan) is not compile-able out properly, must +# add vulkan configuration stuff, see the VK_* flags below +mesa_cppflags="\ +$debug_cppflags \ +-DHAVE_OPENGL=1 \ +-DHAVE_OPENGL_ES_1=1 \ +-DHAVE_OPENGL_ES_2=1 \ +-DENABLE_SHADER_CACHE=1 \ +-DHAVE_DRI2=1 \ +-DHAVE_DRI3=1 \ +-DHAVE_DRI3_MODIFIERS=1 \ +-DGLX_DIRECT_RENDERING=1 \ +-DGLX_USE_DRM=1 \ +-DPACKAGE_VERSION=\"$version\" \ +-DPACKAGE_BUGREPORT=\"https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa\" \ +-DHAVE_COMPRESSION \ +\ +-DVK_USE_PLATFORM_XCB_KHR=1 \ +\ +-DALLOW_KCMP \ +" +#=============================================================================== + + +#=============================================================================== +. $script_dir/external_deps.sh +#=============================================================================== + + +#=============================================================================== +# some values repeating often +cco_slib_common_trailer="\ + $mesa_cppflags \ + \ + $external_deps_cppflags \ + \ + $glibc_cppflags \ + $glibc_linux_cppflags \ + $linux_cppflags \ + $gcc_cppflags \ + \ + $cflags_opt \ +" + +cxxo_slib_common_trailer="\ + $mesa_cppflags \ + \ + $external_deps_cppflags \ + \ + $glibc_cppflags \ + $glibc_linux_cppflags \ + $linux_cppflags \ + $gcc_cppflags \ + \ + $cxxflags_opt \ +" +#=============================================================================== + + +################################################################################ +################################################################################ +################################################################################ +################################################################################ +################################################################################ +################################################################################ +################################################################################ +################################################################################ + + +#=============================================================================== +# the install root tree +mkdir -p $build_dir/install_root +#=============================================================================== + + +#=============================================================================== +# the git sha +mkdir -p $build_dir/src +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 +#=============================================================================== + + +#=============================================================================== +# some code generators +. $script_dir/generators_amd.sh +. $script_dir/generators_compiler.sh +. $script_dir/generators_nir.sh +. $script_dir/generators_spirv.sh +. $script_dir/generators_glsl.sh +. $script_dir/generators_gallium_auxiliary.sh +. $script_dir/generators_gallium_frontends.sh +. $script_dir/generators_util.sh +. $script_dir/generators_mapi.sh +. $script_dir/generators_mesa.sh +. $script_dir/generators_egl.sh +wait +#------------------------------------------------------------------------------ +. $script_dir/util.sh +#------------------------------------------------------------------------------ +# APIs management +. $script_dir/loader.sh +. $script_dir/gbm.sh +. $script_dir/mapi.sh +. $script_dir/compiler.sh +. $script_dir/mesa.sh +. $script_dir/glx.sh +. $script_dir/egl.sh +#------------------------------------------------------------------------------ +# hardware dri gallium drivers for above APIs +. $script_dir/amd.sh +. $script_dir/gallium.sh +#=============================================================================== + + +#=============================================================================== +mkdir -p $build_dir/install_root$libdir/pkgconfig +cp $src_dir/contrib/pkgconfig/gl.pc.in $build_dir/install_root$libdir/pkgconfig/gl.pc +sed -i "\ +s:@prefix@:$prefix:;\ +s:@libdir@:$libdir:;\ +s:@includedir@:$incdir:;\ +s:@GL_PC_REQ_PRIV@::;\ +s:@PACKAGE_VERSION@:$version:;\ +s:@GL_PKGCONF_LIB@:GL:;\ +s:@GL_PC_LIB_PRIV@::;\ +s:@GL_PC_CFLAGS@::;\ +s:@GLX_TLS@:yes:;\ +" $build_dir/install_root$libdir/pkgconfig/gl.pc +#=============================================================================== diff --git a/builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/builder.sh b/builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/builder.sh new file mode 100644 index 0000000..7a17e8a --- /dev/null +++ b/builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/builder.sh @@ -0,0 +1,3 @@ +git_commit=${pkg_name##*-} +slot=$git_commit +. $nyan_root/builders/mesa-vulkan/builder.sh diff --git a/builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators.sh b/builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators.sh new file mode 100644 index 0000000..41cc43b --- /dev/null +++ b/builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/generators.sh @@ -0,0 +1,270 @@ +#=============================================================================== +# removing the braindamaged qsort class +cp -f $src_dir/src/compiler/nir/nir.c $src_dir/src/compiler/nir/nir.BK.c +sed -i $src_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 $src_dir/src/util/mesa_cache_db.BK.c +sed -i $src_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 +mkdir -p $build_dir/src/amd/vulkan/meta +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/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 + +# our ndebug/release version +cp -f $src_dir/contrib/vk_enum_to_str.c $src_dir/contrib/vk_enum_to_str.h \ + $build_dir +mkdir -p $build_dir/vulkan/util +mv $build_dir/vk_enum_defines.h $build_dir/vulkan/util & + +$python3 $src_dir/src/vulkan/util/vk_dispatch_table_gen.py \ + --beta false \ + --xml $vulkan_api_xml \ + --out-c vk_dispatch_table.c \ + --out-h $build_dir/vulkan/util/vk_dispatch_table.h & + +$python3 $src_dir/src/vulkan/util/vk_extensions_gen.py \ + --xml $vulkan_api_xml \ + --out-c vk_extensions.c \ + --out-h vk_extensions.h & + +$python3 $src_dir/src/vulkan/util/vk_struct_type_cast_gen.py \ + --beta false \ + --xml $vulkan_api_xml \ + --outdir $build_dir + +$python3 $src_dir/src/compiler/nir/nir_builder_opcodes_h.py \ +>$build_dir/nir_builder_opcodes.h & + +$python3 $src_dir/src/compiler/nir/nir_opcodes_h.py \ +>$build_dir/nir_opcodes.h & + +$python3 $src_dir/src/compiler/nir/nir_intrinsics_h.py \ +--outdir $build_dir & + +$python3 $src_dir/src/compiler/nir/nir_intrinsics_indices_h.py \ +--outdir $build_dir & +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 vk_common_entrypoints.h \ + --out-c 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 vk_cmd_enqueue_entrypoints.h \ + --out-c 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 vk_cmd_queue.h \ + --out-c vk_cmd_queue.c & +$python3 $src_dir/src/vulkan/util/vk_dispatch_trampolines_gen.py \ + --beta false \ + --xml $vulkan_api_xml \ + --out-h vk_dispatch_trampolines.h \ + --out-c vk_dispatch_trampolines.c & +$python3 $src_dir/src/vulkan/util/vk_physical_device_features_gen.py \ + --beta false \ + --xml $vulkan_api_xml \ + --out-h vk_physical_device_features.h \ + --out-c 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 vk_physical_device_properties.h \ + --out-c vk_physical_device_properties.c & +$python3 $src_dir/src/vulkan/runtime/vk_format_info_gen.py \ + --xml $vulkan_api_xml \ + --out-h vk_format_info.h \ + --out-c vk_format_info.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 wsi_common_entrypoints.h \ + --out-c 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/gfx11-rsrc.json \ + $src_dir/src/amd/registers/pkt3.json \ + $src_dir/src/amd/registers/registers-manually-defined.json \ + >$build_dir/sid_tables.h & +mkdir -p $build_dir/src/amd/common +$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/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/ir_expression_operation.h & +#------------------------------------------------------------------------------ +$python3 $src_dir/src/compiler/builtin_types_h.py \ +$build_dir/builtin_types.h & +#------------------------------------------------------------------------------ +$python3 $src_dir/src/compiler/builtin_types_c.py \ +$build_dir/builtin_types.c & +#------------------------------------------------------------------------------ +$python3 $src_dir/src/compiler/builtin_types_cpp_h.py \ +$build_dir/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/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/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/vtn_generator_ids.h & +# nir generated files +$python3 $src_dir/src/compiler/nir/nir_constant_expressions.py \ + >$build_dir/nir_constant_expressions.c & + +$python3 $src_dir/src/compiler/nir/nir_opt_algebraic.py \ + >$build_dir/nir_opt_algebraic.c & + +$python3 $src_dir/src/compiler/nir/nir_opcodes_c.py \ +>$build_dir/nir_opcodes.c & + +$python3 $src_dir/src/compiler/nir/nir_intrinsics_c.py \ +--outdir $build_dir & +unset PYTHONPATH +#=============================================================================== +# libaco +export PYTHONPATH=$mako +$python3 $src_dir/src/amd/compiler/aco_opcodes_h.py \ + >$build_dir/aco_opcodes.h & +$python3 $src_dir/src/amd/compiler/aco_opcodes_cpp.py \ + >$build_dir/aco_opcodes.cpp & +$python3 $src_dir/src/amd/compiler/aco_builder_h.py \ + >$build_dir/aco_builder.h & +unset PYTHONPATH +#=============================================================================== +# libmesautils +mkdir -p $build_dir/src/util + +export PYTHONPATH=$mako +$python3 $src_dir/src/util/format_srgb.py \ + >$build_dir/format_srgb.c + +$python3 $src_dir/src/util/format/u_format_table.py \ +$src_dir/src/util/format/u_format.csv \ + >$build_dir/u_format_table.c + +# wow, really? +mkdir -p $build_dir/src/util/format +$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 radv_entrypoints.h \ + --out-c 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/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/git_sha1.h & +unset PYTHONPATH +#=============================================================================== diff --git a/builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/radv_device.c.patch b/builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/radv_device.c.patch new file mode 100644 index 0000000..d23ec4e --- /dev/null +++ b/builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/radv_device.c.patch @@ -0,0 +1,13 @@ +--- a/src/amd/vulkan/radv_device.c ++++ b/src/amd/vulkan/radv_device.c +@@ -568,6 +568,10 @@ add_entrypoints(struct dispatch_table_builder *b, + b->used[table] = true; + } + ++struct vk_device_entrypoint_table sqtt_device_entrypoints; ++struct vk_device_entrypoint_table rra_device_entrypoints; ++struct vk_device_entrypoint_table rmv_device_entrypoints; ++ + static void + init_dispatch_tables(struct radv_device *device, struct radv_physical_device *physical_device) + { diff --git a/builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/radv_meta.c.patch b/builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/radv_meta.c.patch new file mode 100644 index 0000000..af7c37c --- /dev/null +++ b/builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/radv_meta.c.patch @@ -0,0 +1,80 @@ +--- a/src/amd/vulkan/meta/radv_meta.c ++++ b/src/amd/vulkan/meta/radv_meta.c +@@ -492,31 +492,41 @@ radv_device_init_meta(struct radv_device *device) + goto fail_dgc; + } + +- if (device->vk.enabled_extensions.KHR_acceleration_structure) { +- if (device->vk.enabled_features.nullDescriptor) { +- result = radv_device_init_null_accel_struct(device); +- if (result != VK_SUCCESS) +- goto fail_accel_struct; +- } +- +- /* FIXME: Acceleration structure builds hang when the build shaders are compiled with LLVM. +- * Work around it by forcing ACO for now. +- */ +- bool use_llvm = device->physical_device->use_llvm; +- if (loaded_cache || use_llvm) { +- device->physical_device->use_llvm = false; +- result = radv_device_init_accel_struct_build_state(device); +- device->physical_device->use_llvm = use_llvm; +- +- if (result != VK_SUCCESS) +- goto fail_accel_struct; +- } +- } ++// XXX: insanely toxic compute based stuff pulling that ++// disgusting khronos glslang. Should be independent ++// of glslang and in simple C: (spir-v|gcn/rdna assembly ++// with simple and plain C written "assemblers"). ++// blame: Konstantin Seurer ++// if (device->vk.enabled_extensions.KHR_acceleration_structure) { ++// if (device->vk.enabled_features.nullDescriptor) { ++// result = radv_device_init_null_accel_struct(device); ++// if (result != VK_SUCCESS) ++// goto fail_accel_struct; ++// } ++// ++// /* FIXME: Acceleration structure builds hang when the build shaders are compiled with LLVM. ++// * Work around it by forcing ACO for now. ++// */ ++// bool use_llvm = device->physical_device->use_llvm; ++// if (loaded_cache || use_llvm) { ++// device->physical_device->use_llvm = false; ++// result = radv_device_init_accel_struct_build_state(device); ++// device->physical_device->use_llvm = use_llvm; ++// ++// if (result != VK_SUCCESS) ++// goto fail_accel_struct; ++// } ++// } + + return VK_SUCCESS; + +-fail_accel_struct: +- radv_device_finish_accel_struct_build_state(device); ++// XXX: insanely toxic compute based stuff pulling that ++// disgusting khronos glslang. Should be independent ++// of glslang and in simple C: (spir-v|gcn/rdna assembly ++// with simple and plain C written "assemblers"). ++// blame: Konstantin Seurer ++//fail_accel_struct: ++// radv_device_finish_accel_struct_build_state(device); + fail_dgc: + radv_device_finish_dgc_prepare_state(device); + fail_etc_decode: +@@ -558,7 +568,12 @@ radv_device_finish_meta(struct radv_device *device) + { + radv_device_finish_dgc_prepare_state(device); + radv_device_finish_meta_etc_decode_state(device); +- radv_device_finish_accel_struct_build_state(device); ++// XXX: insanely toxic compute based stuff pulling that ++// disgusting khronos glslang. Should be independent ++// of glslang and in simple C: (spir-v|gcn/rdna assembly ++// with simple and plain C written "assemblers"). ++// blame: Konstantin Seurer ++// radv_device_finish_accel_struct_build_state(device); + radv_device_finish_meta_clear_state(device); + radv_device_finish_meta_resolve_state(device); + radv_device_finish_meta_blit_state(device); diff --git a/builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/radv_no_tracers.c b/builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/radv_no_tracers.c new file mode 100644 index 0000000..f871a7d --- /dev/null +++ b/builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/radv_no_tracers.c @@ -0,0 +1,72 @@ +#include + +/* memory tracing */ +void radv_rmv_collect_trace_events(void){} +void radv_rmv_log_bo_allocate(void){} +void radv_rmv_log_bo_destroy(void){} +void radv_rmv_log_border_color_palette_create(void){} +void radv_rmv_log_border_color_palette_destroy(void){} +void radv_rmv_log_buffer_bind(void){} +void radv_rmv_log_command_buffer_bo_create(void){} +void radv_rmv_log_command_buffer_bo_destroy(void){} +void radv_rmv_log_compute_pipeline_create(void){} +void radv_rmv_log_descriptor_pool_create(void){} +void radv_rmv_log_event_create(void){} +void radv_rmv_log_graphics_pipeline_create(void){} +void radv_rmv_log_heap_create(void){} +void radv_rmv_log_image_bind(void){} +void radv_rmv_log_image_create(void){} +void radv_rmv_log_query_pool_create(void){} +void radv_rmv_log_resource_destroy(void){} +void radv_rmv_log_sparse_add_residency(void){} +void radv_rmv_log_sparse_remove_residency(void){} +void radv_rmv_log_submit(void){} +void radv_rmv_fill_device_info(void){} +void radv_memory_trace_init(void){} +void radv_memory_trace_finish(void){} +void vk_memory_trace_init(void){} +void vk_memory_trace_finish(void){} +void vk_rmv_log_buffer_create(void){} +void vk_rmv_log_cpu_map(void){} +void vk_dump_rmv_capture(void){} + +/* raytracing tracing abomination */ +bool radv_rra_trace_enabled(void) {return false;} +void radv_rra_trace_init(void){} +void radv_rra_trace_finish(void){} +void radv_rra_dump_trace(void){} + +/* sqtt thread tracing */ +void radv_thread_trace_init(void){} +void radv_thread_trace_finish(void){} +void radv_emit_inhibit_clockgating(void){} +void radv_emit_spi_config_cntl(void){} +void radv_sqtt_emit_relocated_shaders(void){} +bool radv_sqtt_init(void){return false;} +void radv_sqtt_finish(void){} + +/* don't know, but seems related to sqtt thread tracing */ +bool radv_is_instruction_timing_enabled(void) {return false;} + +void radv_describe_dispatch(void){} +void radv_describe_layout_transition(void){} +void radv_describe_draw(void){} + +void radv_describe_barrier_start(void){} +void radv_describe_barrier_end(void){} +void radv_describe_barrier_end_delayed(void){} + +void radv_describe_begin_cmd_buffer(void){} +void radv_describe_end_cmd_buffer(void){} + +void radv_describe_begin_render_pass_clear(void){} +void radv_describe_end_render_pass_clear(void){} +void radv_describe_begin_render_pass_resolve(void){} +void radv_describe_end_render_pass_resolve(void){} + + +/* this actually is related to the currently extremely toxic acceleration structure code */ +void *radv_acceleration_structure_get_va(void *a) +{ + return 0; +} diff --git a/builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/vk_enum_to_str.c b/builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/vk_enum_to_str.c new file mode 100644 index 0000000..d764859 --- /dev/null +++ b/builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/vk_enum_to_str.c @@ -0,0 +1,21 @@ +#include +#include + +const char * vk_Result_to_str(VkResult input) +{ + static char buf[64]; + sprintf(buf, "%ld", input); + return buf; +} +const char *vk_ObjectType_to_ObjectName(VkObjectType type) +{ + static char buf[64]; + sprintf(buf, "0x%lx", type); + return buf; +} +const char *vk_ObjectType_to_str(VkObjectType type) +{ + static char buf[64]; + sprintf(buf, "0x%lx", type); + return buf; +} diff --git a/builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/vk_enum_to_str.h b/builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/vk_enum_to_str.h new file mode 100644 index 0000000..85e5bec --- /dev/null +++ b/builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/vk_enum_to_str.h @@ -0,0 +1,7 @@ +#ifndef MESA_VK_ENUM_TO_STR_H +#define MESA_VK_ENUM_TO_STR_H +#include +const char * vk_Result_to_str(VkResult input); +const char *vk_ObjectType_to_ObjectName(VkObjectType type); +const char *vk_ObjectType_to_str(VkObjectType type); +#endif diff --git a/builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/vtn_opencl.c b/builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/vtn_opencl.c new file mode 100644 index 0000000..68cb582 --- /dev/null +++ b/builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/vtn_opencl.c @@ -0,0 +1,16 @@ +/* removal of some bits of redhat/ibm/khronosGL crap */ +#include "math.h" +#include "nir/nir_builtin_builder.h" +#include "vtn_private.h" +bool +vtn_handle_opencl_instruction(struct vtn_builder *b, SpvOp ext_opcode, + const uint32_t *w, unsigned count) +{ + return false; +} +bool +vtn_handle_opencl_core_instruction(struct vtn_builder *b, SpvOp opcode, + const uint32_t *w, unsigned count) +{ + return false; +} diff --git a/builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh b/builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh new file mode 100755 index 0000000..5a27b33 --- /dev/null +++ b/builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh @@ -0,0 +1,1291 @@ +#!/bin/sh + +# Canonical specialized build scripts for AMD hardware on gnu/linux distros. +# Look for "unset", you'll find the values you can override in $1 or +# $build_dir/local_conf.sh file, that in order to tune the script for your +# specific distro/needs. + +# Usage, drop the script at the top of mesa source tree, create somewhere else +# a build directory, cd into it, and call from there this script. +#=============================================================================== +# build dir and src dir +build_dir=$(readlink -f .) +echo "build_dir=$build_dir" +# we are in contrib +src_dir=$(readlink -f $(dirname $0)/..) +echo "src_dir=$src_dir" +#=============================================================================== +# the current configur-able variables may be individually overridden with the +# content of the file in $1 or $build_dir/local_conf.sh. Look for "unset" +# in those scripts to find what you can override to tune the build. +if test -f "$1"; then + . "$1" +else + if test -f $build_dir/local_conf.sh; then + . $build_dir/local_conf.sh + fi +fi +#=============================================================================== +if test "${sysconfdir-unset}" = unset; then +sysconfdir='/nyan/mesa-vulkan/x86_64_linux_glibc_amdgpu/etc' +fi + +if test "${datadir-unset}" = unset; then +datadir='/nyan/mesa-vulkanax86_64_linux_glibc_amdgpu/share' +fi +#=============================================================================== +# when we perform tasks in //, use "roughly" this maximum value +if test "${tasks_n_max-unset}" = unset; then +tasks_n_max=8 +fi +#=============================================================================== +if test "${version-unset}" = unset; then + if test -f $src_dir/VERSION; then + version=$(cat $src_dir/VERSION) + else + version=99.99.99-devel + fi +fi +#=============================================================================== +# python/perl/ruby/javascript/lua/etc whatever... +if test "${python3-unset}" = unset; then +python3=/nyan/python/current/bin/python3 +fi + +if test "${mako-unset}" = unset; then +mako=/nyan/mako/current +fi +#=============================================================================== +# all symbols are tagged hidden by default, then only the public symbol +# will be tagged public explicitely in the code (with extensions to C) +# (for the gl gallium dri driver, it's a gnu ld version script) +if test "${cc-unset}" = unset; then +cc="gcc -std=c99 -pipe -fPIC -O2 -c -static-libgcc -fvisibility=hidden \ +-fno-math-errno -fno-trapping-math \ +-idirafter /nyan/glibc/current/include -idirafter /nyan/linux-headers/current/include" +fi + +if test "${cxx-unset}" = unset; then +cxx="g++ -pipe -fPIC -O2 -c -static-libgcc -static-libstdc++ \ +-fno-math-errno -fno-trapping-math \ +-fno-rtti -fvisibility=hidden -std=c++17 -idirafter /nyan/glibc/current/include -idirafter /nyan/linux-headers/current/include" +fi + +if test "${as-unset}" = unset; then +as=as +fi + +if test "${ar-unset}" = unset; then +ar='ar rcs' +fi + +# XXX:All definitions are mesa specific, except when explicitely defined +# otherwise +# _GNU_SOURCE: +# glibc specific to enable all glibc extension: +# - HAVE_DL_ITERATE_PHDR is a GNU extension +# NDEBUG: +# turn off the debug code paths +# HAVE_NO_AUTOCONF: +# enable some definitions which were generated only by the GNU autotools +# in include/c99_compat.h, many gcc builtins and posix. +# that some macros defined there are used without the inclusion of +# c99_compat.h, hence must be manually provided +# USE_GCC_ATOMIC_BUILTINS +# enable the use of gcc built-ins for atomic operations in +# src/util/u_atomic.h +# HAVE_DLADDR: +# glibc dladdr mandatory for disk cache in utils +# HAVE_STRTOF: +# glibc provides strtof function, used in src/util/strtod.c +# HAVE_TIMESPEC_GET: +# glibc provides the timespec get function, used in threading +# HAVE_STRTOD_L: +# glibc provides strtod_l function, used in src/util/strtod.c +# HAVE_DL_ITERATE_PHDR: +# glibc provides the GNU extension dl_interate_phdr support with the +# _GNU_SOURCE feature test macro, used only in src/util/build_id.[hc] +# HAVE_DLFCN_H: +# autoconf macro switch for dlfcn.h, used for shader disk cache +# timestamp +# MAJOR_IN_SYSMACROS=1, is now used in vulkan +# HAVE_LINUX_FUTEX_H: +# enable the linux futex syscall support code (using the glibc syscall +# function in many src/util headers +# HAVE_DRI3_MODIFIERS: +# mesa vulkan on x11 depends on dri3, this enable latest dri3 features +# ENABLE_SHADER_CACHE: +# do enable the shader cache in the src/util/disk_cache.[hc] +# HAVE_FUNC_ATTRIBUTE_CONST=1: +# enable gcc attribute in src/util/macros.h +# HAVE_FUNC_ATTRIBUTE_MALLOC=1: +# enable gcc attribute in src/util/macros.h +# HAVE_FUNC_ATTRIBUTE_PURE=1: +# enable gcc attribute in src/util/macros.h (and intel compiler) +# HAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1: +# enable gcc attribute in src/util/macros.h +# HAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1: +# enable gcc attribute in src/util/macros.h +# HAVE_FUNC_ATTRIBUTE_WEAK=1: +# enable gcc attribute for atomic in src/util.c and thread emulation +# HAVE_ENDIAN_H=1: +# autoconf macro for the endian.h header used in src/util/u_endian.h +# HAVE_FLOCK=1: +# autoconf macro for src/util/disk_cache_os.c +# VK_USE_PLATFORM_XCB_KHR: +# vulkan macro enabling x11/xcb platform support, linked to +# VK_USE_PLATFORM_XLIB_KHR in the code +# VK_USE_PLATFORM_XLIB_KHR: +# vulkan macro enabling x11/xlib platform support, linked to +# VK_USE_PLATFORM_XCB_KHR in the code +# VK_USE_PLATFORM_XLIB_XRANDR_EXT: +# xrandr stuff for vulkan +# +# XXX: removed macros which seem not to be related +# - HAVE_X11_PLATFORM: gallium video layer (vl), and egl +# - HAVE_SURFACELESS_PLATFORM: egl, egl dri2 +# - HAVE_DRM_PLATFORM: egl, egl dri2 +# - HAVE_DRI3: egl dri2, glx, gallium video layer +# - STDC_HEADERS=1 autoconf macro switch for standard C headers, used nowhere +# - HAVE_SYS_TYPES_H=1 autoconf macro switch for sys/types.h header, used +# nowhere +# - HAVE_SYS_STAT_H=1 autoconf macro switch for sys/stat.h, used nowhere +# - HAVE_STDLIB_H=1 autoconf macro switch for stdlib.h, used nowhere +# - HAVE_STRING_H=1 autoconf macro switch for string.h, used nowhere +# - HAVE_MEMORY_H=1 autoconf macro switch for memory.h, used nowhere +# - HAVE_STRINGS_H=1 autoconf macro switch for strings.h, used nowhere +# - HAVE_INTTYPES_H=1 autoconf macro switch for inttypes.h, used nowhere +# - HAVE_STDINT_H=1 autoconf macro switch for stdint.h, used in the +# old svga gallium driver +# - HAVE_UNISTD_H=1 autoconf macro switch for unistd.h, used in the intel +# program lexer +# - HAVE_FUNC_ATTRIBUTE_ALIAS=1, usually enable with the HAVE_NO_AUTOCONF +# but seems to be used directly in glx and glapi +# - HAVE_FUNC_ATTRIBUTE_VISIBILITY=1, enable the gcc visibilty attribute +# only in mapi entry headers +# - HAVE_CLOCK_GETTIME=1, autoconf macro switch, used nowhere +# - HAVE_PTHREAD_PRIO_INHERIT=1, m4 defined macro, used nowhere +# - USE_SSE41, enable ssee41 code paths in dri intel 965, and mesa vbo +# - USE_X86_64_ASM, enable x86_64 code paths in varios mesa parts, no vulkan +# parts +# - HAVE_SYS_SYSCTL_H autoconf macro for sys/sysctl.h header, used in the dri +# software rasterizer +# - HAVE_MKOSTEMP autoconf macro, used only in egl dri2 wayland platform +# - HAVE_MEMFD_CREATE: enable the linux memfd syscall support code (intel vulkan +# only) usingt the glibc syscall function + +gcc_builtins_cppflags="\ +-DHAVE___BUILTIN_BSWAP32=1 \ +-DHAVE___BUILTIN_BSWAP64=1 \ +-DHAVE___BUILTIN_CLZ=1 \ +-DHAVE___BUILTIN_CLZLL=1 \ +-DHAVE___BUILTIN_CTZ=1 \ +-DHAVE___BUILTIN_EXPECT=1 \ +-DHAVE___BUILTIN_FFS=1 \ +-DHAVE___BUILTIN_FFSLL=1 \ +-DHAVE___BUILTIN_POPCOUNT=1 \ +-DHAVE___BUILTIN_POPCOUNTLL=1 \ +-DHAVE___BUILTIN_UNREACHABLE=1 \ +-DUSE_GCC_ATOMIC_BUILTINS=1 \ +" + +gcc_attributes_cppflags="\ +-DHAVE_FUNC_ATTRIBUTE_CONST=1 \ +-DHAVE_FUNC_ATTRIBUTE_FLATTEN=1 \ +-DHAVE_FUNC_ATTRIBUTE_MALLOC=1 \ +-DHAVE_FUNC_ATTRIBUTE_PURE=1 \ +-DHAVE_FUNC_ATTRIBUTE_UNUSED=1 \ +-DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT=1 \ +-DHAVE_FUNC_ATTRIBUTE_WEAK=1 \ +\ +-DHAVE_FUNC_ATTRIBUTE_FORMAT=1 \ +-DHAVE_FUNC_ATTRIBUTE_PACKED=1 \ +-DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL=1 \ +-DHAVE_FUNC_ATTRIBUTE_VISIBILITY=1 \ +-DHAVE_FUNC_ATTRIBUTE_ALIAS=1 \ +-DHAVE_FUNC_ATTRIBUTE_NORETURN=1 \ +-DHAVE_FUNC_ATTRIBUTE_UINT128=1 \ +" + +linux_glibc_cppflags="\ +-D_GNU_SOURCE=1 \ +-DHAVE_PTHREAD \ +-DHAVE_PTHREAD_SETAFFINITY \ +-DHAVE_POSIX_MEMALIGN \ +-DHAVE_STRTOF \ +-DHAVE_TIMESPEC_GET \ +-DHAVE_STRTOD_L \ +-DHAVE_DLFCN_H \ +-DHAVE_DL_ITERATE_PHDR \ +-DHAVE_LINUX_FUTEX_H \ +-DHAVE_ENDIAN_H=1 \ +-DHAVE_PROGRAM_INVOCATION_NAME=1 \ +-DHAVE_DLADDR=1 \ +-DHAVE_FLOCK=1 \ +-DMAJOR_IN_SYSMACROS=1 \ +-DHAVE_TIMESPEC_GET=1 \ +-DHAVE_STRUCT_TIMESPEC=1 \ +-DALLOW_KCMP \ +" +mesa_cppflags="\ +-DNDEBUG \ +-DHAVE_DRI3_MODIFIERS \ +-DENABLE_SHADER_CACHE \ +-DHAVE_COMPRESSION \ +" + +mesa_vulkan_cppflags="\ +-DVK_USE_PLATFORM_DISPLAY_KHR \ +-DVK_USE_PLATFORM_XCB_KHR \ +-DVK_USE_PLATFORM_XLIB_KHR \ +-DVK_USE_PLATFORM_XLIB_XRANDR_EXT \ +\ +-DVIDEO_CODEC_H265DEC=0 \ +-DVIDEO_CODEC_H264DEC=0 \ +" + +cppflags_common="\ +$gcc_builtins_cppflags \ +$gcc_attributes_cppflags \ +$linux_glibc_cppflags \ +$mesa_cppflags \ +$mesa_vulkan_cppflags \ +" +#=============================================================================== +# expat +if test "${expat_cppflags-unset}" = unset; then +expat_cppflags='-I/nyan/expat/current/include' +fi +if test "${expat_archives-unset}" = unset; then +expat_archives=libexpat.a +fi +if test "${expat_ldflags-unset}" = unset; then +expat_ldflags="/nyan/expat/current/lib/$expat_archives" +fi +#=============================================================================== +if test "${libxau_cppflags-unset}" = unset; then +libxau_cppflags='-I/nyan/libXau/current/include' +fi +#=============================================================================== +if test "${libxcb_cppflags-unset}" = unset; then +libxcb_cppflags='-I/nyan/libxcb/current/include' +fi + +if test "${libxcb_ldflags-unset}" = unset; then +libxcb_ldflags="\ +/nyan/libxcb/current/lib/libxcb-xtest.so \ +/nyan/libxcb/current/lib/libxcb-damage.so \ +/nyan/libxcb/current/lib/libxcb-xfixes.so \ +/nyan/libxcb/current/lib/libxcb-xvmc.so \ +/nyan/libxcb/current/lib/libxcb-xinerama.so \ +/nyan/libxcb/current/lib/libxcb-dri2.so \ +/nyan/libxcb/current/lib/libxcb-composite.so \ +/nyan/libxcb/current/lib/libxcb-dpms.so \ +/nyan/libxcb/current/lib/libxcb-sync.so \ +/nyan/libxcb/current/lib/libxcb-randr.so \ +/nyan/libxcb/current/lib/libxcb-res.so \ +/nyan/libxcb/current/lib/libxcb.so \ +/nyan/libxcb/current/lib/libxcb-screensaver.so \ +/nyan/libxcb/current/lib/libxcb-xkb.so \ +/nyan/libxcb/current/lib/libxcb-xv.so \ +/nyan/libxcb/current/lib/libxcb-render.so \ +/nyan/libxcb/current/lib/libxcb-shm.so \ +/nyan/libxcb/current/lib/libxcb-dri3.so \ +/nyan/libxcb/current/lib/libxcb-record.so \ +/nyan/libxcb/current/lib/libxcb-xinput.so \ +/nyan/libxcb/current/lib/libxcb-present.so \ +/nyan/libxcb/current/lib/libxcb-glx.so \ +/nyan/libxcb/current/lib/libxcb-shape.so \ +/nyan/libxcb/current/lib/libxcb-xf86dri.so \ +" +fi +#=============================================================================== +if test "${libxrender_cppflags-unset}" = unset; then +libxrender_cppflags='-I/nyan/libXrender/current/include' +fi + +if test "${libxrender_ldflags-unset}" = unset; then +libxrender_ldflags="/nyan/libXrender/current/lib/libXrender.so" +fi +#=============================================================================== +if test "${libxrandr_cppflags-unset}" = unset; then +libxrandr_cppflags='-I/nyan/libXrandr/current/include' +fi + +if test "${libxrandr_ldflags-unset}" = unset; then +libxrandr_ldflags="/nyan/libXrandr/current/lib/libXrandr.so" +fi +#=============================================================================== +if test "${libx11_cppflags-unset}" = unset; then +libx11_cppflags='-I/nyan/libX11/current/include' +fi + +if test "${libx11_ldflags-unset}" = unset; then +libx11_ldflags="\ +/nyan/libX11/current/lib/libX11.so \ +/nyan/libX11/current/lib/libX11-xcb.so \ +" +fi +#=============================================================================== +if test "${libxshmfence_cppflags-unset}" = unset; then +libxshmfence_cppflags='-I/nyan/libxshmfence/current/include' +fi + +if test "${libxshmfence_ldflags-unset}" = unset; then +libxshmfence_ldflags='/nyan/libxshmfence/current/lib/libxshmfence.so' +fi +#=============================================================================== +if test "${xorgproto_cppflags-unset}" = unset; then +xorgproto_cppflags='-I/nyan/xorgproto/current/include' +fi +#=============================================================================== +if test "${libdrm_cppflags-unset}" = unset; then +libdrm_cppflags='-I/nyan/drm/current/include/libdrm -I/nyan/drm/current/include -DHAVE_LIBDRM' +fi + +if test "${libdrm_ldflags-unset}" = unset; then +libdrm_ldflags='/nyan/drm/current/lib/libdrm.so' +fi +#=============================================================================== +if test "${libdrm_amdgpu_cppflags-unset}" = unset; then +libdrm_amdgpu_cppflags='-I/nyan/drm/current/include/libdrm' +fi + +if test "${libdrm_amdgpu_ldflags-unset}" = unset; then +libdrm_amdgpu_ldflags='/nyan/drm/current/lib/libdrm_amdgpu.so' +fi +#=============================================================================== +if test "${linux_drm_cppflags-unset}" = unset; then +linux_drm_cppflags='-I/nyan/glibc/current/include-linux/drm' +fi +#=============================================================================== +if test "${libelf_cppflags-unset}" = unset; then +libelf_cppflags="-I/nyan/libelf/current/include/libelf \ +-I/nyan/libelf/current/include" +fi + +if test "${libelf_archives-unset}" = unset; then +libelf_archives=libelf.a +fi + +if test "${libelf_ldflags-unset}" = unset; then +libelf_ldflags="/nyan/libelf/current/lib/$libelf_archives" +fi +#=============================================================================== +if test "${zlib_cppflags-unset}" = unset; then +zlib_cppflags='-I/nyan/zlib/current/include -DHAVE_ZLIB' +fi + +if test "${zlib_archives-unset}" = unset; then +zlib_archives=libz.a +fi + +if test "${zlib_ldflags-unset}" = unset; then +zlib_ldflags="/nyan/zlib/current/lib/$zlib_archives" +fi +#=============================================================================== +# build system compiler (the one used to compile the build system python), _not_ +# the target compiler if you cross compile +if test "${build_cc-unset}" = unset; then +build_cc="gcc -pipe -O2 -c -I/nyan/glibc/current/include-linux" +fi +if test "${build_ccld-unset}" = unset; then +build_ccld="gcc -pipe -B/nyan/glibc/current/lib -L/nyan/glibc/current/lib" +fi +#=============================================================================== +# the kronos registry +vulkan_api_xml=$src_dir/src/vulkan/registry/vk.xml +#=============================================================================== +# all code generation should happen here (no weird interlocked deps) +. $src_dir/contrib/generators.sh +wait +#=============================================================================== +# object put in libvulkan_amd_common +$cc -o $build_dir/xmlconfig.o $src_dir/src/util/xmlconfig.c \ + -DSYSCONFDIR=\"$sysconfdir\" \ + -DDATADIR=\"$datadir\" \ + \ + -I$build_dir/src/util \ + -I$src_dir/src \ + -I$src_dir/include \ + $cppflags_common \ + $expat_cppflags & +#=============================================================================== +# vulkan util +cppflags="\ +$cppflags_common \ +-DPACKAGE_VERSION=\"$version\" \ +-DVERSION=\"$version\" \ +-I$build_dir/vulkan/util \ +-I$build_dir \ +-I$src_dir/src/vulkan/util \ +-I$src_dir/src/vulkan/runtime \ +-I$src_dir/src/gallium/include \ +-I$src_dir/src/util \ +-I$src_dir/src \ +-I$src_dir/include \ +$libxcb_cppflags \ +$libx11_cppflags \ +$libxrandr_cppflags \ +$libxrender_cppflags \ +$xorgproto_cppflags \ +" +libvulkan_util_files="\ +$src_dir/src/vulkan/util/vk_alloc.c \ +$build_dir/vk_dispatch_table.c \ +$build_dir/vk_enum_to_str.c \ +$build_dir/vk_extensions.c \ +$src_dir/src/vulkan/util/vk_format.c \ +$src_dir/src/vulkan/util/vk_util.c \ +" +for f in $libvulkan_util_files +do + libvulkan_util_obj=$build_dir/$(basename $f .c).o + libvulkan_util_a="$libvulkan_util_a $libvulkan_util_obj" + + $cc $cppflags $f -o $libvulkan_util_obj & +done +#=============================================================================== +# vulkan runtime +cppflags="\ +$cppflags_common \ +-DPACKAGE_VERSION=\"$version\" \ +-DVERSION=\"$version\" \ +-I$build_dir/vulkan/util \ +-I$build_dir \ +-I$src_dir/src/vulkan/util \ +-I$src_dir/src/vulkan/runtime \ +-I$src_dir/src/gallium/include \ +-I$src_dir/src/compiler/nir \ +-I$src_dir/src/util \ +-I$src_dir/src \ +-I$src_dir/include \ +$libdrm_cppflags \ +$libxcb_cppflags \ +$libx11_cppflags \ +$libxrandr_cppflags \ +$libxrender_cppflags \ +$xorgproto_cppflags \ +" +libvulkan_runtime_files="\ +$src_dir/src/vulkan/runtime/vk_acceleration_structure.c \ +$src_dir/src/vulkan/runtime/vk_blend.c \ +$src_dir/src/vulkan/runtime/vk_buffer.c \ +$src_dir/src/vulkan/runtime/vk_buffer_view.c \ +$src_dir/src/vulkan/runtime/vk_cmd_copy.c \ +$src_dir/src/vulkan/runtime/vk_cmd_enqueue.c \ +$build_dir/vk_cmd_enqueue_entrypoints.c \ +$build_dir/vk_cmd_queue.c \ +$src_dir/src/vulkan/runtime/vk_command_buffer.c \ +$src_dir/src/vulkan/runtime/vk_command_pool.c \ +$build_dir/vk_common_entrypoints.c \ +$src_dir/src/vulkan/runtime/vk_debug_report.c \ +$src_dir/src/vulkan/runtime/vk_debug_utils.c \ +$src_dir/src/vulkan/runtime/vk_deferred_operation.c \ +$src_dir/src/vulkan/runtime/vk_device_memory.c \ +$src_dir/src/vulkan/runtime/vk_descriptor_set_layout.c \ +$src_dir/src/vulkan/runtime/vk_descriptor_update_template.c \ +$src_dir/src/vulkan/runtime/vk_descriptors.c \ +$src_dir/src/vulkan/runtime/vk_device.c \ +$src_dir/src/vulkan/runtime/vk_drm_syncobj.c \ +$build_dir/vk_dispatch_trampolines.c \ +$src_dir/src/vulkan/runtime/vk_fence.c \ +$build_dir/vk_format_info.c \ +$src_dir/src/vulkan/runtime/vk_framebuffer.c \ +$src_dir/src/vulkan/runtime/vk_graphics_state.c \ +$src_dir/src/vulkan/runtime/vk_image.c \ +$src_dir/src/vulkan/runtime/vk_instance.c \ +$src_dir/src/vulkan/runtime/vk_log.c \ +$src_dir/src/vulkan/runtime/vk_meta.c \ +$src_dir/src/vulkan/runtime/vk_meta_blit_resolve.c \ +$src_dir/src/vulkan/runtime/vk_meta_clear.c \ +$src_dir/src/vulkan/runtime/vk_meta_draw_rects.c \ +$src_dir/src/vulkan/runtime/vk_nir.c \ +$src_dir/src/vulkan/runtime/vk_nir_convert_ycbcr.c \ +$src_dir/src/vulkan/runtime/vk_object.c \ +$src_dir/src/vulkan/runtime/vk_pipeline.c \ +$src_dir/src/vulkan/runtime/vk_pipeline_layout.c \ +$src_dir/src/vulkan/runtime/vk_pipeline_cache.c \ +$src_dir/src/vulkan/runtime/vk_physical_device.c \ +$build_dir/vk_physical_device_features.c \ +$build_dir/vk_physical_device_properties.c \ +$src_dir/src/vulkan/runtime/vk_query_pool.c \ +$src_dir/src/vulkan/runtime/vk_queue.c \ +$src_dir/src/vulkan/runtime/vk_render_pass.c \ +$src_dir/src/vulkan/runtime/vk_sampler.c \ +$src_dir/src/vulkan/runtime/vk_semaphore.c \ +$src_dir/src/vulkan/runtime/vk_shader_module.c \ +$src_dir/src/vulkan/runtime/vk_standard_sample_locations.c \ +$src_dir/src/vulkan/runtime/vk_sync.c \ +$src_dir/src/vulkan/runtime/vk_sync_binary.c \ +$src_dir/src/vulkan/runtime/vk_sync_dummy.c \ +$src_dir/src/vulkan/runtime/vk_sync_timeline.c \ +$src_dir/src/vulkan/runtime/vk_synchronization2.c \ +$src_dir/src/vulkan/runtime/vk_video.c \ +$src_dir/src/vulkan/runtime/vk_ycbcr_conversion.c \ +" +for f in $libvulkan_runtime_files +do + libvulkan_runtime_obj=$build_dir/$(basename $f .c).o + libvulkan_runtime_a="$libvulkan_runtime_a $libvulkan_runtime_obj" + + $cc $cppflags $f -o $libvulkan_runtime_obj & +done +#=============================================================================== +# wsi x11 (Window System Interface) +cppflags="\ +$cppflags_common \ +-I$build_dir/vulkan/util \ +-I$build_dir \ +-I$src_dir/src \ +-I$src_dir/src/vulkan/util \ +-I$src_dir/src/vulkan/runtime \ +-I$src_dir/src/gallium/include \ +-I$src_dir/include \ +-I$src_dir/include/drm-uapi \ +$libxcb_cppflags \ +$libx11_cppflags \ +$libxrandr_cppflags \ +$libxrender_cppflags \ +$xorgproto_cppflags \ +$libxshmfence_cppflags \ +$libdrm_cppflags \ +" +$cc $cppflags $src_dir/src/vulkan/wsi/wsi_common.c \ + -o $build_dir/wsi_common.o & +$cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_drm.c \ + -o $build_dir/wsi_common_drm.o & +$cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_x11.c \ + -o $build_dir/wsi_common_x11.o & +$cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_display.c \ + -o $build_dir/wsi_common_display.o & +$cc $cppflags $src_dir/src/vulkan/wsi/wsi_common_headless.c \ + -o $build_dir/wsi_common_headless.o & +$cc $cppflags $build_dir/wsi_common_entrypoints.c \ + -o $build_dir/wsi_common_entrypoints.o & +libvulkan_wsi_a="\ +$build_dir/wsi_common.o \ +$build_dir/wsi_common_drm.o \ +$build_dir/wsi_common_x11.o \ +$build_dir/wsi_common_display.o \ +$build_dir/wsi_common_headless.o \ +$build_dir/wsi_common_entrypoints.o \ +" +#=============================================================================== +# amd common archive +cppflags="\ +$cppflags_common \ +-I$build_dir \ +-I$src_dir/src/gallium/auxiliary \ +-I$src_dir/src/gallium/include \ +-I$build_dir/src/amd/common \ +-I$src_dir/src/amd/common \ +-I$src_dir/src/util \ +-I$build_dir/src/amd \ +-I$src_dir/src/amd \ +-I$src_dir/src/compiler/nir \ +-I$src_dir/src/compiler \ +-I$src_dir/src/mesa \ +-I$src_dir/src \ +-I$src_dir/include \ +-I$src_dir/include/drm-uapi \ +$libdrm_cppflags \ +$libdrm_amdgpu_cppflags \ +$linux_drm_cppflags \ +$libelf_cppflags \ +" +#$src_dir/src/amd/common/ac_surface_meta_address_test.c \ +#$src_dir/src/amd/common/ac_surface_modifier_test.c \ +#$src_dir/src/amd/common/ac_sqtt.c \ +libamd_common_c_files="\ +$src_dir/src/amd/common/ac_surface.c \ +$src_dir/src/amd/common/ac_binary.c \ +$src_dir/src/amd/common/ac_debug.c \ +$src_dir/src/amd/common/amd_family.c \ +$src_dir/src/amd/common/ac_gpu_info.c \ +$src_dir/src/amd/common/ac_msgpack.c \ +$src_dir/src/amd/common/ac_nir.c \ +$src_dir/src/amd/common/ac_nir_cull.c \ +$src_dir/src/amd/common/ac_nir_lower_esgs_io_to_mem.c \ +$src_dir/src/amd/common/ac_nir_lower_global_access.c \ +$src_dir/src/amd/common/ac_nir_lower_image_opcodes_cdna.c \ +$src_dir/src/amd/common/ac_nir_lower_ngg.c \ +$src_dir/src/amd/common/ac_nir_lower_ps.c \ +$src_dir/src/amd/common/ac_nir_lower_resinfo.c \ +$src_dir/src/amd/common/ac_nir_lower_subdword_loads.c \ +$src_dir/src/amd/common/ac_nir_lower_taskmesh_io_to_mem.c \ +$src_dir/src/amd/common/ac_nir_lower_tess_io_to_mem.c \ +$src_dir/src/amd/common/ac_nir_lower_tex.c \ +$src_dir/src/amd/common/ac_nir_opt_outputs.c \ +$src_dir/src/amd/common/ac_parse_ib.c \ +$src_dir/src/amd/common/ac_perfcounter.c \ +$src_dir/src/amd/common/ac_shader_args.c \ +$src_dir/src/amd/common/ac_shader_util.c \ +$src_dir/src/amd/common/ac_shadowed_regs.c \ +$src_dir/src/amd/common/ac_rgp.c \ +$src_dir/src/amd/common/ac_rgp_elf_object_pack.c \ +$src_dir/src/amd/common/ac_rtld.c \ +$src_dir/src/amd/common/ac_spm.c \ +" +for f in $libamd_common_c_files +do + libamd_common_c_obj=$build_dir/$(basename $f .c).o + libamd_common_a="$libamd_common_a $libamd_common_c_obj" + + $cc $cppflags $f -o $libamd_common_c_obj & +done +#=============================================================================== +# addrlib (similar c++ pile of cr*p than llvm, everything c++ is anyway) +cppflags="\ +$cppflags_common \ +-DLITTLEENDIAN_CPU \ +-I$src_dir/src/amd/addrlib/inc/chip/gfx11 \ +-I$src_dir/src/amd/addrlib/inc/chip/gfx10 \ +-I$src_dir/src/amd/addrlib/inc/chip/gfx9 \ +-I$src_dir/src/amd/addrlib/inc/chip/r800 \ +-I$src_dir/src/amd/addrlib/inc \ +-I$src_dir/src/amd/addrlib/src/core \ +-I$src_dir/src/amd/addrlib/src/chip/gfx11 \ +-I$src_dir/src/amd/addrlib/src/chip/gfx10 \ +-I$src_dir/src/amd/addrlib/src/chip/gfx9 \ +-I$src_dir/src/amd/addrlib/src/chip/r800 \ +-I$src_dir/src/amd/addrlib/src \ +-I$src_dir/src \ +-I$src_dir/include \ +" +libamdgpu_addrlib_files="\ +$src_dir/src/amd/addrlib/src/addrinterface.cpp \ +$src_dir/src/amd/addrlib/src/core/addrelemlib.cpp \ +$src_dir/src/amd/addrlib/src/core/addrlib.cpp \ +$src_dir/src/amd/addrlib/src/core/addrlib1.cpp \ +$src_dir/src/amd/addrlib/src/core/addrlib2.cpp \ +$src_dir/src/amd/addrlib/src/core/addrobject.cpp \ +$src_dir/src/amd/addrlib/src/core/coord.cpp \ +$src_dir/src/amd/addrlib/src/gfx10/gfx10addrlib.cpp \ +$src_dir/src/amd/addrlib/src/gfx11/gfx11addrlib.cpp \ +$src_dir/src/amd/addrlib/src/gfx9/gfx9addrlib.cpp \ +$src_dir/src/amd/addrlib/src/r800/ciaddrlib.cpp \ +$src_dir/src/amd/addrlib/src/r800/egbaddrlib.cpp \ +$src_dir/src/amd/addrlib/src/r800/siaddrlib.cpp \ +" +for f in $libamdgpu_addrlib_files +do + libamdgpu_addrlib_obj=$build_dir/$(basename $f .c).o + libamdgpu_addrlib_a="$libamdgpu_addrlib_a $libamdgpu_addrlib_obj" + + $cxx $cppflags $f -o $libamdgpu_addrlib_obj & +done +#=============================================================================== +# libcompiler required by libnir +cppflags="\ +$cppflags_common \ +-I$build_dir \ +-I$src_dir/src/compiler \ +-I$src_dir/src/gallium/auxiliary \ +-I$src_dir/src/gallium/include \ +-I$src_dir/src/mesa \ +-I$src_dir/src \ +-I$src_dir/include \ +" +$cxx $cppflags $src_dir/src/compiler/glsl_types.cpp \ + -o $build_dir/glsl_types.o & +$cxx $cppflags $src_dir/src/compiler/nir_types.cpp \ + -o $build_dir/nir_types.o & +$cc $cppflags $src_dir/src/compiler/shader_enums.c \ + -o $build_dir/shader_enums.o & +$cc $cppflags $build_dir/builtin_types.c \ + -o $build_dir/builtin_types.o & +libcompiler_a="\ +$build_dir/glsl_types.o \ +$build_dir/nir_types.o \ +$build_dir/shader_enums.o \ +$build_dir/builtin_types.o \ +" +#=============================================================================== +# libnir +cppflags="\ +$cppflags_common \ +-I$build_dir \ +-I$src_dir/src/compiler/spirv \ +-I$src_dir/src/compiler/nir \ +-I$src_dir/src/compiler \ +-I$src_dir/src/gallium/auxiliary \ +-I$src_dir/src/gallium/include \ +-I$src_dir/src/mesa \ +-I$src_dir/src \ +-I$src_dir/include \ +$xorgproto_cppflags \ +$libxcb_cppflags \ +$libx11_cppflags \ +$libxrender_cppflags \ +$libxrandr_cppflags \ +" +libnir_files="\ +$build_dir/spirv_info.c \ +$build_dir/vtn_gather_types.c \ +$build_dir/nir_intrinsics.c \ +$build_dir/nir_opcodes.c \ +$build_dir/nir_opt_algebraic.c \ +$build_dir/nir_constant_expressions.c \ +\ +$src_dir/src/compiler/spirv/gl_spirv.c \ +$src_dir/src/compiler/spirv/spirv_to_nir.c \ +$src_dir/src/compiler/spirv/vtn_alu.c \ +$src_dir/src/compiler/spirv/vtn_amd.c \ +$src_dir/src/compiler/spirv/vtn_cfg.c \ +$src_dir/src/compiler/spirv/vtn_cmat.c \ +$src_dir/src/compiler/spirv/vtn_glsl450.c \ +$src_dir/contrib/vtn_opencl.c \ +$src_dir/src/compiler/spirv/vtn_structured_cfg.c \ +$src_dir/src/compiler/spirv/vtn_subgroup.c \ +$src_dir/src/compiler/spirv/vtn_variables.c \ +\ +$src_dir/src/compiler/nir/nir.c \ +$src_dir/src/compiler/nir/nir_builder.c \ +$src_dir/src/compiler/nir/nir_builtin_builder.c \ +$src_dir/src/compiler/nir/nir_clone.c \ +$src_dir/src/compiler/nir/nir_control_flow.c \ +$src_dir/src/compiler/nir/nir_deref.c \ +$src_dir/src/compiler/nir/nir_divergence_analysis.c \ +$src_dir/src/compiler/nir/nir_dominance.c \ +$src_dir/src/compiler/nir/nir_from_ssa.c \ +$src_dir/src/compiler/nir/nir_gather_info.c \ +$src_dir/src/compiler/nir/nir_gather_types.c \ +$src_dir/src/compiler/nir/nir_gather_xfb_info.c \ +$src_dir/src/compiler/nir/nir_group_loads.c \ +$src_dir/src/compiler/nir/nir_gs_count_vertices.c \ +$src_dir/src/compiler/nir/nir_functions.c \ +$src_dir/src/compiler/nir/nir_inline_uniforms.c \ +$src_dir/src/compiler/nir/nir_instr_set.c \ +$src_dir/src/compiler/nir/nir_legacy.c \ +$src_dir/src/compiler/nir/nir_linking_helpers.c \ +$src_dir/src/compiler/nir/nir_liveness.c \ +$src_dir/src/compiler/nir/nir_loop_analyze.c \ +$src_dir/src/compiler/nir/nir_lower_alpha_test.c \ +$src_dir/src/compiler/nir/nir_lower_alu.c \ +$src_dir/src/compiler/nir/nir_lower_alu_width.c \ +$src_dir/src/compiler/nir/nir_lower_amul.c \ +$src_dir/src/compiler/nir/nir_lower_array_deref_of_vec.c \ +$src_dir/src/compiler/nir/nir_lower_atomics_to_ssbo.c \ +$src_dir/src/compiler/nir/nir_lower_bitmap.c \ +$src_dir/src/compiler/nir/nir_lower_bit_size.c \ +$src_dir/src/compiler/nir/nir_lower_blend.c \ +$src_dir/src/compiler/nir/nir_lower_bool_to_int32.c \ +$src_dir/src/compiler/nir/nir_lower_bool_to_bitsize.c \ +$src_dir/src/compiler/nir/nir_lower_clamp_color_outputs.c \ +$src_dir/src/compiler/nir/nir_lower_cl_images.c \ +$src_dir/src/compiler/nir/nir_lower_clip.c \ +$src_dir/src/compiler/nir/nir_lower_clip_cull_distance_arrays.c \ +$src_dir/src/compiler/nir/nir_lower_clip_disable.c \ +$src_dir/src/compiler/nir/nir_lower_convert_alu_types.c \ +$src_dir/src/compiler/nir/nir_lower_const_arrays_to_uniforms.c \ +$src_dir/src/compiler/nir/nir_lower_continue_constructs.c \ +$src_dir/src/compiler/nir/nir_lower_discard_if.c \ +$src_dir/src/compiler/nir/nir_lower_discard_or_demote.c \ +$src_dir/src/compiler/nir/nir_lower_double_ops.c \ +$src_dir/src/compiler/nir/nir_lower_drawpixels.c \ +$src_dir/src/compiler/nir/nir_lower_fb_read.c \ +$src_dir/src/compiler/nir/nir_lower_flatshade.c \ +$src_dir/src/compiler/nir/nir_lower_flrp.c \ +$src_dir/src/compiler/nir/nir_lower_fp16_conv.c \ +$src_dir/src/compiler/nir/nir_lower_frag_coord_to_pixel_coord.c \ +$src_dir/src/compiler/nir/nir_lower_fragcolor.c \ +$src_dir/src/compiler/nir/nir_lower_fragcoord_wtrans.c \ +$src_dir/src/compiler/nir/nir_lower_frexp.c \ +$src_dir/src/compiler/nir/nir_lower_global_vars_to_local.c \ +$src_dir/src/compiler/nir/nir_lower_gs_intrinsics.c \ +$src_dir/src/compiler/nir/nir_lower_goto_ifs.c \ +$src_dir/src/compiler/nir/nir_lower_helper_writes.c \ +$src_dir/src/compiler/nir/nir_lower_idiv.c \ +$src_dir/src/compiler/nir/nir_lower_image.c \ +$src_dir/src/compiler/nir/nir_lower_image_atomics_to_global.c \ +$src_dir/src/compiler/nir/nir_lower_indirect_derefs.c \ +$src_dir/src/compiler/nir/nir_lower_input_attachments.c \ +$src_dir/src/compiler/nir/nir_lower_int64.c \ +$src_dir/src/compiler/nir/nir_lower_int_to_float.c \ +$src_dir/src/compiler/nir/nir_lower_interpolation.c \ +$src_dir/src/compiler/nir/nir_lower_io.c \ +$src_dir/src/compiler/nir/nir_lower_io_arrays_to_elements.c \ +$src_dir/src/compiler/nir/nir_lower_io_to_temporaries.c \ +$src_dir/src/compiler/nir/nir_lower_io_to_scalar.c \ +$src_dir/src/compiler/nir/nir_lower_io_to_vector.c \ +$src_dir/src/compiler/nir/nir_lower_is_helper_invocation.c \ +$src_dir/src/compiler/nir/nir_lower_load_const_to_scalar.c \ +$src_dir/src/compiler/nir/nir_lower_mediump.c \ +$src_dir/src/compiler/nir/nir_lower_mem_access_bit_sizes.c \ +$src_dir/src/compiler/nir/nir_lower_memcpy.c \ +$src_dir/src/compiler/nir/nir_lower_memory_model.c \ +$src_dir/src/compiler/nir/nir_lower_multiview.c \ +$src_dir/src/compiler/nir/nir_lower_non_uniform_access.c \ +$src_dir/src/compiler/nir/nir_lower_packing.c \ +$src_dir/src/compiler/nir/nir_lower_passthrough_edgeflags.c \ +$src_dir/src/compiler/nir/nir_lower_patch_vertices.c \ +$src_dir/src/compiler/nir/nir_lower_phis_to_scalar.c \ +$src_dir/src/compiler/nir/nir_lower_point_size.c \ +$src_dir/src/compiler/nir/nir_lower_point_size_mov.c \ +$src_dir/src/compiler/nir/nir_lower_point_smooth.c \ +$src_dir/src/compiler/nir/nir_lower_poly_line_smooth.c \ +$src_dir/src/compiler/nir/nir_lower_pntc_ytransform.c \ +$src_dir/src/compiler/nir/nir_lower_readonly_images_to_tex.c \ +$src_dir/src/compiler/nir/nir_lower_reg_intrinsics_to_ssa.c \ +$src_dir/src/compiler/nir/nir_lower_returns.c \ +$src_dir/src/compiler/nir/nir_lower_robust_access.c \ +$src_dir/src/compiler/nir/nir_lower_samplers.c \ +$src_dir/src/compiler/nir/nir_lower_scratch.c \ +$src_dir/src/compiler/nir/nir_lower_shader_calls.c \ +$src_dir/src/compiler/nir/nir_lower_single_sampled.c \ +$src_dir/src/compiler/nir/nir_lower_subgroups.c \ +$src_dir/src/compiler/nir/nir_lower_sysvals_to_varyings.c \ +$src_dir/src/compiler/nir/nir_lower_system_values.c \ +$src_dir/src/compiler/nir/nir_lower_task_shader.c \ +$src_dir/src/compiler/nir/nir_lower_tess_coord_z.c \ +$src_dir/src/compiler/nir/nir_lower_tex.c \ +$src_dir/src/compiler/nir/nir_lower_tex_shadow.c \ +$src_dir/src/compiler/nir/nir_lower_texcoord_replace.c \ +$src_dir/src/compiler/nir/nir_lower_texcoord_replace_late.c \ +$src_dir/src/compiler/nir/nir_lower_two_sided_color.c \ +$src_dir/src/compiler/nir/nir_lower_ubo_vec4.c \ +$src_dir/src/compiler/nir/nir_lower_undef_to_zero.c \ +$src_dir/src/compiler/nir/nir_lower_vars_to_ssa.c \ +$src_dir/src/compiler/nir/nir_lower_var_copies.c \ +$src_dir/src/compiler/nir/nir_lower_variable_initializers.c \ +$src_dir/src/compiler/nir/nir_lower_vec_to_regs.c \ +$src_dir/src/compiler/nir/nir_lower_vec3_to_vec4.c \ +$src_dir/src/compiler/nir/nir_lower_viewport_transform.c \ +$src_dir/src/compiler/nir/nir_lower_wpos_center.c \ +$src_dir/src/compiler/nir/nir_lower_wpos_ytransform.c \ +$src_dir/src/compiler/nir/nir_lower_wrmasks.c \ +$src_dir/src/compiler/nir/nir_metadata.c \ +$src_dir/src/compiler/nir/nir_mod_analysis.c \ +$src_dir/src/compiler/nir/nir_move_vec_src_uses_to_dest.c \ +$src_dir/src/compiler/nir/nir_normalize_cubemap_coords.c \ +$src_dir/src/compiler/nir/nir_opt_access.c \ +$src_dir/src/compiler/nir/nir_opt_barriers.c \ +$src_dir/src/compiler/nir/nir_opt_combine_stores.c \ +$src_dir/src/compiler/nir/nir_opt_comparison_pre.c \ +$src_dir/src/compiler/nir/nir_opt_conditional_discard.c \ +$src_dir/src/compiler/nir/nir_opt_constant_folding.c \ +$src_dir/src/compiler/nir/nir_opt_copy_prop_vars.c \ +$src_dir/src/compiler/nir/nir_opt_copy_propagate.c \ +$src_dir/src/compiler/nir/nir_opt_cse.c \ +$src_dir/src/compiler/nir/nir_opt_dce.c \ +$src_dir/src/compiler/nir/nir_opt_dead_cf.c \ +$src_dir/src/compiler/nir/nir_opt_dead_write_vars.c \ +$src_dir/src/compiler/nir/nir_opt_find_array_copies.c \ +$src_dir/src/compiler/nir/nir_opt_fragdepth.c \ +$src_dir/src/compiler/nir/nir_opt_gcm.c \ +$src_dir/src/compiler/nir/nir_opt_idiv_const.c \ +$src_dir/src/compiler/nir/nir_opt_if.c \ +$src_dir/src/compiler/nir/nir_opt_intrinsics.c \ +$src_dir/src/compiler/nir/nir_opt_large_constants.c \ +$src_dir/src/compiler/nir/nir_opt_load_store_vectorize.c \ +$src_dir/src/compiler/nir/nir_opt_loop_unroll.c \ +$src_dir/src/compiler/nir/nir_opt_memcpy.c \ +$src_dir/src/compiler/nir/nir_opt_move.c \ +$src_dir/src/compiler/nir/nir_opt_move_discards_to_top.c \ +$src_dir/src/compiler/nir/nir_opt_non_uniform_access.c \ +$src_dir/src/compiler/nir/nir_opt_offsets.c \ +$src_dir/src/compiler/nir/nir_opt_phi_precision.c \ +$src_dir/src/compiler/nir/nir_opt_peephole_select.c \ +$src_dir/src/compiler/nir/nir_opt_preamble.c \ +$src_dir/src/compiler/nir/nir_opt_ray_queries.c \ +$src_dir/src/compiler/nir/nir_opt_reassociate_bfi.c \ +$src_dir/src/compiler/nir/nir_opt_remove_phis.c \ +$src_dir/src/compiler/nir/nir_opt_reuse_constants.c \ +$src_dir/src/compiler/nir/nir_opt_shrink_stores.c \ +$src_dir/src/compiler/nir/nir_opt_shrink_vectors.c \ +$src_dir/src/compiler/nir/nir_opt_sink.c \ +$src_dir/src/compiler/nir/nir_opt_trivial_continues.c \ +$src_dir/src/compiler/nir/nir_opt_undef.c \ +$src_dir/src/compiler/nir/nir_opt_uniform_atomics.c \ +$src_dir/src/compiler/nir/nir_opt_vectorize.c \ +$src_dir/src/compiler/nir/nir_phi_builder.c \ +$src_dir/src/compiler/nir/nir_passthrough_gs.c \ +$src_dir/src/compiler/nir/nir_passthrough_tcs.c \ +$src_dir/src/compiler/nir/nir_print.c \ +$src_dir/src/compiler/nir/nir_propagate_invariant.c \ +$src_dir/src/compiler/nir/nir_range_analysis.c \ +$src_dir/src/compiler/nir/nir_remove_dead_variables.c \ +$src_dir/src/compiler/nir/nir_remove_tex_shadow.c \ +$src_dir/src/compiler/nir/nir_repair_ssa.c \ +$src_dir/src/compiler/nir/nir_scale_fdiv.c \ +$src_dir/src/compiler/nir/nir_schedule.c \ +$src_dir/src/compiler/nir/nir_search.c \ +$src_dir/src/compiler/nir/nir_serialize.c \ +$src_dir/src/compiler/nir/nir_split_64bit_vec3_and_vec4.c \ +$src_dir/src/compiler/nir/nir_split_per_member_structs.c \ +$src_dir/src/compiler/nir/nir_split_var_copies.c \ +$src_dir/src/compiler/nir/nir_split_vars.c \ +$src_dir/src/compiler/nir/nir_sweep.c \ +$src_dir/src/compiler/nir/nir_to_lcssa.c \ +$src_dir/src/compiler/nir/nir_trivialize_registers.c \ +$src_dir/src/compiler/nir/nir_validate.c \ +$src_dir/src/compiler/nir/nir_worklist.c \ +" +for f in $libnir_files +do + libnir_obj=$build_dir/$(basename $f .c).o + libnir_a="$libnir_a $libnir_obj" + + $cc $cppflags $f -o $libnir_obj & +done +#=============================================================================== +# libaco +# we don't use cppflags_common for aco because the code is not yet +# compatible +cppflags="\ +$gcc_builtins_cppflags \ +$gcc_attributes_cppflags \ +$linux_glibc_cppflags \ +$mesa_cppflags \ +-I$build_dir \ +-I$src_dir/src/amd/compiler \ +-I$src_dir/src/amd/vulkan \ +-I$build_dir/src/amd/common \ +-I$src_dir/src/amd/common \ +-I$build_dir/src/amd \ +-I$src_dir/src/amd \ +-I$src_dir/src/compiler/nir \ +-I$src_dir/src/compiler \ +-I$src_dir/src/mesa \ +-I$src_dir/src/gallium/include \ +-I$src_dir/src \ +-I$src_dir/include \ +" +libaco_files="\ +$src_dir/src/amd/compiler/aco_form_hard_clauses.cpp \ +$src_dir/src/amd/compiler/aco_dead_code_analysis.cpp \ +$src_dir/src/amd/compiler/aco_dominance.cpp \ +$src_dir/src/amd/compiler/aco_instruction_selection.cpp \ +$src_dir/src/amd/compiler/aco_instruction_selection_setup.cpp \ +$src_dir/src/amd/compiler/aco_interface.cpp \ +$src_dir/src/amd/compiler/aco_assembler.cpp \ +$src_dir/src/amd/compiler/aco_insert_exec_mask.cpp \ +$src_dir/src/amd/compiler/aco_insert_NOPs.cpp \ +$src_dir/src/amd/compiler/aco_insert_waitcnt.cpp \ +$src_dir/src/amd/compiler/aco_ir.cpp \ +$src_dir/src/amd/compiler/aco_reduce_assign.cpp \ +$src_dir/src/amd/compiler/aco_reindex_ssa.cpp \ +$src_dir/src/amd/compiler/aco_register_allocation.cpp \ +$src_dir/src/amd/compiler/aco_live_var_analysis.cpp \ +$src_dir/src/amd/compiler/aco_lower_phis.cpp \ +$src_dir/src/amd/compiler/aco_lower_to_cssa.cpp \ +$src_dir/src/amd/compiler/aco_lower_to_hw_instr.cpp \ +$build_dir/aco_opcodes.cpp \ +$src_dir/src/amd/compiler/aco_optimizer.cpp \ +$src_dir/src/amd/compiler/aco_optimizer_postRA.cpp \ +$src_dir/src/amd/compiler/aco_opt_value_numbering.cpp \ +$src_dir/src/amd/compiler/aco_print_asm.cpp \ +$src_dir/src/amd/compiler/aco_print_ir.cpp \ +$src_dir/src/amd/compiler/aco_scheduler.cpp \ +$src_dir/src/amd/compiler/aco_ssa_elimination.cpp \ +$src_dir/src/amd/compiler/aco_spill.cpp \ +$src_dir/src/amd/compiler/aco_statistics.cpp \ +$src_dir/src/amd/compiler/aco_validate.cpp \ +" +for f in $libaco_files +do + libaco_obj=$build_dir/$(basename $f .c).o + libaco_a="$libaco_a $libaco_obj" + + $cxx $cppflags $f -o $libaco_obj & +done +#=============================================================================== +# libmesautils +cppflags="\ +$cppflags_common \ +-I$build_dir/src/util/format \ +-I$build_dir/src \ +-I$build_dir \ +-I$src_dir/src/gallium/auxiliary \ +-I$src_dir/src/gallium/include \ +-I$src_dir/src/mesa \ +-I$src_dir/src/util/blake3 \ +-I$src_dir/src/util/format \ +-I$src_dir/src/util \ +-I$src_dir/src \ +-I$src_dir/include \ +$zlib_cppflags \ +" +libmesautil_files="\ +$build_dir/format_srgb.c \ +$build_dir/u_format_table.c \ +$src_dir/src/util/anon_file.c \ +$src_dir/src/util/bitscan.c \ +$src_dir/src/util/blake3/blake3.c \ +$src_dir/src/util/blake3/blake3_dispatch.c \ +$src_dir/src/util/blake3/blake3_portable.c \ +$src_dir/src/util/blob.c \ +$src_dir/src/util/build_id.c \ +$src_dir/src/util/compress.c \ +$src_dir/src/util/crc32.c \ +$src_dir/src/util/dag.c \ +$src_dir/src/util/disk_cache.c \ +$src_dir/src/util/disk_cache_os.c \ +$src_dir/src/util/double.c \ +$src_dir/src/util/fast_idiv_by_const.c \ +$src_dir/src/util/fossilize_db.c \ +$src_dir/src/util/futex.c \ +$src_dir/src/util/half_float.c \ +$src_dir/src/util/hash_table.c \ +$src_dir/src/util/log.c \ +$src_dir/src/util/mesa-blake3.c \ +$src_dir/src/util/mesa-sha1.c \ +$src_dir/src/util/mesa_cache_db.c \ +$src_dir/src/util/mesa_cache_db_multipart.c \ +$src_dir/src/util/memstream.c \ +$src_dir/src/util/os_file.c \ +$src_dir/src/util/os_memory_fd.c \ +$src_dir/src/util/os_misc.c \ +$src_dir/src/util/os_socket.c \ +$src_dir/src/util/os_time.c \ +$src_dir/src/util/sha1/sha1.c \ +$src_dir/src/util/ralloc.c \ +$src_dir/src/util/rand_xor.c \ +$src_dir/src/util/rb_tree.c \ +$src_dir/src/util/register_allocate.c \ +$src_dir/src/util/rgtc.c \ +$src_dir/src/util/rwlock.c \ +$src_dir/src/util/set.c \ +$src_dir/src/util/simple_mtx.c \ +$src_dir/src/util/slab.c \ +$src_dir/src/util/softfloat.c \ +$src_dir/src/util/sparse_array.c \ +$src_dir/src/util/string_buffer.c \ +$src_dir/src/util/strtod.c \ +$src_dir/src/util/u_atomic.c \ +$src_dir/src/util/u_call_once.c \ +$src_dir/src/util/u_cpu_detect.c \ +$src_dir/src/util/u_debug.c \ +$src_dir/src/util/u_debug_stack.c \ +$src_dir/src/util/u_debug_symbol.c \ +$src_dir/src/util/u_dl.c \ +$src_dir/src/util/u_dynarray.c \ +$src_dir/src/util/u_hash_table.c \ +$src_dir/src/util/u_printf.c \ +$src_dir/src/util/format/u_format.c \ +$src_dir/src/util/format/u_format_bptc.c \ +$src_dir/src/util/format/u_format_etc.c \ +$src_dir/src/util/format/u_format_fxt1.c \ +$src_dir/src/util/format/u_format_latc.c \ +$src_dir/src/util/format/u_format_other.c \ +$src_dir/src/util/format/u_format_rgtc.c \ +$src_dir/src/util/format/u_format_s3tc.c \ +$src_dir/src/util/format/u_format_tests.c \ +$src_dir/src/util/format/u_format_yuv.c \ +$src_dir/src/util/format/u_format_zs.c \ +$src_dir/src/util/u_idalloc.c \ +$src_dir/src/util/u_math.c \ +$src_dir/src/util/u_mm.c \ +$src_dir/src/util/u_process.c \ +$src_dir/src/util/u_queue.c \ +$src_dir/src/util/u_thread.c \ +$src_dir/src/util/u_vector.c \ +$src_dir/src/util/u_worklist.c \ +$src_dir/src/util/vma.c \ +$src_dir/src/util/vl_zscan_data.c \ +\ +$src_dir/src/c11/impl/time.c \ +$src_dir/src/c11/impl/threads_posix.c \ +" +for f in $libmesautil_files +do + libmesautil_obj=$build_dir/$(basename $f .c).o + libmesautil_a="$libmesautil_a $libmesautil_obj" + + $cc $cppflags $f -o $libmesautil_obj & +done +#------------------------------------------------------------------------------- +# The following is for the ultra complex blake3 hash algorithm. +libmesautil_asm_files="\ +$src_dir/src/util/blake3/blake3_sse2_x86-64_unix.S \ +$src_dir/src/util/blake3/blake3_sse41_x86-64_unix.S \ +$src_dir/src/util/blake3/blake3_avx2_x86-64_unix.S \ +$src_dir/src/util/blake3/blake3_avx512_x86-64_unix.S \ +" +for f in $libmesautil_asm_files +do + libmesautil_asm_cpp_s=$build_dir/$(basename $f .c).cpp.s + libmesautil_asm_obj=$build_dir/$(basename $f .c).o + libmesautil_a="$libmesautil_a $libmesautil_asm_obj" + + $cc -E $cppflags $f -o $libmesautil_asm_cpp_s + $as $libmesautil_asm_cpp_s -o $libmesautil_asm_obj & +done +#=============================================================================== +# amd vulkan +cppflags="\ +$cppflags_common \ +-DPACKAGE_VERSION=\"$version\" \ +-I$build_dir/vulkan/util \ +-I$build_dir/src/util \ +-I$build_dir \ +-I$src_dir/src/amd/compiler \ +-I$build_dir/src/amd/common \ +-I$src_dir/src/amd/common \ +-I$src_dir/src/amd/vulkan/nir \ +-I$src_dir/src/amd/vulkan/meta \ +-I$src_dir/src/amd/vulkan \ +-I$src_dir/src/amd \ +-I$src_dir/src/gallium/auxiliary \ +-I$src_dir/src/gallium/include \ +-I$src_dir/src/vulkan/util \ +-I$src_dir/src/vulkan/runtime \ +-I$src_dir/src/vulkan/wsi \ +-I$src_dir/src/util \ +-I$src_dir/src/mesa \ +-I$src_dir/src/compiler/nir \ +-I$src_dir/src/compiler \ +-I$src_dir/src \ +-I$src_dir/include \ +$libdrm_cppflags \ +$libdrm_amdgpu_cppflags \ +$libx11_cppflags \ +$libxrandr_cppflags \ +$libxrender_cppflags \ +$libxcb_cppflags \ +$xorgproto_cppflags \ +$libxshmfence_cppflags \ +" +#$build_dir/radv_extensions.c +#$build_dir/vk_format_table.c +# XXX: remove rt for now +#$src_dir/src/amd/vulkan/radv_acceleration_structure.c +libvulkan_amd_common_files="\ +$src_dir/src/amd/vulkan/radv_android.c \ +$src_dir/src/amd/vulkan/radv_buffer.c \ +$src_dir/src/amd/vulkan/radv_cmd_buffer.c \ +$src_dir/src/amd/vulkan/radv_cp_reg_shadowing.c \ +$src_dir/src/amd/vulkan/radv_debug.c \ +$build_dir/src/amd/vulkan/radv_device.c \ +$src_dir/src/amd/vulkan/radv_device_memory.c \ +$src_dir/src/amd/vulkan/radv_device_generated_commands.c \ +$src_dir/src/amd/vulkan/radv_descriptor_set.c \ +$src_dir/src/amd/vulkan/radv_event.c \ +$src_dir/src/amd/vulkan/radv_formats.c \ +$src_dir/src/amd/vulkan/radv_image.c \ +$src_dir/src/amd/vulkan/radv_instance.c \ +$build_dir/src/amd/vulkan/meta/radv_meta.c \ +$src_dir/src/amd/vulkan/meta/radv_meta_blit.c \ +$src_dir/src/amd/vulkan/meta/radv_meta_blit2d.c \ +$src_dir/src/amd/vulkan/meta/radv_meta_buffer.c \ +$src_dir/src/amd/vulkan/meta/radv_meta_bufimage.c \ +$src_dir/src/amd/vulkan/meta/radv_meta_clear.c \ +$src_dir/src/amd/vulkan/meta/radv_meta_dcc_retile.c \ +$src_dir/src/amd/vulkan/meta/radv_meta_copy.c \ +$src_dir/src/amd/vulkan/meta/radv_meta_copy_vrs_htile.c \ +$src_dir/src/amd/vulkan/meta/radv_meta_decompress.c \ +$src_dir/src/amd/vulkan/meta/radv_meta_etc_decode.c \ +$src_dir/src/amd/vulkan/meta/radv_meta_fast_clear.c \ +$src_dir/src/amd/vulkan/meta/radv_meta_fmask_copy.c \ +$src_dir/src/amd/vulkan/meta/radv_meta_fmask_expand.c \ +$src_dir/src/amd/vulkan/meta/radv_meta_resolve.c \ +$src_dir/src/amd/vulkan/meta/radv_meta_resolve_cs.c \ +$src_dir/src/amd/vulkan/meta/radv_meta_resolve_fs.c \ +$src_dir/src/amd/vulkan/nir/radv_nir_apply_pipeline_layout.c \ +$src_dir/src/amd/vulkan/nir/radv_nir_export_multiview.c \ +$src_dir/src/amd/vulkan/nir/radv_nir_lower_abi.c \ +$src_dir/src/amd/vulkan/nir/radv_nir_lower_fs_barycentric.c \ +$src_dir/src/amd/vulkan/nir/radv_nir_lower_fs_intrinsics.c \ +$src_dir/src/amd/vulkan/nir/radv_nir_lower_intrinsics_early.c \ +$src_dir/src/amd/vulkan/nir/radv_nir_lower_io.c \ +$src_dir/src/amd/vulkan/nir/radv_nir_lower_poly_line_smooth.c \ +$src_dir/src/amd/vulkan/nir/radv_nir_lower_primitive_shading_rate.c \ +$src_dir/src/amd/vulkan/nir/radv_nir_lower_view_index.c \ +$src_dir/src/amd/vulkan/nir/radv_nir_lower_viewport_to_zero.c \ +$src_dir/src/amd/vulkan/nir/radv_nir_lower_vs_inputs.c \ +$src_dir/src/amd/vulkan/nir/radv_nir_lower_ray_queries.c \ +$src_dir/src/amd/vulkan/radv_perfcounter.c \ +$src_dir/src/amd/vulkan/radv_physical_device.c \ +$src_dir/src/amd/vulkan/radv_pipeline.c \ +$src_dir/src/amd/vulkan/radv_pipeline_compute.c \ +$src_dir/src/amd/vulkan/radv_pipeline_cache.c \ +$src_dir/src/amd/vulkan/radv_pipeline_graphics.c \ +$src_dir/src/amd/vulkan/radv_pipeline_rt.c \ +$src_dir/src/amd/vulkan/radv_queue.c \ +$src_dir/src/amd/vulkan/radv_rt_common.c \ +$src_dir/src/amd/vulkan/radv_rt_shader.c \ +$src_dir/src/amd/vulkan/radv_sampler.c \ +$src_dir/src/amd/vulkan/radv_sdma_copy_image.c \ +$src_dir/src/amd/vulkan/radv_shader.c \ +$src_dir/src/amd/vulkan/radv_shader_args.c \ +$src_dir/src/amd/vulkan/radv_shader_info.c \ +$src_dir/src/amd/vulkan/radv_spm.c \ +$src_dir/src/amd/vulkan/radv_query.c \ +$src_dir/src/amd/vulkan/radv_video.c \ +$src_dir/src/amd/vulkan/radv_wsi.c \ +$src_dir/src/amd/vulkan/si_cmd_buffer.c \ +\ +$build_dir/gfx10_format_table.c \ +\ +$build_dir/radv_entrypoints.c \ +\ +$src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c \ +$src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c \ +$src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_surface.c \ +$src_dir/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c \ +\ +$src_dir/src/amd/vulkan/winsys/null/radv_null_bo.c \ +$src_dir/src/amd/vulkan/winsys/null/radv_null_cs.c \ +$src_dir/src/amd/vulkan/winsys/null/radv_null_winsys.c \ +\ +$src_dir/src/amd/vulkan/layers/radv_metro_exodus.c \ +$src_dir/src/amd/vulkan/layers/radv_rage2.c \ +\ +$build_dir/src/amd/vulkan/radv_no_tracers.c \ +" + +#$build_dir/src/amd/vulkan/layers/radv_sqtt_layer.c \ + +for f in $libvulkan_amd_common_files +do + libvulkan_amd_common_obj=$build_dir/$(basename $f .c).o + libvulkan_amd_common_a="$libvulkan_amd_common_a $libvulkan_amd_common_obj" + + $cc $cppflags $f -o $libvulkan_amd_common_obj & +done +libvulkan_amd_common_a="\ +$libvulkan_amd_common_a \ +$build_dir/xmlconfig.o" +#=============================================================================== +# create the radeon vulkan driver +soname=libvulkan_radeon.so + +# XXX:the attempt to generalize without kludge the link stage of real programs +# build is near a total and complete failure +if test "${driver_link_cmd-unset}" = unset ; then +driver_link_cmd="g++ -o $soname -Wl,-soname=$soname \ +-shared -static-libgcc -static-libstdc++ \ +-B/nyan/glibc/current/lib -L/nyan/glibc/current/lib -Wl,-rpath-link,/nyan/glibc/current/lib \ +-Wl,--no-undefined,--gc-sections,-Bsymbolic \ + -Wl,--whole-archive -Wl,--start-group \ + $libaco_a \ + $libvulkan_amd_common_a \ + $libvulkan_util_a \ + $libvulkan_runtime_a \ + $libvulkan_wsi_a \ + $libamd_common_a \ + $libamdgpu_addrlib_a \ + $libcompiler_a \ + $libnir_a \ + $libmesautil_a \ + -Wl,--end-group -Wl,--no-whole-archive \ + -Wl,--exclude-libs,$zlib_archives:$libelf_archives:libstdc++.a \ + $zlib_ldflags \ + $expat_ldflags \ + $libelf_ldflags \ + -Wl,--as-needed \ + $libdrm_ldflags \ + $libdrm_amdgpu_ldflags \ + $libx11_ldflags \ + $libxrandr_ldflags \ + $libxrender_ldflags \ + $libxcb_ldflags \ + $libxshmfence_ldflags \ + -lpthread \ + -ldl \ + -Wl,--no-as-needed" +fi +wait +eval $driver_link_cmd +#=============================================================================== diff --git a/builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/radeon_icd.x86_64.json b/builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/radeon_icd.x86_64.json new file mode 100644 index 0000000..9bdd2e7 --- /dev/null +++ b/builders/mesa-vulkan-amd-sh-ca92a10800bcb09749758ea1664dc0675955ffa0/radeon_icd.x86_64.json @@ -0,0 +1,7 @@ +{ + "ICD": { + "api_version": "MAX_API_VERSION", + "library_path": "LIB_INSTALL_DIR/libvulkan_radeon.so" + }, + "file_format_version": "1.0.0" +} diff --git a/builders/xf86-video-amdgpu-31a092ae71371fb473a3a51f70fe58e1f42e283b/builder.sh b/builders/xf86-video-amdgpu-31a092ae71371fb473a3a51f70fe58e1f42e283b/builder.sh new file mode 100644 index 0000000..f6913a0 --- /dev/null +++ b/builders/xf86-video-amdgpu-31a092ae71371fb473a3a51f70fe58e1f42e283b/builder.sh @@ -0,0 +1,3 @@ +git_commit=${pkg_name##*-} +slot=$git_commit +. $nyan_root/builders/xf86-video-amdgpu/builder.sh -- 2.11.4.GIT