SHA256
1
0
forked from pool/Mesa

Accepting request 403990 from X11:XOrg

1

OBS-URL: https://build.opensuse.org/request/show/403990
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/Mesa?expand=0&rev=268
This commit is contained in:
Dominique Leuenberger 2016-06-29 13:03:55 +00:00 committed by Git OBS Bridge
commit e25000e505
10 changed files with 188 additions and 206 deletions

View File

@ -1,3 +1,102 @@
-------------------------------------------------------------------
Tue Jun 21 19:57:26 UTC 2016 - mimi.vx@gmail.com
- update to 12.0.0-rc4 final RC
-------------------------------------------------------------------
Fri Jun 17 14:57:47 UTC 2016 - sndirsch@suse.com
- moved libxatracker package definition to the end to get rid of
issues related to the special version of this package
-------------------------------------------------------------------
Fri Jun 17 14:12:52 UTC 2016 - sndirsch@suse.com
- let Mesa-libVulkan-devel conflict with vulkan-devel due to file
conflics in both packages
-------------------------------------------------------------------
Wed Jun 15 14:39:32 UTC 2016 - sndirsch@suse.com
- Update to version 12.0.0-rc2
* Bug fixes and performance improvements
- supersedes patches:
u_st-va-hardlink-driver-instances-to-gallium_drv_video.patch,
U_anv-add-the-X-related-and-Wayland-CFLAGS-to-VULKAN.patch
- removed option for build in verbose log mode
- improved Group tag for libVulkan-devel
-------------------------------------------------------------------
Sun Jun 12 09:22:10 UTC 2016 - sndirsch@suse.com
- fixed 'osc service localrun download_files' run by removing
rc release from version define
-------------------------------------------------------------------
Thu Jun 9 20:29:29 UTC 2016 - mimi.vx@gmail.com
- fix vulkan naming scheme, add supplement for xf86-video-intel
-------------------------------------------------------------------
Wed Jun 8 20:10:11 UTC 2016 - tobias.johannes.klausmann@mni.thm.de
- Fix Requirement for Mesa-libVulkan-devel, not Mesa-libvulkan, but
Mesa-libVulkan
-------------------------------------------------------------------
Wed Jun 8 07:33:35 UTC 2016 - jslaby@suse.com
- x86: enable virgl gallium driver
-------------------------------------------------------------------
Tue Jun 7 23:25:31 UTC 2016 - tobias.johannes.klausmann@mni.thm.de
- Update to version 12.0.0-rc2:
- New features:
+ OpenGL 4.3 on nvc0, radeonsi, i965 (Gen8+)
+ OpenGL ES 3.1 on nvc0, radeonsi
+ GL_ARB_ES3_1_compatibility on nvc0, radeonsi
+ GL_ARB_compute_shader on nvc0, radeonsi, softpipe
+ GL_ARB_cull_distance on i965/gen6+, nv50, nvc0, llvmpipe, softpipe
+ GL_ARB_framebuffer_no_attachments on nvc0, r600, radeonsi, softpipe
+ GL_ARB_internalformat_query2 on all drivers
+ GL_ARB_query_buffer_object on i965/hsw+
+ GL_ARB_robust_buffer_access_behavior on i965, nvc0, radeonsi
+ GL_ARB_shader_atomic_counters on radeonsi, softpipe
+ GL_ARB_shader_atomic_counter_ops on nvc0, radeonsi, softpipe
+ GL_ARB_shader_image_load_store on nvc0, radeonsi, softpipe
+ GL_ARB_shader_image_size on nvc0, radeonsi, softpipe
+ GL_ARB_shader_storage_buffer_objects on radeonsi, softpipe
+ GL_ATI_fragment_shader on all Gallium drivers
+ GL_EXT_base_instance on all drivers that support GL_ARB_base_instance
+ GL_EXT_clip_cull_distance on all drivers that support GL_ARB_cull_distance
+ GL_KHR_robustness on i965
+ GL_OES_copy_image on i965 (Baytrail and Gen8+)
+ GL_OES_draw_buffers_indexed and GL_EXT_draw_buffers_indexed on all drivers
that support GL_ARB_draw_buffers_blend
+GL_OES_gpu_shader5 and GL_EXT_gpu_shader5 on all drivers that support
GL_ARB_gpu_shader5
+GL_OES_sample_shading on i965, nvc0, r600, radeonsi
+GL_OES_sample_variables on i965, nvc0, r600, radeonsi
+GL_OES_shader_image_atomic on all drivers that support
GL_ARB_shader_image_load_store
+GL_OES_shader_io_blocks on i965, nvc0, radeonsi
+GL_OES_shader_multisample_interpolation on i965, nvc0, r600, radeonsi
+ GL_OES_texture_border_clamp and GL_EXT_texture_border_clamp on all drivers
that support +GL_ARB_texture_border_clamp
+ GL_OES_texture_buffer and GL_EXT_texture_buffer on i965, nvc0, radeonsi
+ EGL_KHR_reusable_sync on all drivers
+ GL_ARB_stencil_texture8 and GL_OES_stencil_texture8 on i965/gen8+
- Enable build of the Intel Vulkan driver (anv):
+ Introduce new packages: libVulkan and libVulkan-devel
- Remove upstreamed patches:
+ u_glxcmds-glXGetFBConfigs-fix-screen-bounds.patch
+ U_gallivm-disable-avx512-features.patch
- Upstream Patches:
+ U_anv-add-the-X-related-and-Wayland-CFLAGS-to-VULKAN.patch
* Otherwise we might fail to find the headers in some scenarios.
- drop docs/COPYING: No GPL licensed code in Mesa resident (upstream change)
-------------------------------------------------------------------
Wed Jun 1 14:48:38 UTC 2016 - eich@suse.com

131
Mesa.spec
View File

@ -18,8 +18,9 @@
%define glamor 1
%define _name_archive mesa
%define _version 11.2.2
%define _version 12.0.0-rc4
%define with_opencl 0
%define with_vulkan 0
%ifarch %ix86 x86_64 %arm ppc ppc64 ppc64le s390x
%define gallium_loader 1
%else
@ -39,10 +40,12 @@
%if 0%{gallium_loader} && 0%{?suse_version} > 1310
# llvm >= 3.7 not provided for <= 13.1
%define with_opencl 1
%define with_vulkan 1
%endif
%endif
Name: Mesa
Version: 11.2.2
Version: 12.0.0
Release: 0
Summary: System for rendering interactive 3-D graphics
License: MIT
@ -63,14 +66,10 @@ Patch11: u_Fix-crash-in-swrast-when-setting-a-texture-for-a-pix.patch
Patch13: u_mesa-8.0.1-fix-16bpp.patch
# Patch from Fedora, use shmget when available, under llvmpipe
Patch15: u_mesa-8.0-llvmpipe-shmget.patch
# to be upstreamed
Patch17: u_st-va-hardlink-driver-instances-to-gallium_drv_video.patch
# never to be upstreamed
Patch18: n_VDPAU-XVMC-libs-Replace-hardlinks-with-copies.patch
# Already upstream
# never to be upstreamed
Patch21: n_Define-GLAPIVAR-separate-from-GLAPI.patch
Patch22: u_glxcmds-glXGetFBConfigs-fix-screen-bounds.patch
Patch23: U_gallivm-disable-avx512-features.patch
BuildRequires: autoconf >= 2.60
BuildRequires: automake
@ -88,7 +87,7 @@ BuildRequires: pkgconfig(dri2proto)
BuildRequires: pkgconfig(dri3proto)
BuildRequires: pkgconfig(expat)
BuildRequires: pkgconfig(glproto)
BuildRequires: pkgconfig(libdrm) >= 2.4.60
BuildRequires: pkgconfig(libdrm) >= 2.4.66
BuildRequires: pkgconfig(libdrm_amdgpu) >= 2.4.63
BuildRequires: pkgconfig(libdrm_nouveau) >= 2.4.66
BuildRequires: pkgconfig(libdrm_radeon) >= 2.4.56
@ -97,7 +96,7 @@ BuildRequires: pkgconfig(libudev) > 151
BuildRequires: pkgconfig(libva)
BuildRequires: pkgconfig(openssl)
BuildRequires: pkgconfig(presentproto)
BuildRequires: pkgconfig(vdpau) >= 0.4.1
BuildRequires: pkgconfig(vdpau) >= 1.1
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(x11-xcb)
BuildRequires: pkgconfig(xcb-dri2)
@ -137,7 +136,6 @@ BuildRequires: pkgconfig(wayland-server)
BuildRequires: llvm-devel
BuildRequires: ncurses-devel
%endif
#!BuildIgnore: python
%if 0%{with_opencl}
BuildRequires: libclc
@ -445,41 +443,13 @@ Mesa Direct3D9 state tracker
%package libd3d-devel
Summary: Mesa Direct3D9 state tracker development package
Group: System/Libraries
Group: Development/Libraries/C and C+
Requires: %{name}-libd3d = %{version}
%description libd3d-devel
Mesa Direct3D9 state tracker development package
%endif
%package -n libxatracker2
Version: 1.0.0
Release: 0
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
Version: 1.0.0
Release: 0
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.
%package -n libXvMC_nouveau
Summary: XVMC state tracker for Nouveau
Group: System/Libraries
@ -547,6 +517,54 @@ Supplements: Mesa
%description libva
This package contains the Mesa VA-API implementation provided through gallium.
%if 0%{with_vulkan}
%package -n libvulkan_intel
Summary: Mesa vulkan driver for Intel GPU
Group: System/Libraries
Supplements: xf86-video-intel
%description -n libvulkan_intel
This package contains the Vulkan parts for Mesa.
%package libVulkan-devel
Summary: Mesas Vulkan development files
Group: Development/Libraries/C and C++
Requires: libvulkan_intel = %{version}
Conflicts: vulkan-devel
%description libVulkan-devel
This package contains the development files for Mesas Vulkan implementation.
%endif
%package -n libxatracker2
Version: 1.0.0
Release: 0
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
Version: 1.0.0
Release: 0
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} -b4
# remove some docs
@ -561,11 +579,8 @@ rm -rf docs/README.{VMS,WIN32,OS2}
#%patch11 -p1
#%patch15 -p1
#%patch13 -p1
%patch17 -p1
%patch18 -p1
%patch21 -p1
%patch22 -p1
%patch23 -p1
%build
%if 0%{?suse_version} >= 1310
@ -574,9 +589,7 @@ egl_platforms=x11,drm,wayland
egl_platforms=x11,drm
%endif
autoreconf -fvi
### --with-gallium-drivers=r300,r600,radeonsi,nouveau,swrast,svga \
### --with-gallium-drivers=r300,r600,nouveau,swrast,svga \
### --with-gallium-drivers=r300,nouveau,swrast,svga \
%configure --enable-gles1 \
--enable-gles2 \
--enable-dri \
@ -600,13 +613,15 @@ autoreconf -fvi
--enable-xa \
--enable-gallium-llvm \
--with-dri-drivers=i915,i965,nouveau,r200,radeon \
%if 0%{with_vulkan}
--with-vulkan-drivers=intel \
%endif
%if 0%{with_opencl}
--enable-opencl \
--enable-opencl-icd \
%endif
--enable-llvm-shared-libs \
--enable-r600-llvm-compiler \
--with-gallium-drivers=r300,r600,radeonsi,nouveau,swrast,svga \
--with-gallium-drivers=r300,r600,radeonsi,nouveau,swrast,svga,virgl \
--enable-vdpau \
--enable-va \
--enable-xvmc \
@ -750,9 +765,15 @@ install -m 644 $RPM_SOURCE_DIR/README.updates \
%postun libva -p /sbin/ldconfig
%if 0%{with_vulkan}
%post -n libvulkan_intel -p /sbin/ldconfig
%postun -n libvulkan_intel -p /sbin/ldconfig
%endif
%files
%defattr(-,root,root)
%doc docs/README* docs/COPYING
%doc docs/README* docs/license.html
%config %{_sysconfdir}/drirc
%dir %{_libdir}/dri
%if 0%{?suse_version} < 1315
@ -956,4 +977,18 @@ install -m 644 $RPM_SOURCE_DIR/README.updates \
%{_libdir}/dri/*_drv_video.so
%endif
%if 0%{with_vulkan}
%files -n libvulkan_intel
%defattr(-,root,root)
%dir %{_sysconfdir}/vulkan
%dir %{_sysconfdir}/vulkan/icd.d
%{_sysconfdir}/vulkan/icd.d/intel_icd.json
%{_libdir}/libvulkan_intel.so
%files libVulkan-devel
%defattr(-,root,root)
%dir %_includedir/vulkan
%_includedir/vulkan
%endif
%changelog

View File

@ -1,48 +0,0 @@
From: Roland Scheidegger <sroland@vmware.com>
Date: Sun May 8 00:40:07 2016 +0200
Subject: [PATCH]gallivm: disable avx512 features
Patch-mainline: Upstream
Git-repo: git://anongit.freedesktop.org/git/mesa/mesa
Git-commit: 8b66e2647d5e36e318177a460e6e586d6ca8c36b
References: bsc#980557
Signed-off-by: Egbert Eich <eich@suse.com>
We don't target this yet, and some llvm versions incorrectly enable it based
on cpu string, causing crashes.
(Albeit this is a losing battle, it is pretty much guaranteed when the next
new feature comes along llvm will mistakenly enable it on some future cpu,
thus we would have to proactively disable all new features as llvm adds them.)
This should fix https://bugs.freedesktop.org/show_bug.cgi?id=94291 (untested)
Tested-by: Timo Aaltonen <tjaalton@ubuntu.com>
Reviewed-by: Jose Fonseca <jfonseca@vmware.com
CC: <mesa-stable@lists.freedesktop.org>
---
src/gallium/auxiliary/gallivm/lp_bld_misc.cpp | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
index bb08892..42a53ec 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
+++ b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
@@ -571,6 +571,18 @@ lp_build_create_jit_compiler_for_module(LLVMExecutionEngineRef *OutJIT,
MAttrs.push_back(util_cpu_caps.has_avx ? "+avx" : "-avx");
MAttrs.push_back(util_cpu_caps.has_f16c ? "+f16c" : "-f16c");
MAttrs.push_back(util_cpu_caps.has_avx2 ? "+avx2" : "-avx2");
+ /* disable avx512 and all subvariants */
+#if HAVE_LLVM >= 0x0304
+ MAttrs.push_back("-avx512cd");
+ MAttrs.push_back("-avx512er");
+ MAttrs.push_back("-avx512f");
+ MAttrs.push_back("-avx512pf");
+#endif
+#if HAVE_LLVM >= 0x0305
+ MAttrs.push_back("-avx512bw");
+ MAttrs.push_back("-avx512dq");
+ MAttrs.push_back("-avx512vl");
+#endif
#endif
#if defined(PIPE_ARCH_PPC)

View File

@ -54,6 +54,9 @@ Mesa-libd3d
provides "d3dadapter9.so.1"
Mesa-libd3d-devel
requires "Mesa-libd3d-<targettype> = <version>"
libvulkan_intel
Mesa-libVulkan-devel
requires "libvulkan_intel-<targettype> = <version>"
libXvMC_nouveau
libXvMC_r600
libvdpau_nouveau

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:40e148812388ec7c6d7b6657d5a16e2e8dabba8b97ddfceea5197947647bdfb4
size 7860932

Binary file not shown.

3
mesa-12.0.0-rc4.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a27f43f0031a3f1e77d767f7e3e019120ec5181a0a7c81fc0da7b611e8c4e91a
size 8565652

BIN
mesa-12.0.0-rc4.tar.xz.sig Normal file

Binary file not shown.

View File

@ -1,69 +0,0 @@
From: Jiri Slaby <jslaby@suse.cz>
Date: Tue May 17 08:22:42 2016 +0200
Subject: glxcmds: glXGetFBConfigs, fix screen bounds
Patch-mainline: Not yet
Git-repo: git://anongit.freedesktop.org/git/mesa/mesa
Git-commit: 6aaa258229ec09f84ca51a728e125009ecee2d16
References: boo#980382
Bounds of screen are 0 (inclusive) and ScreenCount(dpy) (exclusive).
The upper bound was too high: ScreenCount(dpy) (inclusive).
This causes a crash invoked by java3d which passes down an invalid
screen:
6 0x00007f0e5198ba70 in <signal handler called> () at /lib64/libc.so.6
7 0x00007f0e14531e14 in glXGetFBConfigs (dpy=<optimized out>, screen=1, nelements=nelements@entry=0x7f0dab3c522c) at glxcmds.c:1660
8 0x00007f0e14532f7f in glXChooseFBConfig (dpy=<optimized out>, screen=<optimized out>, attribList=0x7f0dab3c54e0, nitems=0x7f0dab3c535c) at glxcmds.c:1611
9 0x00007f0e1478d29b in find_S_FBConfigs () at /usr/lib64/libj3dcore-ogl.so
10 0x00007f0e1478d3dc in find_S_S_FBConfigs () at /usr/lib64/libj3dcore-ogl.so
11 0x00007f0e1478d567 in find_AA_S_S_FBConfigs () at /usr/lib64/libj3dcore-ogl.so
12 0x00007f0e1478d728 in find_DB_AA_S_S_FBConfigs () at /usr/lib64/libj3dcore-ogl.so
13 0x00007f0e1478d97c in Java_javax_media_j3d_X11NativeConfigTemplate3D_chooseOglVisual () at /usr/lib64/libj3dcore-ogl.so
While ScreenCount(dpy) is actually 1:
(gdb) p dpy->nscreens
$2 = 1
screen=1 is passed to glXGetFBConfigs.
Easily reproducible by:
#include <stdio.h>
#include <X11/Xlib.h>
#include <GL/glx.h>
int main()
{
unsigned a;
int n;
Display *d = XOpenDisplay(":0");
GLXFBConfig *cfg;
for (a = 0; a <= ScreenCount(d); a++)
cfg = glXGetFBConfigs(d, a, &n);
XCloseDisplay(d);
return 0;
}
Fix this typo in glXGetFBConfigs.
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Cc: <mesa-stable@lists.freedesktop.org>
Signed-off-by: Egbert Eich <eich@suse.com>
---
src/glx/glxcmds.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/glx/glxcmds.c b/src/glx/glxcmds.c
index 63f4921..46bc214 100644
--- a/src/glx/glxcmds.c
+++ b/src/glx/glxcmds.c
@@ -1657,7 +1657,7 @@ glXGetFBConfigs(Display * dpy, int screen, int *nelements)
*nelements = 0;
if (priv && (priv->screens != NULL)
- && (screen >= 0) && (screen <= ScreenCount(dpy))
+ && (screen >= 0) && (screen < ScreenCount(dpy))
&& (priv->screens[screen]->configs != NULL)
&& (priv->screens[screen]->configs->fbconfigID
!= (int) GLX_DONT_CARE)) {

View File

@ -1,38 +0,0 @@
From 8974248c4147e57552dc21c6d16e4d1817d34fad Mon Sep 17 00:00:00 2001
From: Jimmy Berry <jimmy@boombatower.com>
Date: Sat, 19 Dec 2015 22:49:10 -0600
Subject: [Mesa-dev] [PATCH] st/va: hardlink driver instances to gallium_drv_video.so
Removes the need to set LIBVA_DRIVER_NAME=gallium for supported targets and is
consistent with vdpau and general gallium drivers.
Signed-off-by: Jimmy Berry <jimmy@boombatower.com>
---
src/gallium/targets/va/Makefile.am | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/src/gallium/targets/va/Makefile.am b/src/gallium/targets/va/Makefile.am
index 733e7ac..2cab898 100644
--- a/src/gallium/targets/va/Makefile.am
+++ b/src/gallium/targets/va/Makefile.am
@@ -64,3 +64,17 @@ if HAVE_MESA_LLVM
gallium_drv_video_la_LIBADD += $(LLVM_LIBS)
gallium_drv_video_la_LDFLAGS += $(LLVM_LDFLAGS)
endif
+
+# hardlink each megadriver instance, but don't actually have
+# gallium_drv_video.so in the set of final installed files.
+install-data-hook:
+ for i in $(TARGET_DRIVERS); do \
+ ln -f $(DESTDIR)$(vadir)/gallium_drv_video.so \
+ $(DESTDIR)$(vadir)/$${i}_drv_video.so; \
+ done; \
+ $(RM) $(DESTDIR)$(vadir)/gallium_drv_video.*
+
+uninstall-hook:
+ for i in $(TARGET_DRIVERS); do \
+ $(RM) $(DESTDIR)$(vadir)/$${i}_drv_video.so; \
+ done;
--
2.6.3