From 6862f24384e243d618e330197ff66bc26d0c7120 Mon Sep 17 00:00:00 2001 From: Sylvain BERTRAND Date: Sat, 4 May 2024 13:03:32 +0000 Subject: [PATCH] Gfx stack update did not notice any of the current issues being fixed. --- .../builder.sh | 3 + .../builder.sh | 3 + .../contrib/amd.sh | 188 ++ .../contrib/compiler.sh | 74 + .../contrib/compiler_aco.sh | 108 + .../contrib/compiler_glsl.sh | 289 +++ .../contrib/compiler_nir.sh | 276 +++ .../contrib/dri2.c.patch | 27 + .../contrib/dri_util.c.patch | 76 + .../contrib/dri_util.h.patch | 10 + .../contrib/drm_helper.h.patch | 12 + .../contrib/egl.sh | 166 ++ .../contrib/egl_dri2.c.patch | 32 + .../contrib/external_deps.sh | 214 ++ .../contrib/gallium.sh | 7 + .../contrib/gallium_auxiliary.sh | 367 ++++ .../contrib/gallium_drivers.sh | 291 +++ .../contrib/gallium_frontends.sh | 149 ++ .../contrib/gallium_state_trackers.sh | 44 + .../contrib/gallium_targets.sh | 116 ++ .../contrib/gallium_winsys.sh | 130 ++ .../contrib/gbm.sh | 104 + .../contrib/gcc_binutils.sh | 148 ++ .../contrib/generators_amd.sh | 81 + .../contrib/generators_compiler.sh | 12 + .../contrib/generators_egl.sh | 23 + .../contrib/generators_gallium_auxiliary.sh | 31 + .../contrib/generators_gallium_frontends.sh | 16 + .../contrib/generators_gallium_targets.sh | 13 + .../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 | 33 + .../contrib/glx.sh | 178 ++ .../contrib/linux.sh | 12 + .../contrib/loader.sh | 74 + .../contrib/mapi.sh | 148 ++ .../contrib/mesa.sh | 368 ++++ .../contrib/pipe_loader.c.patch | 10 + .../contrib/si_pipe.c.patch | 12 + .../contrib/si_tracepoints.h | 7 + .../contrib/si_utrace.h | 9 + .../contrib/si_uvd.c | 79 + .../contrib/syslib.sh | 77 + .../contrib/u_trace.c | 2 + .../contrib/util.sh | 250 +++ .../contrib/vtn_opencl.c | 16 + .../contrib/x86_64_linux_glibc_amdgpu.sh | 246 +++ .../builder.sh | 3 + .../contrib/generators.sh | 277 +++ .../contrib/radv_device.c.patch | 15 + .../contrib/radv_meta.c.patch | 116 ++ .../contrib/radv_meta_copy.c.patch | 51 + .../contrib/radv_no_tracers.c | 77 + .../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 | 1418 +++++++++++++ .../radeon_icd.x86_64.json | 7 + .../builder.sh | 3 + .../contrib/dix-config.h.in | 523 +++++ .../contrib/linux-glibc.sh | 2126 ++++++++++++++++++++ .../contrib/version-config.h.in | 14 + .../contrib/xdmcp.h.patch | 19 + .../contrib/xkb-config.h.in | 28 + .../contrib/xorg-config.h.in | 148 ++ .../contrib/xorg-server.h.in | 222 ++ .../contrib/xorg-server.pc.in | 20 + 70 files changed, 9931 insertions(+) create mode 100644 builders/ffmpeg-df868bae239b263f7b71bfd3b5a5f4b0e5179ea1/builder.sh create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/builder.sh create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/amd.sh create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/compiler.sh create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/compiler_aco.sh create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/compiler_glsl.sh create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/compiler_nir.sh create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/dri2.c.patch create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/dri_util.c.patch create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/dri_util.h.patch create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/drm_helper.h.patch create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/egl.sh create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/egl_dri2.c.patch create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/external_deps.sh create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/gallium.sh create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/gallium_auxiliary.sh create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/gallium_drivers.sh create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/gallium_frontends.sh create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/gallium_state_trackers.sh create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/gallium_targets.sh create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/gallium_winsys.sh create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/gbm.sh create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/gcc_binutils.sh create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/generators_amd.sh create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/generators_compiler.sh create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/generators_egl.sh create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/generators_gallium_auxiliary.sh create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/generators_gallium_frontends.sh create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/generators_gallium_targets.sh create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/generators_glsl.sh create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/generators_mapi.sh create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/generators_mesa.sh create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/generators_nir.sh create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/generators_spirv.sh create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/generators_util.sh create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/glx.sh create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/linux.sh create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/loader.sh create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/mapi.sh create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/mesa.sh create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/pipe_loader.c.patch create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/si_pipe.c.patch create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/si_tracepoints.h create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/si_utrace.h create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/si_uvd.c create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/syslib.sh create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/u_trace.c create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/util.sh create mode 100644 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/vtn_opencl.c create mode 100755 builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/x86_64_linux_glibc_amdgpu.sh create mode 100644 builders/mesa-vulkan-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/builder.sh create mode 100644 builders/mesa-vulkan-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/generators.sh create mode 100644 builders/mesa-vulkan-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/radv_device.c.patch create mode 100644 builders/mesa-vulkan-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/radv_meta.c.patch create mode 100644 builders/mesa-vulkan-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/radv_meta_copy.c.patch create mode 100644 builders/mesa-vulkan-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/radv_no_tracers.c create mode 100644 builders/mesa-vulkan-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/vk_enum_to_str.c create mode 100644 builders/mesa-vulkan-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/vk_enum_to_str.h create mode 100644 builders/mesa-vulkan-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/vtn_opencl.c create mode 100755 builders/mesa-vulkan-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh create mode 100644 builders/mesa-vulkan-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/radeon_icd.x86_64.json create mode 100644 builders/xserver-sh-069ad69efe166105b8d2280bf2fb217d522b68a9/builder.sh create mode 100644 builders/xserver-sh-069ad69efe166105b8d2280bf2fb217d522b68a9/contrib/dix-config.h.in create mode 100755 builders/xserver-sh-069ad69efe166105b8d2280bf2fb217d522b68a9/contrib/linux-glibc.sh create mode 100644 builders/xserver-sh-069ad69efe166105b8d2280bf2fb217d522b68a9/contrib/version-config.h.in create mode 100644 builders/xserver-sh-069ad69efe166105b8d2280bf2fb217d522b68a9/contrib/xdmcp.h.patch create mode 100644 builders/xserver-sh-069ad69efe166105b8d2280bf2fb217d522b68a9/contrib/xkb-config.h.in create mode 100644 builders/xserver-sh-069ad69efe166105b8d2280bf2fb217d522b68a9/contrib/xorg-config.h.in create mode 100644 builders/xserver-sh-069ad69efe166105b8d2280bf2fb217d522b68a9/contrib/xorg-server.h.in create mode 100644 builders/xserver-sh-069ad69efe166105b8d2280bf2fb217d522b68a9/contrib/xorg-server.pc.in diff --git a/builders/ffmpeg-df868bae239b263f7b71bfd3b5a5f4b0e5179ea1/builder.sh b/builders/ffmpeg-df868bae239b263f7b71bfd3b5a5f4b0e5179ea1/builder.sh new file mode 100644 index 0000000..8193399 --- /dev/null +++ b/builders/ffmpeg-df868bae239b263f7b71bfd3b5a5f4b0e5179ea1/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-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/builder.sh b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/builder.sh new file mode 100644 index 0000000..7579ddf --- /dev/null +++ b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/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-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/amd.sh b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/amd.sh new file mode 100644 index 0000000..81c3da8 --- /dev/null +++ b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/amd.sh @@ -0,0 +1,188 @@ +echo "building AMD GPU related common component-->" +#=============================================================================== +# AMD/addrlib... AMD did not get the memo about c++ toxicity. +#------------------------------------------------------------------------------ +mkdir -p $build_dir/src/amd/addrlib +#------------------------------------------------------------------------------ +# filenames must be different as we put everything in one directory +libaddrlib_cxx_pathnames="\ +$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 src_pathname in $libaddrlib_cxx_pathnames +do + cxxpp_filename=$(basename $src_pathname .cpp).cpp.cxx + printf "CXXPP $src_pathname --> $build_dir/src/amd/addrlib/$cxxpp_filename\n" + $cxxpp $src_pathname -o $build_dir/src/amd/addrlib/$cxxpp_filename \ + -I$cc_internal_fixed_incdir \ + -I$cc_internal_incdir \ + -I$cxx_internal_incdir \ + -I$linux_incdir \ + -I$syslib_incdir \ + \ + -DLITTLEENDIAN_CPU \ + -I$build_dir/src/amd/addrlib/src/chip/r800 \ + -I$src_dir/src/amd/addrlib/src/chip/r800 \ + -I$build_dir/src/amd/addrlib/src/chip/gfx9 \ + -I$src_dir/src/amd/addrlib/src/chip/gfx9 \ + -I$build_dir/src/amd/addrlib/src/chip/gfx10 \ + -I$src_dir/src/amd/addrlib/src/chip/gfx10 \ + -I$build_dir/src/amd/addrlib/src/chip/gfx11 \ + -I$src_dir/src/amd/addrlib/src/chip/gfx11 \ + -I$build_dir/src/amd/addrlib/src/core \ + -I$src_dir/src/amd/addrlib/src/core \ + -I$build_dir/src/amd/addrlib/src \ + -I$src_dir/src/amd/addrlib/src \ + -I$build_dir/src/amd/addrlib/inc \ + -I$src_dir/src/amd/addrlib/inc \ + -I$build_dir/src \ + -I$src_dir/src \ + -I$build_dir/include \ + -I$src_dir/include & +done +#------------------------------------------------------------------------------ +wait +#------------------------------------------------------------------------------ +for src_pathname in $libaddrlib_cxx_pathnames +do + cxxpp_filename=$(basename $src_pathname .cpp).cpp.cxx + asm_filename=$(basename $src_pathname .cpp).cpp.cxx.s + printf "CXX_S $build_dir/src/amd/addrlib/$cxxpp_filename --> $build_dir/src/amd/addrlib/$asm_filename\n" + $cxx_s $build_dir/src/amd/addrlib/$cxxpp_filename -o $build_dir/src/amd/addrlib/$asm_filename & +done +#------------------------------------------------------------------------------ +wait +#------------------------------------------------------------------------------ +os= +for src_pathname in $libaddrlib_cxx_pathnames +do + asm_filename=$(basename $src_pathname .cpp).cpp.cxx.s + o_filename=$(basename $src_pathname .cpp).cpp.cxx.s.o + os="$os $build_dir/src/amd/addrlib/$o_filename" + printf "AS $build_dir/src/amd/addrlib/$asm_filename --> $build_dir/src/amd/addrlib/$o_filename\n" + $as $build_dir/src/amd/addrlib/$asm_filename -o $build_dir/src/amd/addrlib/$o_filename & +done +#------------------------------------------------------------------------------ +wait +#------------------------------------------------------------------------------ +printf "AR RCS $build_dir/libaddrlib.a $os\n" +$ar_rcs $build_dir/libaddrlib.a $os +#=============================================================================== +# amd/common +#------------------------------------------------------------------------------ +mkdir -p $build_dir/src/amd/common +#------------------------------------------------------------------------------ +libamd_common_c_pathnames="\ +$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_ib_parser.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_gather_context_rolls.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 src_pathname in $libamd_common_c_pathnames +do + cpp_filename=$(basename $src_pathname .c).cpp.c + printf "CPP $src_pathname --> $build_dir/src/amd/common/$cpp_filename\n" + $cpp $src_pathname -o $build_dir/src/amd/common/$cpp_filename \ + -I$cc_internal_fixed_incdir \ + -I$cc_internal_incdir \ + -I$linux_incdir \ + -I$syslib_incdir \ + \ + -I$build_dir/src/gallium/auxiliary \ + -I$src_dir/src/gallium/auxiliary \ + -I$build_dir/src/gallium/include \ + -I$src_dir/src/gallium/include \ + -I$build_dir/src/util \ + -I$src_dir/src/util \ + -I$build_dir/src/mesa \ + -I$src_dir/src/mesa \ + -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$build_dir/src \ + -I$src_dir/src \ + -I$build_dir/include \ + -I$src_dir/include \ + \ + $syslib_cpp_flags_defs \ + $linux_cpp_flags_defs \ + $cc_builtins_cpp_flags_defs \ + $cc_attributes_cpp_flags_defs \ + $mesa_cpp_flags_defs \ + \ + $external_deps_cpp_flags & +done +#------------------------------------------------------------------------------- +wait +#------------------------------------------------------------------------------ +for src_pathname in $libamd_common_c_pathnames +do + cpp_filename=$(basename $src_pathname .c).cpp.c + asm_filename=$(basename $src_pathname .c).cpp.c.s + printf "CC_S $build_dir/src/amd/common/$cpp_filename --> $build_dir/src/amd/common/$asm_filename\n" + $cc_s $build_dir/src/amd/common/$cpp_filename -o $build_dir/src/amd/common/$asm_filename & +done +#------------------------------------------------------------------------------ +wait +#------------------------------------------------------------------------------ +os= +for src_pathname in $libamd_common_c_pathnames +do + asm_filename=$(basename $src_pathname .c).cpp.c.s + o_filename=$(basename $src_pathname .c).cpp.c.s.o + os="$os $build_dir/src/amd/common/$o_filename" + printf "AS $build_dir/src/amd/common/$asm_filename --> $build_dir/src/amd/common/$o_filename\n" + $as $build_dir/src/amd/common/$asm_filename -o $build_dir/src/amd/common/$o_filename & +done +#------------------------------------------------------------------------------ +wait +#------------------------------------------------------------------------------ +printf "AR RCS $build_dir/libamd_common.a $os\n" +$ar_rcs $build_dir/libamd_common.a $os +#=============================================================================== +echo "<--AMD GPU related common components built" diff --git a/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/compiler.sh b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/compiler.sh new file mode 100644 index 0000000..5d9fd51 --- /dev/null +++ b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/compiler.sh @@ -0,0 +1,74 @@ +echo "building gpu compiler components-->" +#=============================================================================== +mkdir -p $build_dir/src/compiler/glsl +#------------------------------------------------------------------------------ +libcompiler_c_pathnames="\ +$src_dir/src/compiler/shader_enums.c \ +$build_dir/src/compiler/builtin_types.c \ +$src_dir/src/compiler/glsl_types.c \ +" +#------------------------------------------------------------------------------- +for src_pathname in $libcompiler_c_pathnames +do + cpp_filename=$(basename $src_pathname .c).cpp.c + printf "CPP $src_pathname --> $build_dir/src/compiler/$cpp_filename\n" + $cpp $src_pathname -o $build_dir/src/compiler/$cpp_filename \ + -I$cc_internal_fixed_incdir \ + -I$cc_internal_incdir \ + -I$linux_incdir \ + -I$syslib_incdir \ + \ + -I$build_dir/src/compiler/glsl \ + -I$src_dir/src/compiler/glsl \ + -I$build_dir/src/compiler \ + -I$src_dir/src/compiler \ + -I$build_dir/src/gallium/include \ + -I$src_dir/src/gallium/include \ + -I$build_dir/src/mesa \ + -I$src_dir/src/mesa \ + -I$build_dir/src \ + -I$src_dir/src \ + -I$build_dir/include \ + -I$src_dir/include \ + \ + $syslib_cpp_flags_defs \ + $linux_cpp_flags_defs \ + $cc_builtins_cpp_flags_defs \ + $cc_attributes_cpp_flags_defs \ + $mesa_cpp_flags_defs \ + \ + $external_deps_cpp_flags & +done +#------------------------------------------------------------------------------- +wait +#------------------------------------------------------------------------------ +for src_pathname in $libcompiler_c_pathnames +do + cpp_filename=$(basename $src_pathname .c).cpp.c + asm_filename=$(basename $src_pathname .c).cpp.c.s + printf "CC_S $build_dir/src/compiler/$cpp_filename --> $build_dir/src/compiler/$asm_filename\n" + $cc_s $build_dir/src/compiler/$cpp_filename -o $build_dir/src/compiler/$asm_filename & +done +#------------------------------------------------------------------------------ +wait +#------------------------------------------------------------------------------ +os= +for src_pathname in $libcompiler_c_pathnames +do + asm_filename=$(basename $src_pathname .c).cpp.c.s + o_filename=$(basename $src_pathname .c).cpp.c.s.o + os="$os $build_dir/src/compiler/$o_filename" + printf "AS $build_dir/src/compiler/$asm_filename --> $build_dir/src/compiler/$o_filename\n" + $as $build_dir/src/compiler/$asm_filename -o $build_dir/src/compiler/$o_filename & +done +#------------------------------------------------------------------------------ +wait +#------------------------------------------------------------------------------ +printf "AR RCS $build_dir/libcompiler.a $os\n" +$ar_rcs $build_dir/libcompiler.a $os & +#=============================================================================== +. $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-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/compiler_aco.sh b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/compiler_aco.sh new file mode 100644 index 0000000..0b5befa --- /dev/null +++ b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/compiler_aco.sh @@ -0,0 +1,108 @@ +printf "\tbuilding aco compiler sub-components-->\n" +#=============================================================================== +mkdir -p $build_dir/src/amd/compiler +#------------------------------------------------------------------------------ +# Gaben did not get the memo about c++ toxicity. That said, this is orders +# of magnitude less worse than llvm. +libaco_cxx_pathnames="\ +$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_subdword.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_scheduler_ilp.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 src_pathname in $libaco_cxx_pathnames +do + cxxpp_filename=$(basename $src_pathname .cpp).cpp.cxx + printf "CXXPP $src_pathname --> $build_dir/src/amd/compiler/$cxxpp_filename\n" + $cxxpp $src_pathname -o $build_dir/src/amd/compiler/$cxxpp_filename \ + -I$cc_internal_fixed_incdir \ + -I$cc_internal_incdir \ + -I$cxx_internal_incdir \ + -I$linux_incdir \ + -I$syslib_incdir \ + \ + -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$build_dir/src/mesa \ + -I$src_dir/src/mesa \ + -I$build_dir/src/gallium/include \ + -I$src_dir/src/gallium/include \ + -I$build_dir/src \ + -I$src_dir/src \ + -I$build_dir/include \ + -I$src_dir/include \ + \ + $syslib_cpp_flags_defs \ + $linux_cpp_flags_defs \ + $cc_builtins_cpp_flags_defs \ + $cc_attributes_cpp_flags_defs \ + $mesa_cpp_flags_defs \ + \ + $external_deps_cpp_flags & +done +#------------------------------------------------------------------------------ +wait +#------------------------------------------------------------------------------ +for src_pathname in $libaco_cxx_pathnames +do + cxxpp_filename=$(basename $src_pathname .cpp).cpp.cxx + asm_filename=$(basename $src_pathname .cpp).cpp.cxx.s + printf "CXX_S $build_dir/src/amd/compiler/$cxxpp_filename --> $build_dir/src/amd/compiler/$asm_filename\n" + $cxx_s $build_dir/src/amd/compiler/$cxxpp_filename -o $build_dir/src/amd/compiler/$asm_filename & +done +#------------------------------------------------------------------------------ +wait +#------------------------------------------------------------------------------ +libaco_a= +for src_pathname in $libaco_cxx_pathnames +do + asm_filename=$(basename $src_pathname .cpp).cpp.cxx.s + o_filename=$(basename $src_pathname .cpp).cpp.cxx.s.o + libaco_a="$libaco_a $build_dir/src/amd/compiler/$o_filename" + printf "AS $build_dir/src/amd/compiler/$asm_filename --> $build_dir/src/amd/compiler/$o_filename\n" + $as $build_dir/src/amd/compiler/$asm_filename -o $build_dir/src/amd/compiler/$o_filename & +done +#------------------------------------------------------------------------------ +wait +#------------------------------------------------------------------------------ +printf "AR RCS $build_dir/libaco.a $libaco_a\n" +$ar_rcs $build_dir/libaco.a $libaco_a & +#=============================================================================== +printf "\t<--aco compiler sub-components built\n" diff --git a/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/compiler_glsl.sh b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/compiler_glsl.sh new file mode 100644 index 0000000..b3311ec --- /dev/null +++ b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/compiler_glsl.sh @@ -0,0 +1,289 @@ +printf "\tbuilding glsl compiler sub-components-->\n" +#=============================================================================== +mkdir -p $build_dir/src/compiler/glsl/glcpp +#------------------------------------------------------------------------------- +libglcpp_c_pathnames="\ +$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 src_pathname in $libglcpp_c_pathnames +do + cpp_filename=$(basename $src_pathname .c).cpp.c + printf "CPP $src_pathname --> $build_dir/src/compiler/glsl/glcpp/$cpp_filename\n" + $cpp $src_pathname -o $build_dir/src/compiler/glsl/glcpp/$cpp_filename \ + -I$cc_internal_fixed_incdir \ + -I$cc_internal_incdir \ + -I$linux_incdir \ + -I$syslib_incdir \ + \ + -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$build_dir/src/gallium/include \ + -I$src_dir/src/gallium/include \ + -I$build_dir/src/mapi \ + -I$src_dir/src/mapi \ + -I$build_dir/src/main \ + -I$src_dir/src/main \ + -I$build_dir/src/mesa \ + -I$src_dir/src/mesa \ + -I$build_dir/src \ + -I$src_dir/src \ + -I$build_dir/include \ + -I$src_dir/include \ + \ + $syslib_cpp_flags_defs \ + $linux_cpp_flags_defs \ + $cc_builtins_cpp_flags_defs \ + $cc_attributes_cpp_flags_defs \ + $mesa_cpp_flags_defs \ + \ + $external_deps_cpp_flags & +done +#------------------------------------------------------------------------------- +wait +#------------------------------------------------------------------------------ +for src_pathname in $libglcpp_c_pathnames +do + cpp_filename=$(basename $src_pathname .c).cpp.c + asm_filename=$(basename $src_pathname .c).cpp.c.s + printf "CC_S $build_dir/src/compiler/glsl/glcpp/$cpp_filename --> $build_dir/src/compiler/glsl/glcpp$asm_filename\n" + $cc_s $build_dir/src/compiler/glsl/glcpp/$cpp_filename -o $build_dir/src/compiler/glsl/glcpp/$asm_filename & +done +#------------------------------------------------------------------------------ +wait +#------------------------------------------------------------------------------ +os= +for src_pathname in $libglcpp_c_pathnames +do + asm_filename=$(basename $src_pathname .c).cpp.c.s + o_filename=$(basename $src_pathname .c).cpp.c.s.o + os="$os $build_dir/src/compiler/glsl/glcpp/$o_filename" + printf "AS $build_dir/src/compiler/glsl/glcpp/$asm_filename --> $build_dir/src/compiler/glsl/glcpp/$o_filename\n" + $as $build_dir/src/compiler/glsl/glcpp/$asm_filename -o $build_dir/src/compiler/glsl/glcpp/$o_filename & +done +#------------------------------------------------------------------------------ +wait +#------------------------------------------------------------------------------ +printf "AR RCS $build_dir/libglcpp.a $os\n" +$ar_rcs $build_dir/libglcpp.a $os & +#=============================================================================== +libglsl_c_pathnames="\ +$src_dir/src/compiler/glsl/gl_nir_detect_function_recursion.c \ +$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_discard_flow.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_named_interface_blocks.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_interface_blocks.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 \ +" +# There are still trash thinking coding c++ make them smart instead of filthy +# toxic. +libglsl_cxx_pathnames="\ +$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/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/lower_builtins.cpp \ +$src_dir/src/compiler/glsl/lower_instructions.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_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_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 src_pathname in $libglsl_c_pathnames +do + cpp_filename=$(basename $src_pathname .c).cpp.c + printf "CPP $src_pathname --> $build_dir/src/compiler/glsl/$cpp_filename\n" + $cpp $src_pathname -o $build_dir/src/compiler/glsl/$cpp_filename \ + -I$cc_internal_fixed_incdir \ + -I$cc_internal_incdir \ + -I$linux_incdir \ + -I$syslib_incdir \ + \ + -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$build_dir/src/gallium/include \ + -I$src_dir/src/gallium/include \ + -I$build_dir/src/mapi \ + -I$src_dir/src/mapi \ + -I$build_dir/src/mesa \ + -I$src_dir/src/mesa \ + -I$build_dir/src \ + -I$src_dir/src \ + -I$build_dir/include \ + -I$src_dir/include \ + \ + $syslib_cpp_flags_defs \ + $linux_cpp_flags_defs \ + $cc_builtins_cpp_flags_defs \ + $cc_attributes_cpp_flags_defs \ + $mesa_cpp_flags_defs \ + \ + $external_deps_cpp_flags & +done +#------------------------------------------------------------------------------- +wait +#------------------------------------------------------------------------------ +for src_pathname in $libglsl_c_pathnames +do + cpp_filename=$(basename $src_pathname .c).cpp.c + asm_filename=$(basename $src_pathname .c).cpp.c.s + printf "CC_S $build_dir/src/compiler/glsl/$cpp_filename --> $build_dir/src/compiler/glsl/$asm_filename\n" + $cc_s $build_dir/src/compiler/glsl/$cpp_filename -o $build_dir/src/compiler/glsl/$asm_filename & +done +#------------------------------------------------------------------------------ +wait +#------------------------------------------------------------------------------ +os= +for src_pathname in $libglsl_c_pathnames +do + asm_filename=$(basename $src_pathname .c).cpp.c.s + o_filename=$(basename $src_pathname .c).cpp.c.s.o + os="$os $build_dir/src/compiler/glsl/$o_filename" + printf "AS $build_dir/src/compiler/glsl/$asm_filename --> $build_dir/src/compiler/glsl/$o_filename\n" + $as $build_dir/src/compiler/glsl/$asm_filename -o $build_dir/src/compiler/glsl/$o_filename & +done +#=============================================================================== +for src_pathname in $libglsl_cxx_pathnames +do + cxxpp_filename=$(basename $src_pathname .cpp).cpp.cxx + printf "CXXPP $src_pathname --> $build_dir/src/compiler/glsl/$cxxpp_filename\n" + $cxxpp $src_pathname -o $build_dir/src/compiler/glsl/$cxxpp_filename \ + -I$cc_internal_fixed_incdir \ + -I$cc_internal_incdir \ + -I$cxx_internal_incdir \ + -I$linux_incdir \ + -I$syslib_incdir \ + \ + -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$build_dir/src/gallium/include \ + -I$src_dir/src/gallium/include \ + -I$build_dir/src/mapi \ + -I$src_dir/src/mapi \ + -I$build_dir/src/mesa \ + -I$src_dir/src/mesa \ + -I$build_dir/src \ + -I$src_dir/src \ + -I$build_dir/include \ + -I$src_dir/include \ + \ + $syslib_cpp_flags_defs \ + $linux_cpp_flags_defs \ + $cc_builtins_cpp_flags_defs \ + $cc_attributes_cpp_flags_defs \ + $mesa_cpp_flags_defs \ + \ + $external_deps_cpp_flags & +done +#------------------------------------------------------------------------------ +wait +#------------------------------------------------------------------------------ +for src_pathname in $libglsl_cxx_pathnames +do + cxxpp_filename=$(basename $src_pathname .cpp).cpp.cxx + asm_filename=$(basename $src_pathname .cpp).cpp.cxx.s + printf "CXX_S $build_dir/src/compiler/glsl/$cxxpp_filename --> $build_dir/src/compiler/glsl/$asm_filename\n" + $cxx_s $build_dir/src/compiler/glsl/$cxxpp_filename -o $build_dir/src/compiler/glsl/$asm_filename & +done +#------------------------------------------------------------------------------ +wait +#------------------------------------------------------------------------------ +# reuse os +for src_pathname in $libglsl_cxx_pathnames +do + asm_filename=$(basename $src_pathname .cpp).cpp.cxx.s + o_filename=$(basename $src_pathname .cpp).cpp.cxx.s.o + os="$os $build_dir/src/compiler/glsl/$o_filename" + printf "AS $build_dir/src/compiler/glsl/$asm_filename --> $build_dir/src/compiler/glsl/$o_filename\n" + $as $build_dir/src/compiler/glsl/$asm_filename -o $build_dir/src/compiler/glsl/$o_filename & +done +#=============================================================================== +wait +#=============================================================================== +printf "AR RCS $build_dir/libglsl.a $os\n" +$ar_rcs $build_dir/libglsl.a $os +#=============================================================================== +printf "\t<--glsl compiler sub-components built\n" diff --git a/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/compiler_nir.sh b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/compiler_nir.sh new file mode 100644 index 0000000..f405046 --- /dev/null +++ b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/compiler_nir.sh @@ -0,0 +1,276 @@ +printf "\tbuilding nir compiler sub-components-->\n" +#=============================================================================== +mkdir -p $build_dir/src/compiler/nir +#------------------------------------------------------------------------------ +libnir_c_pathnames="\ +$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_terminate_to_demote.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.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_mqsad.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_undef.c \ +$src_dir/src/compiler/nir/nir_opt_uniform_atomics.c \ +$src_dir/src/compiler/nir/nir_opt_varyings.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_use_dominance.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 src_pathname in $libnir_c_pathnames +do + cpp_filename=$(basename $src_pathname .c).cpp.c + printf "CPP $src_pathname --> $build_dir/src/compiler/nir/$cpp_filename\n" + $cpp $src_pathname -o $build_dir/src/compiler/nir/$cpp_filename \ + -I$cc_internal_fixed_incdir \ + -I$cc_internal_incdir \ + -I$linux_incdir \ + -I$syslib_incdir \ + \ + -I$build_dir/src/gallium/auxiliary \ + -I$src_dir/src/gallium/auxiliary \ + -I$build_dir/src/gallium/include \ + -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$build_dir/src/mesa \ + -I$src_dir/src/mesa \ + -I$build_dir/src \ + -I$src_dir/src \ + -I$build_dir/include \ + -I$src_dir/include \ + \ + $syslib_cpp_flags_defs \ + $linux_cpp_flags_defs \ + $cc_builtins_cpp_flags_defs \ + $cc_attributes_cpp_flags_defs \ + $mesa_cpp_flags_defs \ + \ + $external_deps_cpp_flags & +done +#------------------------------------------------------------------------------- +wait +#------------------------------------------------------------------------------ +for src_pathname in $libnir_c_pathnames +do + cpp_filename=$(basename $src_pathname .c).cpp.c + asm_filename=$(basename $src_pathname .c).cpp.c.s + printf "CC_S $build_dir/src/compiler/nir/$cpp_filename --> $build_dir/src/compiler/nir/$asm_filename\n" + $cc_s $build_dir/src/compiler/nir/$cpp_filename -o $build_dir/src/compiler/nir/$asm_filename & +done +#------------------------------------------------------------------------------ +wait +#------------------------------------------------------------------------------ +os= +for src_pathname in $libnir_c_pathnames +do + asm_filename=$(basename $src_pathname .c).cpp.c.s + o_filename=$(basename $src_pathname .c).cpp.c.s.o + os="$os $build_dir/src/compiler/nir/$o_filename" + printf "AS $build_dir/src/compiler/nir/$asm_filename --> $build_dir/src/compiler/nir/$o_filename\n" + $as $build_dir/src/compiler/nir/$asm_filename -o $build_dir/src/compiler/nir/$o_filename & +done +#------------------------------------------------------------------------------ +wait +#------------------------------------------------------------------------------ +printf "AR RCS $build_dir/libnir.a $os\n" +$ar_rcs $build_dir/libnir.a $os & +#=============================================================================== +printf "\t<--nir compiler sub-components built\n" diff --git a/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/dri2.c.patch b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/dri2.c.patch new file mode 100644 index 0000000..525698f --- /dev/null +++ b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/dri2.c.patch @@ -0,0 +1,27 @@ +diff --git a/src/gallium/frontends/dri/dri2.c b/src/gallium/frontends/dri/dri2.c +index 801ec908212..fa3b99ec6a3 100644 +--- a/src/gallium/frontends/dri/dri2.c ++++ b/src/gallium/frontends/dri/dri2.c +@@ -2467,22 +2467,4 @@ const __DRIextension *galliumdrm_driver_extensions[] = { + NULL + }; + +-static const struct __DRImesaCoreExtensionRec swkmsMesaCoreExtension = { +- .base = { __DRI_MESA, 2 }, +- .version_string = MESA_INTERFACE_VERSION_STRING, +- .createNewScreen = driCreateNewScreen2, +- .createContext = driCreateContextAttribs, +- .initScreen = dri_swrast_kms_init_screen, +- .createNewScreen3 = driCreateNewScreen3, +-}; +- +-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-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/dri_util.c.patch b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/dri_util.c.patch new file mode 100644 index 0000000..9bba5d0 --- /dev/null +++ b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/dri_util.c.patch @@ -0,0 +1,76 @@ +diff --git a/src/gallium/frontends/dri/dri_util.c b/src/gallium/frontends/dri/dri_util.c +index 4c93d2e4194..8f03191c875 100644 +--- a/src/gallium/frontends/dri/dri_util.c ++++ b/src/gallium/frontends/dri/dri_util.c +@@ -194,35 +194,6 @@ dri2CreateNewScreen(int scrn, int fd, + driver_configs, false, data); + } + +-static __DRIscreen * +-swkmsCreateNewScreen(int scrn, int fd, +- const __DRIextension **extensions, +- const __DRIconfig ***driver_configs, void *data) +-{ +- return driCreateNewScreen3(scrn, fd, extensions, +- dri_swrast_kms_driver_extensions, +- driver_configs, false, data); +-} +- +-/** swrast driver createNewScreen entrypoint. */ +-static __DRIscreen * +-driSWRastCreateNewScreen(int scrn, const __DRIextension **extensions, +- const __DRIconfig ***driver_configs, void *data) +-{ +- return driCreateNewScreen3(scrn, -1, extensions, +- galliumsw_driver_extensions, +- driver_configs, false, data); +-} +- +-static __DRIscreen * +-driSWRastCreateNewScreen2(int scrn, const __DRIextension **extensions, +- const __DRIextension **driver_extensions, +- const __DRIconfig ***driver_configs, void *data) +-{ +- return driCreateNewScreen3(scrn, -1, extensions, driver_extensions, +- driver_configs, false, data); +-} +- + static __DRIscreen * + driSWRastCreateNewScreen3(int scrn, const __DRIextension **extensions, + const __DRIextension **driver_extensions, +@@ -932,35 +903,8 @@ const __DRIdri2Extension driDRI2Extension = { + .createNewScreen3 = driCreateNewScreen3, + }; + +-const __DRIdri2Extension swkmsDRI2Extension = { +- .base = { __DRI_DRI2, 5 }, +- +- .createNewScreen = swkmsCreateNewScreen, +- .createNewDrawable = driCreateNewDrawable, +- .createNewContext = driCreateNewContext, +- .getAPIMask = driGetAPIMask, +- .createNewContextForAPI = driCreateNewContextForAPI, +- .allocateBuffer = dri2AllocateBuffer, +- .releaseBuffer = dri2ReleaseBuffer, +- .createContextAttribs = driCreateContextAttribs, +- .createNewScreen2 = driCreateNewScreen2, +- .createNewScreen3 = driCreateNewScreen3, +-}; +- + #endif + +-const __DRIswrastExtension driSWRastExtension = { +- .base = { __DRI_SWRAST, 5 }, +- +- .createNewScreen = driSWRastCreateNewScreen, +- .createNewDrawable = driCreateNewDrawable, +- .createNewContextForAPI = driCreateNewContextForAPI, +- .createContextAttribs = driCreateContextAttribs, +- .createNewScreen2 = driSWRastCreateNewScreen2, +- .queryBufferAge = driSWRastQueryBufferAge, +- .createNewScreen3 = driSWRastCreateNewScreen3, +-}; +- + const __DRI2configQueryExtension dri2ConfigQueryExtension = { + .base = { __DRI2_CONFIG_QUERY, 2 }, + diff --git a/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/dri_util.h.patch b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/dri_util.h.patch new file mode 100644 index 0000000..ade9755 --- /dev/null +++ b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/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-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/drm_helper.h.patch b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/drm_helper.h.patch new file mode 100644 index 0000000..cd8dead --- /dev/null +++ b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/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-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/egl.sh b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/egl.sh new file mode 100644 index 0000000..ceed5f6 --- /dev/null +++ b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/egl.sh @@ -0,0 +1,166 @@ +# libglvnd EGL provider for xserver glamor, xorg or xwayland +echo "building libglvnd egl provider for dri on drm(kms/gbm/dma-buf) components-->" +#=============================================================================== +mkdir -p $build_dir/src/egl +#------------------------------------------------------------------------------- +libegl_c_pathnames="\ +$build_dir/src/egl/generate/g_egldispatchstubs.c \ +\ +$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 \ +$src_dir/src/egl/main/eglglvnd.c \ +$src_dir/src/egl/main/egldispatchstubs.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 src_pathname in $libegl_c_pathnames +do + cpp_filename=$(basename $src_pathname .c).cpp.c + printf "CPP $src_pathname --> $build_dir/src/egl/$cpp_filename\n" + $cpp $src_pathname -o $build_dir/src/egl/$cpp_filename \ + -DHAVE_DRM_PLATFORM=1 \ + -D_EGL_NATIVE_PLATFORM=_EGL_PLATFORM_DRM \ + \ + -I$cc_internal_fixed_incdir \ + -I$cc_internal_incdir \ + -I$linux_incdir \ + -I$syslib_incdir \ + \ + -I$build_dir/src/gallium/frontends/dri \ + -I$src_dir/src/gallium/frontends/dri \ + -I$build_dir/src/gallium/auxiliary \ + -I$src_dir/src/gallium/auxiliary \ + -I$build_dir/src/gallium/include \ + -I$src_dir/src/gallium/include \ + -I$build_dir/src/gbm/backends/dri \ + -I$src_dir/src/gbm/backends/dri \ + -I$build_dir/src/gbm/main \ + -I$src_dir/src/gbm/main \ + -I$build_dir/src/loader \ + -I$src_dir/src/loader \ + -I$build_dir/src/egl/drivers/dri2 \ + -I$src_dir/src/egl/drivers/dri2 \ + -I$build_dir/src/egl/main \ + -I$src_dir/src/egl/main \ + -I$build_dir/src/egl/generate \ + -I$src_dir/src/egl/generate \ + -I$build_dir/src/mesa \ + -I$src_dir/src/mesa \ + -I$build_dir/src \ + -I$src_dir/src \ + -I$build_dir/include \ + -I$src_dir/include \ + \ + $syslib_cpp_flags_defs \ + $linux_cpp_flags_defs \ + $cc_builtins_cpp_flags_defs \ + $cc_attributes_cpp_flags_defs \ + $mesa_cpp_flags_defs \ + \ + $external_deps_cpp_flags & +done +#------------------------------------------------------------------------------- +wait +#------------------------------------------------------------------------------- +for src_pathname in $libegl_c_pathnames +do + cpp_filename=$(basename $src_pathname .c).cpp.c + asm_filename=$(basename $src_pathname .c).cpp.c.s + printf "CC_S $build_dir/src/egl/$cpp_filename --> $build_dir/src/egl/$asm_filename\n" + $cc_s $build_dir/src/egl/$cpp_filename -o $build_dir/src/egl/$asm_filename & +done +#------------------------------------------------------------------------------ +wait +#------------------------------------------------------------------------------ +os= +for src_pathname in $libegl_c_pathnames +do + asm_filename=$(basename $src_pathname .c).cpp.c.s + o_filename=$(basename $src_pathname .c).cpp.c.s.o + os="$os $build_dir/src/egl/$o_filename" + printf "AS $build_dir/src/egl/$asm_filename --> $build_dir/src/egl/$o_filename\n" + $as $build_dir/src/egl/$asm_filename -o $build_dir/src/egl/$o_filename & +done +#------------------------------------------------------------------------------ +wait +#------------------------------------------------------------------------------ +printf "AR RCS $build_dir/libegl.a $os\n" +$ar_rcs $build_dir/libegl.a $os +#=============================================================================== +wait +#=============================================================================== +mkdir -p \ + $build_dir/install_root$libdir \ + $build_dir/install_root$libdir_store +#------------------------------------------------------------------------------- +# if some c++ code was pulled, it is not using the c++ runtime +printf "BINUTILS LD $build_dir/install_root$libdir_store/libEGL_mesa.so.0.0.0\n" +$binutils_ld -o $build_dir/install_root$libdir_store/libEGL_mesa.so.0.0.0 \ + -shared \ + -soname=libEGL_mesa.so.0 \ + -Bsymbolic \ + --no-undefined \ + --gc-sections \ + -s \ + $syslib_ld_slib_start_files \ + $cc_ld_slib_start_files \ + --whole-archive \ + $build_dir/libegl.a \ + --no-whole-archive \ + \ + $build_dir/libloader.a \ + $build_dir/libxmlconfig.a \ + $build_dir/libmesa_util.a \ + \ + --as-needed \ + $build_dir/install_root$libdir_store/libglapi.so.0.0.0 \ + $build_dir/install_root$libdir_store/libgbm.so.1.0.0 \ + $libdrm_ld_flags \ + $syslibs_libm_ld_flags \ + $syslibs_libdl_ld_flags \ + $syslibs_libpthread_ld_flags \ + $syslibs_libc_ld_flags \ + --no-as-needed \ + $cc_ld_slib_end_files \ + $syslib_ld_slib_end_files +#------------------------------------------------------------------------------- +ln -sTf $libdir_store_virtual/libEGL_mesa.so.0.0.0 $build_dir/install_root$libdir/libEGL_mesa.so.0 +#=============================================================================== +mkdir -p \ + $build_dir/install_root$datadir/glvnd/egl_vendor.d \ + $build_dir/install_root$datadir_store/glvnd/egl_vendor.d +cat >$build_dir/install_root$datadir_store/glvnd/egl_vendor.d/50_mesa.json <multibuffers_available = + (dri2_dpy->dri3_major_version > 1 || +@@ -976,6 +977,7 @@ dri2_setup_extensions(_EGLDisplay *disp) + disp->Platform == _EGL_PLATFORM_XCB) && + !debug_get_bool_option("LIBGL_KOPPER_DRI2", false)) + return EGL_FALSE; ++#endif + #endif + + loader_bind_extensions(dri2_dpy, optional_core_extensions, +@@ -1194,11 +1196,13 @@ dri2_display_create(void) + dri2_dpy->fd_render_gpu = -1; + dri2_dpy->fd_display_gpu = -1; + ++#ifdef HAVE_X11_PLATFORM + #ifdef HAVE_DRI3_MODIFIERS + dri2_dpy->dri3_major_version = -1; + dri2_dpy->dri3_minor_version = -1; + dri2_dpy->present_major_version = -1; + dri2_dpy->present_minor_version = -1; ++#endif + #endif + + return dri2_dpy; diff --git a/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/external_deps.sh b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/external_deps.sh new file mode 100644 index 0000000..a124eea --- /dev/null +++ b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/external_deps.sh @@ -0,0 +1,214 @@ +#=============================================================================== +# linux drm uapi +if test "${linux_drm_cpp_flags-unset}" = unset; then +linux_drm_cpp_flags='-I/nyan/glibc/current/include-linux/drm' +external_deps_cpp_flags="$linux_drm_cpp_flags $external_deps_cpp_flags" +fi +#=============================================================================== + + +#=============================================================================== +# libdrm +if test "${libdrm_cpp_flags-unset}" = unset; then +libdrm_cpp_flags='-I/nyan/drm/current/include -DHAVE_LIBDRM=1' +external_deps_cpp_flags="$libdrm_cpp_flags $external_deps_cpp_flags" +fi +if test "${libdrm_ld_flags-unset}" = unset; then +libdrm_ld_flags='-L/nyan/drm/current/lib -ldrm' +fi +#=============================================================================== + + +#=============================================================================== +# libdrm_amdgpu +if test "${libdrm_amdgpu_cpp_flags-unset}" = unset; then +libdrm_amdgpu_cpp_flags='-I/nyan/drm/current/include/libdrm' +external_deps_cpp_flags="$libdrm_amdgpu_cpp_flags $external_deps_cpp_flags" +fi +if test "${libdrm_amdgpu_ld_flags-unset}" = unset; then +libdrm_amdgpu_ld_flags='-L/nyan/drm/current/lib -ldrm_amdgpu' +fi +#=============================================================================== + + +#=============================================================================== +# legacy libdrm_radeon +if test "${libdrm_radeon_cpp_flags-unset}" = unset; then +libdrm_radeon_cpp_flags='-I/nyan/drm/current/include/libdrm' +external_deps_cpp_flags="$libdrm_radeon_cpp_flags $external_deps_cpp_flags" +fi +if test "${libdrm_radeon_ld_flags-unset}" = unset; then +libdrm_radeon_ld_flags='-L/nyan/drm/current/lib -ldrm_radeon' +fi +#=============================================================================== + + +#=============================================================================== +# libelf +if test "${libelf_cpp_flags-unset}" = unset; then +libelf_cpp_flags="\ +-I/nyan/libelf/current/include/libelf \ +-I/nyan/libelf/current/include \ +" +external_deps_cpp_flags="$libelf_cpp_flags $external_deps_cpp_flags" +fi +if test "${libelf_static_ld_flags-unset}" = unset; then +libelf_static_ld_flags=/nyan/libelf/current/lib/libelf.a +fi +#=============================================================================== + + +#=============================================================================== +# zlib +if test "${zlib_cpp_flags-unset}" = unset; then +zlib_cpp_flags='-I/nyan/zlib/current/include -DHAVE_ZLIB=1' +external_deps_cpp_flags="$zlib_cpp_flags $external_deps_cpp_flags" +fi +if test "${zlib_static_ld_flags-unset}" = unset; then +zlib_static_ld_flags=/nyan/zlib/current/lib/libz.a +fi +#=============================================================================== + + +#=============================================================================== +# expat +if test "${expat_cpp_flags-unset}" = unset; then +expat_cpp_flags='-I/nyan/expat/current/include' +external_deps_cpp_flags="$expat_cpp_flags $external_deps_cpp_flags" +fi +if test "${expat_archives-unset}" = unset; then +expat_archives=libexpat.a +external_deps_archives="$expat_archives:$external_deps_archives" +fi +if test "${expat_ld_flags-unset}" = unset; then +expat_ld_flags="/nyan/expat/current/lib/$expat_archives" +external_deps_static_ld_flags="$expat_ld_flags $external_deps_static_ld_flags" +fi +#=============================================================================== + + +#=============================================================================== +# xorgproto +if test "${xorgproto_cpp_flags-unset}" = unset; then +xorgproto_cpp_flags='-I/nyan/xorgproto/current/include' +external_deps_cpp_flags="$xorgproto_cpp_flags $external_deps_cpp_flags" +fi +#=============================================================================== + + +#=============================================================================== +# libx11 +if test "${libx11_cpp_flags-unset}" = unset; then +libx11_cpp_flags='-I/nyan/libX11/current/include' +external_deps_cpp_flags="$libx11_cpp_flags $external_deps_cpp_flags" +fi +if test "${libx11_ld_flags-unset}" = unset; then +libx11_ld_flags='-L/nyan/libX11/current/lib -lX11' +external_deps_ld_flags="$external_deps_ld_flags $libx11_ld_flags" +fi +#=============================================================================== + + +#=============================================================================== +# libx11-xcb +if test "${libx11_xcb_ld_flags-unset}" = unset; then +libx11_xcb_ld_flags='-L/nyan/libX11/current/include -lX11-xcb' +fi +#=============================================================================== + + +#=============================================================================== +# libxext +if test "${libxext_cpp_flags-unset}" = unset; then +libxext_cpp_flags='-I/nyan/libXext/current/include' +external_deps_cpp_flags="$libxext_cpp_flags $external_deps_cpp_flags" +fi +if test "${libxext_ld_flags-unset}" = unset; then +libxext_ld_flags='-L/nyan/libXext/current/lib -lXext' +external_deps_ld_flags="$external_deps_ld_flags $libxext_ld_flags" +fi +#=============================================================================== + + +#=============================================================================== +# libxcb +if test "${libxcb_cpp_flags-unset}" = unset; then +libxcb_cpp_flags='-I/nyan/libxcb/current/include' +external_deps_cpp_flags="$libxcb_cpp_flags $external_deps_cpp_flags" +fi +if test "${libxcb_ld_flags-unset}" = unset; then +libxcb_ld_flags="-L/nyan/libxcb/current/lib \ +-lxcb \ +-lxcb-glx \ +-lxcb-present \ +-lxcb-dri3 \ +-lxcb-dri2 \ +-lxcb-sync \ +-lxcb-xfixes \ +-lxcb-shm \ +-lxcb-randr \ +" +external_deps_ld_flags="$external_deps_ld_flags $libxcb_ld_flags" +fi +#=============================================================================== + + +#=============================================================================== +# libxshmfence +if test "${libxshmfence_cpp_flags-unset}" = unset; then +libxshmfence_cpp_flags='-I/nyan/libxshmfence/current/include' +external_deps_cpp_flags="$libxshmfence_cpp_flags $external_deps_cpp_flags" +fi +if test "${libxshmfence_ld_flags-unset}" = unset; then +libxshmfence_ld_flags="-L/nyan/libxshmfence/current/lib -lxshmfence" +external_deps_ld_flags="$external_deps_ld_flags $libxshmfence_ld_flags" +fi +#=============================================================================== + + +#=============================================================================== +# libxxf86vm +if test "${libxxf86vm_cpp_flags-unset}" = unset; then +libxxf86vm_cpp_flags='-I/nyan/libXxf86vm/current/include' +external_deps_cpp_flags="$libxxf86vm_cpp_flags $external_deps_cpp_flags" +fi +if test "${libxxf86vm_ld_flags-unset}" = unset; then +libxxf86vm_ld_flags='-L/nyan/libXxf86vm/current/lib -lXxf86vm' +external_deps_ld_flags="$external_deps_ld_flags $libxxf86vm_ld_flags" +fi +#=============================================================================== + + +#=============================================================================== +# libXfixes +if test "${libxfixes_cpp_flags-unset}" = unset; then +libxfixes_cpp_flags='-I/nyan/libXfixes/current/include' +external_deps_cpp_flags="$libxfixes_cpp_flags $external_deps_cpp_flags" +fi +if test "${libxfixes_ld_flags-unset}" = unset; then +libxfixes_ld_flags='-L/nyan/libXfixes/current/lib -lXfixes' +external_deps_ld_flags="$external_deps_ld_flags $libxfixes_ld_flags" +fi +#=============================================================================== + + +#=============================================================================== +# libXdamage +if test "${libxdamage_cpp_flags-unset}" = unset; then +libxdamage_cpp_flags='-I/nyan/libXdamage/current/include' +external_deps_cpp_flags="$libxdamage_cpp_flags $external_deps_cpp_flags" +fi +if test "${libxdamage_ld_flags-unset}" = unset; then +libxdamage_ld_flags='/nyan/libXdamage/current/lib/libXdamage.so' +external_deps_ld_flags="$external_deps_ld_flags $libxdamage_ld_flags" +fi +#=============================================================================== + + +#=============================================================================== +# libglvnd +if test "${libglvnd_cpp_flags-unset}" = unset; then +libglvnd_cpp_flags='-I/nyan/libglvnd/current/include' +external_deps_cpp_flags="$libglvnd_cpp_flags $external_deps_cpp_flags" +fi +#=============================================================================== diff --git a/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/gallium.sh b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/gallium.sh new file mode 100644 index 0000000..fc2c842 --- /dev/null +++ b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/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-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/gallium_auxiliary.sh b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/gallium_auxiliary.sh new file mode 100644 index 0000000..89f228e --- /dev/null +++ b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/gallium_auxiliary.sh @@ -0,0 +1,367 @@ +printf "\tbuilding gallium auxiliary sub-components-->\n" +#=============================================================================== +mkdir -p $build_dir/src/gallium/auxiliary +#------------------------------------------------------------------------------- +# filenames should be different since we build in one directory +libgallium_c_pathnames="\ +$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" +#------------------------------------------------------------------------------- +for src_pathname in $libgallium_c_pathnames +do + cpp_filename=$(basename $src_pathname .c).cpp.c + printf "CPP $src_pathname --> $build_dir/src/gallium/auxiliary/$cpp_filename\n" + $cpp $src_pathname -o $build_dir/src/gallium/auxiliary/$cpp_filename \ + -I$cc_internal_fixed_incdir \ + -I$cc_internal_incdir \ + -I$linux_incdir \ + -I$syslib_incdir \ + \ + -I$build_dir/src/gallium/auxiliary/driver_trace \ + -I$src_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$build_dir/src/gallium/auxiliary/util \ + -I$src_dir/src/gallium/auxiliary/util \ + -I$build_dir/src/gallium/auxiliary \ + -I$src_dir/src/gallium/auxiliary \ + -I$build_dir/src/gallium/include \ + -I$src_dir/src/gallium/include \ + -I$build_dir/src/util \ + -I$src_dir/src/util \ + -I$build_dir/src \ + -I$src_dir/src \ + -I$build_dir/include \ + -I$src_dir/include \ + \ + $syslib_cpp_flags_defs \ + $linux_cpp_flags_defs \ + $cc_builtins_cpp_flags_defs \ + $cc_attributes_cpp_flags_defs \ + $mesa_cpp_flags_defs \ + \ + $external_deps_cpp_flags & +done +#------------------------------------------------------------------------------- +wait +#------------------------------------------------------------------------------ +for src_pathname in $libgallium_c_pathnames +do + cpp_filename=$(basename $src_pathname .c).cpp.c + asm_filename=$(basename $src_pathname .c).cpp.c.s + printf "CC_S $build_dir/src/gallium/auxiliary/$cpp_filename --> $build_dir/src/gallium/auxiliary/$asm_filename\n" + $cc_s $build_dir/src/gallium/auxiliary/$cpp_filename -o $build_dir/src/gallium/auxiliary/$asm_filename & +done +#------------------------------------------------------------------------------ +wait +#------------------------------------------------------------------------------ +os= +for src_pathname in $libgallium_c_pathnames +do + asm_filename=$(basename $src_pathname .c).cpp.c.s + o_filename=$(basename $src_pathname .c).cpp.c.s.o + os="$os $build_dir/src/gallium/auxiliary/$o_filename" + printf "AS $build_dir/src/gallium/auxiliary/$asm_filename --> $build_dir/src/gallium/auxiliary/$o_filename\n" + $as $build_dir/src/gallium/auxiliary/$asm_filename -o $build_dir/src/gallium/auxiliary/$o_filename & +done +#------------------------------------------------------------------------------ +wait +#------------------------------------------------------------------------------ +printf "AR RCS $build_dir/libgallium.a $os\n" +$ar_rcs $build_dir/libgallium.a $os +#=============================================================================== +mkdir -p $build_dir/src/gallium/auxiliary/pipe-loader +#------------------------------------------------------------------------------- +# 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_c_pathnames="\ +$build_dir/src/gallium/auxiliary/pipe-loader/pipe_loader.c \ +\ +$src_dir/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c \ +" +#------------------------------------------------------------------------------- +for src_pathname in $libpipe_loader_static_c_pathnames +do + cpp_filename=$(basename $src_pathname .c).cpp.c + printf "CPP $src_pathname --> $build_dir/src/gallium/auxiliary/pipe-loader/$cpp_filename\n" + $cpp $src_pathname -o $build_dir/src/gallium/auxiliary/pipe-loader/$cpp_filename \ + -DGALLIUM_STATIC_TARGETS=1 \ + \ + -I$cc_internal_fixed_incdir \ + -I$cc_internal_incdir \ + -I$linux_incdir \ + -I$syslib_incdir \ + \ + -I$build_dir/src/compiler \ + -I$src_dir/src/compiler \ + -I$build_dir/src/util \ + -I$src_dir/src/util \ + -I$build_dir/src/gallium/auxiliary/pipe-loader \ + -I$src_dir/src/gallium/auxiliary/pipe-loader \ + -I$build_dir/src/gallium/winsys \ + -I$src_dir/src/gallium/winsys \ + -I$build_dir/src/gallium/auxiliary \ + -I$src_dir/src/gallium/auxiliary \ + -I$build_dir/src/gallium/include \ + -I$src_dir/src/gallium/include \ + -I$build_dir/src/util \ + -I$src_dir/src/util \ + -I$build_dir/src/loader \ + -I$src_dir/src/loader \ + -I$build_dir/src \ + -I$src_dir/src \ + -I$build_dir/include \ + -I$src_dir/include \ + \ + $syslib_cpp_flags_defs \ + $linux_cpp_flags_defs \ + $cc_builtins_cpp_flags_defs \ + $cc_attributes_cpp_flags_defs \ + $mesa_cpp_flags_defs \ + \ + $external_deps_cpp_flags & +done +#------------------------------------------------------------------------------- +wait +#------------------------------------------------------------------------------ +for src_pathname in $libpipe_loader_static_c_pathnames +do + cpp_filename=$(basename $src_pathname .c).cpp.c + asm_filename=$(basename $src_pathname .c).cpp.c.s + printf "CC_S $build_dir/src/gallium/auxiliary/pipe-loader/$cpp_filename --> $build_dir/src/gallium/auxiliary/pipe-loader/$asm_filename\n" + $cc_s $build_dir/src/gallium/auxiliary/pipe-loader/$cpp_filename -o $build_dir/src/gallium/auxiliary/pipe-loader/$asm_filename & +done +#------------------------------------------------------------------------------ +wait +#------------------------------------------------------------------------------ +os= +for src_pathname in $libpipe_loader_static_c_pathnames +do + asm_filename=$(basename $src_pathname .c).cpp.c.s + o_filename=$(basename $src_pathname .c).cpp.c.s.o + os="$os $build_dir/src/gallium/auxiliary/pipe-loader/$o_filename" + printf "AS $build_dir/src/gallium/auxiliary/pipe-loader/$asm_filename --> $build_dir/src/gallium/auxiliary/pipe-loader/$o_filename\n" + $as $build_dir/src/gallium/auxiliary/pipe-loader/$asm_filename -o $build_dir/src/gallium/auxiliary/pipe-loader/$o_filename & +done +#------------------------------------------------------------------------------ +wait +#------------------------------------------------------------------------------ +printf "AR RCS $build_dir/libpipe_loader_static.a $os\n" +$ar_rcs $build_dir/libpipe_loader_static.a $os +#------------------------------------------------------------------------------- +#=============================================================================== +mkdir -p $build_dir/src/gallium/auxiliary/vl +#------------------------------------------------------------------------------- +# galliumvl +# vl=Video Layer, where you can find vdpau/vapi hardware accelerated drivers, +# but we do use only the empty stubs +printf "CPP $src_dir/src/gallium/auxiliary/vl/vl_stubs.c --> $build_dir/src/gallium/auxiliary/vl/vl_stubs.cpp.c\n" +$cpp $src_dir/src/gallium/auxiliary/vl/vl_stubs.c -o $build_dir/src/gallium/auxiliary/vl/vl_stubs.cpp.c \ + -I$cc_internal_fixed_incdir \ + -I$cc_internal_incdir \ + -I$linux_incdir \ + -I$syslib_incdir \ + \ + -I$build_dir/src/compiler \ + -I$src_dir/src/compiler \ + -I$build_dir/src/gallium/auxiliary \ + -I$src_dir/src/gallium/auxiliary \ + -I$build_dir/src/gallium/include \ + -I$src_dir/src/gallium/include \ + -I$build_dir/src/util \ + -I$src_dir/src/util \ + -I$build_dir/src \ + -I$src_dir/src \ + -I$build_dir/include \ + -I$src_dir/include \ + \ + $syslib_cpp_flags_defs \ + $linux_cpp_flags_defs \ + $cc_builtins_cpp_flags_defs \ + $cc_attributes_cpp_flags_defs \ + $mesa_cpp_flags_defs \ + \ + $external_deps_cpp_flags +#------------------------------------------------------------------------------ +printf "CC_S $build_dir/src/gallium/auxiliary/vl/vl_stubs.cpp.c --> $build_dir/src/gallium/auxiliary/vl/vl_stubs.cpp.c.s\n" +$cc_s $build_dir/src/gallium/auxiliary/vl/vl_stubs.cpp.c -o $build_dir/src/gallium/auxiliary/vl/vl_stubs.cpp.c.s +#------------------------------------------------------------------------------ +printf "AS $build_dir/src/gallium/auxiliary/vl/vl_stubs.cpp.c.s --> $build_dir/src/gallium/auxiliary/vl/vl_stubs.cpp.c.s.o\n" +$as $build_dir/src/gallium/auxiliary/vl/vl_stubs.cpp.c.s -o $build_dir/src/gallium/auxiliary/vl/vl_stubs.cpp.c.s.o +#------------------------------------------------------------------------------ +printf "AR RCS $build_dir/libgalliumvl.a $build_dir/src/gallium/auxiliary/vl/vl_stubs.cpp.c.s.o\n" +$ar_rcs $build_dir/libgalliumvl.a $build_dir/src/gallium/auxiliary/vl/vl_stubs.cpp.c.s.o & +#=============================================================================== +printf "\t<--gallium auxiliary sub-components built\n" diff --git a/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/gallium_drivers.sh b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/gallium_drivers.sh new file mode 100644 index 0000000..eb0d1e7 --- /dev/null +++ b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/gallium_drivers.sh @@ -0,0 +1,291 @@ +printf "\tbuilding drivers sub-components-->\n" +#=============================================================================== +mkdir -p $build_dir/src/gallium/drivers/radeonsi +#------------------------------------------------------------------------------- +libradeonsi_c_pathnames="\ +$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_nir.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 \ +" +# some c++ diarrhea did slip in +libradeonsi_cxx_pathnames="\ +$src_dir/src/gallium/drivers/radeonsi/si_state_shaders.cpp \ +" +#------------------------------------------------------------------------------- +for src_pathname in $libradeonsi_c_pathnames +do + cpp_filename=$(basename $src_pathname .c).cpp.c + printf "CPP $src_pathname --> $build_dir/src/gallium/drivers/radeonsi/$cpp_filename\n" + $cpp $src_pathname -o $build_dir/src/gallium/drivers/radeonsi/$cpp_filename \ + -I$cc_internal_fixed_incdir \ + -I$cc_internal_incdir \ + -I$linux_incdir \ + -I$syslib_incdir \ + \ + -I$build_dir/src/util \ + -I$src_dir/src/util \ + -I$build_dir/src/amd/compiler \ + -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$build_dir/src/gallium/drivers \ + -I$src_dir/src/gallium/drivers \ + -I$build_dir/src/gallium/auxiliary \ + -I$src_dir/src/gallium/auxiliary \ + -I$build_dir/src/gallium/include \ + -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$build_dir/src \ + -I$src_dir/src \ + -I$build_dir/include \ + -I$src_dir/include \ + \ + $syslib_cpp_flags_defs \ + $linux_cpp_flags_defs \ + $cc_builtins_cpp_flags_defs \ + $cc_attributes_cpp_flags_defs \ + $mesa_cpp_flags_defs \ + \ + $external_deps_cpp_flags & +done +#------------------------------------------------------------------------------- +wait +#------------------------------------------------------------------------------ +for src_pathname in $libradeonsi_c_pathnames +do + cpp_filename=$(basename $src_pathname .c).cpp.c + asm_filename=$(basename $src_pathname .c).cpp.c.s + printf "CC_S $build_dir/src/gallium/drivers/radeonsi/$cpp_filename --> $build_dir/src/gallium/drivers/radeonsi/$asm_filename\n" + $cc_s $build_dir/src/gallium/drivers/radeonsi/$cpp_filename -o $build_dir/src/gallium/drivers/radeonsi/$asm_filename & +done +#------------------------------------------------------------------------------ +wait +#------------------------------------------------------------------------------ +os= +for src_pathname in $libradeonsi_c_pathnames +do + asm_filename=$(basename $src_pathname .c).cpp.c.s + o_filename=$(basename $src_pathname .c).cpp.c.s.o + os="$os $build_dir/src/gallium/drivers/radeonsi/$o_filename" + printf "AS $build_dir/src/gallium/drivers/radeonsi/$asm_filename --> $build_dir/src/gallium/drivers/radeonsi/$o_filename\n" + $as $build_dir/src/gallium/drivers/radeonsi/$asm_filename -o $build_dir/src/gallium/drivers/radeonsi/$o_filename & +done +#------------------------------------------------------------------------------ +for src_pathname in $libradeonsi_cxx_pathnames +do + cxxpp_filename=$(basename $src_pathname .cpp).cpp.cxx + printf "CXXPP $src_pathname --> $build_dir/src/gallium/drivers/radeonsi/$cxxpp_filename\n" + $cxxpp $src_pathname -o $build_dir/src/gallium/drivers/radeonsi/$cxxpp_filename \ + -I$cc_internal_fixed_incdir \ + -I$cc_internal_incdir \ + -I$cxx_internal_incdir \ + -I$linux_incdir \ + -I$syslib_incdir \ + \ + -I$build_dir/src/util \ + -I$src_dir/src/util \ + -I$build_dir/src/amd/compiler \ + -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$build_dir/src/gallium/drivers \ + -I$src_dir/src/gallium/drivers \ + -I$build_dir/src/gallium/auxiliary \ + -I$src_dir/src/gallium/auxiliary \ + -I$build_dir/src/gallium/include \ + -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$build_dir/src \ + -I$src_dir/src \ + -I$build_dir/include \ + -I$src_dir/include \ + \ + $syslib_cpp_flags_defs \ + $linux_cpp_flags_defs \ + $cc_builtins_cpp_flags_defs \ + $cc_attributes_cpp_flags_defs \ + $mesa_cpp_flags_defs \ + \ + $external_deps_cpp_flags & +done +#------------------------------------------------------------------------------ +wait +#------------------------------------------------------------------------------ +for src_pathname in $libradeonsi_cxx_pathnames +do + cxxpp_filename=$(basename $src_pathname .cpp).cpp.cxx + asm_filename=$(basename $src_pathname .cpp).cpp.cxx.s + printf "CXX_S $build_dir/src/gallium/drivers/radeonsi/$cxxpp_filename --> $build_dir/src/gallium/drivers/radeonsi/$asm_filename\n" + $cxx_s $build_dir/src/gallium/drivers/radeonsi/$cxxpp_filename -o $build_dir/src/gallium/drivers/radeonsi/$asm_filename & +done +#------------------------------------------------------------------------------ +wait +#------------------------------------------------------------------------------ +# reuse os +for src_pathname in $libradeonsi_cxx_pathnames +do + asm_filename=$(basename $src_pathname .cpp).cpp.cxx.s + o_filename=$(basename $src_pathname .cpp).cpp.cxx.s.o + os="$os $build_dir/src/gallium/drivers/radeonsi/$o_filename" + printf "AS $build_dir/src/gallium/drivers/radeonsi/$asm_filename --> $build_dir/src/gallium/drivers/radeonsi/$o_filename\n" + $as $build_dir/src/gallium/drivers/radeonsi/$asm_filename -o $build_dir/src/gallium/drivers/radeonsi/$o_filename & +done +#------------------------------------------------------------------------------ +wait +#------------------------------------------------------------------------------- +printf "AR RCS $build_dir/libradeonsi.a $os\n" +$ar_rcs $build_dir/libradeonsi.a $os +#=============================================================================== +# this so much filthy, there is no words for it +libradeonsi_gfx_cxx_pathnames="\ +$src_dir/src/gallium/drivers/radeonsi/si_state_draw.cpp \ +" +for g in 6 7 8 9 10 103 11 115 +do + for src_pathname in $libradeonsi_gfx_cxx_pathnames + do + cxxpp_filename=$(basename $src_pathname .cpp).$g.cpp.cxx + printf "CXXPP $src_pathname --> $build_dir/src/gallium/drivers/radeonsi/$cxxpp_filename\n" + $cxxpp $src_pathname -o $build_dir/src/gallium/drivers/radeonsi/$cxxpp_filename \ + -DGFX_VER=$g \ + \ + -I$cc_internal_fixed_incdir \ + -I$cc_internal_incdir \ + -I$cxx_internal_incdir \ + -I$linux_incdir \ + -I$syslib_incdir \ + \ + -I$build_dir/src/util \ + -I$src_dir/src/util \ + -I$build_dir/src/amd/compiler \ + -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$build_dir/src/gallium/drivers \ + -I$src_dir/src/gallium/drivers \ + -I$build_dir/src/gallium/auxiliary \ + -I$src_dir/src/gallium/auxiliary \ + -I$build_dir/src/gallium/include \ + -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$build_dir/src \ + -I$src_dir/src \ + -I$build_dir/include \ + -I$src_dir/include \ + \ + $syslib_cpp_flags_defs \ + $linux_cpp_flags_defs \ + $cc_builtins_cpp_flags_defs \ + $cc_attributes_cpp_flags_defs \ + $mesa_cpp_flags_defs \ + \ + $external_deps_cpp_flags & + done + #----------------------------------------------------------------------- + wait + #----------------------------------------------------------------------- + for src_pathname in $libradeonsi_gfx_cxx_pathnames + do + cxxpp_filename=$(basename $src_pathname .cpp).$g.cpp.cxx + asm_filename=$(basename $src_pathname .cpp).$g.cpp.cxx.s + printf "CXX_S $build_dir/src/gallium/drivers/radeonsi/$cxxpp_filename --> $build_dir/src/gallium/drivers/radeonsi/$asm_filename\n" + $cxx_s $build_dir/src/gallium/drivers/radeonsi/$cxxpp_filename -o $build_dir/src/gallium/drivers/radeonsi/$asm_filename & + done + #----------------------------------------------------------------------- + wait + #----------------------------------------------------------------------- + libradeonsi_gfx_a= + for src_pathname in $libradeonsi_gfx_cxx_pathnames + do + asm_filename=$(basename $src_pathname .cpp).$g.cpp.cxx.s + o_filename=$(basename $src_pathname .cpp).$g.cpp.cxx.s.o + libradeonsi_gfx_a="$libradeonsi_gfx_a $build_dir/src/gallium/drivers/radeonsi/$o_filename" + printf "AS $build_dir/src/gallium/drivers/radeonsi/$asm_filename --> $build_dir/src/gallium/drivers/radeonsi/$o_filename\n" + $as $build_dir/src/gallium/drivers/radeonsi/$asm_filename -o $build_dir/src/gallium/drivers/radeonsi/$o_filename & + done + #------------------------------------------------------------------------------ + wait + #------------------------------------------------------------------------------- + printf "AR RCS $build_dir/libradeonsi_gfx$g.a $libradeonsi_gfx_a\n" + $ar_rcs $build_dir/libradeonsi_gfx$g.a $libradeonsi_gfx_a + # will use this variable in dri driver linking command later on + 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-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/gallium_frontends.sh b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/gallium_frontends.sh new file mode 100644 index 0000000..9abbf3a --- /dev/null +++ b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/gallium_frontends.sh @@ -0,0 +1,149 @@ +printf "\tbuilding frontends sub-components-->\n" +#=============================================================================== +mkdir -p $build_dir/src/gallium/frontends/dri +#------------------------------------------------------------------------------- +libdricommon_c_pathnames="\ +$build_dir/src/gallium/frontends/dri/dri_util.c \ +" +#------------------------------------------------------------------------------- +for src_pathname in $libdricommon_c_pathnames +do + cpp_filename=$(basename $src_pathname .c).cpp.c + printf "CPP $src_pathname --> $build_dir/src/gallium/frontends/dri/$cpp_filename\n" + $cpp $src_pathname -o $build_dir/src/gallium/frontends/dri/$cpp_filename \ + -I$cc_internal_fixed_incdir \ + -I$cc_internal_incdir \ + -I$linux_incdir \ + -I$syslib_incdir \ + \ + -I$build_dir/src/gallium/frontends/dri \ + -I$src_dir/src/gallium/frontends/dri \ + -I$build_dir/src/gallium/auxiliary \ + -I$src_dir/src/gallium/auxiliary \ + -I$build_dir/src/gallium/include \ + -I$src_dir/src/gallium/include \ + -I$build_dir/src/loader \ + -I$src_dir/src/loader \ + -I$build_dir/src/mapi \ + -I$src_dir/src/mapi \ + -I$build_dir/src/mesa \ + -I$src_dir/src/mesa \ + -I$build_dir/src/util \ + -I$src_dir/src/util \ + -I$build_dir/src/ \ + -I$src_dir/src/ \ + -I$build_dir/include \ + -I$src_dir/include \ + \ + $syslib_cpp_flags_defs \ + $linux_cpp_flags_defs \ + $cc_builtins_cpp_flags_defs \ + $cc_attributes_cpp_flags_defs \ + $mesa_cpp_flags_defs \ + \ + $external_deps_cpp_flags & +done +#------------------------------------------------------------------------------- +wait +#------------------------------------------------------------------------------ +for src_pathname in $libdricommon_c_pathnames +do + cpp_filename=$(basename $src_pathname .c).cpp.c + asm_filename=$(basename $src_pathname .c).cpp.c.s + printf "CC_S $build_dir/src/gallium/frontends/dri/$cpp_filename --> $build_dir/src/gallium/frontends/dri/$asm_filename\n" + $cc_s $build_dir/src/gallium/frontends/dri/$cpp_filename -o $build_dir/src/gallium/frontends/dri/$asm_filename & +done +#------------------------------------------------------------------------------ +wait +#------------------------------------------------------------------------------ +os= +for src_pathname in $libdricommon_c_pathnames +do + asm_filename=$(basename $src_pathname .c).cpp.c.s + o_filename=$(basename $src_pathname .c).cpp.c.s.o + os="$os $build_dir/src/gallium/frontends/dri/$o_filename" + printf "AS $build_dir/src/gallium/frontends/dri/$asm_filename --> $build_dir/src/gallium/frontends/dri/$o_filename\n" + $as $build_dir/src/gallium/frontends/dri/$asm_filename -o $build_dir/src/gallium/frontends/dri/$o_filename & +done +#------------------------------------------------------------------------------- +wait +#------------------------------------------------------------------------------- +printf "AR RCS $build_dir/libdricommon.a $os\n" +$ar_rcs $build_dir/libdricommon.a $os +#=============================================================================== +libdri_c_pathnames="\ +$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 src_pathname in $libdri_c_pathnames +do + cpp_filename=$(basename $src_pathname .c).cpp.c + printf "CPP $src_pathname --> $build_dir/src/gallium/frontends/dri/$cpp_filename\n" + $cpp $src_pathname -o $build_dir/src/gallium/frontends/dri/$cpp_filename \ + -I$cc_internal_fixed_incdir \ + -I$cc_internal_incdir \ + -I$linux_incdir \ + -I$syslib_incdir \ + \ + -I$build_dir/src/gallium/frontends/dri \ + -I$src_dir/src/gallium/frontends/dri \ + -I$build_dir/src/gallium/auxiliary \ + -I$src_dir/src/gallium/auxiliary \ + -I$build_dir/src/gallium/include \ + -I$src_dir/src/gallium/include \ + -I$build_dir/src/mesa/drivers/dri/common \ + -I$src_dir/src/mesa/drivers/dri/common \ + -I$build_dir/src/loader \ + -I$src_dir/src/loader \ + -I$build_dir/src/mesa \ + -I$src_dir/src/mesa \ + -I$build_dir/src/mapi \ + -I$src_dir/src/mapi \ + -I$build_dir/src \ + -I$src_dir/src \ + -I$build_dir/include \ + -I$src_dir/include \ + \ + $syslib_cpp_flags_defs \ + $linux_cpp_flags_defs \ + $cc_builtins_cpp_flags_defs \ + $cc_attributes_cpp_flags_defs \ + $mesa_cpp_flags_defs \ + \ + $external_deps_cpp_flags & +done +#------------------------------------------------------------------------------- +wait +#------------------------------------------------------------------------------ +for src_pathname in $libdri_c_pathnames +do + cpp_filename=$(basename $src_pathname .c).cpp.c + asm_filename=$(basename $src_pathname .c).cpp.c.s + printf "CC_S $build_dir/src/gallium/frontends/dri/$cpp_filename --> $build_dir/src/gallium/frontends/dri/$asm_filename\n" + $cc_s $build_dir/src/gallium/frontends/dri/$cpp_filename -o $build_dir/src/gallium/frontends/dri/$asm_filename & +done +#------------------------------------------------------------------------------ +wait +#------------------------------------------------------------------------------ +os= +for src_pathname in $libdri_c_pathnames +do + asm_filename=$(basename $src_pathname .c).cpp.c.s + o_filename=$(basename $src_pathname .c).cpp.c.s.o + os="$os $build_dir/src/gallium/frontends/dri/$o_filename" + printf "AS $build_dir/src/gallium/frontends/dri/$asm_filename --> $build_dir/src/gallium/frontends/dri/$o_filename\n" + $as $build_dir/src/gallium/frontends/dri/$asm_filename -o $build_dir/src/gallium/frontends/dri/$o_filename & +done +#------------------------------------------------------------------------------- +wait +#------------------------------------------------------------------------------- +printf "AR RCS $build_dir/libdri.a $os\n" +$ar_rcs $build_dir/libdri.a $os +#=============================================================================== +printf "\t<--frontends sub-components built\n" diff --git a/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/gallium_state_trackers.sh b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/gallium_state_trackers.sh new file mode 100644 index 0000000..7b3b76c --- /dev/null +++ b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/gallium_state_trackers.sh @@ -0,0 +1,44 @@ +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$build_dir/src/gallium/auxiliary \ + -I$src_dir/src/gallium/auxiliary \ + -I$build_dir/src/gallium/include \ + -I$src_dir/src/gallium/include \ + -I$build_dir/src/mesa/drivers/dri/common \ + -I$src_dir/src/mesa/drivers/dri/common \ + -I$build_dir/src/mesa \ + -I$src_dir/src/mesa \ + -I$build_dir/src/mapi \ + -I$src_dir/src/mapi \ + -I$build_dir/src \ + -I$src_dir/src \ + -I$build_dir/include \ + -I$src_dir/include \ + $cco_slib_common_trailer & +done + +wait + +$ar_rcs $build_dir/libdri.a $libdri_a + +printf "\t<--state trackers sub-components built\n" diff --git a/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/gallium_targets.sh b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/gallium_targets.sh new file mode 100644 index 0000000..e86c2e4 --- /dev/null +++ b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/gallium_targets.sh @@ -0,0 +1,116 @@ +printf "\tbuilding targets sub-components-->\n" +#=============================================================================== +mkdir -p $build_dir/src/gallium/targets/dri +#------------------------------------------------------------------------------- +printf "CPP $src_dir/src/gallium/targets/dri/target.c --> $build_dir/src/gallium/targets/dri/target.cpp.c\n" +$cpp $src_dir/src/gallium/targets/dri/target.c -o $build_dir/src/gallium/targets/dri/target.cpp.c \ + -DGALLIUM_RADEONSI \ + \ + -I$cc_internal_fixed_incdir \ + -I$cc_internal_incdir \ + -I$linux_incdir \ + -I$syslib_incdir \ + \ + -I$build_dir/src/gallium/frontends/dri \ + -I$src_dir/src/gallium/frontends/dri \ + -I$build_dir/src/gallium/winsys \ + -I$src_dir/src/gallium/winsys \ + -I$build_dir/src/gallium/drivers \ + -I$src_dir/src/gallium/drivers \ + -I$build_dir/src/gallium/auxiliary \ + -I$src_dir/src/gallium/auxiliary \ + -I$build_dir/src/gallium/include \ + -I$src_dir/src/gallium/include \ + -I$build_dir/src/mesa/drivers/dri/common \ + -I$src_dir/src/mesa/drivers/dri/common \ + -I$build_dir/src/mesa \ + -I$src_dir/src/mesa \ + -I$build_dir/src/util \ + -I$src_dir/src/util \ + -I$build_dir/src \ + -I$src_dir/src \ + -I$build_dir/include \ + -I$src_dir/include \ + \ + $syslib_cpp_flags_defs \ + $linux_cpp_flags_defs \ + $cc_builtins_cpp_flags_defs \ + $cc_attributes_cpp_flags_defs \ + $mesa_cpp_flags_defs \ + \ + $external_deps_cpp_flags +#------------------------------------------------------------------------------ +printf "CC_S $build_dir/src/gallium/targets/dri/target.cpp.c --> $build_dir/src/gallium/targets/dri/target.cpp.c.s\n" +$cc_s $build_dir/src/gallium/targets/dri/target.cpp.c -o $build_dir/src/gallium/targets/dri/target.cpp.c.s +#------------------------------------------------------------------------------ +printf "AS $build_dir/src/gallium/targets/dri/target.cpp.c.s --> $build_dir/src/gallium/targets/dri/target.cpp.c.s.o\n" +$as $build_dir/src/gallium/targets/dri/target.cpp.c.s -o $build_dir/src/gallium/targets/dri/target.cpp.c.s.o +#=============================================================================== +# This is the opengl common ("mesa") dri gallium driver. One dri shared object +# can contain more than one dri driver. Inclusion selection is done in the +# dri target.c file (we have only the radeonsi one, selected with +# GALLIUM_RADEONSI. Nowadays, only one driver or a very small subset of drivers +# is in one dri shared object. +mkdir -p \ + $build_dir/install_root$dri_driver_search_dir \ + $build_dir/install_root$dri_driver_store_dir +#------------------------------------------------------------------------------- +printf "BINUTILS LD $build_dir/install_root$dri_driver_store_dir/radeonsi_dri.so\n" +$binutils_ld -o $build_dir/install_root$dri_driver_store_dir/radeonsi_dri.so \ + -shared \ + -soname=gallium_dri.so \ + --version-script=$build_dir/src/gallium/targets/dri/dri.sym \ + --no-undefined \ + --gc-sections \ + -s \ + $syslib_ld_slib_start_files \ + $cc_ld_slib_start_files \ + $build_dir/src/gallium/targets/dri/target.cpp.c.s.o \ + \ + --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_common.a \ + \ + $libelf_static_ld_flags \ + $zlib_static_ld_flags \ + \ + $cxx_runtime_lib \ + $cc_ld_support_lib \ + $cc_ld_eh_support_lib \ + --end-group \ + \ + --as-needed \ + $build_dir/install_root$libdir_store/libglapi.so.0.0.0 \ + $libdrm_amdgpu_ld_flags \ + $libdrm_ld_flags \ + $syslibs_libm_ld_flags \ + $syslibs_libdl_ld_flags \ + $syslibs_libpthread_ld_flags \ + $syslibs_libc_ld_flags \ + --no-as-needed \ + $cc_ld_slib_end_files \ + $syslib_ld_slib_end_files +#------------------------------------------------------------------------------- +ln -sTf $dri_driver_store_virtual_dir/radeonsi_dri.so $build_dir/install_root$dri_driver_search_dir/radeonsi_dri.so +#=============================================================================== +printf "\t<--targets sub-components built\n" diff --git a/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/gallium_winsys.sh b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/gallium_winsys.sh new file mode 100644 index 0000000..b2a3a7f --- /dev/null +++ b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/gallium_winsys.sh @@ -0,0 +1,130 @@ +printf "\tbuilding winsys sub-components-->\n" +#=============================================================================== +mkdir -p $build_dir/src/gallium/winsys +#------------------------------------------------------------------------------- +libwinsys_amdgpu_drm_c_pathnames="\ +$src_dir/src/gallium/winsys/amdgpu/drm/amdgpu_bo.c \ +$src_dir/src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c \ +$src_dir/src/gallium/winsys/amdgpu/drm/amdgpu_surface.c \ +" +# Blame the intellectual masturbator for that crap of c++ template (c11 generic +# is same same though) tantrum about code factorization at the price of pulling +# a c++ compiler: +# Marek Olšák (if he keeps doing that and does not fix it, +# should be fired from amd, if still over there though since this is a red flag) +# The initial crappification did happen there: +# f933536517c98f7baf60d0fd5d8d0b0e49cb4592 +# 3e118c6d2f7eb7aa138b96305d828bd9cc4e9e5b +libwinsys_amdgpu_drm_cxx_pathnames="\ +$src_dir/src/gallium/winsys/amdgpu/drm/amdgpu_cs.cpp \ +" +#------------------------------------------------------------------------------- +for src_pathname in $libwinsys_amdgpu_drm_c_pathnames +do + cpp_filename=$(basename $src_pathname .c).cpp.c + printf "CPP $src_pathname --> $build_dir/src/gallium/winsys/$cpp_filename\n" + $cpp $src_pathname -o $build_dir/src/gallium/winsys/$cpp_filename \ + -I$cc_internal_fixed_incdir \ + -I$cc_internal_incdir \ + -I$linux_incdir \ + -I$syslib_incdir \ + \ + -I$build_dir/src/gallium/auxiliary \ + -I$src_dir/src/gallium/auxiliary \ + -I$build_dir/src/gallium/include \ + -I$src_dir/src/gallium/include \ + -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 \ + -I$src_dir/src \ + -I$build_dir/include \ + -I$src_dir/include \ + \ + $syslib_cpp_flags_defs \ + $linux_cpp_flags_defs \ + $cc_builtins_cpp_flags_defs \ + $cc_attributes_cpp_flags_defs \ + $mesa_cpp_flags_defs \ + \ + $external_deps_cpp_flags & +done +# we don't add cxx_internal_incdir because the crappification was "pure c++" +for src_pathname in $libwinsys_amdgpu_drm_cxx_pathnames +do + cpp_filename=$(basename $src_pathname .cpp).cpp.cxx + printf "CXXPP $src_pathname --> $build_dir/src/gallium/winsys/$cpp_filename\n" + $cxxpp $src_pathname -o $build_dir/src/gallium/winsys/$cpp_filename \ + -I$cc_internal_fixed_incdir \ + -I$cc_internal_incdir \ + -I$linux_incdir \ + -I$syslib_incdir \ + \ + -I$build_dir/src/gallium/auxiliary \ + -I$src_dir/src/gallium/auxiliary \ + -I$build_dir/src/gallium/include \ + -I$src_dir/src/gallium/include \ + -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 \ + -I$src_dir/src \ + -I$build_dir/include \ + -I$src_dir/include \ + \ + $syslib_cpp_flags_defs \ + $linux_cpp_flags_defs \ + $cc_builtins_cpp_flags_defs \ + $cc_attributes_cpp_flags_defs \ + $mesa_cpp_flags_defs \ + \ + $external_deps_cpp_flags & +done +#------------------------------------------------------------------------------- +wait +#------------------------------------------------------------------------------ +for src_pathname in $libwinsys_amdgpu_drm_c_pathnames +do + cpp_filename=$(basename $src_pathname .c).cpp.c + asm_filename=$(basename $src_pathname .c).cpp.c.s + printf "CC_S $build_dir/src/gallium/winsys/$cpp_filename --> $build_dir/src/gallium/winsys/$asm_filename\n" + $cc_s $build_dir/src/gallium/winsys/$cpp_filename -o $build_dir/src/gallium/winsys/$asm_filename & +done + +for src_pathname in $libwinsys_amdgpu_drm_cxx_pathnames +do + cpp_filename=$(basename $src_pathname .cpp).cpp.cxx + asm_filename=$(basename $src_pathname .cpp).cpp.cxx.s + printf "CXX_S $build_dir/src/gallium/winsys/$cpp_filename --> $build_dir/src/gallium/winsys/$asm_filename\n" + $cxx_s $build_dir/src/gallium/winsys/$cpp_filename -o $build_dir/src/gallium/winsys/$asm_filename & +done +#------------------------------------------------------------------------------ +wait +#------------------------------------------------------------------------------ +os= +for src_pathname in $libwinsys_amdgpu_drm_c_pathnames +do + asm_filename=$(basename $src_pathname .c).cpp.c.s + o_filename=$(basename $src_pathname .c).cpp.c.s.o + os="$os $build_dir/src/gallium/winsys/$o_filename" + printf "AS $build_dir/src/gallium/winsys/$asm_filename --> $build_dir/src/gallium/winsys/$o_filename\n" + $as $build_dir/src/gallium/winsys/$asm_filename -o $build_dir/src/gallium/winsys/$o_filename & +done + +for src_pathname in $libwinsys_amdgpu_drm_cxx_pathnames +do + asm_filename=$(basename $src_pathname .cpp).cpp.cxx.s + o_filename=$(basename $src_pathname .cpp).cpp.cxx.s.o + os="$os $build_dir/src/gallium/winsys/$o_filename" + printf "AS $build_dir/src/gallium/winsys/$asm_filename --> $build_dir/src/gallium/winsys/$o_filename\n" + $as $build_dir/src/gallium/winsys/$asm_filename -o $build_dir/src/gallium/winsys/$o_filename & +done +#------------------------------------------------------------------------------ +wait +#------------------------------------------------------------------------------- +printf "AR RCS $build_dir/libwinsys_amdgpu_drm.a $os\n" +$ar_rcs $build_dir/libwinsys_amdgpu_drm.a $os +#=============================================================================== +printf "\t<--winsys sub-components built\n" diff --git a/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/gbm.sh b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/gbm.sh new file mode 100644 index 0000000..8c282bc --- /dev/null +++ b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/gbm.sh @@ -0,0 +1,104 @@ +echo "building GBM (Generic Buffer Manager) components-->" +# only one backend: dri +#=============================================================================== +mkdir -p $build_dir/src/gbm +#------------------------------------------------------------------------------- +gbm_c_pathnames="\ +$src_dir/src/gbm/main/backend.c \ +$src_dir/src/gbm/main/gbm.c \ +$src_dir/src/gbm/backends/dri/gbm_dri.c \ +" +#------------------------------------------------------------------------------- +for src_pathname in $gbm_c_pathnames +do + cpp_filename=$(basename $src_pathname .c).cpp.c + printf "CPP $src_pathname --> $build_dir/src/gbm/$cpp_filename\n" + $cpp $src_pathname -o $build_dir/src/gbm/$cpp_filename \ + -DDEFAULT_BACKENDS_PATH=\"$libdir/gbm\" \ + \ + -I$cc_internal_fixed_incdir \ + -I$cc_internal_incdir \ + -I$linux_incdir \ + -I$syslib_incdir \ + \ + -I$build_dir/src/gbm/backends/dri \ + -I$src_dir/src/gbm/backends/dri \ + -I$build_dir/src/gbm/main \ + -I$src_dir/src/gbm/main \ + -I$build_dir/src/loader \ + -I$src_dir/src/loader \ + -I$build_dir/src/ \ + -I$src_dir/src/ \ + -I$build_dir/include \ + -I$src_dir/include \ + \ + $syslib_cpp_flags_defs \ + $linux_cpp_flags_defs \ + $cc_builtins_cpp_flags_defs \ + $cc_attributes_cpp_flags_defs \ + $mesa_cpp_flags_defs \ + \ + $external_deps_cpp_flags & +done +#------------------------------------------------------------------------------- +wait +#------------------------------------------------------------------------------ +for src_pathname in $gbm_c_pathnames +do + cpp_filename=$(basename $src_pathname .c).cpp.c + asm_filename=$(basename $src_pathname .c).cpp.c.s + printf "CC_S $build_dir/src/gbm/$cpp_filename --> $build_dir/src/gbm/$asm_filename\n" + $cc_s $build_dir/src/gbm/$cpp_filename -o $build_dir/src/gbm/$asm_filename & +done +#------------------------------------------------------------------------------ +wait +#------------------------------------------------------------------------------ +for src_pathname in $gbm_c_pathnames +do + asm_filename=$(basename $src_pathname .c).cpp.c.s + o_filename=$(basename $src_pathname .c).cpp.c.s.o + printf "AS $build_dir/src/gbm/$asm_filename --> $build_dir/src/gbm/$o_filename\n" + $as $build_dir/src/gbm/$asm_filename -o $build_dir/src/gbm/$o_filename & +done +#------------------------------------------------------------------------------- +#=============================================================================== +wait +#=============================================================================== +mkdir -p \ + $build_dir/install_root$libdir \ + $build_dir/install_root$libdir_store +#------------------------------------------------------------------------------- +printf "BINUTILS LD $build_dir/install_root$libdir_store/libgbm.so.1.0.0\n" +$binutils_ld -o $build_dir/install_root$libdir_store/libgbm.so.1.0.0 \ + -shared \ + -soname=libgbm.so.1 \ + --no-undefined \ + --gc-sections \ + -s \ + $syslib_ld_slib_start_files \ + $cc_ld_slib_start_files \ + $build_dir/src/gbm/backend.cpp.c.s.o \ + $build_dir/src/gbm/gbm.cpp.c.s.o \ + $build_dir/src/gbm/gbm_dri.cpp.c.s.o \ + \ + $build_dir/libloader.a \ + $build_dir/libxmlconfig.a \ + $build_dir/libmesa_util.a \ + \ + --as-needed \ + $libdrm_ld_flags \ + $syslibs_libm_ld_flags \ + $syslibs_libdl_ld_flags \ + $syslibs_libpthread_ld_flags \ + $syslibs_libc_ld_flags \ + --no-as-needed \ + $cc_ld_slib_end_files \ + $syslib_ld_slib_end_files +#------------------------------------------------------------------------------- +ln -sf $libdir_store_virtual/libgbm.so.1.0.0 $build_dir/install_root$libdir/libgbm.so.1 +ln -sf libgbm.so.1.0.0 $build_dir/install_root$libdir_store/libgbm.so +#=============================================================================== +mkdir -p $build_dir/install_root$incdir_store +cp -f $src_dir/src/gbm/main/gbm.h $build_dir/install_root$incdir_store +#=============================================================================== +echo "<--GBM components built" diff --git a/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/gcc_binutils.sh b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/gcc_binutils.sh new file mode 100644 index 0000000..5ddd37f --- /dev/null +++ b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/gcc_binutils.sh @@ -0,0 +1,148 @@ +# toolchain configuration, default to gcc +#=============================================================================== +if test "${cpp-unset}" = unset; then +cpp="/opt/toolchains/x64/elf/binutils-gcc/current/bin/x86_64-pc-linux-gnu-gcc \ + -nostdinc \ + -fPIC \ + -fpic \ + -ftls-model=global-dynamic \ + -E \ +" +fi +# the geniuses writting compilers may have c++ required hardcoded definitions +# in the c++ preprocessor to be able to compile code... +if test "${cxxpp-unset}" = unset; then +# XXX: you must pass -fno-rtti here to disable __GXX_RTTI and -fno-exceptions to +# disable __EXCEPTIONS +# OMFG... c++... +cxxpp="/opt/toolchains/x64/elf/binutils-gcc/current/bin/x86_64-pc-linux-gnu-g++ \ + -fno-rtti \ + -fno-exceptions \ + -fPIC \ + -fpic \ + -ftls-model=global-dynamic \ + -nostdinc \ + -E \ +" +fi +# c/c++ compiler specific fixed includes are based on the syslib at compiler build time, COMPILER +# BUILD TIME... oh god... must be found first to override the syslib ones... +if test "${cc_internal_fixed_incdir-unset}" = unset; then +cc_internal_fixed_incdir=/opt/toolchains/x64/elf/binutils-gcc/current/lib/gcc/x86_64-pc-linux-gnu/13.2.0/include-fixed +fi +# c/c++ compiler specific stdarg.h stddef.h etc... +if test "${cc_internal_incdir-unset}" = unset; then +cc_internal_incdir=/opt/toolchains/x64/elf/binutils-gcc/current/lib/gcc/x86_64-pc-linux-gnu/13.2.0/include +fi +# c++ compiler specific includes +if test "${cxx_internal_incdir-unset}" = unset; then +cxx_internal_incdir=/opt/toolchains/x64/elf/binutils-gcc/current/include/c++/13.2.0 +fi +#=============================================================================== +if test "${cc_s-unset}" = unset; then +cc_s="/opt/toolchains/x64/elf/binutils-gcc/current/bin/x86_64-pc-linux-gnu-gcc \ + -pipe \ + -std=c99 \ + -O2 -Wno-stringop-overflow \ + -fvisibility=hidden \ + -static-libgcc \ + -fPIC \ + -fpic \ + -ftls-model=global-dynamic \ + -S" +fi +# aco is c++ crap from 2017, did not check AMD addrlib c++ diarrhea +if test "${cxx_s-unset}" = unset; then +cxx_s="/opt/toolchains/x64/elf/binutils-gcc/current/bin/x86_64-pc-linux-gnu-g++ \ + -pipe \ + -std=c++17 \ + -fno-rtti \ + -fno-exceptions \ + -O2 -Wno-stringop-overflow \ + -fvisibility=hidden \ + -static-libgcc \ + -static-libstdc++ \ + -fPIC \ + -fpic \ + -ftls-model=global-dynamic \ + -S" +fi +#------------------------------------------------------------------------------- +if test "${binutils_ld-unset}" = unset; then +binutils_ld=/opt/toolchains/x64/elf/binutils-gcc/current/bin/ld +fi +#------------------------------------------------------------------------------- +# Compiler generic support libraries. In the case of gcc it is libgcc, for tinycc +# it is libtcc1, etc. +# Even with -fno-exceptions, many libstdc++ objects will pull libgcc_eh, OMFG. +# We want a full pathname. With gcc, you can discover the pathnames with: +# "gcc -print-file-name=libgcc.a" and "gcc -print-file-name=libgcc_eh.a" +if test "${cc_ld_support_lib-unset}" = unset; then +eval cc_ld_support_lib=$($cc_s -print-file-name=libgcc.a) +fi +if test "${cc_ld_eh_support_lib-unset}" = unset; then +eval cc_ld_eh_support_lib=$($cc_s -print-file-name=libgcc_eh.a) +fi +#------------------------------------------------------------------------------- +# Compiler c++ runtime. +# We want a full pathname. With gcc, you can discover the pathname with: +# "gcc -print-file-name=libstdc++.a" +if test "${cxx_runtime_lib-unset}" = unset; then +eval cxx_runtime_lib=$($cxx_s -print-file-name=libstdc++.a) +fi +#------------------------------------------------------------------------------- +# Compiler specific start/end files for linking a Shared LIBrary (slib), they +# appear after/before the syslib start/end files while linking. Here, as an +# example, look at the compiler driver $gcc_src/gcc/config/gnu-user.h (13.2.0) +# if you want to understand a bit more in the case of glibc, shared libs do fall +# in the "shared" category. +# With gcc, their pathname can be discovered with: +# "gcc -print-file-name=crtbeginS.o" and "gcc -print-file-name=crtendS.o" +if test "${cc_ld_slib_start_files-unset}" = unset; then +eval cc_ld_slib_start_files=$($cc_s -print-file-name=crtbeginS.o) +fi +if test "${cc_ld_slib_end_files-unset}" = unset; then +eval cc_ld_slib_end_files=$($cc_s -print-file-name=crtendS.o) +fi +#=============================================================================== +if test "${as-unset}" = unset; then +as=/opt/toolchains/x64/elf/binutils-gcc/current/bin/as +fi +#=============================================================================== +if test "${ar_rcs-unset}" = unset; then +ar_rcs='/opt/toolchains/x64/elf/binutils-gcc/current/bin/ar rcs' +fi +#=============================================================================== +# gcc-like built-in +cc_builtins_cpp_flags_defs="\ +-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-like attributes +cc_attributes_cpp_flags_defs="\ +-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 \ +" diff --git a/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/generators_amd.sh b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/generators_amd.sh new file mode 100644 index 0000000..b6e7e22 --- /dev/null +++ b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/generators_amd.sh @@ -0,0 +1,81 @@ +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/gfx115.json \ +$src_dir/src/amd/registers/gfx11-rsrc.json \ +$src_dir/src/amd/registers/gfx103.json \ +$src_dir/src/amd/registers/pkt3.json \ +$src_dir/src/amd/registers/registers-manually-defined.json \ +>$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/gfx115.json \ +$src_dir/src/amd/registers/gfx11-rsrc.json \ +$src_dir/src/amd/registers/pkt3.json \ +$src_dir/src/amd/registers/registers-manually-defined.json \ +--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 + +# not [generation&compile]-able out, trash work, again +cp -f $script_dir/si_tracepoints.h $build_dir/src/gallium/drivers/radeonsi +cp -f $script_dir/si_utrace.h $build_dir/src/gallium/drivers/radeonsi +#=============================================================================== +echo "<--AMD GPU code generation done" diff --git a/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/generators_compiler.sh b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/generators_compiler.sh new file mode 100644 index 0000000..b1d870c --- /dev/null +++ b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/generators_compiler.sh @@ -0,0 +1,12 @@ +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 & +#------------------------------------------------------------------------------ +unset PYTHONPATH +printf "<--compiler code generation started\n" diff --git a/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/generators_egl.sh b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/generators_egl.sh new file mode 100644 index 0000000..9459998 --- /dev/null +++ b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/generators_egl.sh @@ -0,0 +1,23 @@ +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 & +#=================================================================================================== +# glvnd +mkdir -p $build_dir/src/egl/generate +#--------------------------------------------------------------------------------------------------- +$python3 $src_dir/src/egl/generate/gen_egl_dispatch.py \ + source \ + $src_dir/src/egl/generate/egl.xml \ + $src_dir/src/egl/generate/egl_other.xml \ + >$build_dir/src/egl/generate/g_egldispatchstubs.c & +#--------------------------------------------------------------------------------------------------- +$python3 $src_dir/src/egl/generate/gen_egl_dispatch.py \ + header \ + $src_dir/src/egl/generate/egl.xml \ + $src_dir/src/egl/generate/egl_other.xml \ + >$build_dir/src/egl/generate/g_egldispatchstubs.h & +#--------------------------------------------------------------------------------------------------- +printf "<--egl code generation done\n" diff --git a/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/generators_gallium_auxiliary.sh b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/generators_gallium_auxiliary.sh new file mode 100644 index 0000000..71e408e --- /dev/null +++ b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/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-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/generators_gallium_frontends.sh b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/generators_gallium_frontends.sh new file mode 100644 index 0000000..f25020a --- /dev/null +++ b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/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-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/generators_gallium_targets.sh b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/generators_gallium_targets.sh new file mode 100644 index 0000000..5adf31a --- /dev/null +++ b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/generators_gallium_targets.sh @@ -0,0 +1,13 @@ +printf "Running gallium targets generators-->\n" +mkdir -p $build_dir/src/gallium/targets/dri +cat >$build_dir/src/gallium/targets/dri/dri.sym <\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-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/generators_mapi.sh b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/generators_mapi.sh new file mode 100644 index 0000000..3137551 --- /dev/null +++ b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/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 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 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 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 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 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 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 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 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 8 \ +>$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-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/generators_mesa.sh b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/generators_mesa.sh new file mode 100644 index 0000000..215baeb --- /dev/null +++ b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/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 \ +$src_dir/src/mapi/glapi/gen/gl_and_es_API.xml 8 \ +>$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-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/generators_nir.sh b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/generators_nir.sh new file mode 100644 index 0000000..ae998e7 --- /dev/null +++ b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/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-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/generators_spirv.sh b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/generators_spirv.sh new file mode 100644 index 0000000..a4783fd --- /dev/null +++ b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/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-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/generators_util.sh b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/generators_util.sh new file mode 100644 index 0000000..0d3c587 --- /dev/null +++ b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/generators_util.sh @@ -0,0 +1,33 @@ +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 +#------------------------------------------------------------------------------- +# a stub since it is not generation&compile-able out cleanely +mkdir -p $build_dir/src/util/perf +cp -f $script_dir/u_trace.c $build_dir/src/util/perf +#------------------------------------------------------------------------------- +printf "<--util code generation done\n" diff --git a/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/glx.sh b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/glx.sh new file mode 100644 index 0000000..3cec303 --- /dev/null +++ b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/glx.sh @@ -0,0 +1,178 @@ +# client libglvnd glx provider, direct rendering mode with dri +echo "building client libglvnd glx provider components-->" +#=============================================================================== +mkdir -p $build_dir/src/glx +#------------------------------------------------------------------------------- +# filenames should be different since we build in one directory +libglx_c_pathnames="\ +$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/glxglvnd.c \ +$src_dir/src/glx/g_glxglvnddispatchfuncs.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 src_pathname in $libglx_c_pathnames +do + cpp_filename=$(basename $src_pathname .c).cpp.c + printf "CPP $src_pathname --> $build_dir/src/glx/$cpp_filename\n" + $cpp $src_pathname -o $build_dir/src/glx/$cpp_filename \ + -D_REENTRANT=1 \ + -DGL_LIB_NAME=\"libGLX_mesa.so.0.0.0\" \ + \ + -I$cc_internal_fixed_incdir \ + -I$cc_internal_incdir \ + -I$linux_incdir \ + -I$syslib_incdir \ + \ + -I$build_dir/src/mapi/glapi \ + -I$src_dir/src/mapi/glapi \ + -I$build_dir/src/glx \ + -I$src_dir/src/glx \ + -I$build_dir/src/loader \ + -I$src_dir/src/loader \ + -I$build_dir/src \ + -I$src_dir/src \ + -I$build_dir/include/GL/internal \ + -I$src_dir/include/GL/internal \ + -I$build_dir/include \ + -I$src_dir/include \ + \ + $syslib_cpp_flags_defs \ + $linux_cpp_flags_defs \ + $cc_builtins_cpp_flags_defs \ + $cc_attributes_cpp_flags_defs \ + $mesa_cpp_flags_defs \ + \ + $external_deps_cpp_flags & +done +#------------------------------------------------------------------------------- +wait +#------------------------------------------------------------------------------ +for src_pathname in $libglx_c_pathnames +do + cpp_filename=$(basename $src_pathname .c).cpp.c + asm_filename=$(basename $src_pathname .c).cpp.c.s + printf "CC_S $build_dir/src/glx/$cpp_filename --> $build_dir/src/glx/$asm_filename\n" + $cc_s $build_dir/src/glx/$cpp_filename -o $build_dir/src/glx/$asm_filename & +done +#------------------------------------------------------------------------------ +wait +#------------------------------------------------------------------------------ +os= +for src_pathname in $libglx_c_pathnames +do + asm_filename=$(basename $src_pathname .c).cpp.c.s + o_filename=$(basename $src_pathname .c).cpp.c.s.o + os="$os $build_dir/src/glx/$o_filename" + printf "AS $build_dir/src/glx/$asm_filename --> $build_dir/src/glx/$o_filename\n" + $as $build_dir/src/glx/$asm_filename -o $build_dir/src/glx/$o_filename & +done +#------------------------------------------------------------------------------ +wait +#------------------------------------------------------------------------------ +printf "AR RCS $build_dir/libglx.a $os\n" +$ar_rcs $build_dir/libglx.a $os +#=============================================================================== +# 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 \ + $build_dir/install_root$libdir_store +#------------------------------------------------------------------------------- +# XXX: if some c++ were pulled in, it is not using the c++ runtime. +printf "BINUTILS LD $build_dir/install_root$libdir_store/libGLX_mesa.so.0.0.0\n" +$binutils_ld -o $build_dir/install_root$libdir_store/libGLX_mesa.so.0.0.0 \ + -shared \ + -soname=libGLX_mesa.so.0 \ + -Bsymbolic \ + --no-undefined \ + --gc-sections \ + -s \ + $syslib_ld_slib_start_files \ + $cc_ld_slib_start_files \ + --whole-archive \ + $build_dir/libglx.a \ + --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 \ + \ + --as-needed \ + $build_dir/install_root$libdir_store/libglapi.so.0.0.0 \ + $libx11_ld_flags \ + $libx11_xcb_ld_flags \ + $libxcb_ld_flags \ + $libxext_ld_flags \ + $libxxf86vm_ld_flags \ + $libxshmfence_ld_flags \ + $libxfixes_ld_flags \ + $libdrm_ld_flags \ + $syslibs_libm_ld_flags \ + $syslibs_libdl_ld_flags \ + $syslibs_libpthread_ld_flags \ + $syslibs_libc_ld_flags \ + --no-as-needed \ + $cc_ld_slib_end_files \ + $syslib_ld_slib_end_files +#------------------------------------------------------------------------------- +ln -sTf $libdir_store_virtual/libGLX_mesa.so.0.0.0 $build_dir/install_root$libdir/libGLX_mesa.so.0 +#=============================================================================== +mkdir -p \ + $build_dir/install_root$incdir_store/GL/internal \ + $build_dir/install_root$incdir_store/KHR + +cp -f $src_dir/include/KHR/khrplatform.h $build_dir/install_root$incdir_store/KHR +cp -f $src_dir/include/GL/internal/dri_interface.h $build_dir/install_root$incdir_store/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_store/GL +#=============================================================================== +echo "<--client libglvnd glx provider components built" diff --git a/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/linux.sh b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/linux.sh new file mode 100644 index 0000000..204b88d --- /dev/null +++ b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/linux.sh @@ -0,0 +1,12 @@ +# linux related +if test "${linux_incdir-unset}" = unset; then +linux_incdir=/nyan/linux-headers/current/include +fi +#--------------------------------------------------------------------------------------------------- +linux_cpp_flags_defs="\ +-DHAVE_DRM=1 \ +-DHAVE_LINUX_FUTEX_H=1 \ +-DHAVE_MEMFD_CREATE=1 \ +-DHAVE_MINCORE=1 \ +-DHAVE_FMEMOPEN=1 \ +" diff --git a/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/loader.sh b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/loader.sh new file mode 100644 index 0000000..7a48435 --- /dev/null +++ b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/loader.sh @@ -0,0 +1,74 @@ +echo "building loader components-->" +#=============================================================================== +mkdir -p $build_dir/src/loader +#------------------------------------------------------------------------------- +loader_c_pathnames="\ +$src_dir/src/loader/loader.c \ +$src_dir/src/loader/loader_dri_helper.c \ +$src_dir/src/loader/loader_dri3_helper.c \ +" +#------------------------------------------------------------------------------- +for src_pathname in $loader_c_pathnames +do + cpp_filename=$(basename $src_pathname .c).cpp.c + printf "CPP $src_pathname --> $build_dir/src/loader/$cpp_filename\n" + $cpp $src_pathname -o $build_dir/src/loader/$cpp_filename \ + -DUSE_DRICONF=1 \ + -DDEFAULT_DRIVER_DIR=\"$dri_driver_search_dir\" \ + \ + -I$cc_internal_fixed_incdir \ + -I$cc_internal_incdir \ + -I$linux_incdir \ + -I$syslib_incdir \ + \ + -I$build_dir/src/util \ + -I$src_dir/src/util \ + -I$build_dir/src/loader \ + -I$src_dir/src/loader \ + -I$build_dir/src \ + -I$src_dir/src \ + -I$build_dir/include \ + -I$src_dir/include \ + \ + $syslib_cpp_flags_defs \ + $linux_cpp_flags_defs \ + $cc_builtins_cpp_flags_defs \ + $cc_attributes_cpp_flags_defs \ + $mesa_cpp_flags_defs \ + \ + $external_deps_cpp_flags & +done +#------------------------------------------------------------------------------- +wait +#------------------------------------------------------------------------------ +for src_pathname in $loader_c_pathnames +do + cpp_filename=$(basename $src_pathname .c).cpp.c + asm_filename=$(basename $src_pathname .c).cpp.c.s + printf "CC_S $build_dir/src/loader/$cpp_filename --> $build_dir/src/loader/$asm_filename\n" + $cc_s $build_dir/src/loader/$cpp_filename -o $build_dir/src/loader/$asm_filename & +done +#------------------------------------------------------------------------------ +wait +#------------------------------------------------------------------------------ +for src_pathname in $loader_c_pathnames +do + asm_filename=$(basename $src_pathname .c).cpp.c.s + o_filename=$(basename $src_pathname .c).cpp.c.s.o + printf "AS $build_dir/src/loader/$asm_filename --> $build_dir/src/loader/$o_filename\n" + $as $build_dir/src/loader/$asm_filename -o $build_dir/src/loader/$o_filename & +done +#------------------------------------------------------------------------------ +wait +#------------------------------------------------------------------------------ +# this is for a loader on x11/dri platform to go in the generic loader archive +printf "AR RCS $build_dir/libloader.a $build_dir/src/loader/loader.cpp.c.s.o $build_dir/src/loader/loader_dri_helper.cpp.c.s.o\n" +$ar_rcs $build_dir/libloader.a $build_dir/src/loader/loader.cpp.c.s.o $build_dir/src/loader/loader_dri_helper.cpp.c.s.o & +#------------------------------------------------------------------------------ +# this is for a loader on x11/(dri level 3) platform +printf "AR RCS $build_dir/libloader_dri3_helper.a $build_dir/src/loader/loader_dri3_helper.cpp.c.s.o\n" +$ar_rcs $build_dir/libloader_dri3_helper.a $build_dir/src/loader/loader_dri3_helper.cpp.c.s.o +#------------------------------------------------------------------------------ +wait +#=============================================================================== +echo "<--loader components built" diff --git a/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/mapi.sh b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/mapi.sh new file mode 100644 index 0000000..d7f1e91 --- /dev/null +++ b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/mapi.sh @@ -0,0 +1,148 @@ +echo "building mapi (APIs de/multiplexer) components-->" +#=============================================================================== +# static part of glapi, only mapi/entry.c in mapi bridge mode +mkdir -p $build_dir/src/mapi +#------------------------------------------------------------------------------ +printf "CPP $src_dir/src/mapi/entry.c --> $build_dir/src/mapi/entry_mode_bridge.cpp.c\n" +$cpp $src_dir/src/mapi/entry.c -o $build_dir/src/mapi/entry_mode_bridge.cpp.c \ + -DMAPI_MODE_BRIDGE=1 \ + -DMAPI_ABI_HEADER=\"$build_dir/src/mapi/glapi/static_glapi_mapi_tmp.h\" \ + \ + -I$cc_internal_fixed_incdir \ + -I$cc_internal_incdir \ + -I$linux_incdir \ + -I$syslib_incdir \ + \ + -I$build_dir/src/util \ + -I$src_dir/src/util \ + -I$build_dir/src \ + -I$src_dir/src \ + -I$build_dir/include \ + -I$src_dir/include \ + \ + $syslib_cpp_flags_defs \ + $linux_cpp_flags_defs \ + $cc_builtins_cpp_flags_defs \ + $cc_attributes_cpp_flags_defs \ + $mesa_cpp_flags_defs \ + \ + $external_deps_cpp_flags +#------------------------------------------------------------------------------ +printf "CC_S $build_dir/src/mapi/entry_mode_bridge.cpp.c --> $build_dir/src/mapi/entry_mode_bridge.cpp.c.s\n" +$cc_s $build_dir/src/mapi/entry_mode_bridge.cpp.c -o $build_dir/src/mapi/entry_mode_bridge.cpp.c.s +#------------------------------------------------------------------------------ +printf "AS $build_dir/src/mapi/entry_mode_bridge.cpp.c.s --> $build_dir/src/mapi/entry_mode_bridge.cpp.c.s.o\n" +$as $build_dir/src/mapi/entry_mode_bridge.cpp.c.s -o $build_dir/src/mapi/entry_mode_bridge.cpp.c.s.o +#------------------------------------------------------------------------------ +printf "AR RCS $build_dir/libglapi_static.a $build_dir/src/entry_mode_bridge.cpp.c.s.o\n" +$ar_rcs $build_dir/libglapi_static.a $build_dir/src/mapi/entry_mode_bridge.cpp.c.s.o & +#=============================================================================== +# shared part of glapi +mapi_glapi_c_pathnames="\ +$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_c_pathnames="\ +$src_dir/src/mapi/u_current.c \ +" +#------------------------------------------------------------------------------- +for src_pathname in $mapi_glapi_c_pathnames $mapi_util_c_pathnames +do + if test "$(basename $src_pathname)" = "entry.c"; then + cpp_filename=entry_mode_glapi.cpp.c + else + cpp_filename=$(basename $src_pathname .c).cpp.c + fi + printf "CPP $src_pathname --> $build_dir/src/mapi/$cpp_filename\n" + $cpp $src_pathname -o $build_dir/src/mapi/$cpp_filename \ + -DMAPI_MODE_GLAPI=1 \ + -DMAPI_ABI_HEADER=\"$build_dir/src/mapi/glapi/shared_glapi_mapi_tmp.h\" \ + \ + -I$cc_internal_fixed_incdir \ + -I$cc_internal_incdir \ + -I$linux_incdir \ + -I$syslib_incdir \ + \ + -I$build_dir/src/mapi/shared-glapi \ + -I$src_dir/src/mapi/shared-glapi \ + -I$build_dir/src/mapi \ + -I$src_dir/src/mapi \ + -I$build_dir/src/ \ + -I$src_dir/src/ \ + -I$build_dir/include \ + -I$src_dir/include \ + \ + $syslib_cpp_flags_defs \ + $linux_cpp_flags_defs \ + $cc_builtins_cpp_flags_defs \ + $cc_attributes_cpp_flags_defs \ + $mesa_cpp_flags_defs \ + \ + $external_deps_cpp_flags & +done +#------------------------------------------------------------------------------- +wait +#------------------------------------------------------------------------------ +for src_pathname in $mapi_glapi_c_pathnames $mapi_util_c_pathnames +do + if test "$(basename $src_pathname)" = "entry.c"; then + cpp_filename=entry_mode_glapi.cpp.c + asm_filename=entry_mode_glapi.cpp.c.s + else + cpp_filename=$(basename $src_pathname .c).cpp.c + asm_filename=$(basename $src_pathname .c).cpp.c.s + fi + printf "CC_S $build_dir/src/mapi/$cpp_filename --> $build_dir/src/mapi/$asm_filename\n" + $cc_s $build_dir/src/mapi/$cpp_filename -o $build_dir/src/mapi/$asm_filename & +done +#------------------------------------------------------------------------------ +wait +#------------------------------------------------------------------------------ +libglapi_slib= +for src_pathname in $mapi_glapi_c_pathnames $mapi_util_c_pathnames +do + if test "$(basename $src_pathname)" = "entry.c"; then + asm_filename=entry_mode_glapi.cpp.c.s + o_filename=entry_mode_glapi.cpp.c.s.o + else + asm_filename=$(basename $src_pathname .c).cpp.c.s + o_filename=$(basename $src_pathname .c).cpp.c.s.o + fi + libglapi_slib="$libglapi_slib $build_dir/src/mapi/$o_filename" + printf "AS $build_dir/src/mapi/$asm_filename --> $build_dir/src/mapi/$o_filename\n" + $as $build_dir/src/mapi/$asm_filename -o $build_dir/src/mapi/$o_filename & +done +#------------------------------------------------------------------------------ +#=============================================================================== +wait +#=============================================================================== +mkdir -p \ + $build_dir/install_root$libdir \ + $build_dir/install_root$libdir_store +#------------------------------------------------------------------------------- +printf "BINUTILS LD $build_dir/install_root$libdir_store/libglapi.so.0.0.0\n" +$binutils_ld -o $build_dir/install_root$libdir_store/libglapi.so.0.0.0 \ + -shared \ + -soname=libglapi.so.0 \ + --no-undefined \ + --gc-sections \ + -s \ + $syslib_ld_slib_start_files \ + $cc_ld_slib_start_files \ + $libglapi_slib \ + \ + $build_dir/libmesa_util.a \ + \ + --as-needed \ + $syslibs_libpthread_ld_flags \ + $syslibs_libc_ld_flags \ + --no-as-needed \ + $cc_ld_slib_end_files \ + $syslib_ld_slib_end_files +#------------------------------------------------------------------------------ +ln -sf $libdir_store_virtual/libglapi.so.0.0.0 $build_dir/install_root$libdir/libglapi.so.0 +ln -sf libglapi.so.0.0.0 $build_dir/install_root$libdir_store/libglapi.so +#=============================================================================== +echo "<--mapi components built" diff --git a/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/mesa.sh b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/mesa.sh new file mode 100644 index 0000000..a076ffe --- /dev/null +++ b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/mesa.sh @@ -0,0 +1,368 @@ +echo "building opengl related common components-->" +#=============================================================================== +mkdir -p $build_dir/src/mesa +#------------------------------------------------------------------------------- +# filenames should be different since we build in one directory +libmesa_common_c_pathnames="\ +$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_pixels.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_pathnames="\ +$src_dir/src/mesa/main/shader_query.cpp \ +$src_dir/src/mesa/main/texcompress_astc.cpp \ +$src_dir/src/mesa/main/uniform_query.cpp \ +" +libmesa_gallium_c_pathnames="\ +$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 \ +" +# more c++ diarrhea +libmesa_gallium_cxx_pathnames="\ +$src_dir/src/mesa/state_tracker/st_atom_array.cpp \ +$src_dir/src/mesa/state_tracker/st_glsl_to_nir.cpp \ +" +#------------------------------------------------------------------------------- +for src_pathname in $libmesa_common_c_pathnames $libmesa_gallium_c_pathnames +do + cpp_filename=$(basename $src_pathname .c).cpp.c + printf "CPP $src_pathname --> $build_dir/src/mesa/$cpp_filename\n" + $cpp $src_pathname -o $build_dir/src/mesa/$cpp_filename \ + -I$cc_internal_fixed_incdir \ + -I$cc_internal_incdir \ + -I$linux_incdir \ + -I$syslib_incdir \ + \ + -I$build_dir/src/compiler/nir \ + -I$src_dir/src/compiler/nir \ + -I$build_dir/src/compiler \ + -I$src_dir/src/compiler \ + -I$build_dir/src/gallium/auxiliary \ + -I$src_dir/src/gallium/auxiliary \ + -I$build_dir/src/gallium/include \ + -I$src_dir/src/gallium/include \ + -I$build_dir/src/mesa/main \ + -I$src_dir/src/mesa/main \ + -I$build_dir/src/mesa \ + -I$src_dir/src/mesa \ + -I$build_dir/src/mapi/glapi \ + -I$src_dir/src/mapi/glapi \ + -I$build_dir/src/mapi \ + -I$src_dir/src/mapi \ + -I$build_dir/src/util \ + -I$src_dir/src/util \ + -I$build_dir/src/ \ + -I$src_dir/src/ \ + -I$build_dir/include \ + -I$src_dir/include \ + \ + $syslib_cpp_flags_defs \ + $linux_cpp_flags_defs \ + $cc_builtins_cpp_flags_defs \ + $cc_attributes_cpp_flags_defs \ + $mesa_cpp_flags_defs \ + \ + $external_deps_cpp_flags & +done +#------------------------------------------------------------------------------- +wait +#------------------------------------------------------------------------------ +for src_pathname in $libmesa_common_c_pathnames $libmesa_gallium_c_pathnames +do + cpp_filename=$(basename $src_pathname .c).cpp.c + asm_filename=$(basename $src_pathname .c).cpp.c.s + printf "CC_S $build_dir/src/mesa/$cpp_filename --> $build_dir/src/mesa/$asm_filename\n" + $cc_s $build_dir/src/mesa/$cpp_filename -o $build_dir/src/mesa/$asm_filename & +done +#------------------------------------------------------------------------------ +wait +#------------------------------------------------------------------------------ +os= +for src_pathname in $libmesa_common_c_pathnames $libmesa_gallium_c_pathnames +do + asm_filename=$(basename $src_pathname .c).cpp.c.s + o_filename=$(basename $src_pathname .c).cpp.c.s.o + os="$os $build_dir/src/mesa/$o_filename" + printf "AS $build_dir/src/mesa/$asm_filename --> $build_dir/src/mesa/$o_filename\n" + $as $build_dir/src/mesa/$asm_filename -o $build_dir/src/mesa/$o_filename & +done +#=============================================================================== +for src_pathname in $libmesa_common_cxx_pathnames $libmesa_gallium_cxx_pathnames +do + cxxpp_filename=$(basename $src_pathname .cpp).cpp.cxx + printf "CXXPP $src_pathname --> $build_dir/src/mesa/$cxxpp_filename\n" + $cxxpp $src_pathname -o $build_dir/src/mesa/$cxxpp_filename \ + -I$cc_internal_fixed_incdir \ + -I$cc_internal_incdir \ + -I$cxx_internal_incdir \ + -I$linux_incdir \ + -I$syslib_incdir \ + \ + -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$build_dir/src/gallium/auxiliary \ + -I$src_dir/src/gallium/auxiliary \ + -I$build_dir/src/gallium/include \ + -I$src_dir/src/gallium/include \ + -I$build_dir/src/mapi/glapi \ + -I$src_dir/src/mapi/glapi \ + -I$build_dir/src/mapi \ + -I$src_dir/src/mapi \ + -I$build_dir/src/mesa \ + -I$src_dir/src/mesa \ + -I$build_dir/src \ + -I$src_dir/src \ + -I$build_dir/include \ + -I$src_dir/include \ + \ + $syslib_cpp_flags_defs \ + $linux_cpp_flags_defs \ + $cc_builtins_cpp_flags_defs \ + $cc_attributes_cpp_flags_defs \ + $mesa_cpp_flags_defs \ + \ + $external_deps_cpp_flags & +done +#------------------------------------------------------------------------------ +wait +#------------------------------------------------------------------------------ +for src_pathname in $libmesa_common_cxx_pathnames $libmesa_gallium_cxx_pathnames +do + cxxpp_filename=$(basename $src_pathname .cpp).cpp.cxx + asm_filename=$(basename $src_pathname .cpp).cpp.cxx.s + printf "CXX_S $build_dir/src/mesa/$cxxpp_filename --> $build_dir/src/mesa/$asm_filename\n" + $cxx_s $build_dir/src/mesa/$cxxpp_filename -o $build_dir/src/mesa/$asm_filename & +done +#------------------------------------------------------------------------------ +wait +#------------------------------------------------------------------------------ +# reuse os +for src_pathname in $libmesa_common_cxx_pathnames $libmesa_gallium_cxx_pathnames +do + asm_filename=$(basename $src_pathname .cpp).cpp.cxx.s + o_filename=$(basename $src_pathname .cpp).cpp.cxx.s.o + os="$os $build_dir/src/mesa/$o_filename" + printf "AS $build_dir/src/mesa/$asm_filename --> $build_dir/src/mesa/$o_filename\n" + $as $build_dir/src/mesa/$asm_filename -o $build_dir/src/mesa/$o_filename & +done +#------------------------------------------------------------------------------ +#=============================================================================== +wait +#=============================================================================== +printf "AR RCS $build_dir/libmesa_gallium.a $os\n" +$ar_rcs $build_dir/libmesa_gallium.a $os & +#=============================================================================== +echo "<--opengl related common components built" diff --git a/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/pipe_loader.c.patch b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/pipe_loader.c.patch new file mode 100644 index 0000000..f2292a5 --- /dev/null +++ b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/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-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/si_pipe.c.patch b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/si_pipe.c.patch new file mode 100644 index 0000000..621ee66 --- /dev/null +++ b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/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-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/si_tracepoints.h b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/si_tracepoints.h new file mode 100644 index 0000000..1927468 --- /dev/null +++ b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/si_tracepoints.h @@ -0,0 +1,7 @@ +#ifndef TRASH_SI_TRACEPOINTS_H +#define TRASH_SI_TRACEPOINTS_H +#define trace_si_begin_compute(...) +#define trace_si_end_compute(...) +#define trace_si_begin_draw(...) +#define trace_si_end_draw(...) +#endif diff --git a/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/si_utrace.h b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/si_utrace.h new file mode 100644 index 0000000..ebd2164 --- /dev/null +++ b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/si_utrace.h @@ -0,0 +1,9 @@ +#ifndef SI_UTRACE_H +#define SI_UTRACE_H + +#define si_utrace_init(...) +#define si_utrace_fini(...) +#define si_utrace_flush(...) +#define si_driver_ds_init(...) + +#endif diff --git a/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/si_uvd.c b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/si_uvd.c new file mode 100644 index 0000000..da98416 --- /dev/null +++ b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/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-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/syslib.sh b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/syslib.sh new file mode 100644 index 0000000..0bea34e --- /dev/null +++ b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/syslib.sh @@ -0,0 +1,77 @@ +# syslib configuration here +#------------------------------------------------------------------------------- +if test "${syslib_incdir-unset}" = unset; then +syslib_incdir=/nyan/glibc/current/include +fi +#------------------------------------------------------------------------------- +# for a glibc +syslib_cpp_flags_defs="\ +-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_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_REALLOCARRAY=1 \ +-DHAVE_SECURE_GETENV=1 \ +\ +-DHAVE_PROGRAM_INVOCATION_NAME=1 \ +-DHAVE_FLOCK=1 \ +\ +-DHAVE_GNU_QSORT_R=1 \ +-DHAVE_RANDOM_R=1 \ +-DHAVE_STRTOK_R=1 \ +-DHAVE_GETRANDOM=1 \ +\ +-DHAVE_POSIX_FALLOCATE=1 \ +-DHAVE_POSIX_MEMALIGN=1 \ +\ +-DHAVE_ISSIGNALING=1 \ +\ +-DHAVE_DIRENT_D_TYPE=1 \ +" +#------------------------------------------------------------------------------- +# syslib specific start/end files for linking a Shared LIBrary (slib), they +# appear before/after the compiler start/end files while linking. Here, as an +# example, look at the compiler driver $gcc_src/gcc/config/gnu-user.h (13.2.0) +# if you want to understand a bit more in the case of glibc, shared libs do fall +# in the "shared" category (there, you can see the object requirement of PIE +# static-PIE, etc etc). +# GNU toolchain have a circular dependency between the gcc support library, +# libgcc, and the glibc itself, namely you have to handle that with your linker +# (binutils ld has --{start,end}-group, or YOU USUALLY HAVE TO REPEAT THE +# LIBRARY FILES (XXX: DOES NOT WORK WITH OBJECT FILES) ON THE LINK COMMAND LINE +# UNTIL YOU BREAK THE CIRCULAR DEPENDENCY. +# We want full pathnames. +if test "${syslib_ld_slib_start_files-unset}" = unset; then +syslib_ld_slib_start_files=/nyan/glibc/current/lib/crti.o +fi +if test "${syslib_ld_slib_end_files-unset}" = unset; then +syslib_ld_slib_end_files=/nyan/glibc/current/lib/crtn.o +fi +#------------------------------------------------------------------------------- +if test "${syslibs_libc_ld_flags-unset}" = unset; then +syslibs_libc_ld_flags='-L/nyan/glibc/current/lib -lc' +fi +if test "${syslibs_libdl_ld_flags-unset}" = unset; then +syslibs_libdl_ld_flags='-L/nyan/glibc/current/lib -ldl' +fi +if test "${syslibs_libpthread_ld_flags-unset}" = unset; then +syslibs_libpthread_ld_flags='-L/nyan/glibc/current/lib -lpthread' +fi +# libm.a was not compiled with -fPIC -fpic by glibc sdk... +if test "${syslibs_libm_ld_flags-unset}" = unset; then +syslibs_libm_ld_flags='-L/nyan/glibc/current/lib -lm' +fi +#------------------------------------------------------------------------------- diff --git a/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/u_trace.c b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/u_trace.c new file mode 100644 index 0000000..3895668 --- /dev/null +++ b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/u_trace.c @@ -0,0 +1,2 @@ +void u_trace_init(void *ut,void *utctx){}; +void u_trace_fini(void *ut){}; diff --git a/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/util.sh b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/util.sh new file mode 100644 index 0000000..da3121d --- /dev/null +++ b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/util.sh @@ -0,0 +1,250 @@ +echo "building util -->" +#=============================================================================== +mkdir -p $build_dir/src/util +#------------------------------------------------------------------------------- +# filenames should be different since we build in one directory +libmesa_util_c_pathnames="\ +$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/parson.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/thread_sched.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 \ +$build_dir/src/util/perf/u_trace.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 \ +" +# from the trashiest and toxiciest coders: +libmesa_util_cxx_pathnames="\ +$src_dir/src/util/texcompress_astc_luts.cpp \ +$src_dir/src/util/texcompress_astc_luts_wrap.cpp \ +" +#------------------------------------------------------------------------------- +for src_pathname in $libmesa_util_c_pathnames +do + cpp_filename=$(basename $src_pathname .c).cpp.c + printf "CPP $src_pathname --> $build_dir/src/util/$cpp_filename\n" + $cpp $src_pathname -o $build_dir/src/util/$cpp_filename \ + -I$cc_internal_fixed_incdir \ + -I$cc_internal_incdir \ + -I$linux_incdir \ + -I$syslib_incdir \ + \ + -I$build_dir/src/gallium/auxiliary \ + -I$src_dir/src/gallium/auxiliary \ + -I$build_dir/src/gallium/include \ + -I$src_dir/src/gallium/include \ + -I$build_dir/src/util/format \ + -I$src_dir/src/util/format \ + -I$build_dir/src/util \ + -I$src_dir/src/util \ + -I$build_dir/src/mesa \ + -I$src_dir/src/mesa \ + -I$build_dir/src \ + -I$src_dir/src \ + -I$build_dir/include \ + -I$src_dir/include \ + \ + $syslib_cpp_flags_defs \ + $linux_cpp_flags_defs \ + $cc_builtins_cpp_flags_defs \ + $cc_attributes_cpp_flags_defs \ + $mesa_cpp_flags_defs \ + \ + $external_deps_cpp_flags & +done +#------------------------------------------------------------------------------- +wait +#------------------------------------------------------------------------------ +for src_pathname in $libmesa_util_c_pathnames +do + cpp_filename=$(basename $src_pathname .c).cpp.c + asm_filename=$(basename $src_pathname .c).cpp.c.s + printf "CC_S $build_dir/src/util/$cpp_filename --> $build_dir/src/util/$asm_filename\n" + $cc_s $build_dir/src/util/$cpp_filename -o $build_dir/src/util/$asm_filename & +done +#------------------------------------------------------------------------------ +wait +#------------------------------------------------------------------------------ +os= +for src_pathname in $libmesa_util_c_pathnames +do + asm_filename=$(basename $src_pathname .c).cpp.c.s + o_filename=$(basename $src_pathname .c).cpp.c.s.o + os="$os $build_dir/src/util/$o_filename" + printf "AS $build_dir/src/util/$asm_filename --> $build_dir/src/util/$o_filename\n" + $as $build_dir/src/util/$asm_filename -o $build_dir/src/util/$o_filename & +done +#=============================================================================== +for src_pathname in $libmesa_util_cxx_pathnames +do + cxxpp_filename=$(basename $src_pathname .cpp).cpp.cxx + printf "CXXPP $src_pathname --> $build_dir/src/util/$cxxpp_filename\n" + $cxxpp $src_pathname -o $build_dir/src/util/$cxxpp_filename \ + -I$cc_internal_fixed_incdir \ + -I$cc_internal_incdir \ + -I$cxx_internal_incdir \ + -I$linux_incdir \ + -I$syslib_incdir \ + \ + -I$build_dir/src/gallium/auxiliary \ + -I$src_dir/src/gallium/auxiliary \ + -I$build_dir/src/gallium/include \ + -I$src_dir/src/gallium/include \ + -I$build_dir/src/util/format \ + -I$src_dir/src/util/format \ + -I$build_dir/src/util \ + -I$src_dir/src/util \ + -I$build_dir/src/mesa \ + -I$src_dir/src/mesa \ + -I$build_dir/src \ + -I$src_dir/src \ + -I$build_dir/include \ + -I$src_dir/include \ + \ + $syslib_cpp_flags_defs \ + $linux_cpp_flags_defs \ + $cc_builtins_cpp_flags_defs \ + $cc_attributes_cpp_flags_defs \ + $mesa_cpp_flags_defs \ + \ + $external_deps_cpp_flags & +done +#------------------------------------------------------------------------------ +wait +#------------------------------------------------------------------------------ +for src_pathname in $libmesa_util_cxx_pathnames +do + cxxpp_filename=$(basename $src_pathname .cpp).cpp.cxx + asm_filename=$(basename $src_pathname .cpp).cpp.cxx.s + printf "CXX_S $build_dir/src/util/$cxxpp_filename --> $build_dir/src/util/$asm_filename\n" + $cxx_s $build_dir/src/util/$cxxpp_filename -o $build_dir/src/util/$asm_filename & +done +#------------------------------------------------------------------------------ +wait +#------------------------------------------------------------------------------ +# reuse os +for src_pathname in $libmesa_util_cxx_pathnames +do + asm_filename=$(basename $src_pathname .cpp).cpp.cxx.s + o_filename=$(basename $src_pathname .cpp).cpp.cxx.s.o + os="$os $build_dir/src/util/$o_filename" + printf "AS $build_dir/src/util/$asm_filename --> $build_dir/src/util/$o_filename\n" + $as $build_dir/src/util/$asm_filename -o $build_dir/src/util/$o_filename & +done +#------------------------------------------------------------------------------- +wait +#------------------------------------------------------------------------------- +printf "AR RCS $build_dir/libmesa_util.a $os\n" +$ar_rcs $build_dir/libmesa_util.a $os +#=============================================================================== +printf "CPP $src_dir/src/util/xmlconfig.c --> $build_dir/src/util/xmlconfig.cpp.c\n" +$cpp $src_dir/src/util/xmlconfig.c -o $build_dir/src/util/xmlconfig.cpp.c \ + -DSYSCONFDIR=\"$sysconfdir\" \ + -DDATADIR=\"$datadir_runtime\" \ + \ + -I$cc_internal_fixed_incdir \ + -I$cc_internal_incdir \ + -I$linux_incdir \ + -I$syslib_incdir \ + \ + -I$build_dir/src/util \ + -I$src_dir/src/util \ + -I$build_dir/src \ + -I$src_dir/src \ + -I$build_dir/include \ + -I$src_dir/include \ + \ + $syslib_cpp_flags_defs \ + $linux_cpp_flags_defs \ + $cc_builtins_cpp_flags_defs \ + $cc_attributes_cpp_flags_defs \ + $mesa_cpp_flags_defs \ + \ + $external_deps_cpp_flags +#------------------------------------------------------------------------------- +printf "CC_S $build_dir/src/util/xmlconfig.cpp.c --> $build_dir/src/util/xmlconfig.cpp.c.s\n" +$cc_s $build_dir/src/util/xmlconfig.cpp.c -o $build_dir/src/util/xmlconfig.cpp.c.s +#------------------------------------------------------------------------------- +printf "AS $build_dir/src/util/xmlconfig.cpp.c.s --> $build_dir/src/util/xmlconfig.cpp.c.s.o\n" +$as $build_dir/src/util/xmlconfig.cpp.c.s -o $build_dir/src/util/xmlconfig.cpp.c.s.o +#------------------------------------------------------------------------------- +printf "AR RCS $build_dir/libxmlconfig.a $build_dir/src/util/xmlconfig.cpp.c.s.o\n" +$ar_rcs $build_dir/libxmlconfig.a $build_dir/src/util/xmlconfig.cpp.c.s.o & +#=============================================================================== +mkdir -p \ + $build_dir/install_root$datadir_runtime/drirc.d \ + $build_dir/install_root$datadir_store/drirc.d +cp -f $src_dir/src/util/00-mesa-defaults.conf $build_dir/install_root$datadir_store/drirc.d +ln -sTf $datadir_store_virtual/drirc.d/00-mesa-defaults.conf $build_dir/install_root$datadir_runtime/drirc.d/00-mesa-defaults.conf +#=============================================================================== +echo "<-- util built" diff --git a/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/vtn_opencl.c b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/vtn_opencl.c new file mode 100644 index 0000000..68cb582 --- /dev/null +++ b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/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-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/x86_64_linux_glibc_amdgpu.sh b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/x86_64_linux_glibc_amdgpu.sh new file mode 100755 index 0000000..911fea7 --- /dev/null +++ b/builders/mesa-gl-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/x86_64_linux_glibc_amdgpu.sh @@ -0,0 +1,246 @@ +#!/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. grep 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 +#=============================================================================== + + +#=============================================================================== +# configuratior of directories +#------------------------------------------------------------------------------- +if test "${sysconfdir-unset}" = unset; then +sysconfdir='/etc' +fi +#------------------------------------------------------------------------------- +if test "${datadir-unset}" = unset; then +datadir='/usr/share' +fi +if test "${datadir_store-unset}" = unset; then +datadir_store='/usr/store/mesa-gl/git/share' +fi +if test "${datadir_store_virtual-unset}" = unset; then +datadir_store_virtual='/usr/store/mesa-gl/current/share' +fi +#------------------------------------------------------------------------------- +if test "${libdir-unset}" = unset; then +libdir='/usr/lib' +fi +if test "${libdir_store-unset}" = unset; then +libdir_store=/usr/store/mesa-gl/git/lib +fi +if test "${libdir_store_virtual-unset}" = unset; then +libdir_store_virtual=/usr/store/mesa-gl/current/lib +fi +#------------------------------------------------------------------------------- +if test "${incdir_store-unset}" = unset; then +incdir_store=/usr/store/mesa-gl/git/include +fi +if test "${incdir_store_virtual-unset}" = unset; then +incdir_store_virtual=/usr/store/mesa-gl/current/include +fi +#------------------------------------------------------------------------------- +if test "${dri_driver_search_dir-unset}" = unset; then +dri_driver_search_dir=/usr/lib/dri +fi +if test "${dri_driver_store_dir-unset}" = unset; then +dri_driver_store_dir=/usr/store/mesa-gl/git/lib/dri +fi +if test "${dri_driver_store_virtual_dir-unset}" = unset; then +dri_driver_store_virtual_dir=/usr/store/mesa-gl/current/lib/dri +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 +#=============================================================================== + + +#=============================================================================== +# 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/python/current/bin/python3 +fi + +if test "${mako-unset}" = unset; then +mako=/nyan/mako/current +fi +#=============================================================================== + + +#=============================================================================== +. $script_dir/gcc_binutils.sh +. $script_dir/linux.sh +. $script_dir/syslib.sh +#=============================================================================== + + +#=============================================================================== +# configuration of mesa code paths + +# enable/disable debug code paths +#debug_cpp_flags_defs='-DDEBUG' +debug_cpp_flags_defs='-DNDEBUG=1' + +mesa_cpp_flags_defs="\ +$debug_cpp_flags_defs \ +-DHAVE_RADEONSI \ +-DUSE_LIBGLVND=1 \ +-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 +#=============================================================================== + + +################################################################################ +################################################################################ +################################################################################ +################################################################################ +################################################################################ +################################################################################ +################################################################################ +################################################################################ + + +#=============================================================================== +# 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_targets.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 +#=============================================================================== diff --git a/builders/mesa-vulkan-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/builder.sh b/builders/mesa-vulkan-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/builder.sh new file mode 100644 index 0000000..7a17e8a --- /dev/null +++ b/builders/mesa-vulkan-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/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-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/generators.sh b/builders/mesa-vulkan-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/generators.sh new file mode 100644 index 0000000..deab33e --- /dev/null +++ b/builders/mesa-vulkan-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/generators.sh @@ -0,0 +1,277 @@ +#=============================================================================== +# removing the braindamaged qsort class +cp -f $src_dir/src/compiler/nir/nir.c $build_dir/src/compiler/nir/nir.c +sed -i $build_dir/src/compiler/nir/nir.c \ + -e '/u_qsort.h/ d' \ + -e 's/util_qsort_r/qsort_r/' & +cp -f $src_dir/src/util/mesa_cache_db.c $build_dir/src/util/mesa_cache_db.c +sed -i $build_dir/src/util/mesa_cache_db.c \ + -e '/u_qsort.h/ d' \ + -e 's/util_qsort_r/qsort_r/' & +#=============================================================================== +# that compute radix sort implementation ... OMFG! Text book what NOT to do. +# Where is the plain and simple C coded spir-v assembler for those shaders? +# blame: Konstantin Seurer +cp -f $src_dir/src/amd/vulkan/meta/radv_meta.c $build_dir/src/amd/vulkan/meta +patch -p 1 -i $src_dir/contrib/radv_meta.c.patch +cp -f $src_dir/src/amd/vulkan/meta/radv_meta_copy.c $build_dir/src/amd/vulkan/meta +patch -p 1 -i $src_dir/contrib/radv_meta_copy.c.patch +cp -f $src_dir/src/amd/vulkan/radv_device.c $build_dir/src/amd/vulkan +patch -p 1 -i $src_dir/contrib/radv_device.c.patch +# dudes... tracers should be cleanly compilable out... smells forced corpo crap +cp -f $src_dir/contrib/radv_no_tracers.c $build_dir/src/amd/vulkan +#=============================================================================== +# vulkan util +export PYTHONPATH=$mako +$python3 $src_dir/src/vulkan/util/gen_enum_to_str.py \ + --beta false \ + --xml $vulkan_api_xml \ + --outdir $build_dir/src/vulkan/util + +# our ndebug/release version +cp -f $src_dir/contrib/vk_enum_to_str.c $src_dir/contrib/vk_enum_to_str.h \ + $build_dir/src/vulkan/util + +$python3 $src_dir/src/vulkan/util/vk_dispatch_table_gen.py \ + --beta false \ + --xml $vulkan_api_xml \ + --out-c $build_dir/src/vulkan/util/vk_dispatch_table.c \ + --out-h $build_dir/src/vulkan/util/vk_dispatch_table.h & + +$python3 $src_dir/src/vulkan/util/vk_extensions_gen.py \ + --xml $vulkan_api_xml \ + --out-c $build_dir/src/vulkan/util/vk_extensions.c \ + --out-h $build_dir/src/vulkan/util/vk_extensions.h & + +$python3 $src_dir/src/vulkan/util/vk_struct_type_cast_gen.py \ + --beta false \ + --xml $vulkan_api_xml \ + --outdir $build_dir/src/vulkan/util & + +$python3 $src_dir/src/compiler/nir/nir_builder_opcodes_h.py \ +>$build_dir/src/compiler/nir/nir_builder_opcodes.h & + +$python3 $src_dir/src/compiler/nir/nir_opcodes_h.py \ +>$build_dir/src/compiler/nir/nir_opcodes.h & + +$python3 $src_dir/src/compiler/nir/nir_intrinsics_h.py \ +--outdir $build_dir/src/compiler/nir & + +$python3 $src_dir/src/compiler/nir/nir_intrinsics_indices_h.py \ +--outdir $build_dir/src/compiler/nir & +unset PYTHONPATH +#=============================================================================== +# vulkan layer crap +#export PYTHONPATH=$mako +#$python3 $src_dir/src/amd/vulkan/layers/radv_annotate_layer_gen.py \ +# --xml $vulkan_api_xml \ +# --out-c $build_dir/src/amd/vulkan/layers/radv_annotate_layer.c \ +# --beta false +#unset PYTHONPATH +#=============================================================================== +# vulkan runtime +export PYTHONPATH=$mako +$python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \ + --beta false \ + --xml $vulkan_api_xml \ + --proto --weak \ + --out-h $build_dir/src/vulkan/runtime/vk_common_entrypoints.h \ + --out-c $build_dir/src/vulkan/runtime/vk_common_entrypoints.c \ + --prefix vk_common & +$python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \ + --beta false \ + --xml $vulkan_api_xml \ + --proto --weak \ + --out-h $build_dir/src/vulkan/runtime/vk_cmd_enqueue_entrypoints.h \ + --out-c $build_dir/src/vulkan/runtime/vk_cmd_enqueue_entrypoints.c \ + --prefix vk_cmd_enqueue & +$python3 $src_dir/src/vulkan/util/vk_cmd_queue_gen.py \ + --beta false \ + --xml $vulkan_api_xml \ + --out-h $build_dir/src/vulkan/runtime/vk_cmd_queue.h \ + --out-c $build_dir/src/vulkan/runtime/vk_cmd_queue.c & +$python3 $src_dir/src/vulkan/util/vk_dispatch_trampolines_gen.py \ + --beta false \ + --xml $vulkan_api_xml \ + --out-h $build_dir/src/vulkan/runtime/vk_dispatch_trampolines.h \ + --out-c $build_dir/src/vulkan/runtime/vk_dispatch_trampolines.c & +$python3 $src_dir/src/vulkan/util/vk_physical_device_features_gen.py \ + --beta false \ + --xml $vulkan_api_xml \ + --out-h $build_dir/src/vulkan/runtime/vk_physical_device_features.h \ + --out-c $build_dir/src/vulkan/runtime/vk_physical_device_features.c & +$python3 $src_dir/src/vulkan/util/vk_physical_device_properties_gen.py \ + --beta false \ + --xml $vulkan_api_xml \ + --out-h $build_dir/src/vulkan/runtime/vk_physical_device_properties.h \ + --out-c $build_dir/src/vulkan/runtime/vk_physical_device_properties.c & +$python3 $src_dir/src/vulkan/runtime/vk_format_info_gen.py \ + --xml $vulkan_api_xml \ + --out-h $build_dir/src/vulkan/runtime/vk_format_info.h \ + --out-c $build_dir/src/vulkan/runtime/vk_format_info.c & +$python3 $src_dir/src/vulkan/util/vk_synchronization_helpers_gen.py \ + --beta false \ + --xml $vulkan_api_xml \ + --out-c $build_dir/src/vulkan/runtime/vk_synchronization_helpers.c & +unset PYTHONPATH +#=============================================================================== +# wsi x11 (Window System Interface) +export PYTHONPATH=$mako +$python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \ + --beta false \ + --xml $vulkan_api_xml \ + --proto --weak \ + --out-h $build_dir/src/vulkan/wsi/wsi_common_entrypoints.h \ + --out-c $build_dir/src/vulkan/wsi/wsi_common_entrypoints.c \ + --prefix wsi & +unset PYTHONPATH +#=============================================================================== +# amd common archive +$python3 $src_dir/src/amd/common/sid_tables.py \ + $src_dir/src/amd/common/sid.h \ + $src_dir/src/amd/registers/gfx6.json \ + $src_dir/src/amd/registers/gfx7.json \ + $src_dir/src/amd/registers/gfx8.json \ + $src_dir/src/amd/registers/gfx81.json \ + $src_dir/src/amd/registers/gfx9.json \ + $src_dir/src/amd/registers/gfx940.json \ + $src_dir/src/amd/registers/gfx10.json \ + $src_dir/src/amd/registers/gfx10-rsrc.json \ + $src_dir/src/amd/registers/gfx103.json \ + $src_dir/src/amd/registers/gfx11.json \ + $src_dir/src/amd/registers/gfx115.json \ + $src_dir/src/amd/registers/gfx11-rsrc.json \ + $src_dir/src/amd/registers/pkt3.json \ + $src_dir/src/amd/registers/registers-manually-defined.json \ + >$build_dir/src/amd/common/sid_tables.h & +$python3 $src_dir/src/amd/registers/makeregheader.py \ + $src_dir/src/amd/registers/gfx6.json \ + $src_dir/src/amd/registers/gfx7.json \ + $src_dir/src/amd/registers/gfx8.json \ + $src_dir/src/amd/registers/gfx81.json \ + $src_dir/src/amd/registers/gfx9.json \ + $src_dir/src/amd/registers/gfx940.json \ + $src_dir/src/amd/registers/gfx10.json \ + $src_dir/src/amd/registers/gfx10-rsrc.json \ + $src_dir/src/amd/registers/gfx11.json \ + $src_dir/src/amd/registers/gfx115.json \ + $src_dir/src/amd/registers/gfx11-rsrc.json \ + $src_dir/src/amd/registers/gfx103.json \ + $src_dir/src/amd/registers/pkt3.json \ + $src_dir/src/amd/registers/registers-manually-defined.json \ + --sort address \ + --guard AMDGFXREGS_H \ + >$build_dir/src/amd/common/amdgfxregs.h & +#=============================================================================== +# libcompiler required by libnir +export PYTHONPATH=$mako +#------------------------------------------------------------------------------ +$python3 $src_dir/src/compiler/glsl/ir_expression_operation.py enum \ + >$build_dir/src/compiler/glsl/ir_expression_operation.h & +#------------------------------------------------------------------------------ +$python3 $src_dir/src/compiler/builtin_types_h.py \ +$build_dir/src/compiler/builtin_types.h & +#------------------------------------------------------------------------------ +$python3 $src_dir/src/compiler/builtin_types_c.py \ +$build_dir/src/compiler/builtin_types.c & +#------------------------------------------------------------------------------ +unset PYTHONPATH +#=============================================================================== +# libnir +export PYTHONPATH=$mako +$python3 $src_dir/src/compiler/spirv/spirv_info_c.py \ + $src_dir/src/compiler/spirv/spirv.core.grammar.json \ + $build_dir/src/compiler/spirv/spirv_info.c & + +$python3 $src_dir/src/compiler/spirv/vtn_gather_types_c.py \ + $src_dir/src/compiler/spirv/spirv.core.grammar.json \ + $build_dir/src/compiler/spirv/vtn_gather_types.c & + +$python3 $src_dir/src/compiler/spirv/vtn_generator_ids_h.py \ + $src_dir/src/compiler/spirv/spir-v.xml \ + $build_dir/src/compiler/spirv/vtn_generator_ids.h & +# nir generated files +$python3 $src_dir/src/compiler/nir/nir_constant_expressions.py \ + >$build_dir/src/compiler/nir/nir_constant_expressions.c & + +$python3 $src_dir/src/compiler/nir/nir_opt_algebraic.py \ + >$build_dir/src/compiler/nir/nir_opt_algebraic.c & + +$python3 $src_dir/src/compiler/nir/nir_opcodes_c.py \ +>$build_dir/src/compiler/nir/nir_opcodes.c & + +$python3 $src_dir/src/compiler/nir/nir_intrinsics_c.py \ +--outdir $build_dir/src/compiler/nir & +unset PYTHONPATH +#=============================================================================== +# libaco +export PYTHONPATH=$mako +$python3 $src_dir/src/amd/compiler/aco_opcodes_h.py \ + >$build_dir/src/amd/compiler/aco_opcodes.h & +$python3 $src_dir/src/amd/compiler/aco_opcodes_cpp.py \ + >$build_dir/src/amd/compiler/aco_opcodes.cpp & +$python3 $src_dir/src/amd/compiler/aco_builder_h.py \ + >$build_dir/src/amd/compiler/aco_builder.h & +unset PYTHONPATH +#=============================================================================== +# libmesautils +export PYTHONPATH=$mako +$python3 $src_dir/src/util/format_srgb.py \ + >$build_dir/src/util/format_srgb.c + +$python3 $src_dir/src/util/format/u_format_table.py \ +$src_dir/src/util/format/u_format.csv \ + >$build_dir/src/util/u_format_table.c + +# wow, really? +$python3 $src_dir/src/util/format/u_format_table.py \ +--header \ +$src_dir/src/util/format/u_format.csv \ + >$build_dir/src/util/format/u_format_pack.h + +# oooof! +$python3 $src_dir/src/util/driconf_static.py \ +$src_dir/src/util/00-mesa-defaults.conf \ +$build_dir/src/util/driconf_static.h +unset PYTHONPATH +#$src_dir/src/util/bitset_test.cpp wtf? rotten brain? +#=============================================================================== +# amd vulkan +export PYTHONPATH=$mako +#------------------------------------------------------------------------------ +# specific API to work around _still maintained at the time of writing _ game +# executable... this is the beginning of the end... +$python3 $src_dir/src/vulkan/util/vk_entrypoints_gen.py \ + --beta false \ + --xml $vulkan_api_xml \ + --proto --weak \ + --out-h $build_dir/src/amd/vulkan/radv_entrypoints.h \ + --out-c $build_dir/src/amd/vulkan/radv_entrypoints.c \ + --prefix radv \ + --device-prefix metro_exodus \ + --device-prefix quantic_dream \ + --device-prefix rage2 & +#------------------------------------------------------------------------------ +#$python3 $src_dir/src/amd/vulkan/radv_extensions.py \ +# --xml $vulkan_api_xml \ +# --out-c radv_extensions.c \ +# --out-h radv_extensions.h & +#------------------------------------------------------------------------------ +#$python3 $src_dir/src/amd/vulkan/vk_format_table.py \ +# $src_dir/src/amd/vulkan/vk_format_layout.csv \ +# >$build_dir/vk_format_table.c & +#------------------------------------------------------------------------------ +$python3 $src_dir/src/amd/common/gfx10_format_table.py \ + $src_dir/src/util/format/u_format.csv \ + $src_dir/src/amd/registers/gfx10-rsrc.json \ + $src_dir/src/amd/registers/gfx11-rsrc.json \ + >$build_dir/src/amd/common/gfx10_format_table.c & +#------------------------------------------------------------------------------ +git_sha1=no_git_sha1_available +if test -d $src_dir/.git; then + git_sha1=$(git --git-dir=$src_dir/.git rev-parse HEAD) +fi +echo git_sha1=$git_sha1 +echo "#define MESA_GIT_SHA1 \"$git_sha1\"" >$build_dir/src/git_sha1.h & +unset PYTHONPATH +#=============================================================================== diff --git a/builders/mesa-vulkan-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/radv_device.c.patch b/builders/mesa-vulkan-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/radv_device.c.patch new file mode 100644 index 0000000..f413a5a --- /dev/null +++ b/builders/mesa-vulkan-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/radv_device.c.patch @@ -0,0 +1,15 @@ +--- a/src/amd/vulkan/radv_device.c ++++ b/src/amd/vulkan/radv_device.c +@@ -561,6 +561,12 @@ add_entrypoints(struct dispatch_table_builder *b, const struct vk_device_entrypo + 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; ++struct vk_device_entrypoint_table ctx_roll_device_entrypoints; ++struct vk_device_entrypoint_table annotate_device_entrypoints; ++ + static void + init_dispatch_tables(struct radv_device *device, struct radv_physical_device *pdev) + { diff --git a/builders/mesa-vulkan-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/radv_meta.c.patch b/builders/mesa-vulkan-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/radv_meta.c.patch new file mode 100644 index 0000000..8c69bd9 --- /dev/null +++ b/builders/mesa-vulkan-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/radv_meta.c.patch @@ -0,0 +1,116 @@ +--- a/src/amd/vulkan/meta/radv_meta.c ++++ b/src/amd/vulkan/meta/radv_meta.c +@@ -537,9 +537,14 @@ radv_device_init_meta(struct radv_device *device) + if (result != VK_SUCCESS) + goto fail_etc_decode; + +- result = radv_device_init_meta_astc_decode_state(device, on_demand); +- if (result != VK_SUCCESS) +- goto fail_astc_decode; ++ // 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: some trash. ++ //result = radv_device_init_meta_astc_decode_state(device, on_demand); ++ //if (result != VK_SUCCESS) ++ // goto fail_astc_decode; + + if (radv_uses_device_generated_commands(device)) { + result = radv_device_init_dgc_prepare_state(device); +@@ -547,35 +552,50 @@ 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 = pdev->use_llvm; +- if (loaded_cache || use_llvm) { +- pdev->use_llvm = false; +- result = radv_device_init_accel_struct_build_state(device); +- pdev->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 = pdev->use_llvm; ++ // if (loaded_cache || use_llvm) { ++ // pdev->use_llvm = false; ++ // result = radv_device_init_accel_struct_build_state(device); ++ // pdev->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_astc_decode: +- radv_device_finish_meta_astc_decode_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: some trash. ++//fail_astc_decode: ++// radv_device_finish_meta_astc_decode_state(device); + fail_etc_decode: + radv_device_finish_meta_etc_decode_state(device); + fail_fmask_copy: +@@ -615,8 +635,18 @@ 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_meta_astc_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: some trash. ++// radv_device_finish_meta_astc_decode_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-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/radv_meta_copy.c.patch b/builders/mesa-vulkan-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/radv_meta_copy.c.patch new file mode 100644 index 0000000..5431fd0 --- /dev/null +++ b/builders/mesa-vulkan-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/radv_meta_copy.c.patch @@ -0,0 +1,51 @@ +--- a/src/amd/vulkan/meta/radv_meta_copy.c ++++ b/src/amd/vulkan/meta/radv_meta_copy.c +@@ -262,17 +262,18 @@ radv_CmdCopyBufferToImage2(VkCommandBuffer commandBuffer, const VkCopyBufferToIm + + const enum util_format_layout format_layout = vk_format_description(dst_image->vk.format)->layout; + for (unsigned r = 0; r < pCopyBufferToImageInfo->regionCount; r++) { +- if (format_layout == UTIL_FORMAT_LAYOUT_ASTC) { +- radv_meta_decode_astc(cmd_buffer, dst_image, pCopyBufferToImageInfo->dstImageLayout, +- &pCopyBufferToImageInfo->pRegions[r].imageSubresource, +- pCopyBufferToImageInfo->pRegions[r].imageOffset, +- pCopyBufferToImageInfo->pRegions[r].imageExtent); +- } else { ++ // XXX: current astc work is omega trash ++ //if (format_layout == UTIL_FORMAT_LAYOUT_ASTC) { ++ // radv_meta_decode_astc(cmd_buffer, dst_image, pCopyBufferToImageInfo->dstImageLayout, ++ // &pCopyBufferToImageInfo->pRegions[r].imageSubresource, ++ // pCopyBufferToImageInfo->pRegions[r].imageOffset, ++ // pCopyBufferToImageInfo->pRegions[r].imageExtent); ++ //} else { + radv_meta_decode_etc(cmd_buffer, dst_image, pCopyBufferToImageInfo->dstImageLayout, + &pCopyBufferToImageInfo->pRegions[r].imageSubresource, + pCopyBufferToImageInfo->pRegions[r].imageOffset, + pCopyBufferToImageInfo->pRegions[r].imageExtent); +- } ++ //} + } + } + } +@@ -613,15 +614,16 @@ radv_CmdCopyImage2(VkCommandBuffer commandBuffer, const VkCopyImageInfo2 *pCopyI + dst_extent.height = dst_extent.height / vk_format_get_blockheight(src_image->vk.format) * + vk_format_get_blockheight(dst_image->vk.format); + } +- if (format_layout == UTIL_FORMAT_LAYOUT_ASTC) { +- radv_meta_decode_astc(cmd_buffer, dst_image, pCopyImageInfo->dstImageLayout, +- &pCopyImageInfo->pRegions[r].dstSubresource, pCopyImageInfo->pRegions[r].dstOffset, +- dst_extent); +- } else { ++ // XXX: current astc work is omega trash ++ //if (format_layout == UTIL_FORMAT_LAYOUT_ASTC) { ++ // radv_meta_decode_astc(cmd_buffer, dst_image, pCopyImageInfo->dstImageLayout, ++ // &pCopyImageInfo->pRegions[r].dstSubresource, pCopyImageInfo->pRegions[r].dstOffset, ++ // dst_extent); ++ //} else { + radv_meta_decode_etc(cmd_buffer, dst_image, pCopyImageInfo->dstImageLayout, + &pCopyImageInfo->pRegions[r].dstSubresource, pCopyImageInfo->pRegions[r].dstOffset, + dst_extent); +- } ++ //} + } + } + } diff --git a/builders/mesa-vulkan-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/radv_no_tracers.c b/builders/mesa-vulkan-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/radv_no_tracers.c new file mode 100644 index 0000000..9dacef4 --- /dev/null +++ b/builders/mesa-vulkan-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/radv_no_tracers.c @@ -0,0 +1,77 @@ +#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_rt_pipeline_create(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){} +bool radv_sqtt_queue_events_enabled(void){return false;} + +/* ctx roll tracing */ +void ac_gather_context_rolls(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-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/vk_enum_to_str.c b/builders/mesa-vulkan-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/vk_enum_to_str.c new file mode 100644 index 0000000..d764859 --- /dev/null +++ b/builders/mesa-vulkan-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/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-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/vk_enum_to_str.h b/builders/mesa-vulkan-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/vk_enum_to_str.h new file mode 100644 index 0000000..85e5bec --- /dev/null +++ b/builders/mesa-vulkan-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/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-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/vtn_opencl.c b/builders/mesa-vulkan-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/vtn_opencl.c new file mode 100644 index 0000000..68cb582 --- /dev/null +++ b/builders/mesa-vulkan-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/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-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh b/builders/mesa-vulkan-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh new file mode 100755 index 0000000..2f18f6e --- /dev/null +++ b/builders/mesa-vulkan-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/contrib/x86_64_amdgpu_linux_gnu_vulkan_x11_drm_gcc.sh @@ -0,0 +1,1418 @@ +#!/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 \ +-DHAVE_SECURE_GETENV=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_AV1DEC=0 \ +-DVIDEO_CODEC_H265DEC=0 \ +-DVIDEO_CODEC_H264DEC=0 \ +-DVIDEO_CODEC_AV1ENC=0 \ +-DVIDEO_CODEC_H265ENC=0 \ +-DVIDEO_CODEC_H264ENC=0 \ +\ +-DUSE_VK_COMPILER=1 \ +" + +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 +#=============================================================================== +# directory hierarchy +build_dir_leaf_dirs="\ +$build_dir/include/drm-api \ +$build_dir/src/amd/common \ +$build_dir/src/amd/compiler \ +$build_dir/src/amd/vulkan/meta \ +$build_dir/src/amd/vulkan/nir \ +$build_dir/src/amd/vulkan/layers \ +$build_dir/src/compiler/nir \ +$build_dir/src/compiler/glsl \ +$build_dir/src/compiler/spirv \ +$build_dir/src/gallium/auxiliary \ +$build_dir/src/gallium/include \ +$build_dir/src/mesa \ +$build_dir/src/util/format \ +$build_dir/src/vulkan/runtime \ +$build_dir/src/vulkan/util \ +$build_dir/src/vulkan/wsi \ +" +mkdir -p $build_dir_leaf_dirs +#=============================================================================== +# 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/util \ + -I$build_dir/src \ + -I$src_dir/src \ + -I$build_dir/include \ + -I$src_dir/include \ + $cppflags_common \ + $expat_cppflags & +#=============================================================================== +# vulkan util +cppflags="\ +$cppflags_common \ +-DPACKAGE_VERSION=\"$version\" \ +-DVERSION=\"$version\" \ +-I$build_dir/src/vulkan/runtime \ +-I$src_dir/src/vulkan/runtime \ +-I$build_dir/src/vulkan/util \ +-I$src_dir/src/vulkan/util \ +-I$build_dir/src/gallium/include \ +-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$build_dir/src/util \ +-I$src_dir/src/util \ +-I$build_dir/src \ +-I$src_dir/src \ +-I$build_dir/include \ +-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/src/vulkan/util/vk_dispatch_table.c \ +$build_dir/src/vulkan/util/vk_enum_to_str.c \ +$build_dir/src/vulkan/util/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/src/vulkan/runtime \ +-I$src_dir/src/vulkan/runtime \ +-I$build_dir/src/gallium/include \ +-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$build_dir/src/vulkan/util \ +-I$src_dir/src/vulkan/util \ +-I$build_dir/src/util \ +-I$src_dir/src/util \ +-I$build_dir/src \ +-I$src_dir/src \ +-I$build_dir/include \ +-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/src/vulkan/runtime/vk_cmd_enqueue_entrypoints.c \ +$build_dir/src/vulkan/runtime/vk_cmd_queue.c \ +$src_dir/src/vulkan/runtime/vk_command_buffer.c \ +$src_dir/src/vulkan/runtime/vk_command_pool.c \ +$build_dir/src/vulkan/runtime/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/src/vulkan/runtime/vk_dispatch_trampolines.c \ +$src_dir/src/vulkan/runtime/vk_fence.c \ +$build_dir/src/vulkan/runtime/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/src/vulkan/runtime/vk_physical_device_features.c \ +$build_dir/src/vulkan/runtime/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.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 \ +$build_dir/src/vulkan/runtime/vk_synchronization_helpers.c \ +$src_dir/src/vulkan/runtime/vk_synchronization.c \ +$src_dir/src/vulkan/runtime/vk_texcompress_etc2.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/src/vulkan/wsi \ +-I$src_dir/src/vulkan/wsi \ +-I$build_dir/src/vulkan/runtime \ +-I$src_dir/src/vulkan/runtime \ +-I$build_dir/src/vulkan/util \ +-I$src_dir/src/vulkan/util \ +-I$build_dir/src/gallium/include \ +-I$src_dir/src/gallium/include \ +-I$build_dir/src \ +-I$src_dir/src \ +-I$build_dir/include/drm-uapi \ +-I$src_dir/include/drm-uapi \ +-I$build_dir/include \ +-I$src_dir/include \ +$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/src/vulkan/wsi/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/src/gallium/auxiliary \ +-I$src_dir/src/gallium/auxiliary \ +-I$build_dir/src/gallium/include \ +-I$src_dir/src/gallium/include \ +-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$build_dir/src/mesa \ +-I$src_dir/src/mesa \ +-I$build_dir/src/util \ +-I$src_dir/src/util \ +-I$build_dir/src \ +-I$src_dir/src \ +-I$build_dir/include/drm-uapi \ +-I$src_dir/include/drm-uapi \ +-I$build_dir/include \ +-I$src_dir/include \ +$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/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 \ +$src_dir/src/amd/common/amd_family.c \ +$build_dir/src/amd/common/gfx10_format_table.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$build_dir/src/amd/addrlib/inc/chip/gfx11 \ +-I$src_dir/src/amd/addrlib/inc/chip/gfx11 \ +-I$build_dir/src/amd/addrlib/inc/chip/gfx10 \ +-I$src_dir/src/amd/addrlib/inc/chip/gfx10 \ +-I$build_dir/src/amd/addrlib/inc/chip/gfx9 \ +-I$src_dir/src/amd/addrlib/inc/chip/gfx9 \ +-I$build_dir/src/amd/addrlib/inc/chip/r800 \ +-I$src_dir/src/amd/addrlib/inc/chip/r800 \ +-I$build_dir/src/amd/addrlib/inc \ +-I$src_dir/src/amd/addrlib/inc \ +-I$build_dir/src/amd/addrlib/src/core \ +-I$src_dir/src/amd/addrlib/src/core \ +-I$build_dir/src/amd/addrlib/src/chip/gfx11 \ +-I$src_dir/src/amd/addrlib/src/chip/gfx11 \ +-I$build_dir/src/amd/addrlib/src/chip/gfx10 \ +-I$src_dir/src/amd/addrlib/src/chip/gfx10 \ +-I$build_dir/src/amd/addrlib/src/chip/gfx9 \ +-I$src_dir/src/amd/addrlib/src/chip/gfx9 \ +-I$build_dir/src/amd/addrlib/src/chip/r800 \ +-I$src_dir/src/amd/addrlib/src/chip/r800 \ +-I$build_dir/src/amd/addrlib/src \ +-I$src_dir/src/amd/addrlib/src \ +-I$build_dir/src \ +-I$src_dir/src \ +-I$build_dir/include \ +-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/src/compiler \ +-I$src_dir/src/compiler \ +-I$build_dir/src/gallium/auxiliary \ +-I$src_dir/src/gallium/auxiliary \ +-I$build_dir/src/gallium/include \ +-I$src_dir/src/gallium/include \ +-I$build_dir/src/mesa \ +-I$src_dir/src/mesa \ +-I$build_dir/src \ +-I$src_dir/src \ +-I$build_dir/include \ +-I$src_dir/include \ +" +$cc $cppflags $src_dir/src/compiler/glsl_types.c \ + -o $build_dir/glsl_types.o & +$cc $cppflags $src_dir/src/compiler/shader_enums.c \ + -o $build_dir/shader_enums.o & +$cc $cppflags $build_dir/src/compiler/builtin_types.c \ + -o $build_dir/builtin_types.o & +libcompiler_a="\ +$build_dir/glsl_types.o \ +$build_dir/shader_enums.o \ +$build_dir/builtin_types.o \ +" +#=============================================================================== +# libnir +cppflags="\ +$cppflags_common \ +-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$build_dir/src/gallium/auxiliary \ +-I$src_dir/src/gallium/auxiliary \ +-I$build_dir/src/gallium/include \ +-I$src_dir/src/gallium/include \ +-I$build_dir/src/mesa \ +-I$src_dir/src/mesa \ +-I$build_dir/src \ +-I$src_dir/src \ +-I$build_dir/include \ +-I$src_dir/include \ +$xorgproto_cppflags \ +$libxcb_cppflags \ +$libx11_cppflags \ +$libxrender_cppflags \ +$libxrandr_cppflags \ +" +libnir_files="\ +$src_dir/src/compiler/spirv/gl_spirv.c \ +$build_dir/src/compiler/spirv/spirv_info.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 \ +$build_dir/src/compiler/spirv/vtn_gather_types.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 \ +\ +$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 \ +$build_dir/src/compiler/nir/nir_constant_expressions.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 \ +$build_dir/src/compiler/nir/nir_intrinsics.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_terminate_to_demote.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 \ +$build_dir/src/compiler/nir/nir_opcodes.c \ +$src_dir/src/compiler/nir/nir_opt_access.c \ +$build_dir/src/compiler/nir/nir_opt_algebraic.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.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_mqsad.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_undef.c \ +$src_dir/src/compiler/nir/nir_opt_uniform_atomics.c \ +$src_dir/src/compiler/nir/nir_opt_varyings.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_use_dominance.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/src/amd/compiler \ +-I$src_dir/src/amd/compiler \ +-I$build_dir/src/amd/vulkan \ +-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$build_dir/src/mesa \ +-I$src_dir/src/mesa \ +-I$build_dir/src/gallium/include \ +-I$src_dir/src/gallium/include \ +-I$build_dir/src \ +-I$src_dir/src \ +-I$build_dir/include \ +-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_subdword.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_scheduler_ilp.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/gallium/auxiliary \ +-I$src_dir/src/gallium/auxiliary \ +-I$build_dir/src/gallium/include \ +-I$src_dir/src/gallium/include \ +-I$build_dir/src/mesa \ +-I$src_dir/src/mesa \ +-I$build_dir/src/util/blake3 \ +-I$src_dir/src/util/blake3 \ +-I$build_dir/src/util/format \ +-I$src_dir/src/util/format \ +-I$build_dir/src/util \ +-I$src_dir/src/util \ +-I$build_dir/src \ +-I$src_dir/src \ +-I$build_dir/include \ +-I$src_dir/include \ +$zlib_cppflags \ +" + +libmesautil_files="\ +$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 \ +$build_dir/src/util/format_srgb.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 \ +$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_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/parson.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/thread_sched.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 \ +$build_dir/src/util/u_format_table.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/src/amd/compiler \ +-I$src_dir/src/amd/compiler \ +-I$build_dir/src/amd/common \ +-I$src_dir/src/amd/common \ +-I$build_dir/src/amd/vulkan/nir \ +-I$src_dir/src/amd/vulkan/nir \ +-I$build_dir/src/amd/vulkan/meta \ +-I$src_dir/src/amd/vulkan/meta \ +-I$build_dir/src/amd/vulkan \ +-I$src_dir/src/amd/vulkan \ +-I$build_dir/src/amd \ +-I$src_dir/src/amd \ +-I$build_dir/src/gallium/auxiliary \ +-I$src_dir/src/gallium/auxiliary \ +-I$build_dir/src/gallium/include \ +-I$src_dir/src/gallium/include \ +-I$build_dir/src/vulkan/runtime \ +-I$src_dir/src/vulkan/runtime \ +-I$build_dir/src/vulkan/wsi \ +-I$src_dir/src/vulkan/wsi \ +-I$build_dir/src/vulkan/util \ +-I$src_dir/src/vulkan/util \ +-I$build_dir/src/mesa \ +-I$src_dir/src/mesa \ +-I$build_dir/src/compiler/nir \ +-I$src_dir/src/compiler/nir \ +-I$build_dir/src/compiler \ +-I$src_dir/src/compiler \ +-I$build_dir/src/util \ +-I$src_dir/src/util \ +-I$build_dir/src \ +-I$src_dir/src \ +-I$build_dir/include \ +-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_buffer_view.c \ +$src_dir/src/amd/vulkan/radv_cmd_buffer.c \ +$src_dir/src/amd/vulkan/radv_cp_dma.c \ +$src_dir/src/amd/vulkan/radv_cp_reg_shadowing.c \ +$src_dir/src/amd/vulkan/radv_cs.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_image_view.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 \ +$build_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_cooperative_matrix.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_hit_attrib_derefs.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/nir/radv_nir_rt_common.c \ +$src_dir/src/amd/vulkan/nir/radv_nir_rt_shader.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_printf.c \ +$src_dir/src/amd/vulkan/radv_queue.c \ +$src_dir/src/amd/vulkan/radv_sampler.c \ +$src_dir/src/amd/vulkan/radv_sdma.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_shader_object.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_video_enc.c \ +$src_dir/src/amd/vulkan/radv_wsi.c \ +\ +$build_dir/src/amd/vulkan/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_quantic_dream.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-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/radeon_icd.x86_64.json b/builders/mesa-vulkan-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/radeon_icd.x86_64.json new file mode 100644 index 0000000..9bdd2e7 --- /dev/null +++ b/builders/mesa-vulkan-amd-sh-1b8cf06fc76b7baf78dab80bd8023377f8fb410e/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/xserver-sh-069ad69efe166105b8d2280bf2fb217d522b68a9/builder.sh b/builders/xserver-sh-069ad69efe166105b8d2280bf2fb217d522b68a9/builder.sh new file mode 100644 index 0000000..ff134b3 --- /dev/null +++ b/builders/xserver-sh-069ad69efe166105b8d2280bf2fb217d522b68a9/builder.sh @@ -0,0 +1,3 @@ +git_commit=${pkg_name##*-} +slot=$git_commit +. $nyan_root/builders/xserver-sh/builder.sh diff --git a/builders/xserver-sh-069ad69efe166105b8d2280bf2fb217d522b68a9/contrib/dix-config.h.in b/builders/xserver-sh-069ad69efe166105b8d2280bf2fb217d522b68a9/contrib/dix-config.h.in new file mode 100644 index 0000000..90b25bb --- /dev/null +++ b/builders/xserver-sh-069ad69efe166105b8d2280bf2fb217d522b68a9/contrib/dix-config.h.in @@ -0,0 +1,523 @@ +#ifndef _DIX_CONFIG_H_ +#define _DIX_CONFIG_H_ + +/* Support BigRequests extension */ +#define BIGREQS 1 + +/* Builder address */ +#define BUILDERADDR "xorg@lists.freedesktop.org" + +/* Builder string */ +#define BUILDERSTRING "" + +/* Default font path */ +#define COMPILEDDEFAULTFONTPATH "@defaultfontdir@/misc/,@defaultfontdir@/TTF/,@defaultfontdir@/OTF/,@defaultfontdir@/Type1/,@defaultfontdir@/100dpi/,@defaultfontdir@/75dpi/" + +/* Miscellaneous server configuration files path */ +#define SERVER_MISC_CONFIG_PATH "@miscconfigpath@" + +/* Support Composite Extension */ +#define COMPOSITE 1 + +/* Support Damage extension */ +#define DAMAGE 1 + +/* Use OsVendorVErrorF */ +/* #undef DDXOSVERRORF */ + +/* Use ddxBeforeReset */ +/* #undef DDXBEFORERESET */ + +/* Build DPMS extension */ +#define DPMSExtension 1 + +/* Build DRI3 extension */ +#define DRI3 1 + +/* Build GLX extension */ +#define GLXEXT 1 + +/* Build GLX DRI loader */ +/* #undef GLX_DRI */ + +/* Path to DRI drivers */ +#define DRI_DRIVER_PATH "@dridriverpath@" + +/* Support XDM-AUTH*-1 */ +/* #undef HASXDMAUTH */ + +/* Support SHM */ +#define HAS_SHM 1 + +/* Has backtrace support */ +#define HAVE_BACKTRACE 1 + +/* Has libunwind support */ +/* #undef HAVE_LIBUNWIND */ + +/* Define to 1 if you have the `cbrt' function. */ +#define HAVE_CBRT 1 + +/* Define to 1 if you have the declaration of `program_invocation_short_name', and + to 0 if you don't. */ +#define HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME 1 + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +#define HAVE_DIRENT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Have execinfo.h */ +#define HAVE_EXECINFO_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the `getdtablesize' function. */ +#define HAVE_GETDTABLESIZE 1 + +/* Define to 1 if you have the `getifaddrs' function. */ +#define HAVE_GETIFADDRS 1 + +/* Define to 1 if you have the `getpeereid' function. */ +/* #undef HAVE_GETPEEREID */ + +/* Define to 1 if you have the `getpeerucred' function. */ +/* #undef HAVE_GETPEERUCRED */ + +/* Define to 1 if you have the `getprogname' function. */ +/* #undef HAVE_GETPROGNAME */ + +/* Define to 1 if you have the `getzoneid' function. */ +/* #undef HAVE_GETZONEID */ + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Have Quartz */ +/* #undef XQUARTZ */ + +/* Support application updating through sparkle. */ +/* #undef XQUARTZ_SPARKLE */ + +/* Prefix to use for bundle identifiers */ +#define BUNDLE_ID_PREFIX "" + +/* Build a standalone xpbproxy */ +/* #undef STANDALONE_XPBPROXY */ + +/* Define to 1 if you have the `bsd' library (-lbsd). */ +/* #undef HAVE_LIBBSD */ + +/* Define to 1 if you have the `m' library (-lm). */ +#define HAVE_LIBM 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LINUX_AGPGART_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LINUX_APM_BIOS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LINUX_FB_H 1 + +/* Define to 1 if you have the `memfd_create' function. */ +#define HAVE_MEMFD_CREATE 1 + +/* Define to 1 if you have the `mkostemp' function. */ +#define HAVE_MKOSTEMP 1 + +/* Define to 1 if you have the `mmap' function. */ +#define HAVE_MMAP 1 + +/* Define to 1 if you have the function pthread_setname_np(const char*) */ +/* #undef HAVE_PTHREAD_SETNAME_NP_WITHOUT_TID */ + +/* Define to 1 if you have the function pthread_setname_np(pthread_t, const char*) */ +#define HAVE_PTHREAD_SETNAME_NP_WITH_TID 1 + +/* Define to 1 if you have the header file, and it defines `DIR'. */ +/* #undef HAVE_NDIR_H */ + +/* Define to 1 if you have the `reallocarray' function. */ +#define HAVE_REALLOCARRAY 1 + +/* Define to 1 if you have the `arc4random_buf' function. */ +/* #undef HAVE_ARC4RANDOM_BUF */ + +/* Define to use libc SHA1 functions */ +/* #undef HAVE_SHA1_IN_LIBC */ + +/* Define to use CommonCrypto SHA1 functions */ +/* #undef HAVE_SHA1_IN_COMMONCRYPTO */ + +/* Define to use CryptoAPI SHA1 functions */ +/* #undef HAVE_SHA1_IN_CRYPTOAPI */ + +/* Define to use libmd SHA1 functions */ +/* #undef HAVE_SHA1_IN_LIBMD */ + +/* Define to use libgcrypt SHA1 functions */ +/* #undef HAVE_SHA1_IN_LIBGCRYPT */ + +/* Define to use libnettle SHA1 functions */ +/* #undef HAVE_SHA1_IN_LIBNETTLE */ + +/* Define to use libsha1 for SHA1 */ +/* #undef HAVE_SHA1_IN_LIBSHA1 */ + +/* Define to 1 if you have the `shmctl64' function. */ +/* #undef HAVE_SHMCTL64 */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `strcasecmp' function. */ +#define HAVE_STRCASECMP 1 + +/* Define to 1 if you have the `strcasestr' function. */ +#define HAVE_STRCASESTR 1 + +/* Define to 1 if you have the `strncasecmp' function. */ +#define HAVE_STRNCASECMP 1 + +/* Define to 1 if you have the `strlcat' function. */ +/* #undef HAVE_STRLCAT */ + +/* Define to 1 if you have the `strlcpy' function. */ +/* #undef HAVE_STRLCPY */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strndup' function. */ +#define HAVE_STRNDUP 1 + +/* Define to 1 if libsystemd-daemon is available */ +/* #undef HAVE_SYSTEMD_DAEMON */ + +/* Define to 1 if SYSV IPC is available */ +#define HAVE_SYSV_IPC 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_AGPIO_H */ + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +/* #undef HAVE_SYS_DIR_H */ + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +/* #undef HAVE_SYS_NDIR_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_UTSNAME_H 1 + +/* Define to 1 if you have the `timingsafe_memcmp' function. */ +/* #undef HAVE_TIMINGSAFE_MEMCMP */ + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_FNMATCH_H 1 + +/* Have /dev/urandom */ +/* #undef HAVE_URANDOM */ + +/* Define to 1 if you have the `vasprintf' function. */ +#define HAVE_VASPRINTF 1 + +/* Support IPv6 for TCP connections */ +#define IPv6 1 + +/* Support os-specific local connections */ +/* #undef LOCALCONN */ + +/* Support MIT-SHM Extension */ +#define MITSHM 1 + +/* Enable some debugging code */ +/* #undef DEBUG */ + +/* Name of package */ +#define PACKAGE "xorg-server" + +/* Internal define for Xinerama */ +#define PANORAMIX 1 + +/* Support Present extension */ +#define PRESENT 1 + +/* Overall prefix */ +#define PROJECTROOT "@projectroot@" + +/* Support RANDR extension */ +#define RANDR 1 + +/* Support Record extension */ +#define XRECORD 1 + +/* Support RENDER extension */ +#define RENDER 1 + +/* Support X resource extension */ +#define RES 1 + +/* Support client ID tracking in X resource extension */ +#define CLIENTIDS 1 + +/* Support MIT-SCREEN-SAVER extension */ +#define SCREENSAVER 1 + +/* Support Secure RPC ("SUN-DES-1") authentication for X11 clients */ +/* #undef SECURE_RPC */ + +/* Support SHAPE extension */ +#define SHAPE 1 + +/* Where to install Xorg.bin and Xorg.wrap */ +/* #undef SUID_WRAPPER_DIR */ + +/* Define to 1 on systems derived from System V Release 4 */ +/* #undef SVR4 */ + +/* sysconfdir */ +#define SYSCONFDIR "@sysconfdir@" + +/* Support TCP socket connections */ +#define TCPCONN 1 + +/* Support UNIX socket connections */ +#define UNIXCONN 1 + +/* Build X string registry */ +/* #undef XREGISTRY */ + +/* Build X-ACE extension */ +#define XACE 1 + +/* Build SELinux extension */ +/* #undef XSELINUX */ + +/* Support XCMisc extension */ +#define XCMISC 1 + +/* Build Security extension */ +/* #undef XCSECURITY */ + +/* Support Xdmcp */ +/* #undef XDMCP */ + +/* Build XFree86 BigFont extension */ +/* #undef XF86BIGFONT */ + +/* Support XFree86 Video Mode extension */ +#define XF86VIDMODE 1 + +/* Support XFixes extension */ +#define XFIXES 1 + +/* Build XDGA support */ +/* #undef XFreeXDGA */ + +/* Support Xinerama extension */ +#define XINERAMA 1 + +/* Current Xorg version */ +#define XORG_VERSION_CURRENT ((10000000) + ((@version_0@) * 100000) + ((@version_1@) * 1000) + @version_2@) + +/* Build Xv Extension */ +#define XvExtension 1 + +/* Build XvMC Extension */ +#define XvMCExtension 1 + +/* Support XSync extension */ +#define XSYNC 1 + +/* Support XTest extension */ +#define XTEST 1 + +/* Support Xv extension */ +#define XV 1 + +/* Support DRI extension */ +#define XF86DRI 1 + +/* Build DRI2 extension */ +#define DRI2 1 + +/* Build DBE support */ +#define DBE 1 + +/* Vendor name */ +#define XVENDORNAME "The X.Org Foundation" + +/* Number of bits in a file offset, on hosts where this is settable. */ +/* #undef _FILE_OFFSET_BITS */ + +/* Enable GNU and other extensions to the C environment for GLIBC */ +#define _GNU_SOURCE 1 + +/* Define for large files, on AIX-style hosts. */ +/* #undef _LARGE_FILES */ + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `int' if does not define. */ +/* #undef pid_t */ + +/* Build Rootless code */ +/* #undef ROOTLESS */ + +/* Define to 1 if unsigned long is 64 bits. */ +#define _XSERVER64 1 + +/* System is BSD-like */ +/* #undef CSRG_BASED */ + +/* Define to 1 if `struct sockaddr_in' has a `sin_len' member */ +/* #undef BSD44SOCKETS */ + +/* Support D-Bus */ +/* #undef HAVE_DBUS */ + +/* Use libudev for input hotplug */ +#define CONFIG_UDEV 1 + +/* Use libudev for kms enumeration */ +#define CONFIG_UDEV_KMS 1 + +/* Use udev_monitor_filter_add_match_tag() */ +#define HAVE_UDEV_MONITOR_FILTER_ADD_MATCH_TAG 1 + +/* Use udev_enumerate_add_match_tag() */ +#define HAVE_UDEV_ENUMERATE_ADD_MATCH_TAG 1 + +/* Enable D-Bus core */ +/* #undef NEED_DBUS */ + +/* Support HAL for hotplug */ +/* #undef CONFIG_HAL */ + +/* Enable systemd-logind integration */ +/* #undef SYSTEMD_LOGIND */ + +/* Have a monotonic clock from clock_gettime() */ +#define MONOTONIC_CLOCK 1 + +/* Define to 1 if the DTrace Xserver provider probes should be built in */ +/* #undef XSERVER_DTRACE */ + +/* Define to 1 if typeof works with your compiler. */ +#define HAVE_TYPEOF 1 + +/* Define to __typeof__ if your compiler spells it that way. */ +#define typeof __typeof__ + +/* Correctly set _XSERVER64 for OSX fat binaries */ +#ifdef __APPLE__ +#include "dix-config-apple-verbatim.h" +#endif + +/* Enable general extensions on Solaris. */ +#ifndef __EXTENSIONS__ +# define __EXTENSIONS__ 1 +#endif + +/* Defined if needed to expose struct msghdr.msg_control */ +/* #undef _XOPEN_SOURCE */ + +/* Have support for X shared memory fence library (xshmfence) */ +#define HAVE_XSHMFENCE 1 + +/* Use XTrans FD passing support */ +#define XTRANS_SEND_FDS 1 + +/* Don't let Xdefs.h define 'pointer' */ +#define _XTYPEDEF_POINTER 1 + +/* Don't let XIproto define 'Pointer' */ +#define _XITYPEDEF_POINTER 1 + +/* Ask fontsproto to make font path element names const */ +#define FONT_PATH_ELEMENT_NAME_CONST 1 + +/* Build GLAMOR */ +#define GLAMOR 1 + +/* Build glamor's GBM-based EGL support */ +#define GLAMOR_HAS_GBM 1 + +/* Build glamor/gbm has linear support */ +/* #undef GLAMOR_HAS_GBM_LINEAR */ + +/* GBM has modifiers support */ +#define GBM_BO_WITH_MODIFIERS 1 + +/* GBM has gbm_bo_get_fd_for_plane function */ +#define GBM_BO_FD_FOR_PLANE 1 + +/* Glamor can use eglQueryDmaBuf* functions */ +#define GLAMOR_HAS_EGL_QUERY_DMABUF 1 + +/* Glamor can use EGL_MESA_query_driver functions */ +#define GLAMOR_HAS_EGL_QUERY_DRIVER 1 + +/* byte order */ +#define X_BYTE_ORDER X_LITTLE_ENDIAN + +/* Listen on TCP socket */ +/* #undef LISTEN_TCP */ + +/* Listen on Unix socket */ +#define LISTEN_UNIX 1 + +/* Listen on local socket */ +#define LISTEN_LOCAL 1 + +/* Define if no local socket credentials interface exists */ +/* #undef NO_LOCAL_CLIENT_CRED */ + +/* Have setitimer support */ +#define HAVE_SETITIMER 1 + +/* Have posix_fallocate() */ +#define HAVE_POSIX_FALLOCATE 1 + +/* Use input thread */ +#define INPUTTHREAD 1 + +/* Have poll() */ +#define HAVE_POLL 1 + +/* Have epoll_create1() */ +#define HAVE_EPOLL_CREATE1 1 + +/* Have header */ +#define HAVE_SYS_SYSMACROS_H 1 + +/* Have sigprocmask */ +#define HAVE_SIGPROCMASK 1 + +/* Have isastream */ +/* #undef HAVE_ISASTREAM */ + +#define HAVE_SIGACTION 1 +#define X_REGISTRY_RESOURCE 1 +#define X_REGISTRY_REQUEST 1 + +#endif /* _DIX_CONFIG_H_ */ diff --git a/builders/xserver-sh-069ad69efe166105b8d2280bf2fb217d522b68a9/contrib/linux-glibc.sh b/builders/xserver-sh-069ad69efe166105b8d2280bf2fb217d522b68a9/contrib/linux-glibc.sh new file mode 100755 index 0000000..e231d31 --- /dev/null +++ b/builders/xserver-sh-069ad69efe166105b8d2280bf2fb217d522b68a9/contrib/linux-glibc.sh @@ -0,0 +1,2126 @@ +#!/bin/sh +version_0=21 +version_1=1 +version_2=99 +version_3=1 +#=================================================================================================== +# build dir and src dir +build_dir=$(readlink -f .) +printf "build_dir=$build_dir\n" +# we are in contrib subdir +src_dir=$(readlink -f $(dirname $0)/..) +printf "src_dir=$src_dir\n" +#=================================================================================================== +# 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='/etc' +fi +#=================================================================================================== +if test "${defaultfontdir-unset}" = unset; then +defaultfontdir='/usr/share/fonts' +fi +#=================================================================================================== +if test "${miscconfigdir-unset}" = unset; then +miscconfigdir='/usr/lib/xorg' +fi +#=================================================================================================== +if test "${dridriverpath-unset}" = unset; then +dridriverpath='/usr/lib/dri' +fi +#=================================================================================================== +if test "${projectroot-unset}" = unset; then +# careful, will be used to configure some source files, no idea if it is benign +projectroot=/usr +fi +if test "${bindir_store-unset}" = unset; then +bindir_store=/usr/store/xserver/git/bin +fi +if test "${bindir_store_virtual-unset}" = unset; then +bindir_store_virtual=/usr/store/xserver/current/bin +fi +if test "${bindir-unset}" = unset; then +bindir=/usr/bin +fi +#=================================================================================================== +if test "${xkbbasedir-unset}" = unset; then +xkbbasedir='/usr/share/X11/xkb' +fi +#=================================================================================================== +if test "${xkbbindir-unset}" = unset; then +xkbbindir='/usr/bin' +fi +#=================================================================================================== +if test "${xkmoutputdir-unset}" = unset; then +xkmoutputdir='/usr/share/X11/xkb/compiled' +fi +#=================================================================================================== +if test "${module_store-unset}" = unset; then +module_store='/usr/store/xserver/git/modules' +fi +if test "${module_store_virtual-unset}" = unset; then +module_store_virtual='/usr/store/xserver/current/modules' +fi +if test "${defaultmodulepath-unset}" = unset; then +defaultmodulepath='/usr/lib/xorg/modules' +fi +#=================================================================================================== +if test "${defaultlibrarypath-unset}" = unset; then +defaultlibrarypath='/usr/lib' +fi +#=================================================================================================== +if test "${defaultlogdir-unset}" = unset; then +defaultlogdir='/var/log' +fi +#=================================================================================================== +if test "${datadir-unset}" = unset; then +datadir='/usr/share' +fi +#=================================================================================================== +if test "${incdir_store-unset}" = unset; then +incdir_store=/usr/store/xserver/git/include +fi +if test "${incdir_store_virtual-unset}" = unset; then +incdir_store_virtual=/usr/store/xserver/current/include +fi +#=================================================================================================== +if test "${cpp-unset}" = unset; then +cpp=false +fi +#=================================================================================================== +if test "${cc-unset}" = unset; then +cc=false +fi +#=================================================================================================== +# you must use binutils ld export-dynamic option because dynamically loaded modules will refer back +# to symbols in the xorg binary +if test "${xorg_ccld_prolog-unset}" = unset; then +xorg_ccld_prolog=false +fi +if test "${xorg_ccld_epilog-unset}" = unset; then +xorg_ccld_epilog= +fi +#=================================================================================================== +# this template expect the variable "module_name" to be defined +if test "${module_ccld_prolog_tmpl-unset}" = unset; then +module_ccld_prolog_tmpl=false +fi +if test "${module_ccld_epilog_tmpl-unset}" = unset; then +module_ccld_epilog_tmpl= +fi +#=================================================================================================== +if test "${ar_rcs-unset}" = unset; then +ar_rcs=false +fi +#=================================================================================================== +if test "${awk-unset}" = unset; then +awk=false +fi +#=================================================================================================== +if test "${xorgproto_cppflags-unset}" = unset; then +xorgproto_cppflags= +fi +#=================================================================================================== +if test "${xtrans_cppflags-unset}" = unset; then +xtrans_cppflags= +fi +#=================================================================================================== +if test "${libxcvt_cppflags-unset}" = unset; then +libxcvt_cppflags= +fi +if test "${libxcvt_ldflags-unset}" = unset; then +libxcvt_ldflags= +fi +#=================================================================================================== +if test "${mesa_gl_cppflags-unset}" = unset; then +mesa_gl_cppflags= +fi +if test "${mesa_gl_ldflags-unset}" = unset; then +mesa_gl_ldflags= +fi +if test "${mesa_gbm_ldflags-unset}" = unset; then +mesa_gbm_ldflags= +fi +#=================================================================================================== +if test "${libxkbfile_cppflags-unset}" = unset; then +libxkbfile_cppflags= +fi +#=================================================================================================== +if test "${pixman_cppflags-unset}" = unset; then +pixman_cppflags= +fi +if test "${pixman_ldflags-unset}" = unset; then +pixman_ldflags= +fi +#=================================================================================================== +# why? we are server side +if test "${libX11_cppflags-unset}" = unset; then +libX11_cppflags= +fi +#=================================================================================================== +# why? we are server side +if test "${libxcb_cppflags-unset}" = unset; then +libxcb_cppflags= +fi +#=================================================================================================== +# used by the server +if test "${libxau_cppflags-unset}" = unset; then +libxau_cppflags= +fi +if test "${libxau_ldflags-unset}" = unset; then +libxau_ldflags= +fi +#=================================================================================================== +# used by the server +if test "${libxfont2_cppflags-unset}" = unset; then +libxfont2_cppflags= +fi +if test "${libxfont2_ldflags-unset}" = unset; then +libxfont2_ldflags= +fi +#=================================================================================================== +if test "${libfontenc_cppflags-unset}" = unset; then +libfontenc_cppflags= +fi +#=================================================================================================== +if test "${freetype_cppflags-unset}" = unset; then +freetype_cppflags= +fi +#=================================================================================================== +if test "${zlib_cppflags-unset}" = unset; then +zlib_cppflags= +fi +#=================================================================================================== +if test "${libpng_cppflags-unset}" = unset; then +libpng_cppflags= +fi +#=================================================================================================== +if test "${libxshmfence_cppflags-unset}" = unset; then +libxshmfence_cppflags= +fi +if test "${libxshmfence_ldflags-unset}" = unset; then +libxshmfence_ldflags= +fi +#=================================================================================================== +if test "${ssl_cppflags-unset}" = unset; then +ssl_cppflags= +fi +if test "${ssl_ldflags-unset}" = unset; then +ssl_ldflags= +fi +#=================================================================================================== +if test "${libdrm_cppflags-unset}" = unset; then +libdrm_cppflags= +fi +if test "${libdrm_ldflags-unset}" = unset; then +libdrm_ldflags= +fi +#=================================================================================================== +if test "${libepoxy_cppflags-unset}" = unset; then +libepoxy_cppflags= +fi +if test "${libepoxy_ldflags-unset}" = unset; then +libepoxy_ldflags= +fi +#=================================================================================================== +if test "${libudev_cppflags-unset}" = unset; then +libudev_cppflags= +fi +if test "${libudev_ldflags-unset}" = unset; then +libudev_ldflags= +fi +#=================================================================================================== +if test "${libpciaccess_cppflags-unset}" = unset; then +libpciaccess_cppflags= +fi +if test "${libpciaccess_ldflags-unset}" = unset; then +libpciaccess_ldflags= +fi +#=================================================================================================== +if test "${libglvnd_cppflags-unset}" = unset; then +libglvnd_cppflags= +fi +if test "${libglvnd_gl_ldflags-unset}" = unset; then +libglvnd_gl_ldflags= +fi +#=================================================================================================== +mkdir -p $build_dir/dix +sed -e "s:@sysconfdir@:$sysconfdir:g" \ + -e "s:@miscconfigpath@:$miscconfigpath:g" \ + -e "s:@defaultfontdir@:$defaultfontdir:g" \ + -e "s:@dridriverpath@:$dridriverpath:g" \ + -e "s:@projectroot@:$projectroot:g" \ + -e "s:@version_0@:$version_0:g" \ + -e "s:@version_1@:$version_1:g" \ + -e "s:@version_2@:$version_2:g" \ + <$src_dir/contrib/dix-config.h.in \ + >$build_dir/dix/dix-config.h +#--------------------------------------------------------------------------------------------------- +mkdir -p $build_dir/include +sed -e "s:@version_0@:$version_0:g" \ + -e "s:@version_1@:$version_1:g" \ + -e "s:@version_2@:$version_2:g" \ + -e "s:@version_2@:$version_3:g" \ + <$src_dir/contrib/version-config.h.in \ + >$build_dir/include/version-config.h +#--------------------------------------------------------------------------------------------------- +mkdir -p $build_dir/include +sed -e "s:@xkbbasedir@:$xkbbasedir:g" \ + -e "s:@xkbbindir@:$xkbbindir:g" \ + -e "s:@xkmoutputdir@:$xkmoutputdir:g" \ + <$src_dir/contrib/xkb-config.h.in \ + >$build_dir/include/xkb-config.h +#=================================================================================================== +unknown_cppflags="\ +-D_DEFAULT_SOURCE \ +-D_BSD_SOURCE \ +-DHAS_FCHOWN \ +-DHAS_STICKY_DIR_BIT \ +" +xserver_cppflags="\ +-DHAVE_CONFIG_H \ +-DHAVE_DIX_CONFIG_H \ +-DHAVE_MODESETTING_DRIVER \ +-DXORG_NO_SDKSYMS \ +" +cppflags="\ +$unknown_cppflags \ +$xserver_cppflags \ +$xorgproto_cppflags \ +$xtrans_cppflags \ +$libxcvt_cppflags \ +$pixman_cppflags \ +$libx11_cppflags \ +$libxcb_cppflags \ +$libxau_cppflags \ +$libxfont2_cppflags \ +$libfontenc_cppflags \ +$freetype_cppflags \ +$zlib_cppflags \ +$libpng_cppflags \ +$libxshmfence_cppflags \ +$ssl_cppflags \ +$libxkbfile_cppflags \ +$libglvnd_cppflags \ +$mesa_gl_cppflags \ +$libdrm_cppflags \ +$libepoxy_cppflags \ +$libudev_cppflags \ +$libpciaccess_cppflags \ +-I$build_dir/dix \ +-I$src_dir/dix \ +-I$build_dir/include \ +-I$src_dir/include \ +-I$src_dir/glamor \ +-I$src_dir/glx \ +-I$src_dir/Xext \ +-I$src_dir/composite \ +-I$src_dir/damageext \ +-I$src_dir/xfixes \ +-I$src_dir/Xi \ +-I$src_dir/mi \ +-I$src_dir/miext/sync \ +-I$src_dir/miext/shadow \ +-I$src_dir/miext/damage \ +-I$src_dir/render \ +-I$src_dir/randr \ +-I$src_dir/fb \ +-I$src_dir/dbe \ +-I$src_dir/present \ +-I$src_dir/dri3 \ +-I$build_dir \ +-I$src_dir \ +" +#=================================================================================================== +dix_c_files="\ +$src_dir/dix/atom.c \ +$src_dir/dix/color.c \ +$src_dir/dix/colormap.c \ +$src_dir/dix/cursor.c \ +$src_dir/dix/devices.c \ +$src_dir/dix/dispatch.c \ +$src_dir/dix/dixfonts.c \ +$src_dir/dix/events.c \ +$src_dir/dix/main.c \ +$src_dir/dix/dixutils.c \ +$src_dir/dix/enterleave.c \ +$src_dir/dix/eventconvert.c \ +$src_dir/dix/extension.c \ +$src_dir/dix/gc.c \ +$src_dir/dix/getevents.c \ +$src_dir/dix/gestures.c \ +$src_dir/dix/globals.c \ +$src_dir/dix/glyphcurs.c \ +$src_dir/dix/grabs.c \ +$src_dir/dix/initatoms.c \ +$src_dir/dix/inpututils.c \ +$src_dir/dix/pixmap.c \ +$src_dir/dix/privates.c \ +$src_dir/dix/property.c \ +$src_dir/dix/ptrveloc.c \ +$src_dir/dix/region.c \ +$src_dir/dix/registry.c \ +$src_dir/dix/resource.c \ +$src_dir/dix/selection.c \ +$src_dir/dix/swaprep.c \ +$src_dir/dix/swapreq.c \ +$src_dir/dix/tables.c \ +$src_dir/dix/touch.c \ +$src_dir/dix/window.c \ +\ +$src_dir/dix/stubmain.c \ +" +mkdir -p $build_dir/dix +for f in $dix_c_files +do + dix_obj=$build_dir/dix/$(basename $f .c).o + dix_objs="$dix_objs $dix_obj" + + $cc $cppflags $f -o $dix_obj & +done +#=================================================================================================== +fb_c_files_with_wrapper="\ +$src_dir/fb/fballpriv.c \ +$src_dir/fb/fbarc.c \ +$src_dir/fb/fbbits.c \ +$src_dir/fb/fbblt.c \ +$src_dir/fb/fbbltone.c \ +$src_dir/fb/fbcmap_mi.c \ +$src_dir/fb/fbcopy.c \ +$src_dir/fb/fbfill.c \ +$src_dir/fb/fbfillrect.c \ +$src_dir/fb/fbfillsp.c \ +$src_dir/fb/fbgc.c \ +$src_dir/fb/fbgetsp.c \ +$src_dir/fb/fbglyph.c \ +$src_dir/fb/fbimage.c \ +$src_dir/fb/fbline.c \ +$src_dir/fb/fboverlay.c \ +$src_dir/fb/fbpict.c \ +$src_dir/fb/fbpixmap.c \ +$src_dir/fb/fbpoint.c \ +$src_dir/fb/fbpush.c \ +$src_dir/fb/fbscreen.c \ +$src_dir/fb/fbseg.c \ +$src_dir/fb/fbsetsp.c \ +$src_dir/fb/fbsolid.c \ +$src_dir/fb/fbtile.c \ +$src_dir/fb/fbtrap.c \ +$src_dir/fb/fbutil.c \ +$src_dir/fb/fbwindow.c \ +" +mkdir -p $build_dir/fb +for f in $fb_c_files_with_wrapper +do + fb_obj=$build_dir/fb/fb_$(basename $f .c).o + fbw_obj=$build_dir/fb/fbw_$(basename $f .c).o + fb_objs="$fb_objs $fb_obj" + fbw_objs="$fbw_objs $fbw_obj" + + $cc $cppflags $f -o $fb_obj & + # w as in 'W'rapper + $cc $cppflags -DFB_ACCESS_WRAPPER $f -o $fbw_obj & +done +#=================================================================================================== +mi_c_files="\ +$src_dir/mi/miarc.c \ +$src_dir/mi/mibitblt.c \ +$src_dir/mi/micmap.c \ +$src_dir/mi/micopy.c \ +$src_dir/mi/midash.c \ +$src_dir/mi/midispcur.c \ +$src_dir/mi/mieq.c \ +$src_dir/mi/miexpose.c \ +$src_dir/mi/mifillarc.c \ +$src_dir/mi/mifillrct.c \ +$src_dir/mi/migc.c \ +$src_dir/mi/miglblt.c \ +$src_dir/mi/mioverlay.c \ +$src_dir/mi/mipointer.c \ +$src_dir/mi/mipoly.c \ +$src_dir/mi/mipolypnt.c \ +$src_dir/mi/mipolyrect.c \ +$src_dir/mi/mipolyseg.c \ +$src_dir/mi/mipolytext.c \ +$src_dir/mi/mipushpxl.c \ +$src_dir/mi/miscrinit.c \ +$src_dir/mi/misprite.c \ +$src_dir/mi/mivaltree.c \ +$src_dir/mi/miwideline.c \ +$src_dir/mi/miwindow.c \ +$src_dir/mi/mizerarc.c \ +$src_dir/mi/mizerclip.c \ +$src_dir/mi/mizerline.c \ +" +mkdir -p $build_dir/mi +for f in $mi_c_files +do + mi_obj=$build_dir/mi/$(basename $f .c).o + mi_objs="$mi_objs $mi_obj" + + $cc $cppflags $f -o $mi_obj & +done +#=================================================================================================== +xext_c_files="\ +$src_dir/Xext/bigreq.c \ +$src_dir/Xext/geext.c \ +$src_dir/Xext/shape.c \ +$src_dir/Xext/sync.c \ +$src_dir/Xext/xcmisc.c \ +$src_dir/Xext/xtest.c \ +$src_dir/Xext/shm.c \ +$src_dir/Xext/xvmain.c \ +$src_dir/Xext/xvdisp.c \ +$src_dir/Xext/xvmc.c \ +$src_dir/Xext/xres.c \ +$src_dir/Xext/saver.c \ +$src_dir/Xext/panoramiX.c \ +$src_dir/Xext/panoramiXprocs.c \ +$src_dir/Xext/panoramiXSwap.c \ +$src_dir/Xext/xace.c \ +$src_dir/Xext/dpms.c \ +$src_dir/Xext/hashtable.c \ +$src_dir/Xext/sleepuntil.c \ +" +mkdir -p $build_dir/xext +for f in $xext_c_files +do + xext_obj=$build_dir/xext/$(basename $f .c).o + xext_objs="$xext_objs $xext_obj" + + $cc $cppflags $f -o $xext_obj & +done +#--------------------------------------------------------------------------------------------------- +xext_vidmod_c_files="\ +$src_dir/Xext/vidmode.c \ +" +for f in $xext_vidmod_c_files +do + xext_vidmod_obj=$build_dir/xext/$(basename $f .c).o + xext_vidmod_objs="$xext_vidmod_objs $xext_vidmod_obj" + + $cc $cppflags $f -o $xext_vidmod_obj & +done +#=================================================================================================== +miext_sync_c_files="\ +$src_dir/miext/sync/misync.c \ +$src_dir/miext/sync/misyncfd.c \ +$src_dir/miext/sync/misyncshm.c \ +" +mkdir -p $build_dir/miext/sync +for f in $miext_sync_c_files +do + miext_sync_obj=$build_dir/miext/sync/$(basename $f .c).o + miext_sync_objs="$miext_sync_objs $miext_sync_obj" + + $cc $cppflags $f -o $miext_sync_obj & +done +#=================================================================================================== +miext_damage_c_files="\ +$src_dir/miext/damage/damage.c \ +" +mkdir -p $build_dir/miext/damage +for f in $miext_damage_c_files +do + miext_damage_obj=$build_dir/miext/damage/$(basename $f .c).o + miext_damage_objs="$miext_damage_objs $miext_damage_obj" + + $cc $cppflags $f -o $miext_damage_obj & +done +#=================================================================================================== +miext_shadow_c_files="\ +$src_dir/miext/shadow/shadow.c \ +$src_dir/miext/shadow/sh3224.c \ +$src_dir/miext/shadow/shafb4.c \ +$src_dir/miext/shadow/shafb8.c \ +$src_dir/miext/shadow/shiplan2p4.c \ +$src_dir/miext/shadow/shiplan2p8.c \ +$src_dir/miext/shadow/shpacked.c \ +$src_dir/miext/shadow/shplanar8.c \ +$src_dir/miext/shadow/shplanar.c \ +$src_dir/miext/shadow/shrot16pack_180.c \ +$src_dir/miext/shadow/shrot16pack_270.c \ +$src_dir/miext/shadow/shrot16pack_270YX.c \ +$src_dir/miext/shadow/shrot16pack_90.c \ +$src_dir/miext/shadow/shrot16pack_90YX.c \ +$src_dir/miext/shadow/shrot16pack.c \ +$src_dir/miext/shadow/shrot32pack_180.c \ +$src_dir/miext/shadow/shrot32pack_270.c \ +$src_dir/miext/shadow/shrot32pack_90.c \ +$src_dir/miext/shadow/shrot32pack.c \ +$src_dir/miext/shadow/shrot8pack_180.c \ +$src_dir/miext/shadow/shrot8pack_270.c \ +$src_dir/miext/shadow/shrot8pack_90.c \ +$src_dir/miext/shadow/shrot8pack.c \ +$src_dir/miext/shadow/shrotate.c \ +" +mkdir -p $build_dir/miext/shadow +for f in $miext_shadow_c_files +do + miext_shadow_obj=$build_dir/miext/shadow/$(basename $f .c).o + miext_shadow_objs="$miext_shadow_objs $miext_shadow_obj" + + $cc $cppflags $f -o $miext_shadow_obj & +done +#=================================================================================================== +miext_rootless_c_files="\ +$src_dir/miext/rootless/rootlessCommon.c \ +$src_dir/miext/rootless/rootlessGC.c \ +$src_dir/miext/rootless/rootlessScreen.c \ +$src_dir/miext/rootless/rootlessValTree.c \ +$src_dir/miext/rootless/rootlessWindow.c \ +" +mkdir -p $build_dir/miext/rootless +for f in $miext_rootless_c_files +do + miext_rootless_obj=$build_dir/miext/rootless/$(basename $f .c).o + miext_rootless_objs="$miext_rootless_objs $miext_rootless_obj" + + $cc $cppflags $f -o $miext_rootless_obj & +done +#=================================================================================================== +os_c_files="\ +$src_dir/os/access.c \ +$src_dir/os/alloc.c \ +$src_dir/os/auth.c \ +$src_dir/os/WaitFor.c \ +$src_dir/os/backtrace.c \ +$src_dir/os/client.c \ +$src_dir/os/connection.c \ +$src_dir/os/fmt.c \ +$src_dir/os/inputthread.c \ +$src_dir/os/io.c \ +$src_dir/os/mitauth.c \ +$src_dir/os/osinit.c \ +$src_dir/os/ospoll.c \ +$src_dir/os/utils.c \ +$src_dir/os/xdmauth.c \ +$src_dir/os/xsha1.c \ +$src_dir/os/xstrans.c \ +$src_dir/os/xprintf.c \ +$src_dir/os/log.c \ +$src_dir/os/busfault.c \ +$src_dir/os/string.c \ +$src_dir/os/strlcat.c \ +$src_dir/os/strlcpy.c \ +$src_dir/os/timingsafe_memcmp.c \ +" +mkdir -p $build_dir/os +for f in $os_c_files +do + os_obj=$build_dir/os/$(basename $f .c).o + os_objs="$os_objs $os_obj" + + $cc $cppflags $f -o $os_obj & +done +#=================================================================================================== +randr_c_files="\ +$src_dir/randr/randr.c \ +$src_dir/randr/rrcrtc.c \ +$src_dir/randr/rrdispatch.c \ +$src_dir/randr/rrinfo.c \ +$src_dir/randr/rrlease.c \ +$src_dir/randr/rrmode.c \ +$src_dir/randr/rrmonitor.c \ +$src_dir/randr/rroutput.c \ +$src_dir/randr/rrpointer.c \ +$src_dir/randr/rrproperty.c \ +$src_dir/randr/rrprovider.c \ +$src_dir/randr/rrproviderproperty.c \ +$src_dir/randr/rrscreen.c \ +$src_dir/randr/rrsdispatch.c \ +$src_dir/randr/rrtransform.c \ +$src_dir/randr/rrxinerama.c \ +" +mkdir -p $build_dir/randr +for f in $randr_c_files +do + randr_obj=$build_dir/randr/$(basename $f .c).o + randr_objs="$randr_objs $randr_obj" + + $cc $cppflags $f -o $randr_obj & +done +#=================================================================================================== +render_c_files="\ +$src_dir/render/animcur.c \ +$src_dir/render/filter.c \ +$src_dir/render/glyph.c \ +$src_dir/render/matrix.c \ +$src_dir/render/miindex.c \ +$src_dir/render/mipict.c \ +$src_dir/render/mirect.c \ +$src_dir/render/mitrap.c \ +$src_dir/render/mitri.c \ +$src_dir/render/picture.c \ +$src_dir/render/render.c \ +" +mkdir -p $build_dir/render +for f in $render_c_files +do + render_obj=$build_dir/render/$(basename $f .c).o + render_objs="$render_objs $render_obj" + + $cc $cppflags $f -o $render_obj & +done +#=================================================================================================== +xi_c_files="\ +$src_dir/Xi/allowev.c \ +$src_dir/Xi/chgdctl.c \ +$src_dir/Xi/chgfctl.c \ +$src_dir/Xi/chgkbd.c \ +$src_dir/Xi/chgkmap.c \ +$src_dir/Xi/chgprop.c \ +$src_dir/Xi/chgptr.c \ +$src_dir/Xi/closedev.c \ +$src_dir/Xi/devbell.c \ +$src_dir/Xi/exevents.c \ +$src_dir/Xi/extinit.c \ +$src_dir/Xi/getbmap.c \ +$src_dir/Xi/getdctl.c \ +$src_dir/Xi/getfctl.c \ +$src_dir/Xi/getfocus.c \ +$src_dir/Xi/getkmap.c \ +$src_dir/Xi/getmmap.c \ +$src_dir/Xi/getprop.c \ +$src_dir/Xi/getselev.c \ +$src_dir/Xi/getvers.c \ +$src_dir/Xi/grabdev.c \ +$src_dir/Xi/grabdevb.c \ +$src_dir/Xi/grabdevk.c \ +$src_dir/Xi/gtmotion.c \ +$src_dir/Xi/listdev.c \ +$src_dir/Xi/opendev.c \ +$src_dir/Xi/queryst.c \ +$src_dir/Xi/selectev.c \ +$src_dir/Xi/sendexev.c \ +$src_dir/Xi/setbmap.c \ +$src_dir/Xi/setdval.c \ +$src_dir/Xi/setfocus.c \ +$src_dir/Xi/setmmap.c \ +$src_dir/Xi/setmode.c \ +$src_dir/Xi/ungrdev.c \ +$src_dir/Xi/ungrdevb.c \ +$src_dir/Xi/ungrdevk.c \ +$src_dir/Xi/xiallowev.c \ +$src_dir/Xi/xibarriers.c \ +$src_dir/Xi/xichangecursor.c \ +$src_dir/Xi/xichangehierarchy.c \ +$src_dir/Xi/xigetclientpointer.c \ +$src_dir/Xi/xigrabdev.c \ +$src_dir/Xi/xipassivegrab.c \ +$src_dir/Xi/xiproperty.c \ +$src_dir/Xi/xiquerydevice.c \ +$src_dir/Xi/xiquerypointer.c \ +$src_dir/Xi/xiqueryversion.c \ +$src_dir/Xi/xiselectev.c \ +$src_dir/Xi/xisetclientpointer.c \ +$src_dir/Xi/xisetdevfocus.c \ +$src_dir/Xi/xiwarppointer.c \ +" +mkdir -p $build_dir/xi +for f in $xi_c_files +do + xi_obj=$build_dir/xi/$(basename $f .c).o + xi_objs="$xi_objs $xi_obj" + + $cc $cppflags $f -o $xi_obj & +done +#--------------------------------------------------------------------------------------------------- +xi_stubs_c_files="\ +$src_dir/Xi/stubs.c \ +" +for f in $xi_stubs_c_files +do + xi_stubs_obj=$build_dir/xi/$(basename $f .c).o + xi_stubs_objs="$xi_stubs_objs $xi_stubs_obj" + + $cc $cppflags $f -o $xi_stubs_obj & +done +#=================================================================================================== +xkb_c_files="\ +$src_dir/xkb/ddxBeep.c \ +$src_dir/xkb/ddxCtrls.c \ +$src_dir/xkb/ddxLEDs.c \ +$src_dir/xkb/ddxLoad.c \ +$src_dir/xkb/xkb.c \ +$src_dir/xkb/xkbUtils.c \ +$src_dir/xkb/xkbEvents.c \ +$src_dir/xkb/xkbAccessX.c \ +$src_dir/xkb/xkbSwap.c \ +$src_dir/xkb/xkbLEDs.c \ +$src_dir/xkb/xkbInit.c \ +$src_dir/xkb/xkbActions.c \ +$src_dir/xkb/xkbPrKeyEv.c \ +$src_dir/xkb/maprules.c \ +$src_dir/xkb/xkmread.c \ +$src_dir/xkb/xkbtext.c \ +$src_dir/xkb/xkbfmisc.c \ +$src_dir/xkb/xkbout.c \ +$src_dir/xkb/XKBMisc.c \ +$src_dir/xkb/XKBAlloc.c \ +$src_dir/xkb/XKBGAlloc.c \ +$src_dir/xkb/XKBMAlloc.c \ +" +mkdir -p $build_dir/xkb +for f in $xkb_c_files +do + xkb_obj=$build_dir/xkb/$(basename $f .c).o + xkb_objs="$xkb_objs $xkb_obj" + + $cc $cppflags $f -o $xkb_obj & +done +#--------------------------------------------------------------------------------------------------- +xkb_stubs_c_files="\ +$src_dir/xkb/ddxVT.c \ +$src_dir/xkb/ddxPrivate.c \ +$src_dir/xkb/ddxKillSrv.c \ +" +for f in $xkb_stubs_c_files +do + xkb_stubs_obj=$build_dir/xkb/$(basename $f .c).o + xkb_stubs_objs="$xkb_stubs_objs $xkb_stubs_obj" + + $cc $cppflags $f -o $xkb_stubs_obj & +done +#=================================================================================================== +dbe_c_files="\ +$src_dir/dbe/dbe.c \ +$src_dir/dbe/midbe.c \ +" +mkdir -p $build_dir/dbe +for f in $dbe_c_files +do + dbe_obj=$build_dir/dbe/$(basename $f .c).o + dbe_objs="$dbe_objs $dbe_obj" + + $cc $cppflags $f -o $dbe_obj & +done +#=================================================================================================== +record_c_files="\ +$src_dir/record/record.c \ +$src_dir/record/set.c \ +" +mkdir -p $build_dir/record +for f in $record_c_files +do + record_obj=$build_dir/record/$(basename $f .c).o + record_objs="$record_objs $record_obj" + + $cc $cppflags $f -o $record_obj & +done +#=================================================================================================== +xfixes_c_files="\ +$src_dir/xfixes/xfixes.c \ +$src_dir/xfixes/cursor.c \ +$src_dir/xfixes/disconnect.c \ +$src_dir/xfixes/region.c \ +$src_dir/xfixes/saveset.c \ +$src_dir/xfixes/select.c \ +" +mkdir -p $build_dir/xfixes +for f in $xfixes_c_files +do + xfixes_obj=$build_dir/xfixes/$(basename $f .c).o + xfixes_objs="$xfixes_objs $xfixes_obj" + + $cc $cppflags $f -o $xfixes_obj & +done +#=================================================================================================== +damageext_c_files="\ +$src_dir/damageext/damageext.c \ +" +mkdir -p $build_dir/damageext +for f in $damageext_c_files +do + damageext_obj=$build_dir/damageext/$(basename $f .c).o + damageext_objs="$damageext_objs $damageext_obj" + + $cc $cppflags $f -o $damageext_obj & +done +#=================================================================================================== +composite_c_files="\ +$src_dir/composite/compalloc.c \ +$src_dir/composite/compext.c \ +$src_dir/composite/compinit.c \ +$src_dir/composite/compoverlay.c \ +$src_dir/composite/compwindow.c \ +" +mkdir -p $build_dir/composite +for f in $composite_c_files +do + composite_obj=$build_dir/composite/$(basename $f .c).o + composite_objs="$composite_objs $composite_obj" + + $cc $cppflags $f -o $composite_obj & +done +#=================================================================================================== +glx_c_files="\ +$src_dir/glx/indirect_dispatch.c \ +$src_dir/glx/indirect_dispatch_swap.c \ +$src_dir/glx/indirect_reqsize.c \ +$src_dir/glx/indirect_size_get.c \ +$src_dir/glx/indirect_table.c \ +$src_dir/glx/clientinfo.c \ +$src_dir/glx/createcontext.c \ +$src_dir/glx/extension_string.c \ +$src_dir/glx/indirect_util.c \ +$src_dir/glx/indirect_program.c \ +$src_dir/glx/indirect_texture_compression.c \ +$src_dir/glx/glxcmds.c \ +$src_dir/glx/glxcmdsswap.c \ +$src_dir/glx/glxext.c \ +$src_dir/glx/glxdriswrast.c \ +$src_dir/glx/glxdricommon.c \ +$src_dir/glx/glxscreens.c \ +$src_dir/glx/render2.c \ +$src_dir/glx/render2swap.c \ +$src_dir/glx/renderpix.c \ +$src_dir/glx/renderpixswap.c \ +$src_dir/glx/rensize.c \ +$src_dir/glx/single2.c \ +$src_dir/glx/single2swap.c \ +$src_dir/glx/singlepix.c \ +$src_dir/glx/singlepixswap.c \ +$src_dir/glx/singlesize.c \ +$src_dir/glx/swap_interval.c \ +$src_dir/glx/xfont.c \ +" +mkdir -p $build_dir/glx +for f in $glx_c_files +do + glx_obj=$build_dir/glx/$(basename $f .c).o + glx_objs="$glx_objs $glx_obj" + + $cc -I$src_dir/glx \ + -I$src_dir/hw/xfree86/common \ + -I$src_dir/hw/xfree86/dri2 \ + $cppflags \ + -D__GLX_ALIGN64 $f -o $glx_obj & +done +#--------------------------------------------------------------------------------------------------- +glxdri_c_files="\ +$src_dir/glx/glxdri2.c \ +" +for f in $glxdri_c_files +do + glxdri_obj=$build_dir/glx/$(basename $f .c).o + glxdri_objs="$glxdri_objs $glxdri_obj" + + $cc -I$src_dir/glx \ + -I$src_dir/hw/xfree86/common \ + -I$src_dir/hw/xfree86/dri2 \ + $cppflags \ + -D__GLX_ALIGN64 $f -o $glxdri_obj & +done +#--------------------------------------------------------------------------------------------------- +glxvnd_c_files="\ +$src_dir/glx/vndcmds.c \ +$src_dir/glx/vndext.c \ +$src_dir/glx/vndservermapping.c \ +$src_dir/glx/vndservervendor.c \ +" +for f in $glxvnd_c_files +do + glxvnd_obj=$build_dir/glx/$(basename $f .c).o + glxvnd_objs="$glxvnd_objs $glxvnd_obj" + + $cc -I$src_dir/glx \ + -I$src_dir/hw/xfree86/common \ + -I$src_dir/hw/xfree86/dri2 \ + $cppflags \ + -D__GLX_ALIGN64 $f -o $glxvnd_obj & +done +#=================================================================================================== +present_c_files="\ +$src_dir/present/present.c \ +$src_dir/present/present_event.c \ +$src_dir/present/present_execute.c \ +$src_dir/present/present_fake.c \ +$src_dir/present/present_fence.c \ +$src_dir/present/present_notify.c \ +$src_dir/present/present_request.c \ +$src_dir/present/present_scmd.c \ +$src_dir/present/present_screen.c \ +$src_dir/present/present_vblank.c \ +" +mkdir -p $build_dir/present +for f in $present_c_files +do + present_obj=$build_dir/present/$(basename $f .c).o + present_objs="$present_objs $present_obj" + + $cc $cppflags $f -o $present_obj & +done +#=================================================================================================== +dri3_c_files="\ +$src_dir/dri3/dri3.c \ +$src_dir/dri3/dri3_request.c \ +$src_dir/dri3/dri3_screen.c \ +" +mkdir -p $build_dir/dri3 +for f in $dri3_c_files +do + dri3_obj=$build_dir/dri3/$(basename $f .c).o + dri3_objs="$dri3_objs $dri3_obj" + + $cc $cppflags $f -o $dri3_obj & +done +#=================================================================================================== +exa_c_files="\ +$src_dir/exa/exa.c \ +$src_dir/exa/exa_classic.c \ +$src_dir/exa/exa_migration_classic.c \ +$src_dir/exa/exa_driver.c \ +$src_dir/exa/exa_mixed.c \ +$src_dir/exa/exa_migration_mixed.c \ +$src_dir/exa/exa_accel.c \ +$src_dir/exa/exa_glyphs.c \ +$src_dir/exa/exa_offscreen.c \ +$src_dir/exa/exa_render.c \ +$src_dir/exa/exa_unaccel.c \ +" +mkdir -p $build_dir/exa +for f in $exa_c_files +do + exa_obj=$build_dir/exa/$(basename $f .c).o + exa_objs="$exa_objs $exa_obj" + + $cc $cppflags $f -o $exa_obj & +done +#=================================================================================================== +glamor_c_files="\ +$src_dir/glamor/glamor.c \ +$src_dir/glamor/glamor_copy.c \ +$src_dir/glamor/glamor_core.c \ +$src_dir/glamor/glamor_dash.c \ +$src_dir/glamor/glamor_font.c \ +$src_dir/glamor/glamor_composite_glyphs.c \ +$src_dir/glamor/glamor_image.c \ +$src_dir/glamor/glamor_lines.c \ +$src_dir/glamor/glamor_segs.c \ +$src_dir/glamor/glamor_render.c \ +$src_dir/glamor/glamor_gradient.c \ +$src_dir/glamor/glamor_prepare.c \ +$src_dir/glamor/glamor_program.c \ +$src_dir/glamor/glamor_rects.c \ +$src_dir/glamor/glamor_spans.c \ +$src_dir/glamor/glamor_text.c \ +$src_dir/glamor/glamor_transfer.c \ +$src_dir/glamor/glamor_transform.c \ +$src_dir/glamor/glamor_trapezoid.c \ +$src_dir/glamor/glamor_triangles.c \ +$src_dir/glamor/glamor_addtraps.c \ +$src_dir/glamor/glamor_glyphblt.c \ +$src_dir/glamor/glamor_points.c \ +$src_dir/glamor/glamor_pixmap.c \ +$src_dir/glamor/glamor_largepixmap.c \ +$src_dir/glamor/glamor_picture.c \ +$src_dir/glamor/glamor_vbo.c \ +$src_dir/glamor/glamor_window.c \ +$src_dir/glamor/glamor_fbo.c \ +$src_dir/glamor/glamor_compositerects.c \ +$src_dir/glamor/glamor_utils.c \ +$src_dir/glamor/glamor_sync.c \ +$src_dir/glamor/glamor_xv.c \ +$src_dir/glamor/glamor_glx_provider.c \ +" +mkdir -p $build_dir/glamor +for f in $glamor_c_files +do + glamor_obj=$build_dir/glamor/$(basename $f .c).o + glamor_objs="$glamor_objs $glamor_obj" + + $cc $cppflags $f -o $glamor_obj & +done +#=================================================================================================== +config_c_files="\ +$src_dir/config/config.c \ +$src_dir/config/udev.c \ +" +mkdir -p $build_dir/config +for f in $config_c_files +do + config_obj=$build_dir/config/$(basename $f .c).o + config_objs="$config_objs $config_obj" + + $cc $cppflags $f -o $config_obj & +done +#=================================================================================================== +mkdir -p $build_dir/include +sed -e "s:@version_0@:$version_0:g" \ + -e "s:@version_1@:$version_1:g" \ + -e "s:@version_2@:$version_2:g" \ + -e "s:@version_3@:$version_3:g" \ + -e "s:@defaultmodulepath@:$defaultmodulepath:g" \ + -e "s:@defaultlibrarypath@:$defaultlibrarypath:g" \ + -e "s:@defaultlogdir@:$defaultlogdir:g" \ + <$src_dir/contrib/xorg-config.h.in \ + >$build_dir/include/xorg-config.h +#--------------------------------------------------------------------------------------------------- +mkdir -p $build_dir/hw/xfree86/common + +cat $src_dir/hw/xfree86/common/vesamodes $src_dir/hw/xfree86/common/extramodes | \ + LC_ALL=C $awk -f $src_dir/hw/xfree86/common/modeline2c.awk \ + > $build_dir/hw/xfree86/common/xf86DefModeSet.c + +hw_xfree86_common_c_files="\ +$build_dir/hw/xfree86/common/xf86DefModeSet.c \ +$src_dir/hw/xfree86/common/xf86Configure.c \ +$src_dir/hw/xfree86/common/xf86Bus.c \ +$src_dir/hw/xfree86/common/xf86Config.c \ +$src_dir/hw/xfree86/common/xf86Cursor.c \ +$src_dir/hw/xfree86/common/xf86DPMS.c \ +$src_dir/hw/xfree86/common/xf86Events.c \ +$src_dir/hw/xfree86/common/xf86Globals.c \ +$src_dir/hw/xfree86/common/xf86AutoConfig.c \ +$src_dir/hw/xfree86/common/xf86Option.c \ +$src_dir/hw/xfree86/common/xf86Init.c \ +$src_dir/hw/xfree86/common/xf86VidMode.c \ +$src_dir/hw/xfree86/common/xf86fbman.c \ +$src_dir/hw/xfree86/common/xf86cmap.c \ +$src_dir/hw/xfree86/common/xf86Helper.c \ +$src_dir/hw/xfree86/common/xf86PM.c \ +$src_dir/hw/xfree86/common/xf86Xinput.c \ +$src_dir/hw/xfree86/common/xisb.c \ +$src_dir/hw/xfree86/common/xf86Mode.c \ +$src_dir/hw/xfree86/common/xorgHelper.c \ +$src_dir/hw/xfree86/common/xf86Extensions.c \ +$src_dir/hw/xfree86/common/xf86xv.c \ +$src_dir/hw/xfree86/common/xf86xvmc.c \ +$src_dir/hw/xfree86/common/xf86fbBus.c \ +$src_dir/hw/xfree86/common/xf86noBus.c \ +$src_dir/hw/xfree86/common/xf86pciBus.c \ +$src_dir/hw/xfree86/common/xf86VGAarbiter.c \ +$src_dir/hw/xfree86/common/xf86platformBus.c \ +$src_dir/hw/xfree86/common/xf86RandR.c \ +" +for f in $hw_xfree86_common_c_files +do + hw_xfree86_common_obj=$build_dir/hw/xfree86/common/$(basename $f .c).o + hw_xfree86_common_objs="$hw_xfree86_common_objs $hw_xfree86_common_obj" + + $cc $cppflags \ + -DHAVE_XORG_CONFIG_H -DHAVE_ACPI \ + -I$src_dir/hw/xfree86/os-support/bus \ + -I$src_dir/hw/xfree86/os-support \ + -I$src_dir/hw/xfree86/parser \ + -I$src_dir/hw/xfree86/loader \ + -I$src_dir/hw/xfree86/ramdac \ + -I$src_dir/hw/xfree86/ddc \ + -I$src_dir/hw/xfree86/i2c \ + -I$src_dir/hw/xfree86/modes \ + -I$src_dir/hw/xfree86/common \ + $f -o $hw_xfree86_common_obj & +done +#=================================================================================================== +hw_xfree86_ddc_c_files="\ +$src_dir/hw/xfree86/ddc/ddc.c \ +$src_dir/hw/xfree86/ddc/interpret_edid.c \ +$src_dir/hw/xfree86/ddc/print_edid.c \ +$src_dir/hw/xfree86/ddc/ddcProperty.c \ +" +mkdir -p $build_dir/hw/xfree86/ddc +for f in $hw_xfree86_ddc_c_files +do + hw_xfree86_ddc_obj=$build_dir/hw/xfree86/ddc/$(basename $f .c).o + hw_xfree86_ddc_objs="$hw_xfree86_ddc_objs $hw_xfree86_ddc_obj" + + $cc $cppflags \ + -DHAVE_XORG_CONFIG_H \ + -I$src_dir/hw/xfree86/os-support \ + -I$src_dir/hw/xfree86/i2c \ + -I$src_dir/hw/xfree86/common \ + $f -o $hw_xfree86_ddc_obj & +done +#=================================================================================================== +hw_xfree86_x86emu_c_files="\ +$src_dir/hw/xfree86/x86emu/debug.c \ +$src_dir/hw/xfree86/x86emu/decode.c \ +$src_dir/hw/xfree86/x86emu/fpu.c \ +$src_dir/hw/xfree86/x86emu/ops2.c \ +$src_dir/hw/xfree86/x86emu/ops.c \ +$src_dir/hw/xfree86/x86emu/prim_ops.c \ +$src_dir/hw/xfree86/x86emu/sys.c \ +" +mkdir -p $build_dir/hw/xfree86/x86emu +for f in $hw_xfree86_x86emu_c_files +do + hw_xfree86_x86emu_obj=$build_dir/hw/xfree86/x86emu/$(basename $f .c).o + hw_xfree86_x86emu_objs="$hw_xfree86_x86emu_objs $hw_xfree86_x86emu_obj" + + $cc $cppflags \ + -DHAVE_XORG_CONFIG_H \ + -I$src_dir/hw/xfree86/x86emu \ + $f -o $hw_xfree86_x86emu_obj & +done +#=================================================================================================== +hw_xfree86_int10_c_files="\ +$src_dir/hw/xfree86/int10/vbe.c \ +$src_dir/hw/xfree86/int10/vbeModes.c \ +$src_dir/hw/xfree86/int10/helper_exec.c \ +$src_dir/hw/xfree86/int10/xf86int10.c \ +$src_dir/hw/xfree86/int10/xf86int10module.c \ +$src_dir/hw/xfree86/int10/xf86x86emu.c \ +$src_dir/hw/xfree86/int10/generic.c \ +$src_dir/hw/xfree86/int10/x86emu.c \ +" +mkdir -p $build_dir/hw/xfree86/int10 +for f in $hw_xfree86_int10_c_files +do + hw_xfree86_int10_obj=$build_dir/hw/xfree86/int10/$(basename $f .c).o + hw_xfree86_int10_objs="$hw_xfree86_int10_objs $hw_xfree86_int10_obj" + + $cc $cppflags \ + -DHAVE_XORG_CONFIG_H \ + -D_PC -D_X86EMU -DNO_SYS_HEADERS \ + -I$src_dir/hw/xfree86/os-support/bus \ + -I$src_dir/hw/xfree86/os-support \ + -I$src_dir/hw/xfree86/i2c \ + -I$src_dir/hw/xfree86/parser \ + -I$src_dir/hw/xfree86/ddc \ + -I$src_dir/hw/xfree86/modes \ + -I$src_dir/hw/xfree86/common \ + -I$src_dir/hw/xfree86/x86emu \ + -I$src_dir/hw/xfree86/int10 \ + -I$src_dir/hw/xfree86/helper_mem \ + $f -o $hw_xfree86_int10_obj & +done +#=================================================================================================== +hw_xfree86_os_support_bus_c_files="\ +$src_dir/hw/xfree86/os-support/bus/Pci.c \ +$src_dir/hw/xfree86/os-support/bus/nobus.c \ +" +mkdir -p $build_dir/hw/xfree86/os-support/bus +for f in $hw_xfree86_os_support_bus_c_files +do + hw_xfree86_os_support_bus_obj=$build_dir/hw/xfree86/os-support/bus/$(basename $f .c).o + hw_xfree86_os_support_bus_objs="$hw_xfree86_os_support_bus_objs $hw_xfree86_os_support_bus_obj" + + $cc $cppflags \ + -DHAVE_XORG_CONFIG_H \ + $f -o $hw_xfree86_os_support_bus_obj & +done +#=================================================================================================== +hw_xfree86_os_support_linux_c_files="\ +$src_dir/hw/xfree86/os-support/linux/lnx_init.c \ +$src_dir/hw/xfree86/os-support/linux/lnx_video.c \ +$src_dir/hw/xfree86/os-support/linux/lnx_kmod.c \ +$src_dir/hw/xfree86/os-support/linux/lnx_bell.c \ +$src_dir/hw/xfree86/os-support/shared/drm_platform.c \ +$src_dir/hw/xfree86/os-support/shared/VTsw_usl.c \ +$src_dir/hw/xfree86/os-support/shared/posix_tty.c \ +$src_dir/hw/xfree86/os-support/shared/vidmem.c \ +$src_dir/hw/xfree86/os-support/shared/sigio.c \ +$src_dir/hw/xfree86/os-support/linux/lnx_acpi.c \ +$src_dir/hw/xfree86/os-support/linux/lnx_apm.c \ +$src_dir/hw/xfree86/os-support/linux/lnx_agp.c \ +" +mkdir -p $build_dir/hw/xfree86/os-support/linux +for f in $hw_xfree86_os_support_linux_c_files +do + hw_xfree86_os_support_linux_obj=$build_dir/hw/xfree86/os-support/linux/$(basename $f .c).o + hw_xfree86_os_support_linux_objs="$hw_xfree86_os_support_linux_objs $hw_xfree86_os_support_linux_obj" + + $cc $cppflags \ + -DHAVE_XORG_CONFIG_H \ + -DHAVE_ACPI -DHAVE_APM \ + -DHAVE_SYSV_IPC \ + -I$src_dir/hw/xfree86/os-support \ + -I$src_dir/hw/xfree86/common \ + $f -o $hw_xfree86_os_support_linux_obj & +done +#=================================================================================================== +hw_xfree86_os_support_misc_c_files="\ +$src_dir/hw/xfree86/os-support/misc/SlowBcopy.c \ +" +mkdir -p $build_dir/hw/xfree86/os-support/misc +for f in $hw_xfree86_os_support_misc_c_files +do + hw_xfree86_os_support_misc_obj=$build_dir/hw/xfree86/os-support/misc/$(basename $f .c).o + hw_xfree86_os_support_misc_objs="$hw_xfree86_os_support_misc_objs $hw_xfree86_os_support_misc_obj" + + $cc $cppflags \ + -DHAVE_XORG_CONFIG_H \ + -I$src_dir/hw/xfree86/os-support \ + -I$src_dir/hw/xfree86/common \ + $f -o $hw_xfree86_os_support_misc_obj & +done +#=================================================================================================== +hw_xfree86_parser_c_files="\ +$src_dir/hw/xfree86/parser/Device.c \ +$src_dir/hw/xfree86/parser/Files.c \ +$src_dir/hw/xfree86/parser/Flags.c \ +$src_dir/hw/xfree86/parser/Input.c \ +$src_dir/hw/xfree86/parser/InputClass.c \ +$src_dir/hw/xfree86/parser/OutputClass.c \ +$src_dir/hw/xfree86/parser/Layout.c \ +$src_dir/hw/xfree86/parser/Module.c \ +$src_dir/hw/xfree86/parser/Video.c \ +$src_dir/hw/xfree86/parser/Monitor.c \ +$src_dir/hw/xfree86/parser/Pointer.c \ +$src_dir/hw/xfree86/parser/Screen.c \ +$src_dir/hw/xfree86/parser/Vendor.c \ +$src_dir/hw/xfree86/parser/read.c \ +$src_dir/hw/xfree86/parser/scan.c \ +$src_dir/hw/xfree86/parser/write.c \ +$src_dir/hw/xfree86/parser/DRI.c \ +$src_dir/hw/xfree86/parser/Extensions.c \ +" +mkdir -p $build_dir/hw/xfree86/parser +for f in $hw_xfree86_parser_c_files +do + hw_xfree86_parser_obj=$build_dir/hw/xfree86/parser/$(basename $f .c).o + hw_xfree86_parser_objs="$hw_xfree86_parser_objs $hw_xfree86_parser_obj" + + $cc $cppflags \ + -DHAVE_XORG_CONFIG_H \ + -DDATADIR=\"$datadir\" \ + -I$src_dir/hw/xfree86/parser \ + -I$src_dir/hw/xfree86/common \ + $f -o $hw_xfree86_parser_obj & +done +#=================================================================================================== +hw_xfree86_ramdac_c_files="\ +$src_dir/hw/xfree86/ramdac/xf86CursorRD.c \ +$src_dir/hw/xfree86/ramdac/xf86HWCurs.c \ +" +mkdir -p $build_dir/hw/xfree86/ramdac +for f in $hw_xfree86_ramdac_c_files +do + hw_xfree86_ramdac_obj=$build_dir/hw/xfree86/ramdac/$(basename $f .c).o + hw_xfree86_ramdac_objs="$hw_xfree86_ramdac_objs $hw_xfree86_ramdac_obj" + + $cc $cppflags \ + -DHAVE_XORG_CONFIG_H \ + -I$src_dir/hw/xfree86/os-support \ + -I$src_dir/hw/xfree86/common \ + $f -o $hw_xfree86_ramdac_obj & +done +#=================================================================================================== +hw_xfree86_vgahw_c_files="\ +$src_dir/hw/xfree86/vgahw/vgaHW.c \ +$src_dir/hw/xfree86/vgahw/vgaHWmodule.c \ +" +mkdir -p $build_dir/hw/xfree86/vgahw +for f in $hw_xfree86_vgahw_c_files +do + hw_xfree86_vgahw_obj=$build_dir/hw/xfree86/vgahw/$(basename $f .c).o + hw_xfree86_vgahw_objs="$hw_xfree86_vgahw_objs $hw_xfree86_vgahw_obj" + + $cc $cppflags \ + -DHAVE_XORG_CONFIG_H \ + -I$src_dir/hw/xfree86/os-support/bus \ + -I$src_dir/hw/xfree86/os-support \ + -I$src_dir/hw/xfree86/i2c \ + -I$src_dir/hw/xfree86/ddc \ + -I$src_dir/hw/xfree86/common \ + $f -o $hw_xfree86_vgahw_obj & +done +#=================================================================================================== +hw_xfree86_loader_c_files="\ +$src_dir/hw/xfree86/loader/loader.c \ +$src_dir/hw/xfree86/loader/loadmod.c \ +" +mkdir -p $build_dir/hw/xfree86/loader +for f in $hw_xfree86_loader_c_files +do + hw_xfree86_loader_obj=$build_dir/hw/xfree86/loader/$(basename $f .c).o + hw_xfree86_loader_objs="$hw_xfree86_loader_objs $hw_xfree86_loader_obj" + + $cc $cppflags \ + -DHAVE_XORG_CONFIG_H \ + -I$src_dir/hw/xfree86/common \ + $f -o $hw_xfree86_loader_obj & +done +#=================================================================================================== +hw_xfree86_modes_c_files="\ +$src_dir/hw/xfree86/modes/xf86Crtc.c \ +$src_dir/hw/xfree86/modes/xf86Cursors.c \ +$src_dir/hw/xfree86/modes/xf86gtf.c \ +$src_dir/hw/xfree86/modes/xf86EdidModes.c \ +$src_dir/hw/xfree86/modes/xf86Modes.c \ +$src_dir/hw/xfree86/modes/xf86RandR12.c \ +$src_dir/hw/xfree86/modes/xf86Rotate.c \ +" +mkdir -p $build_dir/hw/xfree86/modes +for f in $hw_xfree86_modes_c_files +do + hw_xfree86_modes_obj=$build_dir/hw/xfree86/modes/$(basename $f .c).o + hw_xfree86_modes_objs="$hw_xfree86_modes_objs $hw_xfree86_modes_obj" + + $cc $cppflags \ + -DHAVE_XORG_CONFIG_H \ + -I$src_dir/hw/xfree86/ramdac \ + -I$src_dir/hw/xfree86/ddc \ + -I$src_dir/hw/xfree86/i2c \ + -I$src_dir/hw/xfree86/parser \ + -I$src_dir/hw/xfree86/common \ + $f -o $hw_xfree86_modes_obj & +done +#=================================================================================================== +hw_xfree86_dri_c_files="\ +$src_dir/hw/xfree86/dri/dri.c \ +$src_dir/hw/xfree86/dri/xf86dri.c \ +" +mkdir -p $build_dir/hw/xfree86/dri +for f in $hw_xfree86_dri_c_files +do + hw_xfree86_dri_obj=$build_dir/hw/xfree86/dri/$(basename $f .c).o + hw_xfree86_dri_objs="$hw_xfree86_dri_objs $hw_xfree86_dri_obj" + + $cc $cppflags \ + -DHAVE_XORG_CONFIG_H \ + -I$src_dir/hw/xfree86/os-support \ + -I$src_dir/hw/xfree86/i2c \ + -I$src_dir/hw/xfree86/ramdac \ + -I$src_dir/hw/xfree86/ddc \ + -I$src_dir/hw/xfree86/modes \ + -I$src_dir/hw/xfree86/parser \ + -I$src_dir/hw/xfree86/common \ + $f -o $hw_xfree86_dri_obj & +done +#=================================================================================================== +hw_xfree86_dri2_c_files="\ +$src_dir/hw/xfree86/dri2/dri2.c \ +$src_dir/hw/xfree86/dri2/dri2ext.c \ +" +mkdir -p $build_dir/hw/xfree86/dri2 +for f in $hw_xfree86_dri2_c_files +do + hw_xfree86_dri2_obj=$build_dir/hw/xfree86/dri2/$(basename $f .c).o + hw_xfree86_dri2_objs="$hw_xfree86_dri2_objs $hw_xfree86_dri2_obj" + + $cc $cppflags \ + -DHAVE_XORG_CONFIG_H \ + -I$src_dir/hw/xfree86/dri2 \ + -I$src_dir/hw/xfree86/common \ + $f -o $hw_xfree86_dri2_obj & +done +#=================================================================================================== +hw_xfree86_dixmods_c_files="\ +$src_dir/mi/miinitext.c \ +" +mkdir -p $build_dir/hw/xfree86/dixmods +for f in $hw_xfree86_dixmods_c_files +do + hw_xfree86_dixmods_obj=$build_dir/hw/xfree86/dixmods/$(basename $f .c).o + hw_xfree86_dixmods_objs="$hw_xfree86_dixmods_objs $hw_xfree86_dixmods_obj" + + $cc $cppflags \ + -DHAVE_XORG_CONFIG_H \ + -I$src_dir/hw/xfree86/common \ + $f -o $hw_xfree86_dixmods_obj & +done +#=================================================================================================== +hw_xfree86_i2c_c_files="\ +$src_dir/hw/xfree86/i2c/xf86i2c.c \ +" +mkdir -p $build_dir/hw/xfree86/i2c +for f in $hw_xfree86_i2c_c_files +do + hw_xfree86_i2c_obj=$build_dir/hw/xfree86/i2c/$(basename $f .c).o + hw_xfree86_i2c_objs="$hw_xfree86_i2c_objs $hw_xfree86_i2c_obj" + + $cc $cppflags \ + -DHAVE_XORG_CONFIG_H \ + -I$src_dir/hw/xfree86/os-support \ + -I$src_dir/hw/xfree86/common \ + $f -o $hw_xfree86_i2c_obj & +done +#=================================================================================================== +hw_xfree86_xkb_c_files="\ +$src_dir/hw/xfree86/xkb/xkbVT.c \ +$src_dir/hw/xfree86/xkb/xkbPrivate.c \ +$src_dir/hw/xfree86/xkb/xkbKillSrv.c \ +" +mkdir -p $build_dir/hw/xfree86/xkb +for f in $hw_xfree86_xkb_c_files +do + hw_xfree86_xkb_obj=$build_dir/hw/xfree86/xkb/$(basename $f .c).o + hw_xfree86_xkb_objs="$hw_xfree86_xkb_objs $hw_xfree86_xkb_obj" + + $cc $cppflags \ + -DHAVE_XORG_CONFIG_H \ + -I$src_dir/hw/xfree86/common \ + $f -o $hw_xfree86_xkb_obj & +done +#=================================================================================================== +hw_xfree86_dixmods_glxmodule_c_files="\ +$src_dir/hw/xfree86/dixmods/glxmodule.c +" +mkdir -p $build_dir/hw/xfree86/dixmods +for f in $hw_xfree86_dixmods_glxmodule_c_files +do + hw_xfree86_dixmods_glxmodule_obj=$build_dir/hw/xfree86/dixmods/$(basename $f .c).o + hw_xfree86_dixmods_glxmodule_objs="$hw_xfree86_dixmods_glxmodule_objs $hw_xfree86_dixmods_glxmodule_obj" + + $cc $cppflags \ + -DHAVE_XORG_CONFIG_H \ + -I$src_dir/hw/xfree86/common \ + -I$src_dir/glx \ + $f -o $hw_xfree86_dixmods_glxmodule_obj & +done +#=================================================================================================== +hw_xfree86_dixmods_libwfb_c_files="\ +$src_dir/hw/xfree86/dixmods/fbmodule.c +" +mkdir -p $build_dir/hw/xfree86/dixmods +for f in $hw_xfree86_dixmods_libwfb_c_files +do + hw_xfree86_dixmods_libwfb_obj=$build_dir/hw/xfree86/dixmods/$(basename $f .c).o + hw_xfree86_dixmods_libwfb_objs="$hw_xfree86_dixmods_libwfb_objs $hw_xfree86_dixmods_libwfb_obj" + + $cc $cppflags \ + -DHAVE_XORG_CONFIG_H \ + -DFB_ACCESS_WRAPPER \ + -I$src_dir/hw/xfree86/common \ + $f -o $hw_xfree86_dixmods_libwfb_obj & +done +#=================================================================================================== +hw_xfree86_dixmods_libshadow_c_files="\ +$src_dir/hw/xfree86/dixmods/shmodule.c +" +mkdir -p $build_dir/hw/xfree86/dixmods +for f in $hw_xfree86_dixmods_libshadow_c_files +do + hw_xfree86_dixmods_libshadow_obj=$build_dir/hw/xfree86/dixmods/$(basename $f .c).o + hw_xfree86_dixmods_libshadow_objs="$hw_xfree86_dixmods_libshadow_objs $hw_xfree86_dixmods_libshadow_obj" + + $cc $cppflags \ + -DHAVE_XORG_CONFIG_H \ + -I$src_dir/hw/xfree86/common \ + $f -o $hw_xfree86_dixmods_libshadow_obj & +done +#=================================================================================================== +hw_xfree86_fbdevhw_c_files="\ +$src_dir/hw/xfree86/fbdevhw/fbdevhw.c +" +mkdir -p $build_dir/hw/xfree86/fbdevhw +for f in $hw_xfree86_fbdevhw_c_files +do + hw_xfree86_fbdevhw_obj=$build_dir/hw/xfree86/fbdevhw/$(basename $f .c).o + hw_xfree86_fbdevhw_objs="$hw_xfree86_fbdevhw_objs $hw_xfree86_fbdevhw_obj" + + $cc $cppflags \ + -DHAVE_XORG_CONFIG_H \ + -I$src_dir/hw/xfree86/os-support/bus \ + -I$src_dir/hw/xfree86/os-support \ + -I$src_dir/hw/xfree86/parser \ + -I$src_dir/hw/xfree86/ddc \ + -I$src_dir/hw/xfree86/modes \ + -I$src_dir/hw/xfree86/common \ + $f -o $hw_xfree86_fbdevhw_obj & +done +#=================================================================================================== +hw_xfree86_shadowfb_libshadowfb_c_files="\ +$src_dir/hw/xfree86/shadowfb/sfbmodule.c +$src_dir/hw/xfree86/shadowfb/shadowfb.c +" +mkdir -p $build_dir/hw/xfree86/shadowfb +for f in $hw_xfree86_shadowfb_libshadowfb_c_files +do + hw_xfree86_shadowfb_libshadowfb_obj=$build_dir/hw/xfree86/shadowfb/$(basename $f .c).o + hw_xfree86_shadowfb_libshadowfb_objs="$hw_xfree86_shadowfb_libshadowfb_objs $hw_xfree86_shadowfb_libshadowfb_obj" + + $cc $cppflags \ + -DHAVE_XORG_CONFIG_H \ + -I$src_dir/hw/xfree86/common \ + $f -o $hw_xfree86_shadowfb_libshadowfb_obj & +done +#=================================================================================================== +hw_xfree86_exa_libexa_c_files="\ +$src_dir/hw/xfree86/exa/examodule.c +" +mkdir -p $build_dir/hw/xfree86/exa +for f in $hw_xfree86_exa_libexa_c_files +do + hw_xfree86_exa_libexa_obj=$build_dir/hw/xfree86/exa/$(basename $f .c).o + hw_xfree86_exa_libexa_objs="$hw_xfree86_exa_libexa_objs $hw_xfree86_exa_libexa_obj" + + $cc $cppflags \ + -DHAVE_XORG_CONFIG_H \ + -I$src_dir/hw/xfree86/common \ + -I$src_dir/exa \ + $f -o $hw_xfree86_exa_libexa_obj & +done +#=================================================================================================== +glamor_libglamoregl_c_files="\ +$src_dir/glamor/glamor_egl.c \ +$src_dir/glamor/glamor_eglmodule.c \ +$src_dir/hw/xfree86/glamor_egl/glamor_xf86_xv.c \ +" +mkdir -p $build_dir/glamor +for f in $glamor_libglamoregl_c_files +do + glamor_libglamoregl_obj=$build_dir/glamor/$(basename $f .c).o + glamor_libglamoregl_objs="$glamor_libglamoregl_objs $glamor_libglamoregl_obj" + + $cc $cppflags \ + -DHAVE_XORG_CONFIG_H \ + -I$src_dir/hw/xfree86/common \ + -I$src_dir/glamor \ + -I$src_dir/dri3 \ + $f -o $glamor_libglamoregl_obj & +done +#=================================================================================================== +hw_xfree86_drivers_modesetting_c_files="\ +$src_dir/hw/xfree86/drivers/modesetting/dri2.c \ +$src_dir/hw/xfree86/drivers/modesetting/driver.c \ +$src_dir/hw/xfree86/drivers/modesetting/drmmode_display.c \ +$src_dir/hw/xfree86/drivers/modesetting/dumb_bo.c \ +$src_dir/hw/xfree86/drivers/modesetting/present.c \ +$src_dir/hw/xfree86/drivers/modesetting/vblank.c \ +$src_dir/hw/xfree86/drivers/modesetting/pageflip.c \ +" +mkdir -p $build_dir/hw/xfree86/drivers/modesetting +for f in $hw_xfree86_drivers_modesetting_c_files +do + hw_xfree86_drivers_modesetting_obj=$build_dir/hw/xfree86/drivers/modesetting/$(basename $f .c).o + hw_xfree86_drivers_modesetting_objs="$hw_xfree86_drivers_modesetting_objs $hw_xfree86_drivers_modesetting_obj" + + $cc $cppflags \ + -DHAVE_XORG_CONFIG_H \ + -I$src_dir/hw/xfree86/dri2 \ + -I$src_dir/hw/xfree86/i2c \ + -I$src_dir/hw/xfree86/ramdac \ + -I$src_dir/hw/xfree86/parser \ + -I$src_dir/hw/xfree86/ddc \ + -I$src_dir/hw/xfree86/modes \ + -I$src_dir/hw/xfree86/os-support/bus \ + -I$src_dir/hw/xfree86/os-support \ + -I$src_dir/hw/xfree86/common \ + -I$src_dir/glamor \ + $f -o $hw_xfree86_drivers_modesetting_obj & +done +#=================================================================================================== +hw_xfree86_drivers_inputtest_c_files="\ +$src_dir/hw/xfree86/drivers/inputtest/xf86-input-inputtest.c \ +" +mkdir -p $build_dir/hw/xfree86/drivers/inputtest +for f in $hw_xfree86_drivers_inputtest_c_files +do + hw_xfree86_drivers_inputtest_obj=$build_dir/hw/xfree86/drivers/inputtest/$(basename $f .c).o + hw_xfree86_drivers_inputtest_objs="$hw_xfree86_drivers_inputtest_objs $hw_xfree86_drivers_inputtest_obj" + + $cc $cppflags \ + -DHAVE_XORG_CONFIG_H \ + -I$src_dir/hw/xfree86/common \ + $f -o $hw_xfree86_drivers_inputtest_obj & +done +#################################################################################################### +#################################################################################################### +#################################################################################################### +wait +#################################################################################################### +#################################################################################################### +#################################################################################################### +# building of archives for cherry picking during linking +$ar_rcs $build_dir/libxserver_glx.a $glx_objs & +$ar_rcs $build_dir/libglamor.a $glamor_objs & +wait +#=================================================================================================== +# building of binaries +#=================================================================================================== +( +mkdir -p $build_dir/install_root$bindir_store +mkdir -p $build_dir/install_root$bindir +$ccld \ + -o $build_dir/install_root$bindir_store/Xorg \ + \ + -Wl,--no-undefined \ + -static-libgcc \ + -ftls-model=global-dynamic -fpic -fPIC \ + -B/nyan/glibc/current/lib \ + -Wl,-s \ + -Wl,--export-dynamic \ + \ + $dix_objs \ + $hw_xfree86_loader_objs \ + $hw_xfree86_common_objs \ + $config_objs \ + $hw_xfree86_os_support_bus_objs \ + $hw_xfree86_os_support_linux_objs \ + $hw_xfree86_os_support_misc_objs \ + $hw_xfree86_parser_objs \ + $hw_xfree86_dixmods_objs \ + $hw_xfree86_modes_objs \ + $hw_xfree86_ramdac_objs \ + $hw_xfree86_ddc_objs \ + $hw_xfree86_i2c_objs \ + $composite_objs \ + $xfixes_objs \ + $xext_objs \ + $dbe_objs \ + $record_objs \ + $randr_objs \ + $render_objs \ + $damageext_objs \ + $present_objs \ + $miext_damage_objs \ + $xi_objs \ + $xkb_objs \ + $hw_xfree86_xkb_objs \ + $hw_xfree86_dri_objs \ + $hw_xfree86_dri2_objs \ + $dri3_objs \ + $miext_sync_objs \ + $mi_objs \ + $os_objs \ + $xext_vidmod_objs \ + $fb_objs \ + $glxvnd_objs \ + \ + $pixman_ldflags \ + $libpciaccess_ldflags \ + $libxfont2_ldflags \ + $libdrm_ldflags \ + $libxshmfence_ldflags \ + $libudev_ldflags \ + $libxcvt_ldflags \ + $libxau_ldflags \ + $ssl_ldflags \ + -lm -ldl -lpthread \ + -Wl,--rpath-link=\ +/nyan/libfontenc/current/lib:\ +/nyan/freetype/current/lib:\ +/nyan/libpng/current/lib + +ln -sTf $bindir_store_virtual/Xorg $build_dir/install_root$bindir/Xorg +) & +#=================================================================================================== +( +mkdir -p $build_dir/install_root$defaultmodulepath +mkdir -p $build_dir/install_root$module_store +module_name=libint10.so +$ccld \ + -o $build_dir/install_root$module_store/$module_name \ + \ + -shared \ + -Wl,-soname -Wl,$module_name \ + -static-libgcc \ + -ftls-model=global-dynamic -fpic -fPIC \ + -B/nyan/glibc/current/lib \ + -Wl,-s \ + \ + $hw_xfree86_int10_objs \ + \ + $libpciaccess_ldflags + +ln -sTf $module_store_virtual/$module_name $build_dir/install_root$defaultmodulepath/$module_name +) & +#=================================================================================================== +( +mkdir -p $build_dir/install_root$defaultmodulepath +mkdir -p $build_dir/install_root$module_store +module_name=libvgahw.so +$ccld \ + -o $build_dir/install_root$module_store/$module_name \ + \ + -shared \ + -Wl,-soname -Wl,$module_name \ + -static-libgcc \ + -ftls-model=global-dynamic -fpic -fPIC \ + -B/nyan/glibc/current/lib \ + -Wl,-s \ + \ + $hw_xfree86_vgahw_objs \ + \ + $libpciaccess_ldflags + +ln -sTf $module_store_virtual/$module_name $build_dir/install_root$defaultmodulepath/$module_name +) & +#=================================================================================================== +( +mkdir -p $build_dir/install_root$defaultmodulepath/extensions +mkdir -p $build_dir/install_root$module_store/extensions +module_name=libglx.so +$ccld \ + -o $build_dir/install_root$module_store/extensions/$module_name \ + \ + -shared \ + -Wl,-soname -Wl,$module_name \ + -static-libgcc \ + -ftls-model=global-dynamic -fpic -fPIC \ + -B/nyan/glibc/current/lib \ + -Wl,-s \ + \ + $hw_xfree86_dixmods_glxmodule_objs \ + $glxdri_objs \ + -Wl,--whole-archive \ + $build_dir/libxserver_glx.a \ + -Wl,--no-whole-archive \ + $libglvnd_gl_ldflags \ + -ldl + +ln -sTf $module_store_virtual/extensions/$module_name $build_dir/install_root$defaultmodulepath/extensions/$module_name +) & +#=================================================================================================== +( +mkdir -p $build_dir/install_root$defaultmodulepath +mkdir -p $build_dir/install_root$module_store +module_name=libwfb.so +$ccld \ + -o $build_dir/install_root$module_store/$module_name \ + \ + -shared \ + -Wl,-soname -Wl,$module_name \ + -static-libgcc \ + -ftls-model=global-dynamic -fpic -fPIC \ + -B/nyan/glibc/current/lib \ + -Wl,-s \ + \ + $fbw_objs \ + \ + $hw_xfree86_dixmods_libwfb_objs \ + $pixman_ldflags + +ln -sTf $module_store_virtual/$module_name $build_dir/install_root$defaultmodulepath/$module_name +) & +#=================================================================================================== +( +mkdir -p $build_dir/install_root$defaultmodulepath +mkdir -p $build_dir/install_root$module_store +module_name=libshadow.so +$ccld \ + -o $build_dir/install_root$module_store/$module_name \ + \ + -shared \ + -Wl,-soname -Wl,$module_name \ + -static-libgcc \ + -ftls-model=global-dynamic -fpic -fPIC \ + -B/nyan/glibc/current/lib \ + -Wl,-s \ + \ + $miext_shadow_objs \ + \ + $hw_xfree86_dixmods_libshadow_objs + +ln -sTf $module_store_virtual/$module_name $build_dir/install_root$defaultmodulepath/$module_name +) & +#=================================================================================================== +( +mkdir -p $build_dir/install_root$defaultmodulepath +mkdir -p $build_dir/install_root$module_store +module_name=libshadowfb.so +$ccld \ + -o $build_dir/install_root$module_store/$module_name \ + \ + -shared \ + -Wl,-soname -Wl,$module_name \ + -static-libgcc \ + -ftls-model=global-dynamic -fpic -fPIC \ + -B/nyan/glibc/current/lib \ + -Wl,-s \ + \ + $hw_xfree86_shadowfb_libshadowfb_objs + +ln -sTf $module_store_virtual/$module_name $build_dir/install_root$defaultmodulepath/$module_name +) & +#=================================================================================================== +( +mkdir -p $build_dir/install_root$defaultmodulepath +mkdir -p $build_dir/install_root$module_store +module_name=libexa.so +$ccld \ + -o $build_dir/install_root$module_store/$module_name \ + \ + -shared \ + -Wl,-soname -Wl,$module_name \ + -static-libgcc \ + -ftls-model=global-dynamic -fpic -fPIC \ + -B/nyan/glibc/current/lib \ + -Wl,-s \ + \ + $exa_objs \ + \ + $hw_xfree86_exa_libexa_objs \ + \ + $pixman_ldflags + +ln -sTf $module_store_virtual/$module_name $build_dir/install_root$defaultmodulepath/$module_name +) & +#=================================================================================================== +( +mkdir -p $build_dir/install_root$defaultmodulepath/drivers +mkdir -p $build_dir/install_root$module_store/drivers +module_name=modesetting_drv.so +$ccld \ + -o $build_dir/install_root$module_store/drivers/$module_name \ + \ + -shared \ + -Wl,-soname -Wl,$module_name \ + -static-libgcc \ + -ftls-model=global-dynamic -fpic -fPIC \ + -B/nyan/glibc/current/lib \ + -Wl,-s \ + \ + $hw_xfree86_drivers_modesetting_objs \ + \ + $libudev_ldflags \ + $mesa_gbm_ldflags \ + $libdrm_ldflags + +ln -sTf $module_store_virtual/drivers/$module_name $build_dir/install_root$defaultmodulepath/drivers/$module_name +) & +#=================================================================================================== +( +mkdir -p $build_dir/install_root$defaultmodulepath +mkdir -p $build_dir/install_root$module_store +module_name=libglamoregl.so +$ccld \ + -o $build_dir/install_root$module_store/$module_name \ + \ + -shared \ + -Wl,-soname -Wl,$module_name \ + -static-libgcc \ + -ftls-model=global-dynamic -fpic -fPIC \ + -B/nyan/glibc/current/lib \ + -Wl,-s \ + \ + $glamor_libglamoregl_objs \ + \ + $build_dir/libglamor.a \ + $build_dir/libxserver_glx.a \ + \ + $libepoxy_ldflags \ + $mesa_gbm_ldflags \ + $libdrm_ldflags \ + $pixman_ldflags \ + -lm +ln -sTf $module_store_virtual/$module_name $build_dir/install_root$defaultmodulepath/$module_name +) & +#=================================================================================================== +( +mkdir -p $build_dir/install_root$defaultmodulepath +mkdir -p $build_dir/install_root$module_store +module_name=libfbdevhw.so +$ccld \ + -o $build_dir/install_root$module_store/$module_name \ + -shared \ + -Wl,-soname -Wl,$module_name \ + -static-libgcc \ + -ftls-model=global-dynamic -fpic -fPIC \ + -B/nyan/glibc/current/lib \ + -Wl,-s \ + \ + $hw_xfree86_fbdevhw_objs + +ln -sTf $module_store_virtual/$module_name $build_dir/install_root$defaultmodulepath/$module_name +) & +#=================================================================================================== +( +mkdir -p $build_dir/install_root$defaultmodulepath/input +mkdir -p $build_dir/install_root$module_store/input +module_name=inputtest_drv.so +$ccld \ + -o $build_dir/install_root$module_store/input/$module_name \ + \ + -shared \ + -Wl,-soname -Wl,$module_name \ + -static-libgcc \ + -ftls-model=global-dynamic -fpic -fPIC \ + -B/nyan/glibc/current/lib \ + -Wl,-s \ + \ + $hw_xfree86_drivers_inputtest_objs \ + \ + -lpthread + +ln -sTf $module_store_virtual/input/$module_name $build_dir/install_root$defaultmodulepath/input/$module_name +) & +#################################################################################################### +#################################################################################################### +#################################################################################################### +#################################################################################################### +#################################################################################################### +#################################################################################################### +# installation finish +mkdir -p $build_dir/install_root$defaultlogdir & +#--------------------------------------------------------------------------------------------------- +mkdir -p $build_dir/install_root$datadir/X11/xorg.conf.d & +#--------------------------------------------------------------------------------------------------- +mkdir -p $build_dir/install_root$incdir_store/xorg +cp -f $src_dir/composite/compositeext.h $build_dir/install_root$incdir_store/xorg/compositeext.h & +cp -f $src_dir/present/present.h $build_dir/install_root$incdir_store/xorg/present.h & +cp -f $src_dir/present/presentext.h $build_dir/install_root$incdir_store/xorg/presentext.h & +cp -f $src_dir/include/XIstubs.h $build_dir/install_root$incdir_store/xorg/XIstubs.h & +cp -f $src_dir/include/Xprintf.h $build_dir/install_root$incdir_store/xorg/Xprintf.h & +cp -f $src_dir/include/callback.h $build_dir/install_root$incdir_store/xorg/callback.h & +cp -f $src_dir/include/client.h $build_dir/install_root$incdir_store/xorg/client.h & +cp -f $src_dir/include/closure.h $build_dir/install_root$incdir_store/xorg/closure.h & +cp -f $src_dir/include/colormap.h $build_dir/install_root$incdir_store/xorg/colormap.h & +cp -f $src_dir/include/colormapst.h $build_dir/install_root$incdir_store/xorg/colormapst.h & +cp -f $src_dir/include/cursor.h $build_dir/install_root$incdir_store/xorg/cursor.h & +cp -f $src_dir/include/cursorstr.h $build_dir/install_root$incdir_store/xorg/cursorstr.h & +cp -f $src_dir/include/displaymode.h $build_dir/install_root$incdir_store/xorg/displaymode.h & +cp -f $src_dir/include/dix.h $build_dir/install_root$incdir_store/xorg/dix.h & +cp -f $src_dir/include/dixaccess.h $build_dir/install_root$incdir_store/xorg/dixaccess.h & +cp -f $src_dir/include/dixevents.h $build_dir/install_root$incdir_store/xorg/dixevents.h & +cp -f $src_dir/include/dixfont.h $build_dir/install_root$incdir_store/xorg/dixfont.h & +cp -f $src_dir/include/dixfontstr.h $build_dir/install_root$incdir_store/xorg/dixfontstr.h & +cp -f $src_dir/include/dixgrabs.h $build_dir/install_root$incdir_store/xorg/dixgrabs.h & +cp -f $src_dir/include/dixstruct.h $build_dir/install_root$incdir_store/xorg/dixstruct.h & +cp -f $src_dir/include/exevents.h $build_dir/install_root$incdir_store/xorg/exevents.h & +cp -f $src_dir/include/extension.h $build_dir/install_root$incdir_store/xorg/extension.h & +cp -f $src_dir/include/extinit.h $build_dir/install_root$incdir_store/xorg/extinit.h & +cp -f $src_dir/include/extnsionst.h $build_dir/install_root$incdir_store/xorg/extnsionst.h & +cp -f $src_dir/include/events.h $build_dir/install_root$incdir_store/xorg/events.h & +cp -f $src_dir/include/fourcc.h $build_dir/install_root$incdir_store/xorg/fourcc.h & +cp -f $src_dir/include/gc.h $build_dir/install_root$incdir_store/xorg/gc.h & +cp -f $src_dir/include/gcstruct.h $build_dir/install_root$incdir_store/xorg/gcstruct.h & +cp -f $src_dir/include/globals.h $build_dir/install_root$incdir_store/xorg/globals.h & +cp -f $src_dir/include/glx_extinit.h $build_dir/install_root$incdir_store/xorg/glx_extinit.h & +cp -f $src_dir/include/glxvndabi.h $build_dir/install_root$incdir_store/xorg/glxvndabi.h & +cp -f $src_dir/include/hotplug.h $build_dir/install_root$incdir_store/xorg/hotplug.h & +cp -f $src_dir/include/input.h $build_dir/install_root$incdir_store/xorg/input.h & +cp -f $src_dir/include/inputstr.h $build_dir/install_root$incdir_store/xorg/inputstr.h & +cp -f $src_dir/include/list.h $build_dir/install_root$incdir_store/xorg/list.h & +cp -f $src_dir/include/misc.h $build_dir/install_root$incdir_store/xorg/misc.h & +cp -f $src_dir/include/miscstruct.h $build_dir/install_root$incdir_store/xorg/miscstruct.h & +cp -f $src_dir/include/nonsdk_extinit.h $build_dir/install_root$incdir_store/xorg/nonsdk_extinit.h & +cp -f $src_dir/include/opaque.h $build_dir/install_root$incdir_store/xorg/opaque.h & +cp -f $src_dir/include/optionstr.h $build_dir/install_root$incdir_store/xorg/optionstr.h & +cp -f $src_dir/include/os.h $build_dir/install_root$incdir_store/xorg/os.h & +cp -f $src_dir/include/pixmap.h $build_dir/install_root$incdir_store/xorg/pixmap.h & +cp -f $src_dir/include/pixmapstr.h $build_dir/install_root$incdir_store/xorg/pixmapstr.h & +cp -f $src_dir/include/privates.h $build_dir/install_root$incdir_store/xorg/privates.h & +cp -f $src_dir/include/property.h $build_dir/install_root$incdir_store/xorg/property.h & +cp -f $src_dir/include/propertyst.h $build_dir/install_root$incdir_store/xorg/propertyst.h & +cp -f $src_dir/include/ptrveloc.h $build_dir/install_root$incdir_store/xorg/ptrveloc.h & +cp -f $src_dir/include/region.h $build_dir/install_root$incdir_store/xorg/region.h & +cp -f $src_dir/include/regionstr.h $build_dir/install_root$incdir_store/xorg/regionstr.h & +cp -f $src_dir/include/resource.h $build_dir/install_root$incdir_store/xorg/resource.h & +cp -f $src_dir/include/rgb.h $build_dir/install_root$incdir_store/xorg/rgb.h & +cp -f $src_dir/include/screenint.h $build_dir/install_root$incdir_store/xorg/screenint.h & +cp -f $src_dir/include/scrnintstr.h $build_dir/install_root$incdir_store/xorg/scrnintstr.h & +cp -f $src_dir/include/selection.h $build_dir/install_root$incdir_store/xorg/selection.h & +cp -f $src_dir/include/servermd.h $build_dir/install_root$incdir_store/xorg/servermd.h & +cp -f $src_dir/include/validate.h $build_dir/install_root$incdir_store/xorg/validate.h & +cp -f $src_dir/include/window.h $build_dir/install_root$incdir_store/xorg/window.h & +cp -f $src_dir/include/windowstr.h $build_dir/install_root$incdir_store/xorg/windowstr.h & +cp -f $src_dir/include/xkbfile.h $build_dir/install_root$incdir_store/xorg/xkbfile.h & +cp -f $src_dir/include/xkbrules.h $build_dir/install_root$incdir_store/xorg/xkbrules.h & +cp -f $src_dir/include/xkbsrv.h $build_dir/install_root$incdir_store/xorg/xkbsrv.h & +cp -f $src_dir/include/xkbstr.h $build_dir/install_root$incdir_store/xorg/xkbstr.h & +cp -f $src_dir/include/xserver-properties.h $build_dir/install_root$incdir_store/xorg/xserver-properties.h & +cp -f $src_dir/include/xserver_poll.h $build_dir/install_root$incdir_store/xorg/xserver_poll.h & +cp -f $src_dir/miext/damage/damage.h $build_dir/install_root$incdir_store/xorg/damage.h & +cp -f $src_dir/miext/damage/damagestr.h $build_dir/install_root$incdir_store/xorg/damagestr.h & +cp -f $src_dir/miext/shadow/shadow.h $build_dir/install_root$incdir_store/xorg/shadow.h & +cp -f $src_dir/miext/sync/misync.h $build_dir/install_root$incdir_store/xorg/misync.h & +cp -f $src_dir/miext/sync/misyncfd.h $build_dir/install_root$incdir_store/xorg/misyncfd.h & +cp -f $src_dir/miext/sync/misyncshm.h $build_dir/install_root$incdir_store/xorg/misyncshm.h & +cp -f $src_dir/miext/sync/misyncstr.h $build_dir/install_root$incdir_store/xorg/misyncstr.h & +cp -f $src_dir/dbe/dbestruct.h $build_dir/install_root$incdir_store/xorg/dbestruct.h & +cp -f $src_dir/dri3/dri3.h $build_dir/install_root$incdir_store/xorg/dri3.h & +cp -f $src_dir/exa/exa.h $build_dir/install_root$incdir_store/xorg/exa.h & +cp -f $src_dir/fb/fb.h $build_dir/install_root$incdir_store/xorg/fb.h & +cp -f $src_dir/fb/fboverlay.h $build_dir/install_root$incdir_store/xorg/fboverlay.h & +cp -f $src_dir/fb/fbpict.h $build_dir/install_root$incdir_store/xorg/fbpict.h & +cp -f $src_dir/fb/fbrop.h $build_dir/install_root$incdir_store/xorg/fbrop.h & +cp -f $src_dir/fb/wfbrename.h $build_dir/install_root$incdir_store/xorg/wfbrename.h & +cp -f $src_dir/Xext/geext.h $build_dir/install_root$incdir_store/xorg/geext.h & +cp -f $src_dir/Xext/geint.h $build_dir/install_root$incdir_store/xorg/geint.h & +cp -f $src_dir/Xext/panoramiX.h $build_dir/install_root$incdir_store/xorg/panoramiX.h & +cp -f $src_dir/Xext/panoramiXsrv.h $build_dir/install_root$incdir_store/xorg/panoramiXsrv.h & +cp -f $src_dir/Xext/shmint.h $build_dir/install_root$incdir_store/xorg/shmint.h & +cp -f $src_dir/Xext/syncsdk.h $build_dir/install_root$incdir_store/xorg/syncsdk.h & +cp -f $src_dir/Xext/xace.h $build_dir/install_root$incdir_store/xorg/xace.h & +cp -f $src_dir/Xext/xacestr.h $build_dir/install_root$incdir_store/xorg/xacestr.h & +cp -f $src_dir/Xext/xvdix.h $build_dir/install_root$incdir_store/xorg/xvdix.h & +cp -f $src_dir/Xext/xvmcext.h $build_dir/install_root$incdir_store/xorg/xvmcext.h & +cp -f $src_dir/glamor/glamor.h $build_dir/install_root$incdir_store/xorg/glamor.h & +cp -f $src_dir/render/glyphstr.h $build_dir/install_root$incdir_store/xorg/glyphstr.h & +cp -f $src_dir/render/mipict.h $build_dir/install_root$incdir_store/xorg/mipict.h & +cp -f $src_dir/render/picture.h $build_dir/install_root$incdir_store/xorg/picture.h & +cp -f $src_dir/render/picturestr.h $build_dir/install_root$incdir_store/xorg/picturestr.h & +cp -f $src_dir/mi/mi.h $build_dir/install_root$incdir_store/xorg/mi.h & +cp -f $src_dir/mi/micmap.h $build_dir/install_root$incdir_store/xorg/micmap.h & +cp -f $src_dir/mi/micoord.h $build_dir/install_root$incdir_store/xorg/micoord.h & +cp -f $src_dir/mi/migc.h $build_dir/install_root$incdir_store/xorg/migc.h & +cp -f $src_dir/mi/miline.h $build_dir/install_root$incdir_store/xorg/miline.h & +cp -f $src_dir/mi/mioverlay.h $build_dir/install_root$incdir_store/xorg/mioverlay.h & +cp -f $src_dir/mi/mipointer.h $build_dir/install_root$incdir_store/xorg/mipointer.h & +cp -f $src_dir/mi/mipointrst.h $build_dir/install_root$incdir_store/xorg/mipointrst.h & +cp -f $src_dir/mi/mistruct.h $build_dir/install_root$incdir_store/xorg/mistruct.h & +cp -f $src_dir/mi/mizerarc.h $build_dir/install_root$incdir_store/xorg/mizerarc.h & +cp -f $src_dir/randr/randrstr.h $build_dir/install_root$incdir_store/xorg/randrstr.h & +cp -f $src_dir/randr/rrtransform.h $build_dir/install_root$incdir_store/xorg/rrtransform.h & +cp -f $src_dir/glx/vndserver.h $build_dir/install_root$incdir_store/xorg/vndserver.h & +cp -f $src_dir/hw/xfree86/common/compiler.h $build_dir/install_root$incdir_store/xorg/compiler.h & +cp -f $src_dir/hw/xfree86/common/xaarop.h $build_dir/install_root$incdir_store/xorg/xaarop.h & +cp -f $src_dir/hw/xfree86/common/xf86.h $build_dir/install_root$incdir_store/xorg/xf86.h & +cp -f $src_dir/hw/xfree86/common/xf86MatchDrivers.h $build_dir/install_root$incdir_store/xorg/xf86MatchDrivers.h & +cp -f $src_dir/hw/xfree86/common/xf86Module.h $build_dir/install_root$incdir_store/xorg/xf86Module.h & +cp -f $src_dir/hw/xfree86/common/xf86Opt.h $build_dir/install_root$incdir_store/xorg/xf86Opt.h & +cp -f $src_dir/hw/xfree86/common/xf86Optionstr.h $build_dir/install_root$incdir_store/xorg/xf86Optionstr.h & +cp -f $src_dir/hw/xfree86/common/xf86PciInfo.h $build_dir/install_root$incdir_store/xorg/xf86PciInfo.h & +cp -f $src_dir/hw/xfree86/common/xf86Priv.h $build_dir/install_root$incdir_store/xorg/xf86Priv.h & +cp -f $src_dir/hw/xfree86/common/xf86Privstr.h $build_dir/install_root$incdir_store/xorg/xf86Privstr.h & +cp -f $src_dir/hw/xfree86/common/xf86VGAarbiter.h $build_dir/install_root$incdir_store/xorg/xf86VGAarbiter.h & +cp -f $src_dir/hw/xfree86/common/xf86Xinput.h $build_dir/install_root$incdir_store/xorg/xf86Xinput.h & +cp -f $src_dir/hw/xfree86/common/xf86cmap.h $build_dir/install_root$incdir_store/xorg/xf86cmap.h & +cp -f $src_dir/hw/xfree86/common/xf86fbman.h $build_dir/install_root$incdir_store/xorg/xf86fbman.h & +cp -f $src_dir/hw/xfree86/common/xf86platformBus.h $build_dir/install_root$incdir_store/xorg/xf86platformBus.h & +cp -f $src_dir/hw/xfree86/common/xf86sbusBus.h $build_dir/install_root$incdir_store/xorg/xf86sbusBus.h & +cp -f $src_dir/hw/xfree86/common/xf86str.h $build_dir/install_root$incdir_store/xorg/xf86str.h & +cp -f $src_dir/hw/xfree86/common/xf86xv.h $build_dir/install_root$incdir_store/xorg/xf86xv.h & +cp -f $src_dir/hw/xfree86/common/xf86xvmc.h $build_dir/install_root$incdir_store/xorg/xf86xvmc.h & +cp -f $src_dir/hw/xfree86/common/xf86xvpriv.h $build_dir/install_root$incdir_store/xorg/xf86xvpriv.h & +cp -f $src_dir/hw/xfree86/common/xisb.h $build_dir/install_root$incdir_store/xorg/xisb.h & +cp -f $src_dir/hw/xfree86/common/xorgVersion.h $build_dir/install_root$incdir_store/xorg/xorgVersion.h & +cp -f $src_dir/hw/xfree86/ddc/edid.h $build_dir/install_root$incdir_store/xorg/edid.h & +cp -f $src_dir/hw/xfree86/ddc/xf86DDC.h $build_dir/install_root$incdir_store/xorg/xf86DDC.h & +cp -f $src_dir/hw/xfree86/dri/dri.h $build_dir/install_root$incdir_store/xorg/dri.h & +cp -f $src_dir/hw/xfree86/dri/dristruct.h $build_dir/install_root$incdir_store/xorg/dristruct.h & +cp -f $src_dir/hw/xfree86/dri/sarea.h $build_dir/install_root$incdir_store/xorg/sarea.h & +cp -f $src_dir/hw/xfree86/dri2/dri2.h $build_dir/install_root$incdir_store/xorg/dri2.h & +cp -f $src_dir/hw/xfree86/drivers/inputtest/xf86-input-inputtest-protocol.h $build_dir/install_root$incdir_store/xorg/xf86-input-inputtest-protocol.h & +cp -f $src_dir/hw/xfree86/fbdevhw/fbdevhw.h $build_dir/install_root$incdir_store/xorg/fbdevhw.h & +cp -f $src_dir/hw/xfree86/i2c/i2c_def.h $build_dir/install_root$incdir_store/xorg/i2c_def.h & +cp -f $src_dir/hw/xfree86/i2c/xf86i2c.h $build_dir/install_root$incdir_store/xorg/xf86i2c.h & +cp -f $src_dir/hw/xfree86/int10/vbe.h $build_dir/install_root$incdir_store/xorg/vbe.h & +cp -f $src_dir/hw/xfree86/int10/vbeModes.h $build_dir/install_root$incdir_store/xorg/vbeModes.h & +cp -f $src_dir/hw/xfree86/int10/xf86int10.h $build_dir/install_root$incdir_store/xorg/xf86int10.h & +cp -f $src_dir/hw/xfree86/modes/xf86Crtc.h $build_dir/install_root$incdir_store/xorg/xf86Crtc.h & +cp -f $src_dir/hw/xfree86/modes/xf86Modes.h $build_dir/install_root$incdir_store/xorg/xf86Modes.h & +cp -f $src_dir/hw/xfree86/modes/xf86RandR12.h $build_dir/install_root$incdir_store/xorg/xf86RandR12.h & +cp -f $src_dir/hw/xfree86/os-support/xf86_OSlib.h $build_dir/install_root$incdir_store/xorg/xf86_OSlib.h & +cp -f $src_dir/hw/xfree86/os-support/xf86_OSproc.h $build_dir/install_root$incdir_store/xorg/xf86_OSproc.h & +cp -f $src_dir/hw/xfree86/os-support/bus/xf86Pci.h $build_dir/install_root$incdir_store/xorg/xf86Pci.h & +cp -f $src_dir/hw/xfree86/parser/xf86Optrec.h $build_dir/install_root$incdir_store/xorg/xf86Optrec.h & +cp -f $src_dir/hw/xfree86/parser/xf86Parser.h $build_dir/install_root$incdir_store/xorg/xf86Parser.h & +cp -f $src_dir/hw/xfree86/ramdac/xf86Cursor.h $build_dir/install_root$incdir_store/xorg/xf86Cursor.h & +cp -f $src_dir/hw/xfree86/shadowfb/shadowfb.h $build_dir/install_root$incdir_store/xorg/shadowfb.h & +cp -f $src_dir/hw/xfree86/vgahw/vgaHW.h $build_dir/install_root$incdir_store/xorg/vgaHW.h & +#--------------------------------------------------------------------------------------------------- +sed -e "s:@defaultfontdir@:$defaultfontdir:g" \ + -e "s:@version_0@:$version_0:g" \ + -e "s:@version_1@:$version_1:g" \ + -e "s:@version_2@:$version_2:g" \ + <$src_dir/contrib/xorg-server.h.in \ + >$build_dir/install_root$incdir_store/xorg/xorg-server.h & +#--------------------------------------------------------------------------------------------------- +#TODO: to remove +mkdir -p $build_dir/install_root$defaultlibrarypath/pkgconfig +sed -e "s:@projectroot@:$projectroot:g" \ + -e "s:@defaultmodulepath@:$defaultmodulepath:g" \ + -e "s:@sysconfigdir@:$datadir/X11/xorg.conf.d:g" \ + -e "s:@version_0@:$version_0:g" \ + -e "s:@version_1@:$version_1:g" \ + -e "s:@version_2@:$version_2:g" \ + -e "s:@version_3@:$version_3:g" \ + <$src_dir/contrib/xorg-server.pc.in \ + >$build_dir/install_root$defaultlibrarypath/pkgconfig/xorg-server.pc & +#--------------------------------------------------------------------------------------------------- +# INFO: our configured version of xorg does not use the registry hence no 'protocol.txt' +wait diff --git a/builders/xserver-sh-069ad69efe166105b8d2280bf2fb217d522b68a9/contrib/version-config.h.in b/builders/xserver-sh-069ad69efe166105b8d2280bf2fb217d522b68a9/contrib/version-config.h.in new file mode 100644 index 0000000..0befec4 --- /dev/null +++ b/builders/xserver-sh-069ad69efe166105b8d2280bf2fb217d522b68a9/contrib/version-config.h.in @@ -0,0 +1,14 @@ +#ifndef VERSION_CONFIG_H +#define VERSION_CONFIG_H + +/* Vendor man version */ +#define VENDOR_MAN_VERSION "Version @version_0@.@version_1@.@version_2@.@version_3@" + +/* Vendor name */ +#define VENDOR_NAME "The X.Org Foundation" + +/* Vendor release */ +#define VENDOR_RELEASE ((10000000) + ((@version_0@) * 100000) + ((@version_1@) * 1000) + @version_2@) + +#endif /* VERSION_CONFIG_H */ + diff --git a/builders/xserver-sh-069ad69efe166105b8d2280bf2fb217d522b68a9/contrib/xdmcp.h.patch b/builders/xserver-sh-069ad69efe166105b8d2280bf2fb217d522b68a9/contrib/xdmcp.h.patch new file mode 100644 index 0000000..2a1fd36 --- /dev/null +++ b/builders/xserver-sh-069ad69efe166105b8d2280bf2fb217d522b68a9/contrib/xdmcp.h.patch @@ -0,0 +1,19 @@ +diff --git a/os/xdmcp.h b/os/xdmcp.h +index e8b1a3c3e..064e52464 100644 +--- a/os/xdmcp.h ++++ b/os/xdmcp.h +@@ -3,6 +3,7 @@ + + #include "osdep.h" + ++#ifdef XDMCP + /* in xdmcp.c */ + void XdmcpUseMsg(void); + int XdmcpOptions(int argc, char **argv, int i); +@@ -23,5 +24,6 @@ void XdmcpRegisterAuthentication(const char *name, + + struct sockaddr_in; + void XdmcpRegisterBroadcastAddress(const struct sockaddr_in *addr); ++#endif + + #endif /* _XSERVER_OS_XDMCP_H */ diff --git a/builders/xserver-sh-069ad69efe166105b8d2280bf2fb217d522b68a9/contrib/xkb-config.h.in b/builders/xserver-sh-069ad69efe166105b8d2280bf2fb217d522b68a9/contrib/xkb-config.h.in new file mode 100644 index 0000000..75b5a9f --- /dev/null +++ b/builders/xserver-sh-069ad69efe166105b8d2280bf2fb217d522b68a9/contrib/xkb-config.h.in @@ -0,0 +1,28 @@ +#ifndef _XKB_CONFIG_H_ +#define _XKB_CONFIG_H_ + +/* Default set of XKB rules. */ +#define XKB_DFLT_RULES "evdev" + +/* Default XKB model. */ +#define XKB_DFLT_MODEL "pc105" + +/* Default XKB layout. */ +#define XKB_DFLT_LAYOUT "us" + +/* Default XKB variant. */ +#define XKB_DFLT_VARIANT "" + +/* Default XKB options. */ +#define XKB_DFLT_OPTIONS "" + +/* Path to XKB definitions. */ +#define XKB_BASE_DIRECTORY "@xkbbasedir@" + +/* Path to xkbcomp. */ +#define XKB_BIN_DIRECTORY "@xkbbindir@" + +/* XKB output dir for compiled keymaps. */ +#define XKM_OUTPUT_DIR "@xkmoutputdir@" + +#endif /* _XKB_CONFIG_H_ */ diff --git a/builders/xserver-sh-069ad69efe166105b8d2280bf2fb217d522b68a9/contrib/xorg-config.h.in b/builders/xserver-sh-069ad69efe166105b8d2280bf2fb217d522b68a9/contrib/xorg-config.h.in new file mode 100644 index 0000000..e1c7a65 --- /dev/null +++ b/builders/xserver-sh-069ad69efe166105b8d2280bf2fb217d522b68a9/contrib/xorg-config.h.in @@ -0,0 +1,148 @@ +#ifndef _XORG_CONFIG_H_ +#define _XORG_CONFIG_H_ + +#include +#include + +/* Building Xorg server. */ +#define XORGSERVER 1 + +/* Current X.Org version. */ +#ifndef XORG_VERSION_CURRENT +#define XORG_VERSION_CURRENT ((10000000) + ((@version_0@) * 100000) + ((@version_1@) * 1000) + @version_3@) +#endif + +/* Name of X server. */ +#define __XSERVERNAME__ "Xorg" + +/* URL to go to for support. */ +#define __VENDORDWEBSUPPORT__ "http://wiki.x.org" + +/* Built-in output drivers. */ +/* #undef DRIVERS */ + +/* Built-in input drivers. */ +/* #undef IDRIVERS */ + +/* Path to configuration file. */ +#define XF86CONFIGFILE "xorg.conf" + +/* Path to configuration file. */ +#define XCONFIGFILE "xorg.conf" + +/* Name of configuration directory. */ +#define XCONFIGDIR "xorg.conf.d" + +/* Path to loadable modules. */ +#define DEFAULT_MODULE_PATH "@defaultmodulepath@" + +/* Path to installed libraries. */ +#define DEFAULT_LIBRARY_PATH "@defaultlibrarypath@" + +/* Default log location */ +#define DEFAULT_LOGDIR "@defaultlogdir@" + +/* Default logfile prefix */ +#define DEFAULT_LOGPREFIX "Xorg." + +/* Default XDG_DATA dir under HOME */ +#define DEFAULT_XDG_DATA_HOME ".local/share" + +/* Default log dir under XDG_DATA_HOME */ +#define DEFAULT_XDG_DATA_HOME_LOGDIR "xorg" + +/* Building DRI-capable DDX. */ +#define XF86DRI 1 + +/* Build DRI2 extension */ +#define DRI2 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_STROPTS_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_KD_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_VT_H */ + +/* Define to 1 if you have the `walkcontext' function (used on Solaris for + xorg_backtrace in hw/xfree86/common/xf86Events.c */ +/* #undef HAVE_WALKCONTEXT */ + +/* Define to 1 if unsigned long is 64 bits. */ +#define _XSERVER64 1 + +/* Building vgahw module */ +#define WITH_VGAHW 1 + +/* NetBSD PIO alpha IO */ +/* #undef USE_ALPHA_PIO */ + +/* BSD AMD64 iopl */ +/* #undef USE_AMD64_IOPL */ + +/* BSD /dev/io */ +/* #undef USE_DEV_IO */ + +/* BSD i386 iopl */ +/* #undef USE_I386_IOPL */ + +/* System is BSD-like */ +/* #undef CSRG_BASED */ + +/* System has PC console */ +/* #undef PCCONS_SUPPORT */ + +/* System has PCVT console */ +/* #undef PCVT_SUPPORT */ + +/* System has syscons console */ +/* #undef SYSCONS_SUPPORT */ + +/* System has wscons console */ +/* #undef WSCONS_SUPPORT */ + +/* System has /dev/xf86 aperture driver */ +/* #undef HAS_APERTURE_DRV */ + +/* Has backtrace support */ +#define HAVE_BACKTRACE 1 + +/* Name of the period field in struct kbd_repeat */ +/* #undef LNX_KBD_PERIOD_NAME */ + +/* Have execinfo.h */ +#define HAVE_EXECINFO_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_MKDEV_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_SYSMACROS_H 1 + +/* Path to text files containing PCI IDs */ +#define PCI_TXT_IDS_PATH "" + +/* Build with libdrm support */ +#define WITH_LIBDRM 1 + +/* Use libpciaccess */ +#define XSERVER_LIBPCIACCESS 1 + +/* Have setugid */ +/* #undef HAVE_ISSETUGID */ + +/* Have getresuid */ +#define HAVE_GETRESUID 1 + +/* Have X server platform bus support */ +#define XSERVER_PLATFORM_BUS 1 + +/* Define to 1 if you have the `seteuid' function. */ +#define HAVE_SETEUID 1 + +/* Fallback input driver if the assigned driver fails */ +#define FALLBACK_INPUT_DRIVER "libinput" + +#endif /* _XORG_CONFIG_H_ */ diff --git a/builders/xserver-sh-069ad69efe166105b8d2280bf2fb217d522b68a9/contrib/xorg-server.h.in b/builders/xserver-sh-069ad69efe166105b8d2280bf2fb217d522b68a9/contrib/xorg-server.h.in new file mode 100644 index 0000000..398d0f2 --- /dev/null +++ b/builders/xserver-sh-069ad69efe166105b8d2280bf2fb217d522b68a9/contrib/xorg-server.h.in @@ -0,0 +1,222 @@ +/* xorg-server.h.in -*- c -*- + * + * This file is the template file for the xorg-server.h file which gets + * installed as part of the SDK. The #defines in this file overlap + * with those from config.h, but only for those options that we want + * to export to external modules. Boilerplate autotool #defines such + * as HAVE_STUFF and PACKAGE_NAME is kept in config.h + * + * It is still possible to update config.h.in using autoheader, since + * autoheader only creates a .h.in file for the first + * AM_CONFIG_HEADER() line, and thus does not overwrite this file. + * + * However, it should be kept in sync with this file. + */ + +#ifndef _XORG_SERVER_H_ +#define _XORG_SERVER_H_ + +#ifdef HAVE_XORG_CONFIG_H +#error Include xorg-config.h when building the X server +#endif + +/* Support BigRequests extension */ +#define BIGREQS 1 + +/* Default font path */ +#define COMPILEDDEFAULTFONTPATH "@defaultfontdir@/misc/,@defaultfontdir@/TTF/,@defaultfontdir@/OTF/,@defaultfontdir@/Type1/,@defaultfontdir@/100dpi/,@defaultfontdir@/75dpi/" + +/* Support Composite Extension */ +#define COMPOSITE 1 + +/* Build DPMS extension */ +#define DPMSExtension 1 + +/* Build DRI3 extension */ +#define DRI3 1 + +/* Build GLX extension */ +#define GLXEXT 1 + +/* Support XDM-AUTH*-1 */ +/* #undef HASXDMAUTH */ + +/* Support SHM */ +#define HAS_SHM 1 + +/* Define to 1 if you have the `reallocarray' function. */ +#define HAVE_REALLOCARRAY 1 + +/* Define to 1 if you have the `strcasecmp' function. */ +#define HAVE_STRCASECMP 1 + +/* Define to 1 if you have the `strcasestr' function. */ +#define HAVE_STRCASESTR 1 + +/* Define to 1 if you have the `strlcat' function. */ +/* #undef HAVE_STRLCAT */ + +/* Define to 1 if you have the `strlcpy' function. */ +/* #undef HAVE_STRLCPY */ + +/* Define to 1 if you have the `strncasecmp' function. */ +#define HAVE_STRNCASECMP 1 + +/* Define to 1 if you have the `strndup' function. */ +#define HAVE_STRNDUP 1 + +/* Support IPv6 for TCP connections */ +#define IPv6 1 + +/* Support MIT-SHM Extension */ +#define MITSHM 1 + +/* Internal define for Xinerama */ +#define PANORAMIX 1 + +/* Support Present extension */ +#define PRESENT 1 + +/* Support RANDR extension */ +#define RANDR 1 + +/* Support RENDER extension */ +#define RENDER 1 + +/* Support X resource extension */ +#define RES 1 + +/* Support MIT-SCREEN-SAVER extension */ +#define SCREENSAVER 1 + +/* Support SHAPE extension */ +#define SHAPE 1 + +/* Define to 1 on systems derived from System V Release 4 */ +/* #undef SVR4 */ + +/* Support TCP socket connections */ +#define TCPCONN 1 + +/* Support UNIX socket connections */ +#define UNIXCONN 1 + +/* Support XCMisc extension */ +#define XCMISC 1 + +/* Support Xdmcp */ +/* #undef XDMCP */ + +/* Build XFree86 BigFont extension */ +/* #undef XF86BIGFONT */ + +/* Support XFree86 Video Mode extension */ +#define XF86VIDMODE 1 + +/* Build XDGA support */ +/* #undef XFreeXDGA */ + +/* Support Xinerama extension */ +#define XINERAMA 1 + +/* Support X Input extension */ +#define XINPUT 1 + +/* XKB default rules */ +#define XKB_DFLT_RULES "evdev" + +/* Build DRI extension */ +#define XF86DRI 1 + +/* Build DRI2 extension */ +#define DRI2 1 + +/* Build Xorg server */ +#define XORGSERVER 1 + +/* Current Xorg version */ +#define XORG_VERSION_CURRENT ((10000000) + ((@version_0@) * 100000) + ((@version_1@) * 1000) + @version_2@) + +/* Build Xv Extension */ +#define XvExtension 1 + +/* Build XvMC Extension */ +#define XvMCExtension 1 + +/* Support XSync extension */ +#define XSYNC 1 + +/* Support XTest extension */ +#define XTEST 1 + +/* Support Xv Extension */ +#define XV 1 + +/* Vendor name */ +#define XVENDORNAME "The X.Org Foundation" + +/* BSD-compliant source */ +/* #undef _BSD_SOURCE */ + +/* POSIX-compliant source */ +/* #undef _POSIX_SOURCE */ + +/* X/Open-compliant source */ +/* #undef _XOPEN_SOURCE */ + +/* Vendor web address for support */ +#define __VENDORDWEBSUPPORT__ "http://wiki.x.org" + +/* Location of configuration file */ +#define XCONFIGFILE "xorg.conf" + +/* Name of X server */ +#define __XSERVERNAME__ "Xorg" + +/* Building vgahw module */ +#define WITH_VGAHW 1 + +/* System is BSD-like */ +/* #undef CSRG_BASED */ + +/* System has PC console */ +/* #undef PCCONS_SUPPORT */ + +/* System has PCVT console */ +/* #undef PCVT_SUPPORT */ + +/* System has syscons console */ +/* #undef SYSCONS_SUPPORT */ + +/* System has wscons console */ +/* #undef WSCONS_SUPPORT */ + +/* Loadable XFree86 server awesomeness */ +#define XFree86LOADER + +/* Use libpciaccess */ +#define XSERVER_LIBPCIACCESS 1 + +/* X Access Control Extension */ +#define XACE 1 + +/* Have X server platform bus support */ +#define XSERVER_PLATFORM_BUS 1 + +#ifdef _LP64 +#define _XSERVER64 1 +#endif + +/* Have support for X shared memory fence library (xshmfence) */ +#define HAVE_XSHMFENCE 1 + +/* Use XTrans FD passing support */ +#define XTRANS_SEND_FDS 1 + +/* Ask fontsproto to make font path element names const */ +#define FONT_PATH_ELEMENT_NAME_CONST 1 + +/* byte order */ +#define X_BYTE_ORDER X_LITTLE_ENDIAN + +#endif /* _XORG_SERVER_H_ */ diff --git a/builders/xserver-sh-069ad69efe166105b8d2280bf2fb217d522b68a9/contrib/xorg-server.pc.in b/builders/xserver-sh-069ad69efe166105b8d2280bf2fb217d522b68a9/contrib/xorg-server.pc.in new file mode 100644 index 0000000..bddc144 --- /dev/null +++ b/builders/xserver-sh-069ad69efe166105b8d2280bf2fb217d522b68a9/contrib/xorg-server.pc.in @@ -0,0 +1,20 @@ +prefix=@projectroot@ +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include +datarootdir=${prefix}/share +moduledir=@defaultmodulepath@ +sdkdir=${prefix}/include/xorg +sysconfigdir=@sysconfigdir@ + +abi_ansic=0.4 +abi_videodrv=25.2 +abi_xinput=24.4 +abi_extension=10.0 + +Name: xorg-server +Description: Modular X.Org X Server +Version: @version_0@.@version_1@.@version_2@.@version_3@ +Requires.private: xproto >= 7.0.31 randrproto >= 1.6.0 renderproto >= 0.11 xextproto >= 7.2.99.901 inputproto >= 2.3.99.1 kbproto >= 1.0.3 fontsproto >= 2.1.3 pixman-1 >= 0.27.2 libxcvt videoproto scrnsaverproto >= 1.1 resourceproto >= 1.2.0 xf86driproto >= 2.1.0 glproto >= 1.4.17 dri >= 7.8.0 dri2proto >= 2.8 dri3proto >= 1.2 presentproto >= 1.2 xineramaproto pciaccess >= 0.12.901 +Cflags: -I${sdkdir} -fvisibility=hidden +Libs: -L${libdir} -- 2.11.4.GIT