diff options
author | kevall474 | 2021-02-24 21:46:30 -0500 |
---|---|---|
committer | kevall474 | 2021-02-24 21:46:30 -0500 |
commit | 847ecbc0e347b42911486a5bb100bb1ad3cbedad (patch) | |
tree | 093f0f958a7dcb919e164d41d85624a627650be0 | |
download | aur-847ecbc0e347b42911486a5bb100bb1ad3cbedad.tar.gz |
first push
-rw-r--r-- | .SRCINFO | 153 | ||||
-rw-r--r-- | 0001-4114.patch | 28 | ||||
-rw-r--r-- | 0001-4200.patch | 28 | ||||
-rw-r--r-- | 0001-enable-llvm-by-default.patch | 66 | ||||
-rw-r--r-- | LICENSE | 90 | ||||
-rw-r--r-- | PKGBUILD | 360 |
6 files changed, 725 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..8d74baf38409 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,153 @@ +pkgbase = mesa-rc + pkgver = 21.0.0_rc5 + pkgrel = 1 + url = https://mesa3d.org/ + arch = i686 + arch = x86_64 + license = MIT + makedepends = bison + makedepends = flex + makedepends = valgrind + makedepends = meson + makedepends = ninja + makedepends = git + makedepends = ninjas2 + makedepends = libxvmc + makedepends = python + makedepends = python-appdirs + makedepends = python-mako + makedepends = python-evdev + makedepends = elfutils + makedepends = glslang + makedepends = libva + makedepends = libepoxy + makedepends = libxv + makedepends = libvdpau + makedepends = libx11 + makedepends = libxml2 + makedepends = libxrandr + makedepends = llvm + makedepends = libconfig + makedepends = gtk3 + makedepends = wayland-protocols + makedepends = xorgproto + makedepends = lua + makedepends = polly + makedepends = gcc + makedepends = gcc-libs + makedepends = ncurses + makedepends = libarchive + makedepends = libclc + makedepends = vulkan-icd-loader + makedepends = clang + makedepends = compiler-rt + makedepends = glibc + makedepends = ocl-icd + makedepends = lib32-flex + makedepends = lib32-libxvmc + makedepends = lib32-libva + makedepends = lib32-libepoxy + makedepends = lib32-libxv + makedepends = lib32-libvdpau + makedepends = lib32-libx11 + makedepends = lib32-libxml2 + makedepends = lib32-libxrandr + makedepends = lib32-llvm + makedepends = lib32-gtk3 + makedepends = lib32-gcc-libs + makedepends = lib32-ncurses + makedepends = lib32-vulkan-icd-loader + makedepends = lib32-clang + makedepends = lib32-glibc + makedepends = lib32-ocl-icd + source = https://archive.mesa3d.org/mesa-21.0.0-rc5.tar.xz + source = LICENSE + source = 0001-4114.patch + source = 0001-4200.patch + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + +pkgname = mesa-rc + pkgdesc = An open-source implementation of the OpenGL specification. (64-bit) (rc release) + depends = libdrm + depends = libelf + depends = libglvnd + depends = libomxil-bellagio + depends = libunwind + depends = libxdamage + depends = libxxf86vm + depends = llvm-libs + depends = lm_sensors + depends = wayland + depends = zstd + depends = libxshmfence + depends = libclc + depends = expat + depends = vulkan-icd-loader + provides = mesa + provides = opencl-mesa + provides = vulkan-intel + provides = vulkan-radeon + provides = vulkan-swrast + provides = vulkan-driver + provides = vulkan-mesa-layers + provides = libva-mesa-driver + provides = mesa-vdpau + provides = opengl-driver + provides = opencl-driver + provides = mesa-libgl + conflicts = mesa + conflicts = opencl-mesa + conflicts = vulkan-intel + conflicts = vulkan-radeon + conflicts = vulkan-mesa + conflicts = vulkan-swrast + conflicts = vulkan-mesa-layers + conflicts = libva-mesa-driver + conflicts = mesa-vdpau + conflicts = mesa-stable + conflicts = mesa-git + +pkgname = lib32-mesa-rc + pkgdesc = An open-source implementation of the OpenGL specification. (32-bit) (rc release) + depends = lib32-libdrm + depends = lib32-libelf + depends = lib32-libglvnd + depends = libomxil-bellagio + depends = lib32-libunwind + depends = lib32-libxdamage + depends = lib32-libxxf86vm + depends = lib32-llvm-libs + depends = lib32-lm_sensors + depends = lib32-wayland + depends = lib32-zstd + depends = lib32-libxshmfence + depends = libclc + depends = lib32-expat + depends = lib32-vulkan-icd-loader + provides = lib32-mesa + provides = lib32-opencl-mesa + provides = lib32-vulkan-intel + provides = lib32-vulkan-radeon + provides = lib32-vulkan-swrast + provides = lib32-vulkan-driver + provides = lib32-vulkan-mesa-layers + provides = lib32-libva-mesa-driver + provides = lib32-mesa-vdpau + provides = lib32-opengl-driver + provides = lib32-opencl-driver + provides = lib32-mesa-libgl + conflicts = lib32-mesa + conflicts = lib32-opencl-mesa + conflicts = lib32-vulkan-intel + conflicts = lib32-vulkan-radeon + conflicts = lib32-vulkan-mesa + conflicts = lib32-vulkan-swrast + conflicts = lib32-vulkan-mesa-layers + conflicts = lib32-libva-mesa-driver + conflicts = lib32-mesa-vdpau + conflicts = lib32-mesa-stable + conflicts = lib32-mesa-git + diff --git a/0001-4114.patch b/0001-4114.patch new file mode 100644 index 000000000000..a0a1937b3311 --- /dev/null +++ b/0001-4114.patch @@ -0,0 +1,28 @@ +From 82467de5bb895052993fb892cd4b34ee757fdcab Mon Sep 17 00:00:00 2001 +From: kevall474 <kevall474@tuta.io> +Date: Wed, 24 Feb 2021 15:34:45 -0500 +Subject: [PATCH] 4114 + +--- + src/gallium/frontends/clover/llvm/invocation.cpp | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/gallium/frontends/clover/llvm/invocation.cpp b/src/gallium/frontends/clover/llvm/invocation.cpp +index 536e952b100..3a8d9c8e929 100644 +--- a/src/gallium/frontends/clover/llvm/invocation.cpp ++++ b/src/gallium/frontends/clover/llvm/invocation.cpp +@@ -249,7 +249,11 @@ namespace { + + c->getInvocation().setLangDefaults(c->getLangOpts(), + compat::ik_opencl, ::llvm::Triple(target.triple), ++#if LLVM_VERSION_MAJOR >= 12 ++ c->getPreprocessorOpts().Includes, ++#else + c->getPreprocessorOpts(), ++#endif + get_language_version(opts, device_clc_version)); + + c->createDiagnostics(new clang::TextDiagnosticPrinter( +-- +2.30.1 + diff --git a/0001-4200.patch b/0001-4200.patch new file mode 100644 index 000000000000..0fe2bb1e44d4 --- /dev/null +++ b/0001-4200.patch @@ -0,0 +1,28 @@ +From 06bd99a56c635c9b9246144dc256f537c6441232 Mon Sep 17 00:00:00 2001 +From: kevall474 <kevall474@tuta.io> +Date: Wed, 24 Feb 2021 15:30:04 -0500 +Subject: [PATCH] 4200 + +--- + src/gallium/frontends/clover/llvm/metadata.hpp | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/src/gallium/frontends/clover/llvm/metadata.hpp b/src/gallium/frontends/clover/llvm/metadata.hpp +index e3e58a32ff9..b15783266bd 100644 +--- a/src/gallium/frontends/clover/llvm/metadata.hpp ++++ b/src/gallium/frontends/clover/llvm/metadata.hpp +@@ -129,7 +129,11 @@ namespace clover { + break; + } + if (type->isVectorTy()) +- data += std::to_string(((::llvm::VectorType*)type)->getNumElements()); ++#if LLVM_VERSION_MAJOR >= 13 ++ data += std::to_string(((::llvm::FixedVectorType*)type)->getNumElements()); ++#else ++ data += std::to_string(((::llvm::VectorType*)type)->getNumElements()); ++#endif + + } else { + ::llvm::raw_string_ostream os { data }; +-- +2.30.1 diff --git a/0001-enable-llvm-by-default.patch b/0001-enable-llvm-by-default.patch new file mode 100644 index 000000000000..2df240d0500e --- /dev/null +++ b/0001-enable-llvm-by-default.patch @@ -0,0 +1,66 @@ +From 2e4fcd0c36b85a257f0528bba0b641edfc008235 Mon Sep 17 00:00:00 2001 +From: kevall474 <kevall474@tuta.io> +Date: Wed, 24 Feb 2021 13:02:35 -0500 +Subject: [PATCH] enable llvm by default + +--- + src/amd/compiler/aco_ir.cpp | 5 +++++ + src/amd/vulkan/radv_debug.h | 1 + + src/amd/vulkan/radv_device.c | 3 +++ + 3 files changed, 9 insertions(+) + +diff --git a/src/amd/compiler/aco_ir.cpp b/src/amd/compiler/aco_ir.cpp +index 4e248a9bd33..00299044828 100644 +--- a/src/amd/compiler/aco_ir.cpp ++++ b/src/amd/compiler/aco_ir.cpp +@@ -47,9 +47,14 @@ static void init_once() + { + debug_flags = parse_debug_string(getenv("ACO_DEBUG"), aco_debug_options); + ++ debug_flags |= aco::DEBUG_NO_OPT; ++ debug_flags |= aco::DEBUG_NO_SCHED; ++ + #ifndef NDEBUG + /* enable some flags by default on debug builds */ + debug_flags |= aco::DEBUG_VALIDATE_IR; ++ debug_flags |= aco::DEBUG_NO_OPT; ++ debug_flags |= aco::DEBUG_NO_SCHED; + #endif + } + +diff --git a/src/amd/vulkan/radv_debug.h b/src/amd/vulkan/radv_debug.h +index 8d828aaa28a..2e5aaec1109 100644 +--- a/src/amd/vulkan/radv_debug.h ++++ b/src/amd/vulkan/radv_debug.h +@@ -72,6 +72,7 @@ enum { + RADV_PERFTEST_GE_WAVE_32 = 1u << 6, + RADV_PERFTEST_DFSM = 1u << 7, + RADV_PERFTEST_NO_SAM = 1u << 8, ++ RADV_PERFTEST_ACO = 1u << 9, + }; + + bool +diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c +index 9513fb3b277..b28cbd47c35 100644 +--- a/src/amd/vulkan/radv_device.c ++++ b/src/amd/vulkan/radv_device.c +@@ -816,6 +816,7 @@ static const struct debug_control radv_perftest_options[] = { + {"gewave32", RADV_PERFTEST_GE_WAVE_32}, + {"dfsm", RADV_PERFTEST_DFSM}, + {"nosam", RADV_PERFTEST_NO_SAM}, ++ {"aco", RADV_PERFTEST_ACO}, + {NULL, 0} + }; + +@@ -948,6 +949,8 @@ VkResult radv_CreateInstance( + instance->debug_flags = parse_debug_string(getenv("RADV_DEBUG"), + radv_debug_options); + ++ instance->debug_flags |= RADV_DEBUG_LLVM; ++ + const char *radv_perftest_str = getenv("RADV_PERFTEST"); + instance->perftest_flags = parse_debug_string(radv_perftest_str, + radv_perftest_options); +-- +2.30.1 + diff --git a/LICENSE b/LICENSE new file mode 100644 index 000000000000..0ed1c8cd079f --- /dev/null +++ b/LICENSE @@ -0,0 +1,90 @@ +License and Copyright +===================== + +Disclaimer +---------- + +Mesa is a 3-D graphics library with an API which is very similar to that +of `OpenGL <https://www.opengl.org/>`_ [1]_. +To the extent that Mesa utilizes the OpenGL command syntax or state +machine, it is being used with authorization from `Silicon Graphics, +Inc. <https://www.sgi.com/>`__\ (SGI). However, the author does not +possess an OpenGL license from SGI, and makes no claim that Mesa is in +any way a compatible replacement for OpenGL or associated with SGI. +Those who want a licensed implementation of OpenGL should contact a +licensed vendor. + +Please do not refer to the library as *MesaGL* (for legal reasons). It's +just *Mesa* or *The Mesa 3-D graphics library*. + +.. [1] OpenGL is a trademark of `Silicon Graphics + Incorporated <https://www.sgi.com/>`__. + +License / Copyright Information +------------------------------- + +The Mesa distribution consists of several components. Different +copyrights and licenses apply to different components. For example, the +GLX client code uses the SGI Free Software License B, and some of the +Mesa device drivers are copyrighted by their authors. See below for a +list of Mesa's main components and the license for each. + +The core Mesa library is licensed according to the terms of the MIT +license. This allows integration with the XFree86, Xorg and DRI +projects. + +The default Mesa license is as follows: + +:: + + Copyright (C) 1999-2007 Brian Paul 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, sublicense, + 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 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 NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS 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. + +Attention, Contributors +----------------------- + +When contributing to the Mesa project you must agree to the licensing +terms of the component to which you're contributing. The following +section lists the primary components of the Mesa distribution and their +respective licenses. + +Mesa Component Licenses +----------------------- + ++-----------------+------------------------+-----------------------------+ +| Component | Location | License | ++=================+========================+=============================+ +| Main Mesa code | src/mesa/ | MIT | ++-----------------+------------------------+-----------------------------+ +| Device drivers | src/mesa/drivers/* | MIT, generally | ++-----------------+------------------------+-----------------------------+ +| Gallium code | src/gallium/ | MIT | ++-----------------+------------------------+-----------------------------+ +| Ext headers | include/GL/glext.h, | Khronos | +| | include/GL/glxext.h | | ++-----------------+------------------------+-----------------------------+ +| GLX client code | src/glx/ | SGI Free Software License B | ++-----------------+------------------------+-----------------------------+ +| C11 thread | include/c11/threads*.h | Boost (permissive) | +| emulation | | | ++-----------------+------------------------+-----------------------------+ + +In general, consult the source files for license terms. + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..859742398138 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,360 @@ +#_ _ _ _ _ _____ _ _ +#| | _______ ____ _| | | || |___ | || | +#| |/ / _ \ \ / / _` | | | || |_ / /| || |_ +#| < __/\ V / (_| | | |__ _/ / |__ _| +#|_|\_\___| \_/ \__,_|_|_| |_|/_/ |_| + +#Maintainer: kevall474 <kevall474@tuta.io> <https://github.com/kevall474> +#Credits: Lone_Wolf <lone_wolf@klaas-de-kat.nl> ---> For the base PKGBULD +#Credits: Laurent Carlier <lordheavym@gmail.com> ---> For the base PKGBUILD + +####################################### + +#Enable llvm by default +#Set 'y' to enable +#Default is set to empty, so no llvm by default patch +if [ -z ${_llvm+x} ]; then + _llvm= +fi + +####################################### + +#Set compiler +#Set '1' to use gcc +#Set '2' to use clang +#If not set is will build with gcc +if [ -z ${_compiler+x} ]; then + _compiler= +fi + +#Set compiler optimization for GCC +#Set '1' to use optimization +#Set '2' to disable optimization +#If not set is will build with no optimization +if [ -z ${_optimization+x} ]; then + _optimization= +fi + +#This set lto/pgo value for GCC or CLANG +#For now LTO/PGO is turn off for CLANG because of build issues +#Do not eddit unless you know what you are doing +if [[ $_compiler = "1" ]]; then + if [[ $_optimization = "1" ]]; then + lto1=false + pgo1=generate + lto2=true + pgo2=use + elif [[ $_optimization = "2" ]]; then + lto1=false + pgo1=off + lto2=false + pgo2=off + else + lto1=false + pgo1=off + lto2=false + pgo2=off + fi +elif [[ $_compiler = "2" ]]; then + lto1=false + pgo1=off + lto2=false + pgo2=off +else + lto1=false + pgo1=generate + lto2=true + pgo2=use +fi + +####################################### + +pkgbase=mesa-rc +pkgname=("${pkgbase}" "lib32-${pkgbase}") +pkgver=21.0.0_rc5 +pkgrel=1 +versiontag=21.0.0-rc5 +arch=('i686' 'x86_64') +url="https://mesa3d.org/" +license=('MIT') +makedepends=("bison" "flex" "valgrind" "meson" "ninja" "git" "ninjas2" "libxvmc" "python" "python-appdirs" "python-mako" "python-evdev" "elfutils" + "glslang" "libva" "libepoxy" "libxv" "libvdpau" "libx11" "libxml2" "libxrandr" "llvm" "libconfig" "gtk3" "wayland-protocols" "xorgproto" + "lua" "polly" "gcc" "gcc-libs" "ncurses" "libarchive" "libclc" "vulkan-icd-loader" "clang" "compiler-rt" "glibc" "ocl-icd") +# Makedepend for lib32 +makedepends+=("lib32-flex" "lib32-libxvmc" "lib32-libva" "lib32-libepoxy" "lib32-libxv" "lib32-libvdpau" "lib32-libx11" "lib32-libxml2" + "lib32-libxrandr" "lib32-llvm" "lib32-gtk3" "lib32-gcc-libs" "lib32-ncurses" "lib32-vulkan-icd-loader" "lib32-clang" "lib32-glibc" "lib32-ocl-icd") +source=("https://archive.mesa3d.org/mesa-$versiontag.tar.xz" + "LICENSE") +md5sums=("SKIP" + "SKIP") +if [[ $_llvm = "y" ]]; then + source+=("0001-enable-llvm-by-default.patch") + md5sums+=("SKIP") #0001-enable-llvm-by-default.patch +fi +# clover patch for llvm 12.0.0 and 13.0.0. Not commited in master branch for now +source+=("0001-4114.patch" + "0001-4200.patch") +md5sums+=("SKIP" + "SKIP") + +prepare(){ + cd mesa-$versiontag + + # Apply any patch + local src + for src in "${source[@]}"; do + src="${src%%::*}" + src="${src##*/}" + [[ $src = *.patch ]] || continue + msg2 "Applying patch $src..." + patch -Np1 < "../$src" + done +} + +build(){ + cd mesa-$versiontag + + + # remove build dir if there is one + if dir build_64; then + rm -rf -v build_64 + fi + + # create build dir + mkdir -p -v build_64 + +if [[ $_compiler = "1" ]]; then + export CC='gcc -m64' + export CXX='g++ -m64' +elif [[ $_compiler = "2" ]]; then + export CC='clang -m64' + export CXX='clang++ -m64' +else + export CC='gcc -m64' + export CXX='g++ -m64' +fi + + # build with meson + meson setup build_64/ \ + -D b_ndebug=true \ + -D b_lto=$lto1 \ + -D b_pgo=$pgo1 \ + -D buildtype=plain \ + --wrap-mode=nofallback \ + -Dc_args="-Ofast -m64" \ + -Dcpp_args="-Ofast -m64" \ + -Dprefix=/usr \ + -D sysconfdir=/etc \ + -Dplatforms=x11,wayland \ + -Ddri3=enabled \ + -Ddri-drivers=i915,i965,r100,r200,nouveau \ + -Dgallium-drivers=r300,r600,radeonsi,nouveau,virgl,svga,swrast,iris,zink \ + -Dgallium-extra-hud=true \ + -Dgallium-vdpau=enabled \ + -Dgallium-xvmc=enabled \ + -Dgallium-omx=bellagio \ + -Dgallium-va=enabled \ + -Dgallium-xa=enabled \ + -Dgallium-nine=true \ + -Dgallium-opencl=icd \ + -Dopencl-spirv=false \ + -Dopencl-native=true \ + -Dvulkan-drivers=amd,intel,swrast \ + -Dshader-cache=enabled \ + -Dvulkan-overlay-layer=true \ + -Dvulkan-device-select-layer=true \ + -Dshared-glapi=enabled \ + -Dgles1=enabled \ + -Dgles2=enabled \ + -Dopengl=true \ + -Dgbm=enabled \ + -Dglx=dri \ + -Degl=enabled \ + -Dglvnd=true \ + -Dmicrosoft-clc=disabled \ + -Dspirv-to-dxil=false \ + -Dllvm=enabled \ + -Dshared-llvm=enabled \ + -Dvalgrind=enabled \ + -Dlibunwind=enabled \ + -Dlmsensors=enabled \ + -Dselinux=false \ + -Dosmesa=true \ + -Dswr-arches=avx,avx2,knl,skx \ + -Dshared-swr=true \ + -Dxlib-lease=enabled \ + -Dglx-direct=true \ + -Dzstd=enabled \ + -Dzlib=enabled \ + -Dsse2=false + + meson configure build_64/ + + meson compile -C build_64/ + + ninja -C build_64/ + + # build with meson + meson configure build_64/ \ + -D b_lto=$lto2 \ + -D b_pgo=$pgo2 + + meson configure build_64/ + + meson compile -C build_64/ + + ninja -C build_64/ + + # remove build dir if there is one + if dir build_32; then + rm -rf -v build_32 + fi + + # create build dir + mkdir -p -v build_32 + +if [[ $_compiler = "1" ]]; then + export CC='gcc -m32' + export CXX='g++ -m32' +elif [[ $_compiler = "2" ]]; then + export CC='clang -m32' + export CXX='clang++ -m32' +else + export CC='gcc -m32' + export CXX='g++ -m32' +fi +export PKG_CONFIG=/usr/bin/i686-pc-linux-gnu-pkg-config +cat >crossfile.ini <<END +[binaries] +llvm-config = '/usr/bin/llvm-config32' +END + + # build with meson + meson setup build_32/ \ + --native-file crossfile.ini \ + -D b_ndebug=true \ + -D b_lto=$lto1 \ + -D b_pgo=$pgo1 \ + -D buildtype=plain \ + --wrap-mode=nofallback \ + -Dprefix=/usr \ + -D sysconfdir=/etc \ + --libdir=/usr/lib32 \ + -Dc_args="-Ofast -m32" \ + -Dcpp_args="-Ofast -m32" \ + -Dplatforms=x11,wayland \ + -Ddri3=enabled \ + -Ddri-drivers=i915,i965,r100,r200,nouveau \ + -Dgallium-drivers=r300,r600,radeonsi,nouveau,virgl,svga,swrast,iris,zink \ + -Dgallium-extra-hud=true \ + -Dgallium-vdpau=enabled \ + -Dgallium-xvmc=enabled \ + -Dgallium-omx=disabled \ + -Dgallium-va=enabled \ + -Dgallium-xa=enabled \ + -Dgallium-nine=true \ + -Dgallium-opencl=icd \ + -Dopencl-spirv=false \ + -Dopencl-native=true \ + -Dvulkan-drivers=amd,intel,swrast \ + -Dshader-cache=enabled \ + -Dvulkan-overlay-layer=true \ + -Dvulkan-device-select-layer=true \ + -Dshared-glapi=enabled \ + -Dgles1=enabled \ + -Dgles2=enabled \ + -Dopengl=true \ + -Dgbm=enabled \ + -Dglx=dri \ + -Degl=enabled \ + -Dglvnd=true \ + -Dmicrosoft-clc=disabled \ + -Dspirv-to-dxil=false \ + -Dllvm=enabled \ + -Dshared-llvm=enabled \ + -Dvalgrind=disabled \ + -Dlibunwind=enabled \ + -Dlmsensors=enabled \ + -Dselinux=false \ + -Dosmesa=true \ + -Dswr-arches=avx,avx2,knl,skx \ + -Dshared-swr=true \ + -Dxlib-lease=enabled \ + -Dglx-direct=true \ + -Dzstd=enabled \ + -Dzlib=enabled \ + -Dsse2=false + + meson configure build_32/ + + meson compile -C build_32/ + + ninja -C build_32/ + + # build with meson + meson configure build_32/ \ + -D b_lto=$lto2 \ + -D b_pgo=$pgo2 + + meson configure build_32/ + + meson compile -C build_32/ + + ninja -C build_32/ +} + +package_mesa-rc(){ + pkgdesc="An open-source implementation of the OpenGL specification. (64-bit) (rc release)" + depends=("libdrm" "libelf" "libglvnd" "libomxil-bellagio" "libunwind" "libxdamage" "libxxf86vm" "llvm-libs" "lm_sensors" "wayland" "zstd" "libxshmfence" + "libclc" "expat" "vulkan-icd-loader") + conflicts=("mesa" "opencl-mesa" "vulkan-intel" "vulkan-radeon" "vulkan-mesa" "vulkan-swrast" "vulkan-mesa-layers" "libva-mesa-driver" "mesa-vdpau" "mesa-stable" "mesa-git") + provides=("mesa" "opencl-mesa" "vulkan-intel" "vulkan-radeon" "vulkan-swrast" "vulkan-driver" "vulkan-mesa-layers" "libva-mesa-driver" "mesa-vdpau" "opengl-driver" "opencl-driver" + "mesa-libgl") + + # compiling mesa and installing to "$pkgdir" + DESTDIR="${pkgdir}" ninja $NINJAFLAGS -C mesa-$versiontag/build_64/ install + + # remove script file from /usr/bin + rm "${pkgdir}/usr/bin/mesa-overlay-control.py" + rm -rf -v "${pkgdir}/usr/bin" + + # indirect rendering + ln -s /usr/lib/libGLX_mesa.so.0 "${pkgdir}/usr/lib/libGLX_indirect.so.0" + + # installing license + install -Dt "$pkgdir"/usr/share/licenses/"$pkgname" -m644 LICENSE +} + +package_lib32-mesa-rc(){ + pkgdesc="An open-source implementation of the OpenGL specification. (32-bit) (rc release)" + depends=("lib32-libdrm" "lib32-libelf" "lib32-libglvnd" "libomxil-bellagio" "lib32-libunwind" "lib32-libxdamage" "lib32-libxxf86vm" "lib32-llvm-libs" + "lib32-lm_sensors" "lib32-wayland" "lib32-zstd" "lib32-libxshmfence" "libclc" "lib32-expat" "lib32-vulkan-icd-loader") + conflicts=("lib32-mesa" "lib32-opencl-mesa" "lib32-vulkan-intel" "lib32-vulkan-radeon" "lib32-vulkan-mesa" "lib32-vulkan-swrast" "lib32-vulkan-mesa-layers" "lib32-libva-mesa-driver" "lib32-mesa-vdpau" + "lib32-mesa-stable" "lib32-mesa-git") + provides=("lib32-mesa" "lib32-opencl-mesa" "lib32-vulkan-intel" "lib32-vulkan-radeon" "lib32-vulkan-swrast" "lib32-vulkan-driver" "lib32-vulkan-mesa-layers" "lib32-libva-mesa-driver" + "lib32-mesa-vdpau" "lib32-opengl-driver" "lib32-opencl-driver" "lib32-mesa-libgl") + + # compiling mesa and installing to "$pkgdir" + DESTDIR="${pkgdir}" ninja $NINJAFLAGS -C mesa-$versiontag/build_32/ install + + #Remove files provided by standard mesa build + rm -rf -v "$pkgdir"/etc + rm -rf -v "$pkgdir"/usr/include + rm -rf -v "$pkgdir"/usr/share/glvnd + rm -rf -v "$pkgdir"/usr/share/drirc.d + rm -rf -v "$pkgdir"/usr/share/freedreno + rm -rf -v "$pkgdir"/usr/share/vulkan/explicit_layer.d + rm -rf -v "$pkgdir"/usr/share/vulkan/explicit_layer.d/VkLayer_MESA_overlay.json + rm -rf -v "$pkgdir"/usr/share/vulkan/implicit_layer.d + rm -rf -v "$pkgdir"/usr/share/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json + + # remove script file from /usr/bin + rm -v "${pkgdir}/usr/bin/mesa-overlay-control.py" + rm -rf -v "${pkgdir}/usr/bin" + + # indirect rendering + ln -s /usr/lib32/libGLX_mesa.so.0 "${pkgdir}/usr/lib32/libGLX_indirect.so.0" + + # installing license + install -Dt "$pkgdir"/usr/share/licenses/"$pkgname" -m644 LICENSE +} |