Merge branch 'f23' into f22

This commit is contained in:
Igor Gnatenko 2015-11-22 05:55:40 +01:00
commit 739de89acd
8 changed files with 30 additions and 355 deletions

119
.gitignore vendored
View File

@ -1,120 +1,5 @@
*.jx
*.src.rpm
.build*
mesa-20100208.tar.bz2
gl-manpages-1.0.1.tar.bz2
xdriinfo-1.0.3.tar.bz2
mesa-demos-20100529.tar.bz2
mesa-20100529.tar.bz2
mesa-20100612.tar.bz2
mesa-20100709.tar.bz2
mesa-20100720.tar.bz2
/mesa-20100824.tar.bz2
/mesa-20101020.tar.bz2
/mesa-20101108.tar.bz2
/mesa-20101118.tar.bz2
/mesa-20101129.tar.bz2
/mesa-20101214.tar.xz
/mesa-20101216.tar.xz
/mesa-20110107.tar.xz
/mesa-20110315.tar.xz
/mesa-20110327.tar.xz
/MesaLib-7.10.1.tar.bz2
/mesa-20110327.tar.xz
/mesa-20110330.tar.xz
/mesa-20110401.tar.xz
/mesa-20110412.tar.xz
/mesa-20110620.tar.xz
/mesa-20110730.tar.xz
/MesaLib-7.11.tar.bz2
/mesa-20111103.tar.xz
/mesa-20111114.tar.xz
/mesa-20111129.tar.xz
/mesa-20111214.tar.xz
/mesa-20120105.tar.xz
/mesa-20120126.tar.xz
/MesaLib-8.0.tar.bz2
/MesaLib-8.0.1.tar.bz2
/MesaLib-8.0.2.tar.bz2
/mesa-20120424.tar.xz
/mesa-20120603.tar.xz
/mesa-20120716.tar.xz
/mesa-20120717.tar.xz
/mesa-20120816.tar.xz
/mesa-20120827.tar.xz
/mesa-20120924.tar.xz
/glu-9.0.0.tar.bz2
/MesaLib-9.0.tar.bz2
/MesaLib-9.0.1.tar.bz2
/mesa-20130213.tar.xz
/MesaLib-9.1.tar.bz2
/MesaLib-9.1.1.tar.bz2
/mesa-20130508.tar.xz
/mesa-20130514.tar.xz
/mesa-20130528.tar.xz
/mesa-20130610.tar.xz
/mesa-20130723.tar.xz
/mesa-20130902.tar.xz
/mesa-20130919.tar.xz
/mesa-20131113.tar.xz
/mesa-20131114.tar.xz
/mesa-20131128.tar.xz
/mesa-20131206.tar.xz
/mesa-20131220.tar.xz
/mesa-20140206.tar.xz
/mesa-20140208.tar.xz
/mesa-20140222.tar.xz
/mesa-20140225.tar.xz
/mesa-20140301.tar.xz
/mesa-20140305.tar.xz
/mesa-20140419.tar.xz
/mesa-20140430.tar.xz
/mesa-20140505.tar.xz
/mesa-20140510.tar.xz
/mesa-20140517.tar.xz
/mesa-20140524.tar.xz
/mesa-20140531.tar.xz
/mesa-20140608.tar.xz
/mesa-20140625.tar.xz
/mesa-20140711.tar.xz
/mesa-f381c27c548aa28b003c8e188f5d627ab4105f76.tar.xz
/mesa-c40d7d6d948912a4d51cbf8f0854cf2ebe916636.tar.xz
/mesa-e7f2f2dea5acdbd1a12ed88914e64a38a97432f0.tar.xz
/mesa-c2867f5b3626157379ef0d4d5bcaf5180ca0ec1f.tar.xz
/mesa-80771e47b6c1e47ab55f17311e1d4e227a9eb3d8.tar.xz
/mesa-1f184bc.tar.xz
/mesa-c3f17bb.tar.xz
/mesa-1a17098.tar.xz
/mesa-f3b709c.tar.xz
/mesa-9460cd3.tar.xz
/mesa-3d9c1a9.tar.xz
/mesa-29c7cf2.tar.xz
/mesa-0d7f4c8.tar.xz
/mesa-cb5a372.tar.xz
/mesa-0c7f895.tar.xz
/mesa-6c18279.tar.xz
/mesa-64dcb2b.tar.xz
/mesa-3ba57ba.tar.xz
/mesa-609c3e5.tar.xz
/mesa-be0311c.tar.xz
/mesa-a6f6d61.tar.xz
/mesa-c633528.tar.xz
/mesa-b77eaaf.tar.xz
/mesa-290553b.tar.xz
/mesa-c3260f8.tar.xz
/mesa-6171131.tar.xz
/mesa-20150218.tar.xz
/mesa-20150314.tar.xz
/mesa-20150420.tar.xz
/mesa-20150505.tar.xz
/mesa-20150608.tar.xz
/mesa-f80af89.tar.xz
/mesa-3282e57.tar.xz
/mesa-c1485f4.tar.xz
/mesa-51e3453.tar.xz
/mesa-5a55f68.tar.xz
/mesa-20150618.tar.xz
/mesa-20150629.tar.xz
/mesa-20150711.tar.xz
/mesa-20150729.tar.xz
/mesa-20151008.tar.xz
/mesa-*.tar.bz2
/mesa-*.tar.xz

View File

@ -4,7 +4,7 @@ SANITIZE ?= 1
ifeq ($(strip $(COMMIT)),)
COMMIT = `date +%Y%m%d`
BRANCH = 10.6
BRANCH = 11.0
else
BRANCH = master
endif

View File

@ -2,4 +2,4 @@
#
# usage: make-release-tarball.sh [version]
curl -O ftp://ftp.freedesktop.org/pub/mesa/$1/MesaLib-$1.tar.bz2
curl -O ftp://ftp.freedesktop.org/pub/mesa/$1/mesa-$1.tar.xz

View File

@ -1,12 +0,0 @@
diff -uNr mesa-20131201.orig/src/gallium/drivers/nouveau/codegen/nv50_ir.cpp mesa-20131201/src/gallium/drivers/nouveau/codegen/nv50_ir.cpp
--- mesa-20131201.orig/src/gallium/drivers/nouveau/codegen/nv50_ir.cpp 2013-12-01 11:29:21.000000000 +0400
+++ mesa-20131201/src/gallium/drivers/nouveau/codegen/nv50_ir.cpp 2013-12-01 16:05:06.488417551 +0400
@@ -739,7 +739,7 @@
if (!i)
i = new_Instruction(pol.context(), op, dType);
#ifndef NDEBUG // non-conformant assert, so this is required
- assert(typeid(*i) == typeid(*this));
+ //assert(typeid(*i) == typeid(*this));
#endif
pol.set<Instruction>(this, i);

View File

@ -1,156 +0,0 @@
diff -up mesa-20120424/src/gallium/state_trackers/dri/sw/drisw.c.jx mesa-20120424/src/gallium/state_trackers/dri/sw/drisw.c
--- mesa-20120424/src/gallium/state_trackers/dri/sw/drisw.c.jx 2012-04-24 07:37:03.000000000 -0400
+++ mesa-20120424/src/gallium/state_trackers/dri/sw/drisw.c 2012-05-16 13:30:36.596312047 -0400
@@ -252,8 +252,6 @@ drisw_update_tex_buffer(struct dri_drawa
struct pipe_transfer *transfer;
char *map;
int x, y, w, h;
- int ximage_stride, line;
- int cpp = util_format_get_blocksize(res->format);
get_drawable_info(dPriv, &x, &y, &w, &h);
@@ -266,14 +264,6 @@ drisw_update_tex_buffer(struct dri_drawa
/* Copy the Drawable content to the mapped texture buffer */
get_image(dPriv, x, y, w, h, map);
- /* The pipe transfer has a pitch rounded up to the nearest 64 pixels. */
- ximage_stride = w * cpp;
- for (line = h-1; line; --line) {
- memmove(&map[line * transfer->stride],
- &map[line * ximage_stride],
- ximage_stride);
- }
-
pipe_transfer_unmap(pipe, transfer);
pipe_transfer_destroy(pipe, transfer);
}
diff -up mesa-20120424/src/glx/drisw_glx.c.jx mesa-20120424/src/glx/drisw_glx.c
--- mesa-20120424/src/glx/drisw_glx.c.jx 2012-04-24 07:37:03.000000000 -0400
+++ mesa-20120424/src/glx/drisw_glx.c 2012-05-16 13:29:25.087965268 -0400
@@ -24,6 +24,9 @@
#if defined(GLX_DIRECT_RENDERING) && !defined(GLX_USE_APPLEGL)
#include <X11/Xlib.h>
+#include <sys/ipc.h>
+#include <sys/shm.h>
+#include <X11/extensions/XShm.h>
#include "glxclient.h"
#include <dlfcn.h>
#include "dri_common.h"
@@ -206,6 +209,96 @@ swrastPutImage(__DRIdrawable * draw, int
ximage->data = NULL;
}
+static int shm_error;
+
+static int
+shm_handler(Display *d, XErrorEvent *e)
+{
+ shm_error = 1;
+ return 0;
+}
+
+static int
+align(int value, int alignment)
+{
+ return (value + alignment - 1) & ~(alignment - 1);
+}
+
+/*
+ * Slight fast path. Short of changing how texture memory is allocated, we
+ * have two options for getting the pixels out. GetImage is clamped by the
+ * server's write buffer size, so you end up doing lots of relatively small
+ * requests (128k each or so), with two memcpys: down into the kernel, and
+ * then back up. ShmGetImage is one big blit into the shm segment (which
+ * could be GPU DMA, in principle) and then another one here.
+ */
+static Bool
+swrastShmGetImage(__DRIdrawable *read, char *data, struct drisw_drawable *prp)
+{
+ __GLXDRIdrawable *pread = &(prp->base);
+ Display *dpy = pread->psc->dpy;
+ XImage *ximage = prp->ximage;
+ unsigned long image_size = ximage->height * ximage->bytes_per_line;
+ Bool ret = 0;
+ XShmSegmentInfo seg = { 0, -1, (void *)-1, 0 };
+ int (*old_handler)(Display *, XErrorEvent *);
+
+ if (!XShmQueryExtension(dpy))
+ goto out;
+
+ /* image setup */
+ seg.shmid = shmget(IPC_PRIVATE, image_size, IPC_CREAT | 0777);
+ if (seg.shmid < 0)
+ goto out;
+
+ seg.shmaddr = shmat(seg.shmid, NULL, 0);
+ if (seg.shmaddr == (void *)-1)
+ goto out;
+
+ XSync(dpy, 0);
+ old_handler = XSetErrorHandler(shm_handler);
+ XShmAttach(dpy, &seg);
+ XSync(dpy, 0);
+ XSetErrorHandler(old_handler);
+ if (shm_error)
+ goto out;
+
+ ximage->data = seg.shmaddr;
+ ximage->obdata = &seg;
+ if (!XShmGetImage(dpy, pread->xDrawable, ximage, 0, 0, -1))
+ goto out;
+
+ /*
+ * ShmGetImage doesn't actually pay attention to ->bytes_per_line.
+ * We have to compensate for this somewhere since llvmpipe's natural
+ * tile width is 64. Do it here so we don't have to undo it with a
+ * bunch of memmove in the driver.
+ */
+ do {
+ int i;
+ char *src = ximage->data;
+ int dst_width = align(ximage->width * ximage->bits_per_pixel / 8, 256);
+
+ for (i = 0; i < ximage->height; i++) {
+ memcpy(data, src, ximage->bytes_per_line);
+ data += dst_width;
+ src += ximage->bytes_per_line;
+ }
+ } while (0);
+ ret = 1;
+
+out:
+ ximage->obdata = NULL;
+ ximage->data = NULL;
+ shm_error = 0;
+ XShmDetach(dpy, &seg);
+ if (seg.shmaddr != (void *)-1)
+ shmdt(seg.shmaddr);
+ if (seg.shmid > -1)
+ shmctl(seg.shmid, IPC_RMID, NULL);
+ return ret;
+}
+
static void
swrastGetImage(__DRIdrawable * read,
int x, int y, int w, int h,
@@ -220,11 +313,17 @@ swrastGetImage(__DRIdrawable * read,
readable = pread->xDrawable;
ximage = prp->ximage;
- ximage->data = data;
ximage->width = w;
ximage->height = h;
ximage->bytes_per_line = bytes_per_line(w * ximage->bits_per_pixel, 32);
+ /* XXX check dimensions, if any caller ever sub-images */
+ if (swrastShmGetImage(read, data, prp))
+ return;
+
+ /* shm failed, fall back to protocol */
+ ximage->data = data;
+
XGetSubImage(dpy, readable, x, y, w, h, ~0L, ZPixmap, ximage, 0, 0);
ximage->data = NULL;

View File

@ -1,13 +0,0 @@
diff -up Mesa-8.0.1/src/mesa/state_tracker/st_manager.c.jx Mesa-8.0.1/src/mesa/state_tracker/st_manager.c
--- Mesa-8.0.1/src/mesa/state_tracker/st_manager.c.jx 2012-02-14 18:44:00.000000000 -0500
+++ Mesa-8.0.1/src/mesa/state_tracker/st_manager.c 2012-04-02 12:02:14.613964417 -0400
@@ -528,6 +528,9 @@ st_context_teximage(struct st_context_if
if (util_format_get_component_bits(internal_format,
UTIL_FORMAT_COLORSPACE_RGB, 3) > 0)
internalFormat = GL_RGBA;
+ else if (util_format_get_component_bits(internal_format,
+ UTIL_FORMAT_COLORSPACE_RGB, 0) == 5)
+ internalFormat = GL_RGB5;
else
internalFormat = GL_RGB;

View File

@ -1,3 +1,5 @@
%{!?_licensedir:%global license %%doc}
%if 0%{?rhel}
%define with_private_llvm 1
%define with_wayland 0
@ -8,7 +10,6 @@
# S390 doesn't have video cards, but we need swrast for xserver's GLX
# llvm (and thus llvmpipe) doesn't actually work on ppc32
# llvm support for ppc64le is supposed to come in llvm-3.5
%ifnarch s390 ppc
%define with_llvm 1
%endif
@ -21,13 +22,13 @@
%ifarch s390 s390x ppc
%define with_hardware 0
%define base_drivers swrast
%endif
%ifnarch s390 s390x ppc
%else
%define with_hardware 1
%define with_vdpau 1
%define with_vaapi 1
%define with_nine 1
%define base_drivers swrast,nouveau,radeon,r200
%endif
%ifarch %{ix86} x86_64
%define platform_drivers ,i915,i965
%define with_ilo 1
@ -42,19 +43,18 @@
%define with_xa 1
%define with_omx 1
%endif
%endif
%define dri_drivers --with-dri-drivers=%{?base_drivers}%{?platform_drivers}
%define _default_patch_fuzz 2
%define gitdate 20151008
#% define githash 5a55f68
%define gitdate 20151122
#% define githash 21ccdbd
%define git %{?githash:%{githash}}%{!?githash:%{gitdate}}
Summary: Mesa graphics libraries
Name: mesa
Version: 10.6.9
Version: 11.0.6
Release: 1.%{git}%{?dist}
License: MIT
Group: System Environment/Libraries
@ -70,15 +70,12 @@ Source3: vl_mpeg12_decoder.c
# Fedora opts to ignore the optional part of clause 2 and treat that code as 2 clause BSD.
Source4: Mesa-MLAA-License-Clarification-Email.txt
Patch1: mesa-10.0-nv50-fix-build.patch
Patch9: mesa-8.0-llvmpipe-shmget.patch
Patch12: mesa-8.0.1-fix-16bpp.patch
Patch15: mesa-9.2-hardware-float.patch
Patch20: mesa-10.2-evergreen-big-endian.patch
Patch30: mesa-10.3-bigendian-assert.patch
# To have sha info in glxinfo
BuildRequires: git
BuildRequires: git-core
BuildRequires: pkgconfig autoconf automake libtool
%if %{with_hardware}
@ -346,18 +343,6 @@ Mesa Direct3D9 state tracker development package
#setup -q -n Mesa-%{version}%{?snapshot}
%setup -q -n mesa-%{git}
grep -q ^/ src/gallium/auxiliary/vl/vl_decoder.c && exit 1
%patch1 -p1 -b .nv50rtti
# this fastpath is:
# - broken with swrast classic
# - broken on 24bpp
# - not a huge win anyway
# - ABI-broken wrt upstream
# - eventually obsoleted by vgem
#
# dear ajax: fix this one way or the other
#patch9 -p1 -b .shmget
#patch12 -p1 -b .16bpp
%patch15 -p1 -b .hwfloat
%patch20 -p1 -b .egbe
@ -397,7 +382,7 @@ export CXXFLAGS="$RPM_OPT_FLAGS %{?with_opencl:-frtti -fexceptions} %{!?with_ope
--disable-xvmc \
%{?with_vdpau:--enable-vdpau} \
%{?with_vaapi:--enable-va} \
--with-egl-platforms=x11,drm%{?with_wayland:,wayland} \
--with-egl-platforms=x11,drm,surfaceless%{?with_wayland:,wayland} \
--enable-shared-glapi \
--enable-gbm \
%{?with_omx:--enable-omx} \
@ -419,9 +404,6 @@ export CXXFLAGS="$RPM_OPT_FLAGS %{?with_opencl:-frtti -fexceptions} %{!?with_ope
%endif
%{?dri_drivers}
# this seems to be neccessary for s390
make -C src/mesa/drivers/dri/common/xmlpool/
make %{?_smp_mflags} MKDEP=/bin/true
%install
@ -445,7 +427,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/vdpau/*.so
rm -f $RPM_BUILD_ROOT%{_includedir}/GL/w*.h
# remove .la files
find $RPM_BUILD_ROOT -name \*.la | xargs rm -f
find $RPM_BUILD_ROOT -name '*.la' -delete
# this keeps breaking, check it early. note that the exit from eu-ftr is odd.
pushd $RPM_BUILD_ROOT%{_libdir}
@ -489,26 +471,23 @@ rm -rf $RPM_BUILD_ROOT
%endif
%files libGL
%defattr(-,root,root,-)
%doc docs/COPYING
%license docs/COPYING
%{_libdir}/libGL.so.1
%{_libdir}/libGL.so.1.*
%files libEGL
%defattr(-,root,root,-)
%doc docs/COPYING
%license docs/COPYING
%{_libdir}/libEGL.so.1
%{_libdir}/libEGL.so.1.*
%files libGLES
%defattr(-,root,root,-)
%doc docs/COPYING
%license docs/COPYING
%{_libdir}/libGLESv2.so.2
%{_libdir}/libGLESv2.so.2.*
%files filesystem
%defattr(-,root,root,-)
%doc docs/COPYING docs/Mesa-MLAA-License-Clarification-Email.txt
%license docs/COPYING
%doc docs/Mesa-MLAA-License-Clarification-Email.txt
%dir %{_libdir}/dri
%if %{with_hardware}
%if 0%{?with_vdpau}
@ -517,11 +496,11 @@ rm -rf $RPM_BUILD_ROOT
%endif
%files libglapi
%license docs/COPYING
%{_libdir}/libglapi.so.0
%{_libdir}/libglapi.so.0.*
%files dri-drivers
%defattr(-,root,root,-)
%if %{with_hardware}
%config(noreplace) %{_sysconfdir}/drirc
%if !0%{?rhel}
@ -570,12 +549,10 @@ rm -rf $RPM_BUILD_ROOT
%if %{with_hardware}
%if 0%{?with_omx}
%files omx-drivers
%defattr(-,root,root,-)
%{_libdir}/bellagio/libomx_mesa.so
%endif
%if 0%{?with_vdpau}
%files vdpau-drivers
%defattr(-,root,root,-)
%{_libdir}/vdpau/libvdpau_nouveau.so.1*
%{_libdir}/vdpau/libvdpau_r300.so.1*
%if 0%{?with_llvm}
@ -588,7 +565,6 @@ rm -rf $RPM_BUILD_ROOT
%endif
%files libGL-devel
%defattr(-,root,root,-)
%{_includedir}/GL/gl.h
%{_includedir}/GL/gl_mangle.h
%{_includedir}/GL/glext.h
@ -604,7 +580,6 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/pkgconfig/gl.pc
%files libEGL-devel
%defattr(-,root,root,-)
%dir %{_includedir}/EGL
%{_includedir}/EGL/eglext.h
%{_includedir}/EGL/egl.h
@ -617,7 +592,6 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/libEGL.so
%files libGLES-devel
%defattr(-,root,root,-)
%dir %{_includedir}/GLES2
%{_includedir}/GLES2/gl2platform.h
%{_includedir}/GLES2/gl2.h
@ -630,53 +604,45 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/libGLESv2.so
%files libOSMesa
%defattr(-,root,root,-)
%doc docs/COPYING
%license docs/COPYING
%{_libdir}/libOSMesa.so.8*
%files libOSMesa-devel
%defattr(-,root,root,-)
%dir %{_includedir}/GL
%{_includedir}/GL/osmesa.h
%{_libdir}/libOSMesa.so
%{_libdir}/pkgconfig/osmesa.pc
%files libgbm
%defattr(-,root,root,-)
%doc docs/COPYING
%license docs/COPYING
%{_libdir}/libgbm.so.1
%{_libdir}/libgbm.so.1.*
%files libgbm-devel
%defattr(-,root,root,-)
%{_libdir}/libgbm.so
%{_includedir}/gbm.h
%{_libdir}/pkgconfig/gbm.pc
%if 0%{?with_wayland}
%files libwayland-egl
%defattr(-,root,root,-)
%doc docs/COPYING
%license docs/COPYING
%{_libdir}/libwayland-egl.so.1
%{_libdir}/libwayland-egl.so.1.*
%files libwayland-egl-devel
%defattr(-,root,root,-)
%{_libdir}/libwayland-egl.so
%{_libdir}/pkgconfig/wayland-egl.pc
%endif
%if 0%{?with_xa}
%files libxatracker
%defattr(-,root,root,-)
%doc docs/COPYING
%license docs/COPYING
%if %{with_hardware}
%{_libdir}/libxatracker.so.2
%{_libdir}/libxatracker.so.2.*
%endif
%files libxatracker-devel
%defattr(-,root,root,-)
%if %{with_hardware}
%{_libdir}/libxatracker.so
%{_includedir}/xa_tracker.h
@ -688,6 +654,7 @@ rm -rf $RPM_BUILD_ROOT
%if 0%{?with_opencl}
%files libOpenCL
%license docs/COPYING
%{_libdir}/libMesaOpenCL.so.*
%{_sysconfdir}/OpenCL/vendors/mesa.icd
@ -697,6 +664,7 @@ rm -rf $RPM_BUILD_ROOT
%if 0%{?with_nine}
%files libd3d
%license docs/COPYING
%dir %{_libdir}/d3d/
%{_libdir}/d3d/*.so.*
@ -707,6 +675,9 @@ rm -rf $RPM_BUILD_ROOT
%endif
%changelog
* Sun Nov 22 2015 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 11.0.6-1.20151122
- 11.0.6
* Thu Oct 08 2015 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 10.6.9-1.20151008
- Update to 10.6.9

View File

@ -1 +1 @@
b0ca5191fc81ce268635c1ae08d4ae4d mesa-20151008.tar.xz
3253105dd4d3b06fc6996b04f2c3ac10 mesa-20151122.tar.xz