SHA256
1
0
forked from pool/Mesa

Accepting request 183076 from home:sumski:branches:X11:XOrg

Update to 9.2 snapshot

OBS-URL: https://build.opensuse.org/request/show/183076
OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/Mesa?expand=0&rev=293
This commit is contained in:
Stefan Dirsch 2013-07-15 13:37:01 +00:00 committed by Git OBS Bridge
parent 26b4d5c0ee
commit 0e113551f8
7 changed files with 159 additions and 78 deletions

View File

@ -1,3 +1,35 @@
-------------------------------------------------------------------
Fri Jul 5 12:07:10 UTC 2013 - hrvoje.senjan@gmail.com
- Update to 9.2 snapshot:
* New features:
* Mesa 9.2 implements the OpenGL 3.1 API - OpenGL 3.1 is only
available if requested at context creation because
GL_ARB_compatibility is not supported
* GL_ARB_texture_buffer_range
* GL_ARB_texture_multisample
* GL_ARB_texture_storage_multisample
* GL_ARB_texture_query_lod
* Enable GL_ARB_texture_storage on radeon, r200, and nouveau
* Added new freedreno gallium driver
* OSMesa interface for gallium llvmpipe/softpipe drivers
* Gallium Heads-Up Display (HUD) feature for performance monitoring
* Changes:
* Removed d3d1x state tracker (unused, unmaintained and broken)
* Removed GL_EXT_clip_volume_hint because no driver had enabled
it since 2007.
* Removed GL_MESA_resize_buffers because it was only really
implemented by the (unsupported) GDI driver.
* GL_EXT_separate_shader_objects has been removed from all Gallium
drivers, because it disallows a critical GLSL shader optimization.
GL_ARB_separate_shader_objects doesn't have this issue.
- Unlock radeonsi libvdpau
- Enable gallium egl
- added U_gallium-egl-gbm-use-wayland-cflags.patch, needed so gbm
uses pkgconfig flags, instead of relying on "common" wayland dir
- Added llvm_r600 define, for enableing llvm shared-libs and
r600-llvm-compiler. Off for now, until we have fixed llvm
-------------------------------------------------------------------
Tue Jul 2 13:00:05 UTC 2013 - hrvoje.senjan@gmail.com

137
Mesa.spec
View File

@ -17,11 +17,14 @@
%define glamor 1
%define _version 9.1.4
%define _name_archive MesaLib
%define egl_gallium 1
%define llvm_r600 0
%define _version 9.1.98.01
%define _name_archive mesa
Name: Mesa
Version: 9.1.4
Version: 9.1.98.01
Release: 0
BuildRequires: autoconf >= 2.60
BuildRequires: automake
@ -29,6 +32,9 @@ BuildRequires: bison
BuildRequires: fdupes
BuildRequires: flex
BuildRequires: gcc-c++
%if %llvm_r600
BuildRequires: libelf-devel
%endif
BuildRequires: libexpat-devel
BuildRequires: libtalloc-devel
BuildRequires: libtool
@ -38,10 +44,10 @@ BuildRequires: python-base
BuildRequires: xorg-x11-util-devel
BuildRequires: pkgconfig(libdrm) >= 2.4.24
%ifarch x86_64 %ix86
BuildRequires: pkgconfig(libdrm_intel) >= 2.4.34
BuildRequires: pkgconfig(libdrm_intel) >= 2.4.38
%endif
BuildRequires: pkgconfig(libdrm_nouveau) >= 2.4.33
BuildRequires: pkgconfig(libdrm_radeon) >= 2.4.40
BuildRequires: pkgconfig(libdrm_nouveau) >= 2.4.41
BuildRequires: pkgconfig(libdrm_radeon) >= 2.4.45
BuildRequires: pkgconfig(libkms) >= 1.0.0
BuildRequires: pkgconfig(libudev) > 150
%if 0%{?suse_version} >= 1230
@ -56,12 +62,12 @@ BuildRequires: pkgconfig(xdamage)
BuildRequires: pkgconfig(xext)
BuildRequires: pkgconfig(xfixes)
BuildRequires: pkgconfig(xxf86vm)
BuildRequires: pkgconfig(zlib)
%ifarch %arm %ix86 x86_64
BuildRequires: llvm-devel
%endif
BuildRequires: libXvMC-devel
BuildRequires: libvdpau-devel
BuildRequires: zlib-devel
Url: http://www.mesa3d.org
Provides: Mesa7 = %{version}
@ -82,7 +88,8 @@ Provides: XFree86-Mesa-64bit = %{version}
Summary: System for rendering interactive 3-D graphics
License: MIT
Group: System/Libraries
Source: ftp://ftp.freedesktop.org/pub/mesa/%{version}/%{_name_archive}-%{version}.tar.bz2
#Source: ftp://ftp.freedesktop.org/pub/mesa/%{version}/%{_name_archive}-%{version}.tar.bz2
Source: %{_name_archive}-%{version}.tar.bz2
Source2: baselibs.conf
Source3: README.updates
Source4: manual-pages.tar.bz2
@ -92,10 +99,12 @@ Source6: %name-rpmlintrc
Patch11: u_Fix-crash-in-swrast-when-setting-a-texture-for-a-pix.patch
# Patch from Fedora, fix 16bpp in llvmpipe
Patch13: u_mesa-8.0.1-fix-16bpp.patch
# Patch to fix glapi_dispatch include
# Patch to fix glapi_dispatch include
Patch14: u_mesa-glapi_dispatch.patch
# Patch from Fedora, use shmget when available, under llvmpipe
Patch15: u_mesa-8.0-llvmpipe-shmget.patch
# PATCH-FIX-UPSTREAM gallium-egl-gbm-use-wayland-cflags.patch -- use pkgconfig for finding wayland
Patch16: U_gallium-egl-gbm-use-wayland-cflags.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@ -346,7 +355,7 @@ Group: Development/Libraries/C and C++
Requires: Mesa-libglapi0 = %version
%description -n Mesa-libglapi-devel
Development files for the Mesa GL API module which is responsible for
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.
@ -417,7 +426,7 @@ Release: 0
%description -n libxatracker1
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
to accelerate Xorg 2D operations. It is currently used by vmwgfx
video driver.
%package -n libxatracker-devel
@ -430,7 +439,7 @@ Requires: libxatracker1 = %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
to accelerate Xorg 2D operations. It is currently used by vmwgfx
video driver.
This package provides the development environment for compiling
@ -450,7 +459,7 @@ Summary: XVMC state tracker for R300
Group: System/Libraries
%description -n libXvMC_r300
This package contains the XvMC state tracker for R300. This is
This package contains the XvMC state tracker for R300. This is
still "work in progress", i.e. expect poor video quality, choppy
videos and artefacts all over.
@ -459,7 +468,7 @@ Summary: XVMC state tracker for R600
Group: System/Libraries
%description -n libXvMC_r600
This package contains the XvMC state tracker for R600. This is
This package contains the XvMC state tracker for R600. This is
still "work in progress", i.e. expect poor video quality, choppy
videos and artefacts all over.
@ -486,7 +495,7 @@ Summary: XVMC state tracker for R300
Group: System/Libraries
%description -n libvdpau_r300
This package contains the VDPAU state tracker for R300. This is
This package contains the VDPAU state tracker for R300. This is
still "work in progress", i.e. expect poor video quality, choppy
videos and artefacts all over.
@ -495,18 +504,20 @@ Summary: XVMC state tracker for R600
Group: System/Libraries
%description -n libvdpau_r600
This package contains the VDPAU state tracker for R600. This is
This package contains the VDPAU state tracker for R600. This is
still "work in progress", i.e. expect poor video quality, choppy
videos and artefacts all over.
#%package -n libvdpau_radeonsi
#Summary: XVMC state tracker for radeonsi
#Group: System/Libraries
%if %llvm_r600
%package -n libvdpau_radeonsi
Summary: XVMC state tracker for radeonsi
Group: System/Libraries
#%description -n libvdpau_radeonsi
#This package contains the VDPAU state tracker for radeonsi. This is
#still "work in progress", i.e. expect poor video quality, choppy
#videos and artefacts all over.
%description -n libvdpau_radeonsi
This package contains the VDPAU state tracker for radeonsi. This is
still "work in progress", i.e. expect poor video quality, choppy
videos and artefacts all over.
%endif
%package -n libvdpau_softpipe
Summary: Software implementation of XVMC state tracker
@ -518,13 +529,16 @@ state tracker. This is still "work in progress", i.e. expect
poor video quality, choppy videos and artefacts all over.
%prep
%setup -n %{name}-%{_version} -b4 -q
%setup -n %{_name_archive}-%{_version} -b4 -q
# remove some docs
rm -rf docs/README.{VMS,WIN32,OS2}
#%patch11 -p1
%patch13 -p1
%patch14 -p1
%patch15 -p1
%if %egl_gallium
%patch16 -p1
%endif
%build
@ -550,13 +564,22 @@ autoreconf -fi
%if %glamor
--enable-gbm \
--enable-glx-tls \
%endif
%if %egl_gallium
--enable-gallium-egl \
%endif
--with-dri-searchpath=/usr/%{_lib}/dri/updates:/usr/%{_lib}/dri \
%ifarch %ix86 x86_64
--enable-xa \
--enable-gallium-llvm \
--with-dri-drivers=i915,i965,nouveau,r200,radeon \
%if %llvm_r600
--with-llvm-shared-libs \
--enable-r600-llvm-compiler \
--with-gallium-drivers=r300,r600,radeonsi,nouveau,swrast,svga \
%else
--with-gallium-drivers=r300,r600,nouveau,swrast,svga \
%endif
--enable-vdpau \
--enable-xvmc \
%endif
@ -584,29 +607,29 @@ find $RPM_BUILD_ROOT -name "*.la" -exec rm {} \;
####
make distclean-generic
%configure --enable-xlib-glx \
--disable-dri \
--enable-osmesa \
--with-egl-platforms=x11 \
--with-gallium-drivers="" \
--with-gl-lib-name=IndirectGL \
CFLAGS="$RPM_OPT_FLAGS -DNDEBUG"
--disable-dri \
--enable-osmesa \
--with-egl-platforms=x11 \
--with-gallium-drivers="" \
--with-gl-lib-name=IndirectGL \
CFLAGS="$RPM_OPT_FLAGS -DNDEBUG"
make %{?_smp_mflags}
cp -a \
src/mesa/drivers/x11/.libs/libIndirectGL.so* \
src/mesa/drivers/osmesa/.libs/libOSMesa.so* \
$RPM_BUILD_ROOT/usr/%{_lib}
src/mesa/drivers/x11/.libs/libIndirectGL.so* \
src/mesa/drivers/osmesa/.libs/libOSMesa.so* \
$RPM_BUILD_ROOT/usr/%{_lib}
install -m 644 src/mesa/drivers/osmesa/osmesa.pc \
$RPM_BUILD_ROOT/usr/%{_lib}/pkgconfig
$RPM_BUILD_ROOT/usr/%{_lib}/pkgconfig
for dir in ../xc/doc/man/{GL/gl,GL/glx}; do
pushd $dir
xmkmf -a
make %{?_smp_mflags}
make install.man DESTDIR=$RPM_BUILD_ROOT MANPATH=%{_mandir} LIBMANSUFFIX=3gl
popd
pushd $dir
xmkmf -a
make %{?_smp_mflags}
make install.man DESTDIR=$RPM_BUILD_ROOT MANPATH=%{_mandir} LIBMANSUFFIX=3gl
popd
done
# DRI driver update mechanism
#DRI driver update mechanism
mkdir -p $RPM_BUILD_ROOT/usr/%{_lib}/dri/updates
install -m 644 $RPM_SOURCE_DIR/README.updates \
$RPM_BUILD_ROOT/usr/%{_lib}/dri/updates
@ -673,8 +696,10 @@ install -m 644 $RPM_SOURCE_DIR/drirc $RPM_BUILD_ROOT/etc
%post -n libvdpau_r600
%postun -n libvdpau_r600
#%post -n libvdpau_radeonsi
#%postun -n libvdpau_radeonsi
%if %llvm_r600
%post -n libvdpau_radeonsi
%postun -n libvdpau_radeonsi
%endif
%post -n libvdpau_softpipe
%postun -n libvdpau_softpipe
@ -700,6 +725,12 @@ install -m 644 $RPM_SOURCE_DIR/drirc $RPM_BUILD_ROOT/etc
%doc docs/README* docs/COPYING
%config /etc/drirc
%{_libdir}/dri/
%if %egl_gallium
%dir %_libdir/egl/
%_libdir/egl/egl_gallium.so
%dir %_libdir/gallium-pipe/
%_libdir/gallium-pipe/pipe_*.so
%endif
%_libdir/libdricore9*.so.*
%files -n Mesa-libEGL1
@ -786,6 +817,10 @@ install -m 644 $RPM_SOURCE_DIR/drirc $RPM_BUILD_ROOT/etc
%files -n libgbm1
%defattr(-,root,root)
%_libdir/libgbm.so.1*
%if %egl_gallium
%dir %_libdir/gbm/
%_libdir/gbm/gbm_gallium_drm.so
%endif
%files -n libgbm-devel
%defattr(-,root,root)
@ -812,13 +847,13 @@ install -m 644 $RPM_SOURCE_DIR/drirc $RPM_BUILD_ROOT/etc
%_libdir/libXvMCnouveau.so.1.0.0
%ifarch %ix86 x86_64
%files -n libXvMC_r300
%files -n libXvMC_r300
%defattr(-,root,root)
%_libdir/libXvMCr300.so
%_libdir/libXvMCr300.so.1
%_libdir/libXvMCr300.so.1.0.0
%files -n libXvMC_r600
%files -n libXvMC_r600
%defattr(-,root,root)
%_libdir/libXvMCr600.so
%_libdir/libXvMCr600.so.1
@ -849,11 +884,13 @@ install -m 644 $RPM_SOURCE_DIR/drirc $RPM_BUILD_ROOT/etc
%_libdir/vdpau/libvdpau_nouveau.so.1
%_libdir/vdpau/libvdpau_nouveau.so.1.0.0
#%files -n libvdpau_radeonsi
#%defattr(-,root,root)
#%_libdir/vdpau/libvdpau_radeonsi.so
#%_libdir/vdpau/libvdpau_radeonsi.so.1
#%_libdir/vdpau/libvdpau_radeonsi.so.1.0
%if %llvm_r600
%files -n libvdpau_radeonsi
%defattr(-,root,root)
%_libdir/vdpau/libvdpau_radeonsi.so
%_libdir/vdpau/libvdpau_radeonsi.so.1
%_libdir/vdpau/libvdpau_radeonsi.so.1.0.0
%endif
%files -n libvdpau_softpipe
%defattr(-,root,root)
@ -872,7 +909,7 @@ install -m 644 $RPM_SOURCE_DIR/drirc $RPM_BUILD_ROOT/etc
%files devel
%defattr(-,root,root)
%doc docs/*.html docs/*.spec
%doc docs/*.html
%_includedir/GL/internal
%_libdir/libdricore9*.so
%_libdir/pkgconfig/dri.pc

View File

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

View File

@ -0,0 +1,10 @@
--- Mesa-9.1/src/gallium/state_trackers/gbm/Makefile.am.orig
+++ Mesa-9.1/src/gallium/state_trackers/gbm/Makefile.am
@@ -27,6 +27,7 @@ AM_CPPFLAGS = \
-I$(top_srcdir)/src/gbm/main \
-I$(top_srcdir)/include
if HAVE_EGL_PLATFORM_WAYLAND
+AM_CPPFLAGS += `pkg-config --cflags wayland-server`
AM_CPPFLAGS += -DHAVE_WAYLAND_PLATFORM
endif

3
mesa-9.1.98.01.tar.bz2 Normal file
View File

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

View File

@ -1,5 +1,5 @@
diff --git a/src/gallium/state_trackers/dri/sw/drisw.c b/src/gallium/state_trackers/dri/sw/drisw.c
index 5247126..3cdb6eb 100644
index 41f66d5..28beb80 100644
--- a/src/gallium/state_trackers/dri/sw/drisw.c
+++ b/src/gallium/state_trackers/dri/sw/drisw.c
@@ -252,8 +252,6 @@ drisw_update_tex_buffer(struct dri_drawable *drawable,
@ -8,15 +8,16 @@ index 5247126..3cdb6eb 100644
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);
@@ -265,14 +263,6 @@ drisw_update_tex_buffer(struct dri_drawable *drawable,
@@ -265,15 +263,6 @@ drisw_update_tex_buffer(struct dri_drawable *drawable,
/* 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;
- /* The pipe transfer has a pitch rounded up to the nearest 64 pixels.
- get_image() has a pitch rounded up to 4 bytes. */
- ximage_stride = ((w * cpp) + 3) & -4;
- for (line = h-1; line; --line) {
- memmove(&map[line * transfer->stride],
- &map[line * ximage_stride],
@ -25,13 +26,14 @@ index 5247126..3cdb6eb 100644
-
pipe_transfer_unmap(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
diff --git a/src/glx/drisw_glx.c b/src/glx/drisw_glx.c
index 832e964..feac747 100644
--- a/src/glx/drisw_glx.c
+++ b/src/glx/drisw_glx.c
@@ -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>
@ -39,10 +41,10 @@ diff -up mesa-20120424/src/glx/drisw_glx.c.jx mesa-20120424/src/glx/drisw_glx.c
#include "glxclient.h"
#include <dlfcn.h>
#include "dri_common.h"
@@ -206,6 +209,96 @@ swrastPutImage(__DRIdrawable * draw, int
@@ -206,6 +209,96 @@ swrastPutImage(__DRIdrawable * draw, int op,
ximage->data = NULL;
}
+static int shm_error;
+
+static int
@ -138,13 +140,13 @@ diff -up mesa-20120424/src/glx/drisw_glx.c.jx mesa-20120424/src/glx/drisw_glx.c
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;
@ -153,5 +155,5 @@ diff -up mesa-20120424/src/glx/drisw_glx.c.jx mesa-20120424/src/glx/drisw_glx.c
+ ximage->data = data;
+
XGetSubImage(dpy, readable, x, y, w, h, ~0L, ZPixmap, ximage, 0, 0);
ximage->data = NULL;

View File

@ -1,13 +1,13 @@
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)
diff --git a/src/mesa/state_tracker/st_manager.c b/src/mesa/state_tracker/st_manager.c
index 9c2b4d2..660ab16 100644
--- a/src/mesa/state_tracker/st_manager.c
+++ b/src/mesa/state_tracker/st_manager.c
@@ -512,6 +512,9 @@ st_context_teximage(struct st_context_iface *stctxi,
if (util_format_has_alpha(tex->format))
internalFormat = GL_RGBA;
+ else if (util_format_get_component_bits(internal_format,
+ else if (util_format_get_component_bits(pipe_format,
+ UTIL_FORMAT_COLORSPACE_RGB, 0) == 5)
+ internalFormat = GL_RGB5;
else
internalFormat = GL_RGB;