Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:X0F:HSF
Mesa
Mesa.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File Mesa.spec of Package Mesa
# # spec file for package Mesa # # Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # #!BuildIgnore: Mesa-dri %define __builder ninja %global flavor @BUILD_FLAVOR@%{nil} %if "%{flavor}" == "drivers" %global psuffix -drivers %else %global psuffix %{nil} %endif %ifarch %{ix86} x86_64 armv6l armv6hl %define _lto_cflags %{nil} %endif # Possible patent issues, see # https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15258 # for more details %if 0%{?BUILD_ORIG} %define video_codecs 1 %else %define video_codecs 0 %endif %define drivers 0 %define _name_archive mesa %ifnarch s390x %define _version 24.3.0 %else %define _version 24.1.7 %endif # rusty llvm fork's cult now decided to remove to remove half-baked direct LLVM openCL implementation # and replace it with shittier half-baked LLVM-fork version, CLover is being replaced with RustiCL # see https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19385 %define with_opencl 0 %define with_rusticl 0 # those maniacs have added rust version of their semi-abandoned OpenCL library, gallium-rusticl # so you could have a dependency on crappy llvm fork while also having a dependency on regular llvm %define with_vulkan 0 %define with_llvm 0 # see https://gitlab.freedesktop.org/mesa/mesa/-/issues/10885 # although, I don't have this issue with RX580 %ifarch %ix86 %arm %define use_clang 1 %define use_lld 1 %define use_lto 0 %else %define use_clang 1 %define use_lld 1 %define use_lto 0 %endif # see https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24998#note_2080059 and src/nouveau/compiler/meson.build # stupid retards that manage half-dead Nvidia driver seem to have decided # to create a hard dependency on Rust... crappy fork of LLVM which itself is # an unnecessary alternative to gcc but good luck compiling this now %define nouveau_support 1 %if 0%{?nouveau_support} %define nouveau_name nouveau, %else %define nouveau_name %{nil} %endif # advanced visualization support, requires perfetto dependency %define with_perfetto 0 # required for drivers %define have_gallium 1 %ifarch %{ix86} x86_64 %{arm} aarch64 ppc64 ppc64le riscv64 %define gallium_loader 1 %else %define gallium_loader 0 %endif %define vdpau_nouveau 0 %define vdpau_radeon 0 %define vdpau_virtio_gpu 0 %define vdpau_d3d12 0 %ifarch %{ix86} x86_64 aarch64 %{arm} ppc64 ppc64le riscv64 %if 0%{?nouveau_support} %define vdpau_nouveau 1 %endif %define vdpau_radeon 1 %define vdpau_virtio_gpu 1 %ifarch %{ix86} x86_64 %define vdpau_d3d12 1 %endif %endif %ifarch %{ix86} x86_64 %define with_nine 1 %endif # 'gfxstream-experimental' requires "aemu_base" (Android emulator) %if 0%{gallium_loader} %define with_opencl 1 %ifarch %{ix86} x86_64 %define with_vulkan 1 %if 0%{?nouveau_support} %define vulkan_drivers swrast,virtio,amd,intel,intel_hasvk,imagination-experimental,microsoft-experimental,nouveau %else %define vulkan_drivers swrast,virtio,amd,intel,intel_hasvk,imagination-experimental,microsoft-experimental %endif %endif %ifarch %{arm} aarch64 %define with_vulkan 1 %if 0%{?nouveau_support} %define vulkan_drivers swrast,virtio,amd,broadcom,freedreno,asahi,intel,intel_hasvk,nouveau %else %define vulkan_drivers swrast,virtio,amd,broadcom,freedreno,asahi,intel,intel_hasvk %endif %endif %ifarch riscv64 %define with_vulkan 1 %define vulkan_drivers swrast,amd,intel,intel_hasvk %endif %endif %ifarch aarch64 %{arm} ppc64 ppc64le riscv64 s390x %{ix86} x86_64 ix86 %define with_llvm 1 %endif %if "%{flavor}" == "drivers" %if 0%{with_opencl} %define with_rusticl 1 %endif %else # No llvm dependencies %define with_llvm 0 # OpenCL requires clang (LLVM) %define with_opencl 0 # nine requires at least one non-swrast gallium driver %define with_nine 0 # Not built because radeon driver is not built. %define vdpau_radeon 0 # Not built because nouveau driver is not built. %define vdpau_nouveau 0 # Not built because virtio_gpu driver is not built. %define vdpau_virtio_gpu 0 # Not built because d3d12 driver is not built. %define vdpau_d3d12 0 # Vulkan includes radv driver which requires llvm %define with_vulkan 0 %endif # NVK aka Vulkan Nouveau dependencies %global _unicode_ident_crate_ver 1.0.12 %global _syn_crate_ver 2.0.68 %global _quote_crate_ver 1.0.33 %global _proc_macro2_ver 1.0.86 %global _paste_crate_ver 1.0.14 Name: Mesa%{psuffix} %ifnarch s390x Version: 24.3.0 %else Version: 24.1.7 %endif Release: 0 Summary: System for rendering 3-D graphics License: MIT Group: System/Libraries URL: https://www.mesa3d.org #Git-Clone: git://anongit.freedesktop.org/mesa/mesa Source0: https://archive.mesa3d.org/%{_name_archive}-%{_version}.tar.xz Source1: https://archive.mesa3d.org/%{_name_archive}-%{_version}.tar.xz.sig # NVK aka Vulkan Nouveau dependencies # Explainer: # Since Rust crates are not installed or discouraged to be installed as system # dependencies because of the maintenance burden of being the next crates.io, # we will have to download the following crates as vendored dependencies. # Hence, do not be scared if the dependencies are done like this # To check new crates or update the versions, just go to the subprojects folder and # run `grep -r crates .` then set versions appropriately. Source2: http://crates.io/api/v1/crates/unicode-ident/%{_unicode_ident_crate_ver}/download#/unicode-ident-%{_unicode_ident_crate_ver}.tar.gz Source3: http://crates.io/api/v1/crates/syn/%{_syn_crate_ver}/download#/syn-%{_syn_crate_ver}.tar.gz Source4: http://crates.io/api/v1/crates/quote/%{_quote_crate_ver}/download#/quote-%{_quote_crate_ver}.tar.gz Source5: http://crates.io/api/v1/crates/proc-macro2/%{_proc_macro2_ver}/download#/proc-macro2-%{_proc_macro2_ver}.tar.gz Source6: http://crates.io/api/v1/crates/paste/%{_paste_crate_ver}/download#/paste-%{_paste_crate_ver}.tar.gz Source7: baselibs.conf Source8: README.updates Source9: manual-pages.tar.bz2 Source10: Mesa-rpmlintrc Source11: Mesa.keyring Source12: README-suse-maintenance.md Source20: https://archive.mesa3d.org/%{_name_archive}-24.3.0.tar.xz Source21: https://archive.mesa3d.org/%{_name_archive}-24.3.0.tar.xz.sig Patch2: n_add-Mesa-headers-again.patch Patch11: u_0001-intel-genxml-Drop-from-__future__-import-annotations.patch Patch12: u_0002-intel-genxml-Add-a-untyped-OrderedDict-fallback-for-.patch %ifnarch s390x Patch13: python36-buildfix1.patch %else Patch13: python36-buildfix1-s390x.patch %endif Patch14: python36-buildfix2.patch Patch17: tlsdesc_test.patch # never to be upstreamed Patch54: n_drirc-disable-rgb10-for-chromium-on-amd.patch Patch100: U_fix-mpeg1_2-decode-mesa-20.2.patch Patch400: n_stop-iris-flicker.patch %ifnarch s390x Patch500: u_dep_xcb.patch %else Patch500: u_dep_xcb-s390x.patch %endif %ifnarch s390x Patch1222040: u_mesa-CVE-2023-45913.patch %else Patch1222040: u_mesa-CVE-2023-45913-s390x.patch %endif Patch1222041: u_mesa-CVE-2023-45919.patch Patch1222042: u_mesa-CVE-2023-45922.patch # this naively parrots Nvidia's numbers; crash is triggered by mpv #Patch900: Mesa-crankup_RADV_ComputeWorkGroup.patch # no change is observed #Patch901: Mesa-crankup_RADV_3Dcompute.patch # needs rebasing #Patch902: Mesa-crankup_core_limits.patch Patch910: Mesa-lavapipe.patch %ifarch %{ix86} x86_64 BuildRequires: pkgconfig(DirectX-Headers) # for libvulkan_microsoft/dzn BuildRequires: dxc-libdxcompiler-devel %endif BuildRequires: bison BuildRequires: cmake BuildRequires: fdupes BuildRequires: flex BuildRequires: glibc-devel BuildRequires: ninja %if 0%{?use_clang} BuildRequires: clang-devel #BuildRequires: npth-devel %if 0%{?use_lld} BuildRequires: lld %else BuildRequires: binutils-gold BuildRequires: llvm-gold %endif %else BuildRequires: binutils-gold BuildRequires: gcc-c++ %endif BuildRequires: glslang-devel BuildRequires: imake BuildRequires: libpciaccess-devel BuildRequires: libsensors4-devel BuildRequires: libtool BuildRequires: memory-constraints %if 0%{with_rusticl} BuildRequires: meson >= 1.4.0 %else BuildRequires: meson >= 1.1.0 %endif BuildRequires: pkgconfig BuildRequires: python3-base # dataclasses is in standard library of python >= 3.7 %if 0%{?suse_version} < 1550 BuildRequires: python3-dataclasses %endif BuildRequires: python3-Mako BuildRequires: python3-PyYAML BuildRequires: python3-ply BuildRequires: python3-xml BuildRequires: pkgconfig(dri2proto) BuildRequires: pkgconfig(dri3proto) BuildRequires: pkgconfig(expat) BuildRequires: pkgconfig(glproto) BuildRequires: pkgconfig(libdrm) >= 2.4.109 BuildRequires: pkgconfig(libdrm_amdgpu) >= 2.4.121 BuildRequires: pkgconfig(libdrm_nouveau) >= 2.4.66 BuildRequires: pkgconfig(libdrm_radeon) >= 2.4.71 BuildRequires: pkgconfig(libglvnd) >= 1.3.2 BuildRequires: pkgconfig(libudev) BuildRequires: pkgconfig(libunwind) %ifarch aarch64 x86_64 ppc64le s390x riscv64 BuildRequires: pkgconfig(valgrind) %endif %if 0%{with_perfetto} BuildRequires: pkgconfig(perfetto) %endif BuildRequires: pkgconfig(libva) BuildRequires: pkgconfig(presentproto) %if "%{flavor}" == "drivers" BuildRequires: pkgconfig(vdpau) >= 1.5 %ifarch %{ix86} x86_64 BuildRequires: pkgconfig(vulkan) %endif %endif BuildRequires: pkgconfig(libpng) BuildRequires: pkgconfig(libzstd) BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(x11-xcb) BuildRequires: pkgconfig(xcb-dri2) BuildRequires: pkgconfig(xcb-dri3) BuildRequires: pkgconfig(xcb-glx) BuildRequires: pkgconfig(xcb-present) BuildRequires: pkgconfig(xdamage) BuildRequires: pkgconfig(xext) BuildRequires: pkgconfig(xfixes) BuildRequires: pkgconfig(xrandr) BuildRequires: pkgconfig(xshmfence) BuildRequires: pkgconfig(xxf86vm) BuildRequires: pkgconfig(zlib) Provides: Mesa7 = %{version} Obsoletes: Mesa7 < %{version} Provides: intel-i810-Mesa = %{version} Obsoletes: intel-i810-Mesa < %{version} Provides: Mesa-libIndirectGL1 = %{version} Obsoletes: Mesa-libIndirectGL1 < %{version} Provides: xorg-x11-Mesa = %{version} Obsoletes: xorg-x11-Mesa < %{version} Provides: s2tc = %{version} Obsoletes: s2tc < %{version} Provides: libXvMC_r600 = %{version} Obsoletes: libXvMC_r600 < %{version} Provides: libtxc_dxtn = %{version} Obsoletes: libtxc_dxtn < %{version} %ifarch %{arm} aarch64 BuildRequires: python3-pycparser >= 2.20 BuildRequires: pkgconfig(libdrm_etnaviv) >= 2.4.89 BuildRequires: pkgconfig(libdrm_freedreno) >= 2.4.74 BuildRequires: pkgconfig(libelf) %endif %ifarch x86_64 %{ix86} aarch64 %{arm} riscv64 BuildRequires: libelf-devel BuildRequires: pkgconfig(libdrm_intel) >= 2.4.75 BuildRequires: pkgconfig(libelf) %endif %ifarch x86_64 BuildRequires: pkgconfig(flatbuffers) BuildRequires: pkgconfig(xtensor) %endif # Requirements for wayland bumped up from 17.0 BuildRequires: pkgconfig(wayland-client) >= 1.11 BuildRequires: pkgconfig(wayland-protocols) >= 1.8 BuildRequires: pkgconfig(wayland-server) >= 1.11 %if 0%{with_llvm} || 0%{?use_clang} BuildRequires: clang-devel %if 0%{?suse_version} >= 1550 BuildRequires: llvm-devel >= 18 %else %if 0%{?sle_version} >= 150700 BuildRequires: llvm19-devel %endif %endif %endif %if 0%{?with_vulkan} BuildRequires: pkgconfig(LLVMSPIRVLib) BuildRequires: pkgconfig(SPIRV-Tools) BuildRequires: pkgconfig(vulkan) %endif %if 0%{with_opencl} %if 0%{?suse_version} >= 1550 BuildRequires: clang-devel %else %if 0%{?sle_version} >= 150700 BuildRequires: clang19-devel %endif %endif %endif BuildRequires: libclc BuildRequires: pkgconfig(LLVMSPIRVLib) BuildRequires: pkgconfig(SPIRV-Tools) %if 0%{with_rusticl} || 0%{?nouveau_support} # For NVK or libvulkan_nouveau.so # Rust Cbindgen >=0.25 is required # but it's only available on tumbleweed BuildRequires: rust-cbindgen >= 0.25 %if 0%{with_rusticl} BuildRequires: rust BuildRequires: rust-bindgen %endif %endif Requires: Mesa-libEGL1 = %{version} Requires: Mesa-libGL1 = %{version} Requires: libglvnd >= 0.1.0 # This dependency on Mesa-gallium is here to make sure users that # do not install recommends on their system still get working Mesa. It is # ignored in obs when Mesa is installed as build dependency. %if 0%{have_gallium} Requires: Mesa-gallium = %{version} %endif %description Mesa is a 3-D graphics library with an API which is very similar to that of OpenGL.* To the extent that Mesa utilizes the OpenGL command syntax or state machine, it is being used with authorization from Silicon Graphics, Inc.(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. * OpenGL is a trademark of Silicon Graphics Incorporated. %package devel Summary: Libraries, includes and more to develop Mesa applications Group: Development/Libraries/X11 Requires: Mesa = %{version} Requires: Mesa-libEGL-devel = %{version} Requires: Mesa-libGL-devel = %{version} Requires: Mesa-libglapi-devel = %{version} Requires: libOSMesa-devel = %{version} Requires: libgbm-devel = %{version} Provides: Mesa-devel-static = %{version} Provides: xorg-x11-Mesa-devel = %{version} Requires: libglvnd-devel >= 1.2.0 Obsoletes: Mesa-devel-static < %{version} Obsoletes: xorg-x11-Mesa-devel < %{version} Provides: Mesa-libIndirectGL-devel = %{version} Obsoletes: Mesa-libIndirectGL-devel < %{version} Provides: s2tc-devel = %{version} Obsoletes: s2tc-devel < %{version} Provides: libtxc_dxtn-devel = %{version} Obsoletes: libtxc_dxtn-devel < %{version} %if 0%{with_opencl} Requires: opencl-headers >= 1.2 %endif %description devel Mesa is a 3-D graphics library with an API which is very similar to that of OpenGL.* To the extent that Mesa utilizes the OpenGL command syntax or state machine, it is being used with authorization from Silicon Graphics, Inc.(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. * OpenGL is a trademark of Silicon Graphics Incorporated. %package libEGL1 # Kudos to Debian for the descriptions Summary: EGL API implementation Group: System/Libraries Requires: libglvnd >= 0.1.0 %description libEGL1 This package contains the EGL native platform graphics interface library. EGL provides a platform-agnostic mechanism for creating rendering surfaces for use with other graphics libraries, such as OpenGL|ES. This package contains modules to interface with the existing system GLX or DRI2 drivers to provide OpenGL via EGL. The Mesa main package provides drivers to provide hardware-accelerated OpenGL|ES support. %package libEGL-devel Summary: Development files for the EGL API Group: Development/Libraries/C and C++ Requires: Mesa-libEGL1 = %{version} Requires: libglvnd-devel >= 0.1.0 Requires: pkgconfig(x11) # Other requires taken care of by pkgconfig already Provides: Mesa-KHR-devel = %{version} Provides: Mesa-libGLESv1_CM-devel = %{version} Provides: Mesa-libGLESv2-devel = %{version} Provides: Mesa-libGLESv3-devel = %{version} %description libEGL-devel This package contains the development environment required for compiling programs against EGL native platform graphics interface library. EGL provides a platform-agnostic mechanism for creating rendering surfaces for use with other graphics libraries, such as OpenGL|ES. This package provides the development environment for compiling programs against the EGL library. %package libGL1 Summary: The GL/GLX runtime of the Mesa 3D graphics library Group: System/Libraries Requires: Mesa = %{version} Requires: libglvnd >= 0.1.0 %description libGL1 Mesa is a software library for 3D computer graphics that provides a generic OpenGL implementation for rendering three-dimensional graphics. GLX ("OpenGL Extension to the X Window System") provides the interface connecting OpenGL and the X Window System: it enables programs wishing to use OpenGL to do so within a window provided by the X Window System. %package libGL-devel Summary: GL/GLX development files of the OpenGL API Group: Development/Libraries/C and C++ Requires: Mesa-libEGL-devel = %{version} Requires: libglvnd-devel >= 0.1.0 Requires: pkgconfig(x11) %description libGL-devel Mesa is a software library for 3D computer graphics that provides a generic OpenGL implementation for rendering three-dimensional graphics. This package includes headers and static libraries for compiling programs with Mesa. %package -n libOSMesa8 Summary: Mesa Off-screen rendering extension # Wrongly named package shipped .so.8 Group: System/Libraries Obsoletes: libOSMesa9 < %{version} Provides: libOSMesa9 = %{version} %description -n libOSMesa8 OSmesa is a Mesa extension that allows programs to render to an off-screen buffer using the OpenGL API without having to create a rendering context on an X Server. It uses a pure software renderer. %package -n libOSMesa-devel Summary: Development files for the Mesa Offscreen Rendering extension Group: Development/Libraries/C and C++ Requires: libOSMesa8 = %{version} %description -n libOSMesa-devel Development files for the OSmesa Mesa extension that allows programs to render to an off-screen buffer using the OpenGL API without having to create a rendering context on an X Server. It uses a pure software renderer. %package libglapi0 Summary: Free implementation of the GL API Group: System/Libraries %description libglapi0 The Mesa GL API module is responsible for dispatching all the gl* functions. It is intended to be mainly used by the Mesa-libGLES* packages. %package libglapi-devel Summary: Development files for the Mesa GL API implementation Group: Development/Libraries/C and C++ Requires: Mesa-libglapi0 = %{version} %description libglapi-devel Development files for the Mesa GL API module which is responsible for dispatching all the gl* functions. It is intended to be mainly used by the Mesa-libGLES* packages. %package -n Mesa-gallium Summary: Mesa Gallium GPU drivers Group: System/Libraries Requires: Mesa = %{version} # merged into libgallium in 24.2.3 Provides: libvdpau_gallium = %{version}-%{release} Obsoletes: libvdpau_gallium < %{version}-%{release} Provides: Mesa-dri = %{version} Provides: Mesa-dri-devel = %{version} Obsoletes: Mesa-dri < %{version} Supplements: Mesa %description -n Mesa-gallium This package contains Mesa Gallium drivers for 3D acceleration. %package -n libgbm1 Summary: Generic buffer management API Group: System/Libraries %description -n libgbm1 This package contains the GBM buffer management library. It provides a mechanism for allocating buffers for graphics rendering tied to Mesa. GBM is intended to be used as a native platform for EGL on drm or openwfd. %package -n libgbm-devel Summary: Development files for the EGL API Group: Development/Libraries/C and C++ Requires: libgbm1 = %{version} %description -n libgbm-devel This package contains the GBM buffer management library. It provides a mechanism for allocating buffers for graphics rendering tied to Mesa. GBM is intended to be used as a native platform for EGL on drm or openwfd. This package provides the development environment for compiling programs against the GBM library. %package -n Mesa-libd3d Summary: Mesa Direct3D9 state tracker # Manually provide d3d library (bnc#918294) Group: System/Libraries %ifarch x86_64 s390x ppc64 ppc64le aarch64 riscv64 Provides: d3dadapter9.so.1()(64bit) %else Provides: d3dadapter9.so.1 %endif %description -n Mesa-libd3d Mesa Direct3D9 state tracker %package -n Mesa-libd3d-devel Summary: Mesa Direct3D9 state tracker development package Group: Development/Libraries/C and C++ Requires: Mesa-libd3d = %{version} %description -n Mesa-libd3d-devel Mesa Direct3D9 state tracker development package %package -n libvdpau_nouveau Summary: VDPAU state tracker for Nouveau Group: System/Libraries Supplements: modalias(pci:v000010DEd*sv*sd*bc03sc*i*) Supplements: modalias(pci:v000012D2d*sv*sd*bc03sc*i*) %description -n libvdpau_nouveau This package contains the VDPAU state tracker for Nouveau. %package -n libvdpau_r600 Summary: VDPAU state tracker for R600 Group: System/Libraries Supplements: modalias(pci:v00001002d*sv*sd*bc03sc*i*) %description -n libvdpau_r600 This package contains the VDPAU state tracker for R600. %package -n libvdpau_radeonsi Summary: VDPAU state tracker for radeonsi Group: System/Libraries Supplements: modalias(pci:v00001002d*sv*sd*bc03sc*i*) %description -n libvdpau_radeonsi This package contains the VDPAU state tracker for radeonsi. %package -n libvdpau_virtio_gpu Summary: VDPAU state tracker for VirtIO GPU Group: System/Libraries %description -n libvdpau_virtio_gpu This package contains the VDPAU state tracker for VirtIO GPU. %package -n libvdpau_d3d12 Summary: VDPAU state tracker for d3d12 Group: System/Libraries Supplements: qemu-x86 Supplements: wine Supplements: wine:staging %description -n libvdpau_d3d12 This package contains the VDPAU state tracker for d3d12 %package -n Mesa-libOpenCL Summary: Mesa OpenCL implementation (Clover) Group: System/Libraries %if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150300 Requires: libclc(llvm%{_llvm_sonum}) %else Requires: libclc %endif %description -n Mesa-libOpenCL This package contains the Mesa OpenCL implementation or GalliumCompute. %package -n Mesa-libRusticlOpenCL Summary: Mesa OpenCL implementation (Rusticl) Group: System/Libraries %if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150300 Requires: libclc(llvm%{_llvm_sonum}) %else Requires: libclc %endif %description -n Mesa-libRusticlOpenCL This package contains the Mesa Rust-written OpenCL implementation. %package -n Mesa-libva Summary: Mesa VA-API implementation Group: System/Libraries Supplements: Mesa %description -n Mesa-libva This package contains the Mesa VA-API implementation provided through gallium. %package -n libvulkan_intel Summary: Mesa vulkan driver for Intel GPU Group: System/Libraries Supplements: modalias(pci:v00008086d*sv*sd*bc03sc*i*) Requires: Mesa-vulkan-device-select = %{version} # get rid of this package, which is no longer neeeded at all Provides: Mesa-libVulkan-devel = 22.0.0 Obsoletes: Mesa-libVulkan-devel < 22.0.0 Recommends: Mesa-vulkan-intel-nullhw Recommends: Mesa-vulkan-overlay Recommends: Mesa-vulkan-screenshot %description -n libvulkan_intel This package contains the Vulkan parts for Mesa. %package -n libvulkan_imagination Summary: Mesa vulkan driver for MTT GPU Group: System/Libraries Supplements: modalias(pci:v00001ed5d*sv*sd*bc03sc*i*) Requires: Mesa-vulkan-device-select Recommends: Mesa-vulkan-overlay Recommends: Mesa-vulkan-screenshot %description -n libvulkan_imagination This package contains the Vulkan parts for Mesa. %package -n libvulkan_microsoft Summary: Mesa vulkan driver for Microsoft VirtGPU Group: System/Libraries Supplements: modalias(pci:v00001414d*sv*sd*bc03sc*i*) Requires: Mesa-vulkan-device-select Recommends: Mesa-vulkan-overlay Recommends: Mesa-vulkan-screenshot %description -n libvulkan_microsoft This package contains the Vulkan parts for Mesa. # Only available on Tumbleweed because of rust-cbindgen >= 1.25 requirement %if 0%{?nouveau_support} %package -n libvulkan_nouveau Summary: Mesa vulkan driver for NVK (Nouveau Vulkan) Group: System/Libraries Supplements: modalias(pci:v000010ded*sv*sd*bc03sc*i*) Requires: Mesa-vulkan-device-select = %{version} Recommends: Mesa-vulkan-intel-nullhw Recommends: Mesa-vulkan-overlay Recommends: Mesa-vulkan-screenshot %description -n libvulkan_nouveau This package contains the Vulkan parts for NVIDIA GPU support in Mesa. %endif %package -n libvulkan_radeon Summary: Mesa vulkan driver for AMD GPU Group: System/Libraries Supplements: modalias(pci:v00001002d*sv*sd*bc03sc*i*) Requires: Mesa-vulkan-device-select = %{version} Recommends: Mesa-vulkan-intel-nullhw Recommends: Mesa-vulkan-overlay Recommends: Mesa-vulkan-screenshot %description -n libvulkan_radeon This package contains the Vulkan parts for Mesa. %package -n libvulkan_lvp Summary: Mesa vulkan driver for LVP Group: System/Libraries # get rid of this package, which is no longer neeeded at all Provides: Mesa-libVulkan-devel = 22.0.0 Obsoletes: Mesa-libVulkan-devel < 22.0.0 Requires: Mesa-vulkan-device-select = %{version} Recommends: Mesa-vulkan-intel-nullhw Recommends: Mesa-vulkan-overlay Recommends: Mesa-vulkan-screenshot %description -n libvulkan_lvp This package contains the Vulkan parts for Mesa. %package -n libvulkan_virtio Summary: Mesa vulkan driver for VirtIO Group: System/Libraries Requires: Mesa-vulkan-device-select Recommends: Mesa-vulkan-intel-nullhw Recommends: Mesa-vulkan-overlay Recommends: Mesa-vulkan-screenshot %description -n libvulkan_virtio This package contains the Vulkan parts for Mesa. %ifarch %{arm} aarch64 %package -n libvulkan_broadcom Summary: Mesa vulkan driver for Broadcom Group: System/Libraries Requires: Mesa-vulkan-device-select Recommends: Mesa-vulkan-intel-nullhw Recommends: Mesa-vulkan-overlay Recommends: Mesa-vulkan-screenshot %description -n libvulkan_broadcom This package contains the Vulkan parts for Mesa. %package -n libvulkan_freedreno Summary: Mesa vulkan driver for Freedreno Group: System/Libraries Requires: Mesa-vulkan-device-select Recommends: Mesa-vulkan-intel-nullhw Recommends: Mesa-vulkan-overlay Recommends: Mesa-vulkan-screenshot %description -n libvulkan_freedreno This package contains the Vulkan parts for Mesa. %endif %package -n Mesa-vulkan-intel-nullhw Summary: Mesa Vulkan null layer Group: System/Libraries %description -n Mesa-vulkan-intel-nullhw This package contains the VK_LAYER_INTEL_nullhw Vulkan layer used to disable all rendering/compute commands %package -n Mesa-vulkan-device-select Summary: Vulkan layer to select Vulkan devices provided by Mesa Group: System/Libraries %description -n Mesa-vulkan-device-select This package contains the VK_MESA_device_select Vulkan layer %package -n Mesa-vulkan-overlay Summary: Mesa Vulkan Overlay layer Group: System/Libraries %description -n Mesa-vulkan-overlay This package contains the VK_MESA_overlay Vulkan layer %package -n Mesa-vulkan-screenshot Summary: Mesa Vulkan Overlay layer Group: System/Libraries %description -n Mesa-vulkan-screenshot This package contains the VK_MESA_screenshot Vulkan layer %package -n libxatracker2 Summary: XA state tracker Group: System/Libraries %description -n libxatracker2 This package contains the XA state tracker for gallium3D driver. It superseeds the Xorg state tracker and provides an infrastructure to accelerate Xorg 2D operations. It is currently used by vmwgfx video driver. %package -n libxatracker-devel Summary: Development files for the XA API Group: Development/Libraries/C and C++ Requires: libxatracker2 = %{version} %description -n libxatracker-devel This package contains the XA state tracker for gallium3D driver. It superseeds the Xorg state tracker and provides an infrastructure to accelerate Xorg 2D operations. It is currently used by vmwgfx video driver. This package provides the development environment for compiling programs against the XA state tracker. %prep %setup -q -n %{_name_archive}-%{_version} -b9 # remove some docs rm -rf docs/README.{VMS,WIN32,OS2} # Rust crates to subprojects mkdir -p subprojects/packagecache cp %{SOURCE2} subprojects/packagecache/ cp %{SOURCE3} subprojects/packagecache/ cp %{SOURCE4} subprojects/packagecache/ cp %{SOURCE5} subprojects/packagecache/ cp %{SOURCE6} subprojects/packagecache/ %patch -P 2 -p1 # fixes build against python 3.6 %patch -P 11 -p1 %patch -P 12 -p1 %if 0%{?suse_version} < 1550 %patch -P 14 -p1 %endif %patch -P 17 -p1 # no longer needed since gstreamer-plugins-vaapi 1.18.4 %if 0%{?suse_version} < 1550 %patch -P 54 -p1 %endif %patch -P 100 -p1 -F1 %patch -P 400 -p1 #patch -P 900 -p1 -F3 #patch -P 901 -p1 -F3 #patch -P 902 -p1 -F3 %patch -P 910 -p1 -F3 # Remove requires to vulkan libs from baselibs.conf on platforms # where vulkan build is disabled; ugly ... %if 0%{?with_vulkan} == 0 grep -v -i vulkan "%{_sourcedir}/baselibs.conf" >"%{_sourcedir}/temp" && \ mv "%{_sourcedir}/temp" "%{_sourcedir}/baselibs.conf" %endif # it's not Intel without shipping ugly broken hacks # these are crutches and braces for 'intel-clc' for ray tracing support on Intel cards sed -i -e "s:'opencl-c.h':'$(find %{_libdir}/clang/ -name opencl-c.h | tail -1)':" src/intel/vulkan/grl/meson.build %build # this macro needs 'BuildRequires: memory-constraints' #limit_build -m 3072 # try to avoid OOM on ppc64 (boo#1194739) %ifarch ppc64 ppc64le %limit_build -m 1024 %endif ulimit -Sn 4000 export SUSE_ASNEEDED=0 export SUSE_ZNOW=0 export UCFLAGS="-w -fPIC -O3" #UCFLAGS="${UCFLAGS} -I%{_includedir} -I%{_includedir}/wayland" %ifarch x86_64 export UCFLAGS="${UCFLAGS} -march=x86-64 -mtune=generic -mssse3 -msse4 -msse4.1 -msse4.2 -mavx -maes -mpclmul" %else %ifarch %ix86 export UCFLAGS="${UCFLAGS} -march=x86-64 -mtune=i586 -mssse3 -msse4 -msse4.1 -msse4.2 -mavx -maes -mpclmul" %endif %endif export ULDFLAGS="${ULDFLAGS} -fPIC -Wl,-O1 -Wl,--icf=safe" export ULDFLAGS="${ULDFLAGS} -Wl,--gc-sections" %if 0%{?use_lld} export ULDFLAGS="${ULDFLAGS} -fuse-ld=lld" # https://github.com/llvm/llvm-project/issues/60859 and https://gitlab.freedesktop.org/mesa/mesa/-/issues/8003 export ULDFLAGS="${ULDFLAGS} -Wl,--undefined-version" %ifarch %ix86 %arm #export ULDFLAGS="${ULDFLAGS} -Wl,-z,notext" %endif export LD="lld" alias ld=ld.lld %else export ULDFLAGS="${ULDFLAGS} -fuse-ld=gold -Wl,--sort-common" export LD=ld.gold alias ld=gold %endif %if 0%{?use_clang} export CC=clang export CXX=clang++ export CPP='clang -E' AR=llvm-ar AS=llvm-as NM=llvm-nm OBJCOPY=llvm-objcopy OBJDUMP=llvm-objdump OBJSIZE=llvm-size STRIP=llvm-strip RANLIB=llvm-ranlib export UCFLAGS="${UCFLAGS} -v" #export UCFLAGS="${UCFLAGS} -std=gnu17 -D_GNU_SOURCE -fexceptions -relocatable-pch -faligned-allocation" export UCXXFLAGS="${UCFLAGS}" #export UCXXFLAGS="${UCXXFLAGS} -std=gnu++17 -fcxx-exceptions" export HOST="$(${CC} -print-target-triple)" %ifarch %ix86 x86_64 #export UCFLAGS="${UCFLAGS} -fglobal-isel" %endif %if 0%{?use_lto} %if 0%{?use_lld} %global _lto_cflags -flto=thin -Wl,--plugin-opt=O3 %{?jobs:-Wl,--threads=%{jobs}} %global _lto_ldlags -flto=thin -Wl,--plugin-opt=O3 %{?jobs:-Wl,--threads=%{jobs}} %else %global _lto_cflags -flto=thin %global _lto_ldlags -flto=thin %endif %else %global _lto_cflags %nil %global _lto_ldlags %nil %endif %else export CC=gcc export CXX=g++ export UCFLAGS="${UCFLAGS} -ftree-parallelize-loops=16 -ftree-vectorize -fpredictive-commoning" %ifarch %ix86 export UCFLAGS="${UCFLAGS} -pthread -fopenmp -lgomp" export ULDFLAGS="${ULDFLAGS} -pthread -fopenmp -lgomp" %endif export UCXXFLAGS="${UCFLAGS}" export HOST="%{_target_platform}" %if 0%{?use_lto} %global _lto_cflags -fuse-linker-plugin %_lto_cflags -ffat-lto-objects -flto-odr-type-merging %global _lto_ldlags -fuse-linker-plugin -flto=%{?jobs:%{jobs}} %else %global _lto_cflags %nil %global _lto_ldlags %nil %endif %endif export TARGET="${HOST}" export UCFLAGS="${UCFLAGS} %_lto_cflags" export UCXXFLAGS="${UCXXFLAGS} %_lto_cflags" export ULDFLAGS="${ULDFLAGS} %_lto_cflags %_lto_ldlags" # override OBS defaults ? export CFLAGS="${UCFLAGS}" export CXXFLAGS="${UCXXFLAGS}" export LDFLAGS="${ULDFLAGS}" egl_platforms=x11,wayland # dri drivers are not built without egl=enabled and # consequences of building them with anything but glx=dri are unknown # needed to fix build of Mesa 23.1 # Mesa-drivers: -Dshader-cache=enabled # Mesa: -Dxlib-lease=enabled # recommended for both Mesa and Mesa-drivers to avoid some scary messages when # comparing fds: -Dallow-kcmp=enabled # Credits for figuring this out go to "llyyr" <llyyr.public@gmail.com> %meson \ --auto-features=disabled \ -Dzstd=enabled \ %if "%{flavor}" == "drivers" %ifarch x86_64 -Dgpuvis=true \ -Dteflon=true \ %endif -Dosmesa=false \ -Dxmlconfig=enabled \ -Dexpat=enabled \ -Dshader-cache=enabled \ %else -Dosmesa=true \ -Dllvm=disabled \ -Dvulkan-drivers= \ %endif -Dxlib-lease=enabled \ -Dglvnd=enabled \ -Dgles1=enabled \ -Dgles2=enabled \ -Dglx=dri \ -Degl=enabled \ -Dallow-kcmp=enabled \ -Dplatforms=$egl_platforms \ -Dlegacy-x11=dri2 \ -Dgbm=enabled \ -Dshared-glapi=enabled \ -Dlmsensors=enabled \ -Dlibunwind=enabled \ %if 0%{?with_nine} -Dgallium-nine=true \ %endif %if 0%{with_opencl} -Dopencl-spirv=true \ -Dgallium-opencl=icd \ -Dmicrosoft-clc=disabled \ %ifarch %{ix86} x86_64 -Dintel-clc=enabled \ -Dinstall-intel-clc=true \ %ifarch x86_64 -Dintel-rt=enabled \ %endif %endif %if 0%{?suse_version} >= 1550 --sysconfdir=%{_datadir} \ %endif %if 0%{with_rusticl} -Dgallium-rusticl=true \ -Drust_std=2021 \ %endif %else -Dgallium-opencl=disabled \ -Dmicrosoft-clc=disabled \ %endif %if 0%{with_llvm} -Dllvm=enabled \ -Dllvm-orcjit=true \ -Dshared-llvm=enabled \ %endif %if "%{flavor}" == "drivers" %if %{video_codecs} -Dvideo-codecs=all \ %endif %if %{gallium_loader} -Dgallium-vdpau=enabled \ -Dgallium-va=enabled \ -Dgallium-xa=enabled \ -Dgallium-extra-hud=true \ %if 0%{with_perfetto} -Dperfetto=true \ %endif %endif %if 0%{with_vulkan} -Dspirv-to-dxil=true \ -Dvulkan-drivers=%{?vulkan_drivers} \ -Dvulkan-layers=device-select,overlay,screenshot,intel-nullhw \ -Dvulkan-beta=true \ %ifarch %{ix86} x86_64 -Dimagination-srv=true \ %else %endif %else -Dvulkan-drivers= \ %endif -Dmin-windows-version=7 \ -Dshader-cache=enabled \ %ifarch %{ix86} x86_64 -Dvmware-mks-stats=true \ -Dgallium-drivers=r300,r600,radeonsi,nouveau,softpipe,llvmpipe,svga,virgl,iris,crocus,i915,d3d12,zink \ -Dgallium-d3d12-video=enabled \ -Dgallium-d3d12-graphics=enabled \ %else %ifarch %{arm} aarch64 -Dfreedreno-kmds=msm,kgsl,virtio,wsl \ -Dgallium-drivers=r300,r600,radeonsi,nouveau,softpipe,llvmpipe,virgl,iris,freedreno,vc4,etnaviv,lima,panfrost,v3d,svga,tegra,zink \ %else %ifarch ppc64 ppc64le riscv64 -Dpower8=enabled \ -Dgallium-drivers=r300,r600,radeonsi,nouveau,softpipe,llvmpipe,virgl,iris,zink \ %else -Dgallium-drivers=swrast \ %endif %endif %endif %ifarch riscv64 -Dllvm-orcjit=true \ %endif %else %ifnarch s390x -Dgallium-drivers=softpipe \ %else -Dgallium-drivers=swrast \ %endif %endif %ifarch aarch64 x86_64 ppc64le s390x riscv64 -Dvalgrind=enabled \ %endif -Db_ndebug=true \ -Dc_args="${CFLAGS} ${LDFLAGS}" \ -Dcpp_args="${CXXFLAGS} ${LDFLAGS}" \ -Db_pch=false \ -Db_pie=true \ -Dstrip=false \ || (cat */meson-logs/meson-log.txt; exit 1) %meson_build || (cat */meson-logs/meson-log.txt; exit 1) %install ulimit -Sn 4000 export MESON_PACKAGE_CACHE_DIR="%{_sourcedir}" %meson_install find %{buildroot} -type f -name "*.la" -delete -print || echo ignored find %{buildroot} -type f -name "*.a" -delete -print || echo ignored if [ -f "%{buildroot}/%{_bindir}/mesa-overlay-control.py" ]; then sed -i -e 's:env ::' "%{buildroot}/%{_bindir}/mesa-overlay-control.py" fi # libwayland-egl is provided by wayland itself rm -fv %{buildroot}/%{_libdir}/libwayland-egl.so* || echo ignored rm -fv %{buildroot}/%{_libdir}/pkgconfig/wayland-egl.pc || echo ignored %if "%{flavor}" == "drivers" # Delete things that we do not package in the Mesa-drivers variant, but can # not disable from buildling and installing. rm -fv %{buildroot}/%{_libdir}/lib*GL*.so* || echo ignored # in Mesa-lib[E]GL-devel find %{buildroot}/%{_includedir}/EGL -delete -print || echo ignored # in Mesa-libGL-devel #rm -rf %{buildroot}/%{_includedir}/GL find %{buildroot}/%{_includedir}/GL/* -not -name "osmesa.h" -delete -print || echo ignored #in Mesa-libGLES*-devel find %{buildroot}/%{_includedir}/{GLES*,KHR} -delete -print || echo ignored #in Mesa-libEGL1 rm -f %{buildroot}/%{_libdir}/libEGL_mesa.so* rm -rf %{buildroot}/%{_datadir}/glvnd # in Mesa-libglapi0 rm -v %{buildroot}/%{_libdir}/libglapi.so* || echo ignored # in libwayland-egl1 find %{buildroot}/%{_libdir} -name "*wayland-egl.*" -delete -print || echo ignored %else # package in Mesa-gallium find %{buildroot}/%{_libdir}/ -name "*gallium*" -delete -print || echo ignored find %{buildroot}/%{_libdir}/dri/ -name "*_dri.so" -delete -print || echo ignored find %{buildroot}/%{_libdir} -name "dri.pc" -delete -print || echo ignored rm -rfv %{buildroot}/%{_libdir}/gbm || echo ignored find %{buildroot}/%{_libdir}/ -name "libgbm*" -delete -print || echo ignored find %{buildroot}/%{_libdir} -name "gbm.pc" -delete -print || echo ignored find %{buildroot}/%{_includedir} -name "gbm.h" -delete -print || echo ignored find %{buildroot}/%{_datadir} -name "drirc.d" -delete -print || echo ignored # glvnd needs a default provider for indirect rendering where it cannot # determine the vendor ln -s %{_libdir}/libGLX_mesa.so.0 %{buildroot}%{_libdir}/libGLX_indirect.so.0 # pickup pkgconfig files from libglvnd build install -m 0644 /usr/share/doc/packages/libglvnd/pkgconfig/{gl,egl,glesv1_cm,glesv2}.pc \ %{buildroot}/%{_libdir}/pkgconfig/ # in 24.0.0 this peace of shit decided to not install [E]GL[ES] headers and pkg-config files # so we have to shove them down its gullet cp -nrv include/{EGL,GL,GLES*,KHR} %{buildroot}/%{_includedir}/ || echo "who gives a damn about exit status?" for dir in ../xc/doc/man/{GL/gl,GL/glx}; do pushd $dir xmkmf -a make %{?_smp_mflags} V=1 make install.man DESTDIR=%{buildroot} MANPATH=%{_mandir} LIBMANSUFFIX=3gl popd done %endif if [ -d "%{buildroot}/%{_mandir}" ];then %fdupes -s %{buildroot}/%{_mandir} fi %if "%{flavor}" != "drivers" # Use dummy README file that can be included in both Mesa and Mesa-32bit. This way Mesa-32bit will be build (otherwise it would be skipped as empty) and it can be used by the other *-32bit packages. echo "The \"Mesa\" package does not have the ability to render, but is supplemented by \"Mesa-gallium\" which contain the drivers for rendering" > docs/README.package.%{_arch} %endif %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %post libEGL1 -p /sbin/ldconfig %postun libEGL1 -p /sbin/ldconfig %post libGL1 -p /sbin/ldconfig %postun libGL1 -p /sbin/ldconfig %post -n libOSMesa8 -p /sbin/ldconfig %postun -n libOSMesa8 -p /sbin/ldconfig %post -n libgbm1 -p /sbin/ldconfig %postun -n libgbm1 -p /sbin/ldconfig %post -n libxatracker2 -p /sbin/ldconfig %postun -n libxatracker2 -p /sbin/ldconfig %post libglapi0 -p /sbin/ldconfig %postun libglapi0 -p /sbin/ldconfig %post -n Mesa-libd3d -p /sbin/ldconfig %postun -n Mesa-libd3d -p /sbin/ldconfig %if "%{flavor}" != "drivers" %files %license docs/license.rst %doc docs/README* README* %files libEGL1 %{_libdir}/libEGL_mesa.so* %dir %{_datadir}/glvnd %dir %{_datadir}/glvnd/egl_vendor.d %{_datadir}/glvnd/egl_vendor.d/50_mesa.json %files libEGL-devel %{_includedir}/GLES* %{_includedir}/KHR %{_includedir}/EGL %{_libdir}/pkgconfig/egl.pc %{_libdir}/pkgconfig/glesv1_cm.pc %{_libdir}/pkgconfig/glesv2.pc %files libGL1 %{_libdir}/libGLX_mesa.so* %{_libdir}/libGLX_indirect.so* %files libGL-devel %{_includedir}/GL %exclude %{_includedir}/GL/osmesa.h %{_libdir}/pkgconfig/gl.pc %{_mandir}/man3/gl[A-Z]* %endif %if "%{flavor}" == "drivers" %ifarch aarch64 %{ix86} x86_64 %{arm} ppc64 ppc64le riscv64 %files -n libxatracker2 %{_libdir}/libxatracker.so.2* %files -n libxatracker-devel %{_includedir}/xa_*.h %{_libdir}/libxatracker.so %{_libdir}/pkgconfig/xatracker.pc %endif %if %{vdpau_nouveau} %files -n libvdpau_nouveau %defattr(-,root,root) %{_libdir}/vdpau/libvdpau_nouveau.so* %endif %if %{vdpau_radeon} %files -n libvdpau_r600 %defattr(-,root,root) %{_libdir}/vdpau/libvdpau_r600.so* %files -n libvdpau_radeonsi %defattr(-,root,root) %{_libdir}/vdpau/libvdpau_radeonsi.so* %endif %if %{vdpau_virtio_gpu} %files -n libvdpau_virtio_gpu %defattr(-,root,root) %{_libdir}/vdpau/libvdpau_virtio*.so* %endif %if %{vdpau_d3d12} %files -n libvdpau_d3d12 %{_libdir}/vdpau/libvdpau_d3d12.so* %endif %endif %if "%{flavor}" != "drivers" %files libglapi0 %{_libdir}/libglapi.so.0* %files libglapi-devel %{_libdir}/libglapi.so %files -n libOSMesa8 %defattr(-,root,root) %{_libdir}/libOSMesa.so.* %files -n libOSMesa-devel %defattr(-,root,root) %{_includedir}/GL/osmesa.h %{_libdir}/libOSMesa.so %{_libdir}/pkgconfig/osmesa.pc %endif %if "%{flavor}" == "drivers" %files -n Mesa-gallium %dir %{_datadir}/drirc.d %config %{_datadir}/drirc.d/* %ifarch x86_64 %{_libdir}/libteflon.so %endif %dir %{_libdir}/dri %dir %{_libdir}/gbm %{_libdir}/dri/*_dri.so %{_libdir}/pkgconfig/dri.pc %ifnarch s390x %{_libdir}/libgallium-%{_version}.so %dir %{_libdir}/gbm/ %{_libdir}/gbm/dri_gbm.so %endif %if 0%{with_opencl} %{_libdir}/gallium-pipe %endif %files -n libgbm1 %{_libdir}/libgbm.so.1* %files -n libgbm-devel %{_includedir}/gbm.h %{_libdir}/libgbm.so %{_libdir}/pkgconfig/gbm.pc # drivers %endif %if "%{flavor}" != "drivers" %files devel %doc docs/*.rst # !drivers %endif %if 0%{?with_nine} %files -n Mesa-libd3d %dir %{_libdir}/d3d/ %{_libdir}/d3d/*.so.* %files -n Mesa-libd3d-devel %{_libdir}/pkgconfig/d3d.pc %{_includedir}/d3dadapter/ %{_libdir}/d3d/*.so %endif %if 0%{with_opencl} %files -n Mesa-libOpenCL %if 0%{?suse_version} >= 1550 %dir %{_datadir}/OpenCL %dir %{_datadir}/OpenCL/vendors %{_datadir}/OpenCL/vendors/mesa.icd %else %dir %{_sysconfdir}/OpenCL %dir %{_sysconfdir}/OpenCL/vendors %{_sysconfdir}/OpenCL/vendors/mesa.icd %endif %{_libdir}/libMesaOpenCL.so* %endif %if 0%{with_rusticl} %files -n Mesa-libRusticlOpenCL %if 0%{?suse_version} >= 1550 %dir %{_datadir}/OpenCL %dir %{_datadir}/OpenCL/vendors %{_datadir}/OpenCL/vendors/rusticl.icd %else %dir %{_sysconfdir}/OpenCL %dir %{_sysconfdir}/OpenCL/vendors %{_sysconfdir}/OpenCL/vendors/rusticl.icd %endif %{_libdir}/libRusticlOpenCL.so* %endif %if "%{flavor}" == "drivers" %ifarch %{ix86} x86_64 aarch64 %{arm} ppc64 ppc64le riscv64 %files -n Mesa-libva %dir %{_libdir}/dri %{_libdir}/dri/*_drv_video.so %endif %endif %if 0%{with_vulkan} %ifarch %{ix86} x86_64 aarch64 %{arm} riscv64 %files -n libvulkan_intel %dir %{_datadir}/vulkan %dir %{_datadir}/vulkan/icd.d %{_datadir}/vulkan/icd.d/intel_icd.*.json %{_libdir}/libvulkan_intel.so %{_datadir}/vulkan/icd.d/intel_hasvk_icd.*.json %{_libdir}/libvulkan_intel_hasvk.so %files -n libvulkan_imagination %dir %{_datadir}/vulkan %dir %{_datadir}/vulkan/icd.d %{_datadir}/vulkan/icd.d/powervr_*icd.*.json %{_libdir}/libvulkan_powervr*.so %{_libdir}/libpowervr*.so %files -n libvulkan_microsoft %dir %{_datadir}/vulkan %dir %{_datadir}/vulkan/icd.d %{_datadir}/vulkan/icd.d/dzn_*icd.*.json %{_libdir}/libvulkan_dzn.so %endif %if 0%{?nouveau_support} %ifarch %{ix86} x86_64 aarch64 %{arm} # Only available on Tumbleweed because of rust-cbindgen >= 1.25 requirement %if 0%{?suse_version} > 1600 %files -n libvulkan_nouveau %{_libdir}/libvulkan_nouveau.so %{_datadir}/vulkan/icd.d/nouveau_icd.*.json %dir %{_datadir}/vulkan %dir %{_datadir}/vulkan/icd.d %endif %endif %endif %files -n libvulkan_radeon %{_libdir}/libvulkan_radeon.so %dir %{_datadir}/vulkan %dir %{_datadir}/vulkan/icd.d %{_datadir}/vulkan/icd.d/radeon_icd.*.json %files -n libvulkan_lvp %{_libdir}/libvulkan_lvp.so %dir %{_datadir}/vulkan %dir %{_datadir}/vulkan/icd.d %{_datadir}/vulkan/icd.d/lvp_icd.*.json %files -n libvulkan_virtio %{_libdir}/libvulkan_virtio.so %dir %{_datadir}/vulkan %dir %{_datadir}/vulkan/icd.d %{_datadir}/vulkan/icd.d/virtio_icd.*.json %ifarch %{arm} aarch64 %files -n libvulkan_broadcom %{_libdir}/libvulkan_broadcom.so %dir %{_datadir}/vulkan %dir %{_datadir}/vulkan/icd.d %{_datadir}/vulkan/icd.d/broadcom_icd.*.json %files -n libvulkan_freedreno %{_libdir}/libvulkan_freedreno.so %dir %{_datadir}/vulkan %dir %{_datadir}/vulkan/icd.d %{_datadir}/vulkan/icd.d/freedreno_icd.*.json %endif %files -n Mesa-vulkan-intel-nullhw %{_libdir}/libVkLayer_INTEL_nullhw.so %dir %{_datadir}/vulkan/implicit_layer.d %{_datadir}/vulkan/explicit_layer.d/VkLayer_INTEL_nullhw.json %files -n Mesa-vulkan-device-select %{_libdir}/libVkLayer_MESA_device_select.so %dir %{_datadir}/vulkan/implicit_layer.d %{_datadir}/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json %files -n Mesa-vulkan-overlay %ifarch %{ix86} x86_64 %{_bindir}/intel_clc %endif %{_bindir}/spirv2dxil %{_bindir}/mesa-overlay-control.py %{_libdir}/libVkLayer_MESA_overlay.so %{_libdir}/libspirv_to_dxil.* %dir %{_datadir}/vulkan %dir %{_datadir}/vulkan/explicit_layer.d %{_datadir}/vulkan/explicit_layer.d/VkLayer_MESA_overlay.json %files -n Mesa-vulkan-screenshot %{_bindir}/mesa-screenshot-control.py %{_libdir}/libVkLayer_MESA_screenshot.so %dir %{_datadir}/vulkan/explicit_layer.d %{_datadir}/vulkan/explicit_layer.d/VkLayer_MESA_screenshot.json %endif %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor