diff options
Diffstat (limited to 'source/x')
4 files changed, 86 insertions, 80 deletions
diff --git a/source/x/mesa/mesa.SlackBuild b/source/x/mesa/mesa.SlackBuild index 82cb083a..85e266e8 100755 --- a/source/x/mesa/mesa.SlackBuild +++ b/source/x/mesa/mesa.SlackBuild @@ -25,7 +25,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=mesa VERSION=${VERSION:-$(echo $PKGNAM-[0-9]*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} DEMOVERS=${DEMOVERS:-8.4.0} -BUILD=${BUILD:-3} +BUILD=${BUILD:-1} BUILD_DEMOS=${BUILD_DEMOS:-YES} NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} @@ -101,6 +101,13 @@ if /bin/ls $CWD/patches/*.patch 1> /dev/null 2> /dev/null ; then done fi +# Revert these patches from git (and maybe elsewhere): +if /bin/ls $CWD/patches-revert/*.patch 1> /dev/null 2> /dev/null ; then + for patch in $CWD/patches-revert/*.patch ; do + patch -p1 -R --verbose < $patch || exit 1 ; + done +fi + # Configure, build, and install: export CFLAGS="$SLKCFLAGS" export CXXFLAGS="$SLKCFLAGS" @@ -121,7 +128,7 @@ meson setup \ -Dplatforms=x11,wayland \ -Dgallium-opencl=icd \ -Dgallium-nine=true \ - -Dosmesa=gallium \ + -Dosmesa=true \ -Ddri-drivers=$DRI_DRIVERS \ -Dgallium-drivers=$GALLIUM_DRIVERS \ -Dvulkan-device-select-layer=true \ diff --git a/source/x/mesa/patches-revert/72566fd92c27b39abe2057f6f23388ec40793dd9.patch b/source/x/mesa/patches-revert/72566fd92c27b39abe2057f6f23388ec40793dd9.patch new file mode 100644 index 00000000..0200efa3 --- /dev/null +++ b/source/x/mesa/patches-revert/72566fd92c27b39abe2057f6f23388ec40793dd9.patch @@ -0,0 +1,42 @@ +From 72566fd92c27b39abe2057f6f23388ec40793dd9 Mon Sep 17 00:00:00 2001 +From: Jesse Natalie <jenatali@microsoft.com> +Date: Wed, 18 Nov 2020 18:28:49 -0800 +Subject: [PATCH] clover: Support LLVM coming from CMake instead of config-tool + +Reviewed-by: Karol Herbst <kherbst@redhat.com> +Reviewed-by: Francisco Jerez <currojerez@riseup.net> +Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7680> +--- + src/gallium/frontends/clover/meson.build | 2 +- + src/gallium/targets/opencl/meson.build | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/gallium/frontends/clover/meson.build b/src/gallium/frontends/clover/meson.build +index 95a100d005c..b946eefff37 100644 +--- a/src/gallium/frontends/clover/meson.build ++++ b/src/gallium/frontends/clover/meson.build +@@ -71,7 +71,7 @@ libclllvm = static_library( + clover_opencl_cpp_args, + clover_spirv_cpp_args, + '-DCLANG_RESOURCE_DIR="@0@"'.format(join_paths( +- dep_llvm.get_configtool_variable('libdir'), 'clang', ++ dep_llvm.get_variable(cmake : 'LLVM_LIBRARY_DIR', configtool: 'libdir'), 'clang', + dep_llvm.version(), 'include', + )), + ], +diff --git a/src/gallium/targets/opencl/meson.build b/src/gallium/targets/opencl/meson.build +index dedd8ab7647..e758e4c12d9 100644 +--- a/src/gallium/targets/opencl/meson.build ++++ b/src/gallium/targets/opencl/meson.build +@@ -29,7 +29,7 @@ if with_ld_version_script + opencl_link_deps += files('opencl.sym') + endif + +-llvm_libdir = dep_llvm.get_configtool_variable('libdir') ++llvm_libdir = dep_llvm.get_variable(cmake : 'LLVM_LIBRARY_DIR', configtool: 'libdir') + opencl_libname = with_opencl_icd ? 'MesaOpenCL' : 'OpenCL' + + polly_dep = null_dep +-- +GitLab + diff --git a/source/x/mesa/patches-revert/80817b6e344258ac9b955f824ebf9019a0fc1610.patch b/source/x/mesa/patches-revert/80817b6e344258ac9b955f824ebf9019a0fc1610.patch new file mode 100644 index 00000000..13eec39c --- /dev/null +++ b/source/x/mesa/patches-revert/80817b6e344258ac9b955f824ebf9019a0fc1610.patch @@ -0,0 +1,35 @@ +From 80817b6e344258ac9b955f824ebf9019a0fc1610 Mon Sep 17 00:00:00 2001 +From: Jesse Natalie <jenatali@microsoft.com> +Date: Wed, 18 Nov 2020 18:30:30 -0800 +Subject: [PATCH] meson: Adjust Clover's required LLVM modules + +When coming from CMake, all-targets doesn't exist, and Clover's +mechanism for finding Clang apparently requires the OpenMP frontend +lib but doesn't automatically pull it in. + +Reviewed-by: Daniel Stone <daniels@collabora.com> +Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7680> +--- + meson.build | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/meson.build b/meson.build +index 6d1607c35a3..f828eb80faa 100644 +--- a/meson.build ++++ b/meson.build +@@ -1479,9 +1479,10 @@ if with_amd_vk or with_gallium_radeonsi or with_gallium_r600 + endif + if with_gallium_opencl + llvm_modules += [ +- 'all-targets', 'linker', 'coverage', 'instrumentation', 'ipo', 'irreader', +- 'lto', 'option', 'objcarcopts', 'profiledata', ++ 'linker', 'coverage', 'instrumentation', 'ipo', 'irreader', ++ 'lto', 'option', 'objcarcopts', 'profiledata' + ] ++ llvm_optional_modules += ['frontendopenmp'] + endif + if with_microsoft_clc + llvm_modules += ['target', 'linker', 'irreader', 'option', 'libdriver'] +-- +GitLab + diff --git a/source/x/mesa/patches/MESA_VK_DEVICE_SELECT.uint32_t.patch b/source/x/mesa/patches/MESA_VK_DEVICE_SELECT.uint32_t.patch deleted file mode 100644 index 8f9bc231..00000000 --- a/source/x/mesa/patches/MESA_VK_DEVICE_SELECT.uint32_t.patch +++ /dev/null @@ -1,78 +0,0 @@ -diff --git a/src/vulkan/device-select-layer/device_select.h b/src/vulkan/device-select-layer/device_select.h -index 2335070..8debb77 100644 ---- a/src/vulkan/device-select-layer/device_select.h -+++ b/src/vulkan/device-select-layer/device_select.h -@@ -24,10 +24,18 @@ - #define DEVICE_SELECT_H - - #include <stdbool.h> -+#include <stdint.h> - #include "xf86drm.h" - -+/* We don't use `drmPciDeviceInfo` because it uses 16-bit ids, -+ * instead of Vulkan's 32-bit ones */ -+struct device_info { -+ uint32_t vendor_id; -+ uint32_t device_id; -+}; -+ - struct device_pci_info { -- drmPciDeviceInfo dev_info; -+ struct device_info dev_info; - drmPciBusInfo bus_info; - bool has_bus_info; - bool cpu_device; -diff --git a/src/vulkan/device-select-layer/device_select_layer.c b/src/vulkan/device-select-layer/device_select_layer.c -index 5b708bc..bd18511 100644 ---- a/src/vulkan/device-select-layer/device_select_layer.c -+++ b/src/vulkan/device-select-layer/device_select_layer.c -@@ -222,7 +222,7 @@ static void print_gpu(const struct instance_info *info, unsigned index, VkPhysic - type = "CPU"; - break; - } -- fprintf(stderr, " GPU %d: %x:%x \"%s\" %s", index, properties.properties.vendorID, -+ fprintf(stderr, " GPU %d: 0x%04x:0x%04x \"%s\" %s", index, properties.properties.vendorID, - properties.properties.deviceID, properties.properties.deviceName, type); - if (info->has_pci_bus) - fprintf(stderr, " %04x:%02x:%02x.%x", ext_pci_properties.pciDomain, -@@ -267,18 +267,18 @@ static int device_select_find_explicit_default(struct device_pci_info *pci_infos - uint32_t device_count, - const char *selection) - { -- int default_idx = -1; -- unsigned vendor_id, device_id; -+ uint32_t vendor_id, device_id; - int matched = sscanf(selection, "%x:%x", &vendor_id, &device_id); -- if (matched != 2) -- return default_idx; -+ if (matched != 2) { -+ return -1; -+ } - - for (unsigned i = 0; i < device_count; ++i) { - if (pci_infos[i].dev_info.vendor_id == vendor_id && - pci_infos[i].dev_info.device_id == device_id) -- default_idx = i; -+ return i; - } -- return default_idx; -+ return -1; - } - - static int device_select_find_dri_prime_tag_default(struct device_pci_info *pci_infos, -@@ -378,8 +378,14 @@ static uint32_t get_default_device(const struct instance_info *info, - cpu_count += fill_drm_device_info(info, &pci_infos[i], pPhysicalDevices[i]) ? 1 : 0; - } - -- if (selection) -+ if (selection) { - default_idx = device_select_find_explicit_default(pci_infos, physical_device_count, selection); -+ if (default_idx == -1) { -+ fprintf(stderr, "device-select: cannot find device vendorID:deviceID match " -+ "using MESA_VK_DEVICE_SELECT=%s. Use 'list' for available devices.\n", selection); -+ exit(0); -+ } -+ } - if (default_idx == -1 && info->has_pci_bus && dri_prime && !dri_prime_is_one) - default_idx = device_select_find_dri_prime_tag_default(pci_infos, physical_device_count, dri_prime); - if (default_idx == -1 && info->has_wayland) |