mirror of
https://src.fedoraproject.org/rpms/mesa.git
synced 2024-11-24 09:32:42 +00:00
Switch to Mesa master (pre 9.2)
- Fix llvmpipe on big-endian and enable llvmpipe everywhere - Build vdpau drivers for r600/radeonsi/nouveau - Enable hardware floating-point texture support - Drop GLESv1, nothing's using it, let's not start
This commit is contained in:
parent
2b9d3cd650
commit
4c06853833
11 changed files with 1903 additions and 133 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -1,4 +1,6 @@
|
|||
*.jx
|
||||
*.src.rpm
|
||||
.build*
|
||||
mesa-20100208.tar.bz2
|
||||
gl-manpages-1.0.1.tar.bz2
|
||||
xdriinfo-1.0.3.tar.bz2
|
||||
|
@ -47,3 +49,4 @@ mesa-20100720.tar.bz2
|
|||
/mesa-20130213.tar.xz
|
||||
/MesaLib-9.1.tar.bz2
|
||||
/MesaLib-9.1.1.tar.bz2
|
||||
/mesa-20130508.tar.xz
|
||||
|
|
|
@ -0,0 +1,39 @@
|
|||
From dfe652d12c62c270e00f093518a05c6966661b8a Mon Sep 17 00:00:00 2001
|
||||
From: Adam Jackson <ajax@redhat.com>
|
||||
Date: Mon, 6 May 2013 16:04:03 -0400
|
||||
Subject: [PATCH] mesa: Be less casual about texture formats in
|
||||
st_finalize_texture
|
||||
|
||||
Commit 62452883 removed a hunk like
|
||||
|
||||
if (firstImageFormat != stObj->pt->format)
|
||||
st_view_format = firstImageFormat;
|
||||
|
||||
from update_single_texture(). This broke piglit/glx-tfp on AMD Barts
|
||||
(and probably others), as that hunk was compensating for the mesa and
|
||||
gallium layers disagreeing about the format.
|
||||
|
||||
Fix this by not ignoring the alpha channel in st_finalize_texture when
|
||||
considering whether two 32-bit formats are sufficiently compatible.
|
||||
|
||||
Signed-off-by: Adam Jackson <ajax@redhat.com>
|
||||
---
|
||||
src/mesa/state_tracker/st_cb_texture.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/mesa/state_tracker/st_cb_texture.c b/src/mesa/state_tracker/st_cb_texture.c
|
||||
index 123ed2b..0f2656c 100644
|
||||
--- a/src/mesa/state_tracker/st_cb_texture.c
|
||||
+++ b/src/mesa/state_tracker/st_cb_texture.c
|
||||
@@ -1567,7 +1567,7 @@ st_finalize_texture(struct gl_context *ctx,
|
||||
*/
|
||||
if (stObj->pt) {
|
||||
if (stObj->pt->target != gl_target_to_pipe(stObj->base.Target) ||
|
||||
- !st_sampler_compat_formats(stObj->pt->format, firstImageFormat) ||
|
||||
+ stObj->pt->format != firstImageFormat ||
|
||||
stObj->pt->last_level < stObj->lastLevel ||
|
||||
stObj->pt->width0 != ptWidth ||
|
||||
stObj->pt->height0 != ptHeight ||
|
||||
--
|
||||
1.8.2.1
|
||||
|
|
@ -1,57 +0,0 @@
|
|||
diff -up Mesa-9.1/src/mesa/drivers/dri/intel/intel_extensions.c.jx Mesa-9.1/src/mesa/drivers/dri/intel/intel_extensions.c
|
||||
--- Mesa-9.1/src/mesa/drivers/dri/intel/intel_extensions.c.jx 2013-02-22 20:45:52.000000000 -0500
|
||||
+++ Mesa-9.1/src/mesa/drivers/dri/intel/intel_extensions.c 2013-03-11 17:39:07.069991819 -0400
|
||||
@@ -137,9 +137,11 @@ intelInitExtensions(struct gl_context *c
|
||||
ctx->Extensions.ARB_seamless_cube_map = true;
|
||||
ctx->Extensions.ARB_shader_bit_encoding = true;
|
||||
ctx->Extensions.ARB_shader_texture_lod = true;
|
||||
+#ifdef TEXTURE_FLOAT_ENABLED
|
||||
ctx->Extensions.ARB_texture_float = true;
|
||||
ctx->Extensions.EXT_texture_shared_exponent = true;
|
||||
ctx->Extensions.EXT_packed_float = true;
|
||||
+#endif
|
||||
ctx->Extensions.ARB_texture_compression_rgtc = true;
|
||||
ctx->Extensions.ARB_texture_rg = true;
|
||||
ctx->Extensions.ARB_texture_rgb10_a2ui = true;
|
||||
diff -up Mesa-9.1/src/mesa/drivers/dri/intel/intel_screen.c.jx Mesa-9.1/src/mesa/drivers/dri/intel/intel_screen.c
|
||||
--- Mesa-9.1/src/mesa/drivers/dri/intel/intel_screen.c.jx 2013-02-22 20:46:23.000000000 -0500
|
||||
+++ Mesa-9.1/src/mesa/drivers/dri/intel/intel_screen.c 2013-03-11 17:40:31.235111004 -0400
|
||||
@@ -1038,9 +1038,15 @@ intel_screen_make_configs(__DRIscreen *d
|
||||
static void
|
||||
set_max_gl_versions(struct intel_screen *screen)
|
||||
{
|
||||
+#ifdef TEXTURE_FLOAT_ENABLED
|
||||
+ bool has_texture_float = true;
|
||||
+#else
|
||||
+ bool has_texture_float = false;
|
||||
+#endif
|
||||
+
|
||||
switch (screen->gen) {
|
||||
case 7:
|
||||
- if (screen->kernel_has_gen7_sol_reset) {
|
||||
+ if (has_texture_float && screen->kernel_has_gen7_sol_reset) {
|
||||
screen->max_gl_core_version = 31;
|
||||
screen->max_gl_compat_version = 30;
|
||||
screen->max_gl_es1_version = 11;
|
||||
@@ -1053,10 +1059,17 @@ set_max_gl_versions(struct intel_screen
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
- screen->max_gl_core_version = 31;
|
||||
- screen->max_gl_compat_version = 30;
|
||||
- screen->max_gl_es1_version = 11;
|
||||
- screen->max_gl_es2_version = 30;
|
||||
+ if (has_texture_float) {
|
||||
+ screen->max_gl_core_version = 31;
|
||||
+ screen->max_gl_compat_version = 30;
|
||||
+ screen->max_gl_es1_version = 11;
|
||||
+ screen->max_gl_es2_version = 30;
|
||||
+ } else {
|
||||
+ screen->max_gl_core_version = 0;
|
||||
+ screen->max_gl_compat_version = 21;
|
||||
+ screen->max_gl_es1_version = 11;
|
||||
+ screen->max_gl_es2_version = 20;
|
||||
+ }
|
||||
break;
|
||||
case 5:
|
||||
case 4:
|
|
@ -13,7 +13,7 @@ echo HEAD ${1:-HEAD}
|
|||
|
||||
rm -rf $DIRNAME
|
||||
|
||||
git clone --depth 1 -b 9.1 ${REF:+--reference $REF} \
|
||||
git clone --depth 1 ${REF:+--reference $REF} \
|
||||
git://git.freedesktop.org/git/mesa/mesa $DIRNAME
|
||||
|
||||
GIT_DIR=$DIRNAME/.git git archive --format=tar --prefix=$DIRNAME/ ${1:-HEAD} \
|
||||
|
|
5
make-release-tarball.sh
Normal file
5
make-release-tarball.sh
Normal file
|
@ -0,0 +1,5 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# usage: make-release-tarball.sh [version]
|
||||
|
||||
curl -O ftp://ftp.freedesktop.org/pub/mesa/$1/MesaLib-$1.tar.bz2
|
131
mesa-9.2-hardware-float.patch
Normal file
131
mesa-9.2-hardware-float.patch
Normal file
|
@ -0,0 +1,131 @@
|
|||
From 5bfa2890c634883260429e7360a3a0367ef47316 Mon Sep 17 00:00:00 2001
|
||||
From: Adam Jackson <ajax@redhat.com>
|
||||
Date: Wed, 1 May 2013 13:23:13 -0400
|
||||
Subject: [PATCH] configure: --enable-texture-float={yes,no,hardware}
|
||||
|
||||
This enables building float-texture support for hardware drivers but not
|
||||
software drivers.
|
||||
|
||||
This is obviously not upstreamable in its current form.
|
||||
|
||||
Signed-off-by: Adam Jackson <ajax@redhat.com>
|
||||
---
|
||||
configure.ac | 6 +++---
|
||||
src/gallium/drivers/llvmpipe/lp_screen.c | 9 +++++++++
|
||||
src/gallium/drivers/softpipe/sp_screen.c | 9 +++++++++
|
||||
3 files changed, 21 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 81d4a3f..970dacf 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -381,15 +381,15 @@ dnl
|
||||
dnl potentially-infringing-but-nobody-knows-for-sure stuff
|
||||
dnl
|
||||
AC_ARG_ENABLE([texture-float],
|
||||
- [AS_HELP_STRING([--enable-texture-float],
|
||||
+ [AS_HELP_STRING([--enable-texture-float=yes,no,hardware],
|
||||
[enable floating-point textures and renderbuffers @<:@default=disabled@:>@])],
|
||||
[enable_texture_float="$enableval"],
|
||||
[enable_texture_float=no]
|
||||
)
|
||||
-if test "x$enable_texture_float" = xyes; then
|
||||
+if test "x$enable_texture_float" = xyes -o "x$enable_texture_float" = xhardware; then
|
||||
AC_MSG_WARN([Floating-point textures enabled.])
|
||||
AC_MSG_WARN([Please consult docs/patents.txt with your lawyer before building Mesa.])
|
||||
- DEFINES="$DEFINES -DTEXTURE_FLOAT_ENABLED"
|
||||
+ DEFINES="$DEFINES -DTEXTURE_FLOAT_ENABLED=$enable_texture_float"
|
||||
fi
|
||||
|
||||
GL_LIB_NAME='lib$(GL_LIB).'${LIB_EXTENSION}
|
||||
diff --git a/src/gallium/drivers/llvmpipe/lp_screen.c b/src/gallium/drivers/llvmpipe/lp_screen.c
|
||||
index 5ec1df6..a0406fc 100644
|
||||
--- a/src/gallium/drivers/llvmpipe/lp_screen.c
|
||||
+++ b/src/gallium/drivers/llvmpipe/lp_screen.c
|
||||
@@ -306,6 +306,15 @@ llvmpipe_is_format_supported( struct pipe_screen *_screen,
|
||||
if (!format_desc)
|
||||
return FALSE;
|
||||
|
||||
+#if 1
|
||||
+ if ((bind & PIPE_BIND_RENDER_TARGET) &&
|
||||
+ format != PIPE_FORMAT_R9G9B9E5_FLOAT &&
|
||||
+ format != PIPE_FORMAT_R11G11B10_FLOAT &&
|
||||
+ util_format_is_float(format)) {
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
assert(target == PIPE_BUFFER ||
|
||||
target == PIPE_TEXTURE_1D ||
|
||||
target == PIPE_TEXTURE_1D_ARRAY ||
|
||||
diff --git a/src/gallium/drivers/softpipe/sp_screen.c b/src/gallium/drivers/softpipe/sp_screen.c
|
||||
index 937035e..2f5e571 100644
|
||||
--- a/src/gallium/drivers/softpipe/sp_screen.c
|
||||
+++ b/src/gallium/drivers/softpipe/sp_screen.c
|
||||
@@ -291,6 +291,15 @@ softpipe_is_format_supported( struct pipe_screen *screen,
|
||||
if (!format_desc)
|
||||
return FALSE;
|
||||
|
||||
+#if 1
|
||||
+ if ((bind & PIPE_BIND_RENDER_TARGET) &&
|
||||
+ format != PIPE_FORMAT_R9G9B9E5_FLOAT &&
|
||||
+ format != PIPE_FORMAT_R11G11B10_FLOAT &&
|
||||
+ util_format_is_float(format)) {
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
if (sample_count > 1)
|
||||
return FALSE;
|
||||
|
||||
--
|
||||
1.8.2.1
|
||||
|
||||
diff -up mesa-20130508/src/gallium/auxiliary/util/u_format_table.py.jx mesa-20130508/src/gallium/auxiliary/util/u_format_table.py
|
||||
--- mesa-20130508/src/gallium/auxiliary/util/u_format_table.py.jx 2013-05-08 13:23:41.000000000 -0400
|
||||
+++ mesa-20130508/src/gallium/auxiliary/util/u_format_table.py 2013-05-08 15:20:02.145510681 -0400
|
||||
@@ -133,15 +133,35 @@ def write_format_table(formats):
|
||||
print " },"
|
||||
print " %s," % (colorspace_map(format.colorspace),)
|
||||
if format.colorspace != ZS and format.channels[0].pure == False:
|
||||
- print " &util_format_%s_unpack_rgba_8unorm," % format.short_name()
|
||||
- print " &util_format_%s_pack_rgba_8unorm," % format.short_name()
|
||||
- if format.layout == 's3tc' or format.layout == 'rgtc':
|
||||
- print " &util_format_%s_fetch_rgba_8unorm," % format.short_name()
|
||||
- else:
|
||||
- print " NULL, /* fetch_rgba_8unorm */"
|
||||
- print " &util_format_%s_unpack_rgba_float," % format.short_name()
|
||||
- print " &util_format_%s_pack_rgba_float," % format.short_name()
|
||||
- print " &util_format_%s_fetch_rgba_float," % format.short_name()
|
||||
+ if "float" in format.short_name():
|
||||
+ print "#if 0"
|
||||
+ print " &util_format_%s_unpack_rgba_8unorm," % format.short_name()
|
||||
+ print " &util_format_%s_pack_rgba_8unorm," % format.short_name()
|
||||
+ if format.layout == 's3tc' or format.layout == 'rgtc':
|
||||
+ print " &util_format_%s_fetch_rgba_8unorm," % format.short_name()
|
||||
+ else:
|
||||
+ print " NULL, /* fetch_rgba_8unorm */"
|
||||
+ print " &util_format_%s_unpack_rgba_float," % format.short_name()
|
||||
+ print " &util_format_%s_pack_rgba_float," % format.short_name()
|
||||
+ print " &util_format_%s_fetch_rgba_float," % format.short_name()
|
||||
+ print "#else"
|
||||
+ print " NULL, /* unpack_rgba_8unorm */"
|
||||
+ print " NULL, /* pack_rgba_8unorm */"
|
||||
+ print " NULL, /* fetch_rgba_8unorm */"
|
||||
+ print " NULL, /* unpack_rgba_float */"
|
||||
+ print " NULL, /* pack_rgba_float */"
|
||||
+ print " NULL, /* fetch_rgba_float */"
|
||||
+ print "#endif"
|
||||
+ else:
|
||||
+ print " &util_format_%s_unpack_rgba_8unorm," % format.short_name()
|
||||
+ print " &util_format_%s_pack_rgba_8unorm," % format.short_name()
|
||||
+ if format.layout == 's3tc' or format.layout == 'rgtc':
|
||||
+ print " &util_format_%s_fetch_rgba_8unorm," % format.short_name()
|
||||
+ else:
|
||||
+ print " NULL, /* fetch_rgba_8unorm */"
|
||||
+ print " &util_format_%s_unpack_rgba_float," % format.short_name()
|
||||
+ print " &util_format_%s_pack_rgba_float," % format.short_name()
|
||||
+ print " &util_format_%s_fetch_rgba_float," % format.short_name()
|
||||
else:
|
||||
print " NULL, /* unpack_rgba_8unorm */"
|
||||
print " NULL, /* pack_rgba_8unorm */"
|
1588
mesa-9.2-llvmpipe-on-big-endian.patch
Normal file
1588
mesa-9.2-llvmpipe-on-big-endian.patch
Normal file
File diff suppressed because it is too large
Load diff
27
mesa-9.2-no-useless-vdpau.patch
Normal file
27
mesa-9.2-no-useless-vdpau.patch
Normal file
|
@ -0,0 +1,27 @@
|
|||
Neither of these drivers does anything on-GPU, so, no.
|
||||
|
||||
diff -up mesa-20130508/src/gallium/targets/Makefile.am.jx mesa-20130508/src/gallium/targets/Makefile.am
|
||||
--- mesa-20130508/src/gallium/targets/Makefile.am.jx 2013-05-08 13:23:41.000000000 -0400
|
||||
+++ mesa-20130508/src/gallium/targets/Makefile.am 2013-05-08 14:59:50.897835932 -0400
|
||||
@@ -78,10 +78,6 @@ endif
|
||||
if HAVE_ST_XVMC
|
||||
SUBDIRS += xvmc-r300
|
||||
endif
|
||||
-
|
||||
-if HAVE_ST_VDPAU
|
||||
-SUBDIRS += vdpau-r300
|
||||
-endif
|
||||
endif
|
||||
|
||||
if HAVE_GALLIUM_R600
|
||||
@@ -142,10 +138,6 @@ endif
|
||||
if HAVE_ST_XVMC
|
||||
SUBDIRS += xvmc-softpipe
|
||||
endif
|
||||
-
|
||||
-if HAVE_ST_VDPAU
|
||||
-SUBDIRS += vdpau-softpipe
|
||||
-endif
|
||||
endif
|
||||
|
||||
if NEED_GALLIUM_LOADER
|
137
mesa.spec
137
mesa.spec
|
@ -16,14 +16,8 @@
|
|||
# S390 doesn't have video cards, but we need swrast for xserver's GLX
|
||||
%ifarch s390 s390x
|
||||
%define with_hardware 0
|
||||
%define dri_drivers --with-dri-drivers=swrast
|
||||
%define dri_drivers --with-dri-drivers=
|
||||
%else
|
||||
# llvm support only works on some arches (ppc back off for the moment)
|
||||
%ifarch %{ix86} x86_64 %{arm}
|
||||
%define with_llvm 1
|
||||
%else
|
||||
%define swrastc ,swrast
|
||||
%endif
|
||||
%define with_hardware 1
|
||||
%define base_drivers nouveau,radeon,r200
|
||||
%ifarch %{ix86}
|
||||
|
@ -34,28 +28,28 @@
|
|||
%define platform_drivers ,i915,i965
|
||||
%define with_vmware 1
|
||||
%endif
|
||||
%ifarch ia64
|
||||
%define platform_drivers ,i915
|
||||
%endif
|
||||
%define dri_drivers --with-dri-drivers=%{base_drivers}%{?platform_drivers}%{?swrastc}
|
||||
%define dri_drivers --with-dri-drivers=%{base_drivers}%{?platform_drivers}
|
||||
%endif
|
||||
|
||||
%define _default_patch_fuzz 2
|
||||
|
||||
#define gitdate 20130213
|
||||
%define gitdate 20130508
|
||||
#% define snapshot
|
||||
|
||||
Summary: Mesa graphics libraries
|
||||
Name: mesa
|
||||
Version: 9.1.1
|
||||
Release: 1%{?dist}
|
||||
Version: 9.2
|
||||
Release: 0.1.%{gitdate}%{?dist}
|
||||
License: MIT
|
||||
Group: System Environment/Libraries
|
||||
URL: http://www.mesa3d.org
|
||||
|
||||
#Source0: http://www.mesa3d.org/beta/MesaLib-%{version}%{?snapshot}.tar.bz2
|
||||
Source0: ftp://ftp.freedesktop.org/pub/%{name}/%{version}/MesaLib-%{version}.tar.bz2
|
||||
#Source0: %{name}-%{gitdate}.tar.xz
|
||||
#Source0: ftp://ftp.freedesktop.org/pub/%{name}/%{version}/MesaLib-%{version}.tar.bz2
|
||||
# Source0: MesaLib-%{version}.tar.xz
|
||||
Source0: %{name}-%{gitdate}.tar.xz
|
||||
Source1: sanitize-tarball.sh
|
||||
Source2: make-release-tarball.sh
|
||||
Source3: make-git-snapshot.sh
|
||||
|
||||
# src/gallium/auxiliary/postprocess/pp_mlaa* have an ... interestingly worded license.
|
||||
|
@ -67,13 +61,15 @@ Source4: Mesa-MLAA-License-Clarification-Email.txt
|
|||
Patch0: mesa-9.1.1-53-g3cff41c.patch
|
||||
|
||||
Patch1: nv50-fix-build.patch
|
||||
Patch2: intel-revert-gl3.patch
|
||||
#Patch7: mesa-7.1-link-shared.patch
|
||||
Patch9: mesa-8.0-llvmpipe-shmget.patch
|
||||
#Patch11: mesa-8.0-nouveau-tfp-blacklist.patch
|
||||
Patch12: mesa-8.0.1-fix-16bpp.patch
|
||||
Patch14: i965-hack-hiz-snb-fix.patch
|
||||
Patch15: 0001-llvmpipe-Work-without-sse2-if-llvm-is-new-enough.patch
|
||||
Patch15: mesa-9.2-hardware-float.patch
|
||||
Patch16: mesa-9.2-no-useless-vdpau.patch
|
||||
# this is suboptimal, or so dave says:
|
||||
# http://lists.freedesktop.org/archives/mesa-dev/2013-May/039169.html
|
||||
Patch17: 0001-mesa-Be-less-casual-about-texture-formats-in-st_fina.patch
|
||||
Patch18: mesa-9.2-llvmpipe-on-big-endian.patch
|
||||
|
||||
BuildRequires: pkgconfig autoconf automake libtool
|
||||
%if %{with_hardware}
|
||||
|
@ -94,15 +90,12 @@ BuildRequires: libXmu-devel
|
|||
BuildRequires: elfutils
|
||||
BuildRequires: python
|
||||
BuildRequires: gettext
|
||||
%if %{with_hardware}
|
||||
%if 0%{?with_llvm}
|
||||
%if 0%{?with_private_llvm}
|
||||
BuildRequires: mesa-private-llvm-devel
|
||||
%else
|
||||
BuildRequires: llvm-devel >= 3.0
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
BuildRequires: elfutils-libelf-devel
|
||||
BuildRequires: libxml2-python
|
||||
BuildRequires: libudev-devel
|
||||
BuildRequires: bison flex
|
||||
|
@ -111,6 +104,7 @@ BuildRequires: pkgconfig(wayland-client) >= %{min_wayland_version}
|
|||
BuildRequires: pkgconfig(wayland-server) >= %{min_wayland_version}
|
||||
%endif
|
||||
BuildRequires: mesa-libGL-devel
|
||||
BuildRequires: libvdpau-devel
|
||||
|
||||
%description
|
||||
Mesa
|
||||
|
@ -119,11 +113,6 @@ Mesa
|
|||
Summary: Mesa libGL runtime libraries and DRI drivers
|
||||
Group: System Environment/Libraries
|
||||
Provides: libGL
|
||||
# F17+'s libX11 changes extension libs to use _XGetRequest(), so if we built
|
||||
# against that, require it too
|
||||
%if 0%{?fedora} > 16
|
||||
Requires: libX11 >= 1.4.99.1
|
||||
%endif
|
||||
|
||||
%description libGL
|
||||
Mesa libGL runtime library.
|
||||
|
@ -158,6 +147,13 @@ Obsoletes: mesa-dri-llvmcore <= 7.12
|
|||
%description dri-drivers
|
||||
Mesa-based DRI drivers.
|
||||
|
||||
%package vdpau-drivers
|
||||
Summary: Mesa-based DRI drivers
|
||||
Group: User Interface/X Hardware Support
|
||||
Requires: mesa-dri-filesystem%{?_isa}
|
||||
%description vdpau-drivers
|
||||
Mesa-based VDPAU drivers.
|
||||
|
||||
%package -n khrplatform-devel
|
||||
Summary: Khronos platform development package
|
||||
Group: Development/Libraries
|
||||
|
@ -280,12 +276,11 @@ Group: System Environment/Libraries
|
|||
Mesa shared glapi
|
||||
|
||||
%prep
|
||||
%setup -q -n Mesa-%{version}%{?snapshot}
|
||||
#setup -q -n mesa-%{gitdate}
|
||||
%patch0 -p1 -b .git
|
||||
#setup -q -n Mesa-%{version}%{?snapshot}
|
||||
%setup -q -n mesa-%{gitdate}
|
||||
grep -q ^/ src/gallium/auxiliary/vl/vl_decoder.c && exit 1
|
||||
#patch0 -p1 -b .git
|
||||
%patch1 -p1 -b .nv50rtti
|
||||
%patch2 -p1 -b .nogl3
|
||||
#%patch11 -p1 -b .nouveau
|
||||
|
||||
# this fastpath is:
|
||||
# - broken with swrast classic
|
||||
|
@ -300,10 +295,11 @@ Mesa shared glapi
|
|||
|
||||
# hack from chromium - awaiting real upstream fix
|
||||
%patch14 -p1 -b .snbfix
|
||||
%patch15 -p1 -b .sse2
|
||||
# default to dri (not xlib) for libGL on all arches
|
||||
# XXX please fix upstream
|
||||
sed -i 's/^default_driver.*$/default_driver="dri"/' configure.ac
|
||||
|
||||
%patch15 -p1 -b .hwfloat
|
||||
%patch16 -p1 -b .vdpau
|
||||
%patch17 -p1 -b .tfp
|
||||
%patch18 -p1 -b .be
|
||||
|
||||
%if 0%{with_private_llvm}
|
||||
sed -i 's/llvm-config/mesa-private-llvm-config-%{__isa_bits}/g' configure.ac
|
||||
|
@ -339,30 +335,27 @@ export CXXFLAGS="$RPM_OPT_FLAGS -fno-rtti -fno-exceptions"
|
|||
|
||||
%configure %{common_flags} \
|
||||
--enable-osmesa \
|
||||
--enable-xcb \
|
||||
--with-dri-driverdir=%{_libdir}/dri \
|
||||
--enable-egl \
|
||||
--enable-gles1 \
|
||||
--disable-gles1 \
|
||||
--enable-gles2 \
|
||||
--disable-gallium-egl \
|
||||
--disable-xvmc \
|
||||
--enable-vdpau \
|
||||
--with-egl-platforms=x11,drm%{?with_wayland:,wayland} \
|
||||
--enable-shared-glapi \
|
||||
--enable-gbm \
|
||||
--disable-opencl \
|
||||
--enable-glx-tls \
|
||||
%if %{with_hardware}
|
||||
%{?with_vmware:--enable-xa} \
|
||||
%if 0%{?with_llvm}
|
||||
--with-gallium-drivers=%{?with_vmware:svga,}r300,r600,%{?with_radeonsi:radeonsi,}nouveau,swrast \
|
||||
--enable-texture-float=hardware \
|
||||
--enable-gallium-llvm \
|
||||
--with-llvm-shared-libs \
|
||||
%else
|
||||
--with-gallium-drivers=%{?with_vmware:svga,}r300,r600,nouveau \
|
||||
%endif
|
||||
%else
|
||||
--disable-gallium-llvm \
|
||||
--with-gallium-drivers= \
|
||||
--enable-dri \
|
||||
%if %{with_hardware}
|
||||
%{?with_vmware:--enable-xa} \
|
||||
--with-gallium-drivers=%{?with_vmware:svga,}r300,r600,%{?with_radeonsi:radeonsi,}nouveau,swrast \
|
||||
%else
|
||||
--with-gallium-drivers=swrast \
|
||||
%endif
|
||||
%{?dri_drivers}
|
||||
|
||||
|
@ -371,22 +364,15 @@ make %{?_smp_mflags} MKDEP=/bin/true
|
|||
%install
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
# core libs and headers, but not drivers.
|
||||
make install DESTDIR=$RPM_BUILD_ROOT DRI_DIRS=
|
||||
|
||||
# not installed by make install, grr
|
||||
mkdir -p $RPM_BUILD_ROOT%{_includedir}/KHR
|
||||
install -m 0644 include/KHR/*.h $RPM_BUILD_ROOT%{_includedir}/KHR
|
||||
make install DESTDIR=$RPM_BUILD_ROOT
|
||||
|
||||
%if 0%{?rhel}
|
||||
# remove pre-DX9 drivers
|
||||
rm -f $RPM_BUILD_ROOT%{_libdir}/dri/{radeon,r200,nouveau_vieux}_dri.*
|
||||
%endif
|
||||
|
||||
# strip out undesirable headers
|
||||
pushd $RPM_BUILD_ROOT%{_includedir}/GL
|
||||
rm -f [vw]*.h
|
||||
popd
|
||||
# strip out useless headers
|
||||
rm -f $RPM_BUILD_ROOT%{_includedir}/GL/w*.h
|
||||
|
||||
# remove .la files
|
||||
find $RPM_BUILD_ROOT -name \*.la | xargs rm -f
|
||||
|
@ -439,8 +425,6 @@ rm -rf $RPM_BUILD_ROOT
|
|||
%files libGLES
|
||||
%defattr(-,root,root,-)
|
||||
%doc docs/COPYING
|
||||
%{_libdir}/libGLESv1_CM.so.1
|
||||
%{_libdir}/libGLESv1_CM.so.1.*
|
||||
%{_libdir}/libGLESv2.so.2
|
||||
%{_libdir}/libGLESv2.so.2.*
|
||||
|
||||
|
@ -448,6 +432,7 @@ rm -rf $RPM_BUILD_ROOT
|
|||
%defattr(-,root,root,-)
|
||||
%doc docs/COPYING docs/Mesa-MLAA-License-Clarification-Email.txt
|
||||
%dir %{_libdir}/dri
|
||||
%dir %{_libdir}/vdpau
|
||||
|
||||
%files libglapi
|
||||
%{_libdir}/libglapi.so.0
|
||||
|
@ -464,16 +449,13 @@ rm -rf $RPM_BUILD_ROOT
|
|||
%endif
|
||||
%{_libdir}/dri/r300_dri.so
|
||||
%{_libdir}/dri/r600_dri.so
|
||||
%if 0%{?with_llvm} && 0%{?with_radeonsi}
|
||||
%if 0%{?with_radeonsi}
|
||||
%{_libdir}/dri/radeonsi_dri.so
|
||||
%{_libdir}/libllvmradeon9.1.1.so
|
||||
%endif
|
||||
%ifarch %{ix86} x86_64 ia64
|
||||
%ifarch %{ix86} x86_64
|
||||
%{_libdir}/dri/i915_dri.so
|
||||
%ifnarch ia64
|
||||
%{_libdir}/dri/i965_dri.so
|
||||
%endif
|
||||
%endif
|
||||
%{_libdir}/dri/nouveau_dri.so
|
||||
%if 0%{?with_vmware}
|
||||
%{_libdir}/dri/vmwgfx_dri.so
|
||||
|
@ -484,6 +466,13 @@ rm -rf $RPM_BUILD_ROOT
|
|||
%{_libdir}/libdricore*.so*
|
||||
%{_libdir}/dri/swrast_dri.so
|
||||
|
||||
%if %{with_hardware}
|
||||
# should be explicit here but meh
|
||||
%files vdpau-drivers
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/vdpau/*.so*
|
||||
%endif
|
||||
|
||||
%files -n khrplatform-devel
|
||||
%defattr(-,root,root,-)
|
||||
%{_includedir}/KHR
|
||||
|
@ -517,11 +506,6 @@ rm -rf $RPM_BUILD_ROOT
|
|||
|
||||
%files libGLES-devel
|
||||
%defattr(-,root,root,-)
|
||||
%dir %{_includedir}/GLES
|
||||
%{_includedir}/GLES/egl.h
|
||||
%{_includedir}/GLES/gl.h
|
||||
%{_includedir}/GLES/glext.h
|
||||
%{_includedir}/GLES/glplatform.h
|
||||
%dir %{_includedir}/GLES2
|
||||
%{_includedir}/GLES2/gl2platform.h
|
||||
%{_includedir}/GLES2/gl2.h
|
||||
|
@ -529,9 +513,7 @@ rm -rf $RPM_BUILD_ROOT
|
|||
%{_includedir}/GLES3/gl3platform.h
|
||||
%{_includedir}/GLES3/gl3.h
|
||||
%{_includedir}/GLES3/gl3ext.h
|
||||
%{_libdir}/pkgconfig/glesv1_cm.pc
|
||||
%{_libdir}/pkgconfig/glesv2.pc
|
||||
%{_libdir}/libGLESv1_CM.so
|
||||
%{_libdir}/libGLESv2.so
|
||||
|
||||
%files libOSMesa
|
||||
|
@ -592,6 +574,13 @@ rm -rf $RPM_BUILD_ROOT
|
|||
%endif
|
||||
|
||||
%changelog
|
||||
* Wed May 08 2013 Adam Jackson <ajax@redhat.com> 9.2-0.1.20130508
|
||||
- Switch to Mesa master (pre 9.2)
|
||||
- Fix llvmpipe on big-endian and enable llvmpipe everywhere
|
||||
- Build vdpau drivers for r600/radeonsi/nouveau
|
||||
- Enable hardware floating-point texture support
|
||||
- Drop GLESv1, nothing's using it, let's not start
|
||||
|
||||
* Sat Apr 27 2013 Dave Airlie <airlied@redhat.com> 9.1.1-1
|
||||
- rebase to Mesa 9.1.1 + fixes from git
|
||||
|
||||
|
|
45
sanitize-tarball.sh
Executable file
45
sanitize-tarball.sh
Executable file
|
@ -0,0 +1,45 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# usage: sanitize-tarball.sh [tarball]
|
||||
|
||||
dirname=$(basename $(basename "$1" .tar.bz2) .tar.xz)
|
||||
|
||||
tar xf "$1"
|
||||
pushd $dirname
|
||||
|
||||
cat > src/gallium/auxiliary/vl/vl_mpeg12_decoder.c << EOF
|
||||
#include "vl_mpeg12_decoder.h"
|
||||
struct pipe_video_decoder *
|
||||
vl_create_mpeg12_decoder(struct pipe_context *context,
|
||||
enum pipe_video_profile profile,
|
||||
enum pipe_video_entrypoint entrypoint,
|
||||
enum pipe_video_chroma_format chroma_format,
|
||||
unsigned width, unsigned height,
|
||||
unsigned max_references,
|
||||
bool expect_chunked_decode)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
EOF
|
||||
|
||||
cat > src/gallium/auxiliary/vl/vl_decoder.c << EOF
|
||||
#include "vl_decoder.h"
|
||||
bool vl_profile_supported(struct pipe_screen *screen,
|
||||
enum pipe_video_profile profile)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
struct pipe_video_decoder *
|
||||
vl_create_decoder(struct pipe_context *pipe,
|
||||
enum pipe_video_profile profile,
|
||||
enum pipe_video_entrypoint entrypoint,
|
||||
enum pipe_video_chroma_format chroma_format,
|
||||
unsigned width, unsigned height, unsigned max_references,
|
||||
bool expect_chunked_decode)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
EOF
|
||||
|
||||
popd
|
||||
tar Jcf $dirname.tar.xz $dirname
|
2
sources
2
sources
|
@ -1 +1 @@
|
|||
6ea2bdc3b7ecfb4257b39814b4182580 MesaLib-9.1.1.tar.bz2
|
||||
50ffa2d23bc11686e29e836013ef917f mesa-20130508.tar.xz
|
||||
|
|
Loading…
Reference in a new issue