From 66c7288d1ed2cd7421730dce9fc0e24d492171b2 Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Wed, 26 Jun 2019 14:09:40 +0200 Subject: [PATCH 1/8] llvm: Update version from 7.0.1 to 8.0.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [Release notes][1]: > ## Non-comprehensive list of changes in this release > > * The llvm-cov tool can now export lcov trace files using the -format=lcov option of the export command. > * The add_llvm_loadable_module CMake macro has been removed. The add_llvm_library macro with the MODULE argument now provides the same functionality. See Writing an LLVM Pass. > * For MinGW, references to data variables that might need to be imported from a dll are accessed via a stub, to allow the linker to convert it to a dllimport if needed. > * Added support for labels as offsets in .reloc directive. > * Support for precise identification of X86 instructions with memory operands, by using debug information. This supports profile-driven cache prefetching. It is enabled with the -x86-discriminate-memops LLVM Flag. > * Support for profile-driven software cache prefetching on X86. This is part of a larger system, consisting of: an offline cache prefetches recommender, AutoFDO tooling, and LLVM. In this system, a binary compiled with -x86-discriminate-memops is run under the observation of the recommender. The recommender identifies certain memory access instructions by their binary file address, and recommends a prefetch of a specific type (NTA, T0, etc) be performed at a specified fixed offset from such an instruction’s memory operand. Next, this information needs to be converted to the AutoFDO syntax and the resulting profile may be passed back to the compiler with the LLVM flag -prefetch-hints-file, together with the exact same set of compilation parameters used for the original binary. More information is available in the RFC. > * Windows support for libFuzzer (x86_64). > > […] > > ### Changes to the X86 Target > > * Machine model for AMD bdver2 (Piledriver) CPU was added. It is used to support instruction scheduling and other instruction cost heuristics. > * New AVX512F gather and scatter intrinsics were added that take a mask instead of a scalar integer. This removes the need for a bitcast in IR. The new intrinsics are named like the old intrinsics with llvm.avx512. replaced with llvm.avx512.mask.. The old intrinsics will be removed in a future release. > * Added cascadelake as a CPU name for -march. This is skylake-avx512 with the addition of the avx512vnni instruction set. > * ADCX instruction will no longer be emitted. This instruction is rarely better than the legacy ADC instruction and just increased code size. [1]: https://releases.llvm.org/8.0.0/docs/ReleaseNotes.html --- llvm.be0 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/llvm.be0 b/llvm.be0 index 7b8d8b5cd..731f6c49f 100755 --- a/llvm.be0 +++ b/llvm.be0 @@ -1,6 +1,6 @@ #!/usr/bin/env beesh -# BEE_VERSION llvm-7.0.1-0 +# BEE_VERSION llvm-8.0.0-0 ## this file was created by bee init and should be executed to build a ## bee-package. (Additional hints are located at the end of this file.) From 4073d78b65ab751b450fdb5ad42f03e5e00f3148 Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Wed, 26 Jun 2019 14:10:12 +0200 Subject: [PATCH 2/8] llvm: Build LLVM with run-time type information > -D=LLVM_ENABLE_RTTI=ON: Used to build LLVM with run-time type > information. This is required for building Mesa-19.0.4. Required by Mesa 3D Nouveau driver. Dependency LLVM (modules: amdgpu, asmparser, bitreader, bitwriter, engine, ipo, mcdisassembler, mcjit, native) found: YES 7.0.1 meson.build:1277:6: ERROR: Problem encountered: The Nouveau driver requires rtti. You either need to turn off nouveau or use an LLVM built with LLVM_ENABLE_RTTI. [1]: http://www.linuxfromscratch.org/blfs/view/svn/general/llvm.html --- llvm.be0 | 1 + 1 file changed, 1 insertion(+) diff --git a/llvm.be0 b/llvm.be0 index 731f6c49f..6e16a3fac 100755 --- a/llvm.be0 +++ b/llvm.be0 @@ -58,6 +58,7 @@ mee_configure() { -DCMAKE_BUILD_TYPE=Release \ -DLLVM_BUILD_LLVM_DYLIB=ON \ -DLLVM_LINK_LLVM_DYLIB=ON \ + -DLLVM_ENABLE_RTTI=ON \ -DLLVM_TARGETS_TO_BUILD="X86;AMDGPU;BPF" \ -DLLVM_INSTALL_UTILS=ON } From 05dc7ba5b13f113a31a4be777b36d19409f6ef46 Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Wed, 26 Jun 2019 14:12:58 +0200 Subject: [PATCH 3/8] llvm: Enable build tests --- llvm.be0 | 1 + 1 file changed, 1 insertion(+) diff --git a/llvm.be0 b/llvm.be0 index 6e16a3fac..d1b6ea62b 100755 --- a/llvm.be0 +++ b/llvm.be0 @@ -60,6 +60,7 @@ mee_configure() { -DLLVM_LINK_LLVM_DYLIB=ON \ -DLLVM_ENABLE_RTTI=ON \ -DLLVM_TARGETS_TO_BUILD="X86;AMDGPU;BPF" \ + -DLLVM_BUILD_TESTS=ON \ -DLLVM_INSTALL_UTILS=ON } From adc0be1e100daed9192164c6a9e95c556a4bcafd Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Wed, 26 Jun 2019 14:14:27 +0200 Subject: [PATCH 4/8] llvm: Enable no-dev warnings --- llvm.be0 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/llvm.be0 b/llvm.be0 index d1b6ea62b..2899d6695 100755 --- a/llvm.be0 +++ b/llvm.be0 @@ -61,7 +61,8 @@ mee_configure() { -DLLVM_ENABLE_RTTI=ON \ -DLLVM_TARGETS_TO_BUILD="X86;AMDGPU;BPF" \ -DLLVM_BUILD_TESTS=ON \ - -DLLVM_INSTALL_UTILS=ON + -DLLVM_INSTALL_UTILS=ON \ + -Wno-dev } #mee_build() { From f3f1cbb1801b0390c1080a1c998cceea86522a21 Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Wed, 26 Jun 2019 14:15:26 +0200 Subject: [PATCH 5/8] llvm: Use ninja over GNU Make --- llvm.be0 | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/llvm.be0 b/llvm.be0 index 2899d6695..ea6c66fff 100755 --- a/llvm.be0 +++ b/llvm.be0 @@ -62,16 +62,17 @@ mee_configure() { -DLLVM_TARGETS_TO_BUILD="X86;AMDGPU;BPF" \ -DLLVM_BUILD_TESTS=ON \ -DLLVM_INSTALL_UTILS=ON \ - -Wno-dev + -Wno-dev \ + -G Ninja } -#mee_build() { -# bee_build -#} +mee_build() { + start_cmd ninja -v -C ${B} ${BEE_MAKEFLAGS} "${@}" +} -#mee_install() { -# bee_install -#} +mee_install() { + DESTDIR=${D} start_cmd ninja -C ${B} install "${@}" +} ## by default this may be 'make install DESTDIR="${D}"' ############################################################################### From 96c12f173121f5f8b8f734fd92aeb52bff80ace1 Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Wed, 26 Jun 2019 14:24:16 +0200 Subject: [PATCH 6/8] clang: Update version from 7.0.1 to 8.0.0 --- clang.be0 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clang.be0 b/clang.be0 index 8b7792ebb..5c346421a 100755 --- a/clang.be0 +++ b/clang.be0 @@ -1,6 +1,6 @@ #!/usr/bin/env beesh -# BEE_VERSION clang-7.0.1-0 +# BEE_VERSION clang-8.0.0-0 ## this file was created by bee init and should be executed to build a ## bee-package. (Additional hints are located at the end of this file.) From c6ae3ca3fe1b2fe4b5bfd10c9523ae4e1887ec5a Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Wed, 26 Jun 2019 13:38:27 +0200 Subject: [PATCH 7/8] mesalib: Update version from 19.0.4 to 19.1.1 From *[ANNOUNCE] mesa 19.1.0*: > Mesa 19.1.0 is now available. > > This release consists of approximately 3700 commits from 158 > developers. > > Huge thanks to all the developers, testers and users for their > ongoing work and support shaping up the 19.1.0 release. > > The top highlights include: > > - GL_ARB_parallel_shader_compile for all drivers. > - GL_EXT_gpu_shader4 on all GL 3.1 drivers. > - GL_EXT_shader_image_load_formatted on radeonsi. > - GL_EXT_texture_buffer_object on all GL 3.1 drivers. > - GL_EXT_texture_compression_s3tc_srgb on Gallium and i965 drivers (ES extension). > - GL_NV_compute_shader_derivatives on Iris and i965 drivers. > - GL_KHR_parallel_shader_compile on all drivers. > - GL_INTEL_conservative_rasterization on Iris. > > > Additional features: > > ANV > - VK_EXT_buffer_device_address > - VK_EXT_depth_clip_enable > - VK_KHR_ycbcr_image_arrays > - VK_EXT_inline_uniform_block > - VK_EXT_external_memory_host > - VK_EXT_host_query_reset > - VK_KHR_surface_protected_capabilities > - VK_EXT_pipeline_creation_feedback > - VK_NV_compute_shader_derivatives > - VK_KHR_shader_float16_int8 > - VK_KHR_shader_atomic_int64 > - VK_EXT_descriptor_indexing > - VK_EXT_memory_budget > > RADV > - VK_EXT_buffer_device_address > - VK_EXT_depth_clip_enable > - VK_EXT_inline_uniform_block > - VK_EXT_host_query_reset > - VK_KHR_surface_protected_capabilities > - VK_EXT_pipeline_creation_feedback > - VK_KHR_8bit_storage > - VK_AMD_gpu_shader_int16 > - VK_AMD_gpu_shader_half_float > - VK_KHR_shader_float16_int8 [1]: https://lists.freedesktop.org/archives/mesa-dev/2019-June/220047.html [2]: https://lists.freedesktop.org/archives/mesa-dev/2019-June/220683.html --- mesalib.be0 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mesalib.be0 b/mesalib.be0 index 35249d0dc..0c398f1fe 100755 --- a/mesalib.be0 +++ b/mesalib.be0 @@ -1,6 +1,6 @@ #!/usr/bin/env beesh -# BEE_VERSION mesalib-19.0.4-0 +# BEE_VERSION mesalib-19.1.1-0 ## this file was created by bee init and should be executed to build a ## bee-package. (Additional hints are located at the end of this file.) From 9c51a48c401b9e4926b1507a3523726c0cc7590e Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Wed, 26 Jun 2019 14:02:52 +0200 Subject: [PATCH 8/8] mesalib: Use Meson build system as Autotools got removed --- mesalib.be0 | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/mesalib.be0 b/mesalib.be0 index 0c398f1fe..7a8f9a752 100755 --- a/mesalib.be0 +++ b/mesalib.be0 @@ -54,18 +54,12 @@ SRCURL[0]="https://mesa.freedesktop.org/archive/mesa-${PKGVERSION}.tar.xz" #} mee_configure() { - start_cmd ${S}/autogen.sh ${DEFCONFIG} \ - --enable-autotools \ - --enable-gles1 \ - --enable-gles2 \ - --enable-osmesa \ - --enable-va \ - --enable-vdpau \ - --enable-xa \ - --enable-glx-tls \ - --with-platforms="drm,x11,wayland" \ - --with-gallium-drivers="nouveau,r600,radeonsi,svga,swrast" \ - --with-vulkan-drivers="radeon" + bee_configure \ + -Dbuildtype=release \ + -Dgallium-drivers="nouveau,r600,radeonsi,svga,swrast" \ + -Dvulkan-drivers="amd,intel" \ + -Dosmesa=gallium \ + -Dvalgrind=false } #mee_build() {