aboutsummaryrefslogtreecommitdiff
path: root/mesa/muon.patch
diff options
context:
space:
mode:
Diffstat (limited to 'mesa/muon.patch')
-rw-r--r--mesa/muon.patch87
1 files changed, 87 insertions, 0 deletions
diff --git a/mesa/muon.patch b/mesa/muon.patch
new file mode 100644
index 00000000..0e03943b
--- /dev/null
+++ b/mesa/muon.patch
@@ -0,0 +1,87 @@
+--- mesa-26.1.2-orig/meson.build
++++ mesa-26.1.2/meson.build
+@@ -1895,16 +1895,10 @@
+ .disable_auto_if(host_machine.system() == 'windows') \
+ .allowed()
+
+-dep_llvm = dependency(
+- 'llvm',
+- method : host_machine.system() == 'windows' ? 'auto' : 'config-tool',
+- version : _llvm_version,
+- modules : llvm_modules,
+- optional_modules : llvm_optional_modules,
+- required : with_llvm,
+- static : not _shared_llvm,
+- fallback : ['llvm', 'dep_llvm'],
+- include_type : 'system',
++dep_llvm = declare_dependency(
++ include_directories: include_directories('@APKGLLVMINCLUDEDIR@'),
++ link_args: ['@APKGLLVMLIBS@', '@APKGLLVMLDFLAGS@'],
++ version: '@APKGLLVMVERSION@',
+ )
+ if dep_llvm.found()
+ pre_args += '-DMESA_LLVM_VERSION_STRING="@0@"'.format(dep_llvm.version())
+@@ -1928,7 +1922,7 @@
+ # ensure that linking works. Note that Win32 compilers does handle mismatching RTTI
+ # without issues, so only apply this for other compilers.
+ if dep_llvm.type_name() == 'internal'
+- _llvm_rtti = subproject('llvm').get_variable('has_rtti', true)
++ _llvm_rtti = true
+ else
+ # The CMake finder will return 'ON', the llvm-config will return 'YES'
+ _llvm_rtti = ['ON', 'YES'].contains(dep_llvm.get_variable(cmake : 'LLVM_ENABLE_RTTI', configtool: 'has-rtti'))
+@@ -1992,7 +1986,7 @@
+
+ dep_clang = null_dep
+ if with_clc
+- llvm_libdir = dep_llvm.get_variable(cmake : 'LLVM_LIBRARY_DIR', configtool: 'libdir')
++ llvm_libdir = '/usr/lib'
+
+ dep_clang = cpp.find_library('clang-cpp', dirs : llvm_libdir, required : false)
+
+@@ -2162,7 +2156,16 @@
+ pre_args += ['-DHAVE_WL_CREATE_QUEUE_WITH_NAME']
+ endif
+ # This can be renamed just `wayland` when we require at least 1.8
+- mod_wl = import('unstable-wayland')
++ wayland_protocols_dep = dependency('wayland-protocols')
++ wayland_protocols_datadir = wayland_protocols_dep.get_pkgconfig_variable('pkgdatadir')
++ wayland_scanner = find_program('wayland-scanner')
++
++ gen_client_header = generator(wayland_scanner,
++ output: '@BASENAME@-client-protocol.h',
++ arguments: ['client-header', '@INPUT@', '@OUTPUT@'])
++ gen_private_code = generator(wayland_scanner,
++ output: '@BASENAME@-protocol.c',
++ arguments: ['private-code', '@INPUT@', '@OUTPUT@'])
+ endif
+
+ # Even if we find OpenMP, Gitlab CI fails to link with gcc/i386 and clang/anyarch.
+--- mesa-26.1.2-orig/src/loader/meson.build
++++ mesa-26.1.2/src/loader/meson.build
+@@ -5,17 +5,17 @@
+
+ if with_platform_wayland
+ wp_protos = {
+- 'fifo-v1': mod_wl.find_protocol('fifo', state : 'staging', version : 1),
+- 'commit-timing-v1': mod_wl.find_protocol('commit-timing', state : 'staging', version : 1),
+- 'linux-dmabuf-unstable-v1': mod_wl.find_protocol('linux-dmabuf', state : 'unstable', version : 1),
+- 'presentation-time': mod_wl.find_protocol('presentation-time'),
+- 'tearing-control-v1': mod_wl.find_protocol('tearing-control', state : 'staging', version : 1),
+- 'linux-drm-syncobj-v1': mod_wl.find_protocol('linux-drm-syncobj', state : 'staging', version : 1),
+- 'color-management-v1': mod_wl.find_protocol('color-management', state : 'staging', version : 1)
++ 'fifo-v1': join_paths(wayland_protocols_datadir, 'staging/fifo/fifo-v1.xml'),
++ 'commit-timing-v1': join_paths(wayland_protocols_datadir, 'staging/commit-timing/commit-timing-v1.xml'),
++ 'linux-dmabuf-unstable-v1': join_paths(wayland_protocols_datadir, 'unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml'),
++ 'presentation-time': join_paths(wayland_protocols_datadir, 'stable/presentation-time/presentation-time.xml'),
++ 'tearing-control-v1': join_paths(wayland_protocols_datadir, 'staging/tearing-control/tearing-control-v1.xml'),
++ 'linux-drm-syncobj-v1': join_paths(wayland_protocols_datadir, 'staging/linux-drm-syncobj/linux-drm-syncobj-v1.xml'),
++ 'color-management-v1': join_paths(wayland_protocols_datadir, 'staging/color-management/color-management-v1.xml')
+ }
+ wp_files = {}
+ foreach name, xml : wp_protos
+- wp_files += {name : mod_wl.scan_xml(xml, include_core_only : false)}
++ wp_files += {name : [gen_client_header.process(xml), gen_private_code.process(xml)]}
+ endforeach
+
+ libloader_wayland_helper = static_library(