enable OpenCL, r600-llvm
Enable OpenCL (RHBZ #887628) Enable r600 llvm compiler (RHBZ #1055098) Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
This commit is contained in:
parent
b6c637d800
commit
6aae606725
1
.gitignore
vendored
1
.gitignore
vendored
@ -62,3 +62,4 @@ mesa-20100720.tar.bz2
|
|||||||
/mesa-20131206.tar.xz
|
/mesa-20131206.tar.xz
|
||||||
/mesa-20131220.tar.xz
|
/mesa-20131220.tar.xz
|
||||||
/mesa-20140110.tar.xz
|
/mesa-20140110.tar.xz
|
||||||
|
/mesa-20140118.tar.xz
|
||||||
|
71
0001-opencl-use-versioned-.so-in-mesa.icd.patch
Normal file
71
0001-opencl-use-versioned-.so-in-mesa.icd.patch
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
From 348caa4b9ab2b00871c8ea73aaf59311f9a853e8 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Igor Gnatenko <i.gnatenko.brain@gmail.com>
|
||||||
|
Date: Sun, 12 Jan 2014 02:09:16 +0400
|
||||||
|
Subject: [PATCH] opencl: use versioned .so in mesa.icd
|
||||||
|
|
||||||
|
We must have versioned library in mesa.icd, because ICD loader would
|
||||||
|
fail if the mesa-devel package wasn't installed.
|
||||||
|
|
||||||
|
Reported-by: Fabian Deutsch <fabian.deutsch@gmx.de>
|
||||||
|
Reference: https://bugs.freedesktop.org/show_bug.cgi?id=73512
|
||||||
|
Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
|
||||||
|
---
|
||||||
|
configure.ac | 3 +++
|
||||||
|
src/gallium/targets/opencl/Makefile.am | 2 +-
|
||||||
|
src/gallium/targets/opencl/mesa.icd | 1 -
|
||||||
|
src/gallium/targets/opencl/mesa.icd.in | 1 +
|
||||||
|
4 files changed, 5 insertions(+), 2 deletions(-)
|
||||||
|
delete mode 100644 src/gallium/targets/opencl/mesa.icd
|
||||||
|
create mode 100644 src/gallium/targets/opencl/mesa.icd.in
|
||||||
|
|
||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index 4da6c51..c195b1b 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -25,6 +25,8 @@ m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
|
||||||
|
dnl Set internal versions
|
||||||
|
OSMESA_VERSION=8
|
||||||
|
AC_SUBST([OSMESA_VERSION])
|
||||||
|
+OPENCL_VERSION=1
|
||||||
|
+AC_SUBST([OPENCL_VERSION])
|
||||||
|
|
||||||
|
dnl Versions for external dependencies
|
||||||
|
LIBDRM_REQUIRED=2.4.24
|
||||||
|
@@ -2023,6 +2025,7 @@ AC_CONFIG_FILES([Makefile
|
||||||
|
src/gallium/targets/egl-static/Makefile
|
||||||
|
src/gallium/targets/gbm/Makefile
|
||||||
|
src/gallium/targets/opencl/Makefile
|
||||||
|
+ src/gallium/targets/opencl/mesa.icd
|
||||||
|
src/gallium/targets/osmesa/Makefile
|
||||||
|
src/gallium/targets/osmesa/osmesa.pc
|
||||||
|
src/gallium/targets/pipe-loader/Makefile
|
||||||
|
diff --git a/src/gallium/targets/opencl/Makefile.am b/src/gallium/targets/opencl/Makefile.am
|
||||||
|
index 653302c..3b257ca 100644
|
||||||
|
--- a/src/gallium/targets/opencl/Makefile.am
|
||||||
|
+++ b/src/gallium/targets/opencl/Makefile.am
|
||||||
|
@@ -4,7 +4,7 @@ lib_LTLIBRARIES = lib@OPENCL_LIBNAME@.la
|
||||||
|
|
||||||
|
lib@OPENCL_LIBNAME@_la_LDFLAGS = \
|
||||||
|
$(LLVM_LDFLAGS) \
|
||||||
|
- -version-number 1:0
|
||||||
|
+ -version-number @OPENCL_VERSION@:0
|
||||||
|
|
||||||
|
lib@OPENCL_LIBNAME@_la_LIBADD = \
|
||||||
|
$(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader.la \
|
||||||
|
diff --git a/src/gallium/targets/opencl/mesa.icd b/src/gallium/targets/opencl/mesa.icd
|
||||||
|
deleted file mode 100644
|
||||||
|
index 6a6a870..0000000
|
||||||
|
--- a/src/gallium/targets/opencl/mesa.icd
|
||||||
|
+++ /dev/null
|
||||||
|
@@ -1 +0,0 @@
|
||||||
|
-libMesaOpenCL.so
|
||||||
|
diff --git a/src/gallium/targets/opencl/mesa.icd.in b/src/gallium/targets/opencl/mesa.icd.in
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..1b77b4e
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/src/gallium/targets/opencl/mesa.icd.in
|
||||||
|
@@ -0,0 +1 @@
|
||||||
|
+lib@OPENCL_LIBNAME@.so.@OPENCL_VERSION@
|
||||||
|
--
|
||||||
|
1.8.4.2
|
||||||
|
|
60
mesa.spec
60
mesa.spec
@ -39,6 +39,7 @@
|
|||||||
%ifarch %{ix86} x86_64
|
%ifarch %{ix86} x86_64
|
||||||
%define platform_drivers ,i915,i965
|
%define platform_drivers ,i915,i965
|
||||||
%define with_vmware 1
|
%define with_vmware 1
|
||||||
|
%define with_opencl 1
|
||||||
%endif
|
%endif
|
||||||
%ifarch ppc
|
%ifarch ppc
|
||||||
%define platform_drivers ,swrast
|
%define platform_drivers ,swrast
|
||||||
@ -49,13 +50,13 @@
|
|||||||
|
|
||||||
%define _default_patch_fuzz 2
|
%define _default_patch_fuzz 2
|
||||||
|
|
||||||
%define gitdate 20140110
|
%define gitdate 20140118
|
||||||
#% define snapshot
|
#% define snapshot
|
||||||
|
|
||||||
Summary: Mesa graphics libraries
|
Summary: Mesa graphics libraries
|
||||||
Name: mesa
|
Name: mesa
|
||||||
Version: 10.0.2
|
Version: 10.0.2
|
||||||
Release: 2.%{gitdate}%{?dist}
|
Release: 3.%{gitdate}%{?dist}
|
||||||
License: MIT
|
License: MIT
|
||||||
Group: System Environment/Libraries
|
Group: System Environment/Libraries
|
||||||
URL: http://www.mesa3d.org
|
URL: http://www.mesa3d.org
|
||||||
@ -80,6 +81,9 @@ Patch20: mesa-9.2-evergreen-big-endian.patch
|
|||||||
# backport from upstream to allow cogl use copy_sub_buffer
|
# backport from upstream to allow cogl use copy_sub_buffer
|
||||||
Patch30: 0001-swrast-gallium-classic-add-MESA_copy_sub_buffer-supp.patch
|
Patch30: 0001-swrast-gallium-classic-add-MESA_copy_sub_buffer-supp.patch
|
||||||
|
|
||||||
|
# https://bugs.freedesktop.org/show_bug.cgi?id=73512
|
||||||
|
Patch99: 0001-opencl-use-versioned-.so-in-mesa.icd.patch
|
||||||
|
|
||||||
BuildRequires: pkgconfig autoconf automake libtool
|
BuildRequires: pkgconfig autoconf automake libtool
|
||||||
%if %{with_hardware}
|
%if %{with_hardware}
|
||||||
BuildRequires: kernel-headers
|
BuildRequires: kernel-headers
|
||||||
@ -104,6 +108,9 @@ BuildRequires: gettext
|
|||||||
BuildRequires: mesa-private-llvm-devel
|
BuildRequires: mesa-private-llvm-devel
|
||||||
%else
|
%else
|
||||||
BuildRequires: llvm-devel >= 3.0
|
BuildRequires: llvm-devel >= 3.0
|
||||||
|
%if 0%{?with_opencl}
|
||||||
|
BuildRequires: clang-devel >= 3.0
|
||||||
|
%endif
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
BuildRequires: elfutils-libelf-devel
|
BuildRequires: elfutils-libelf-devel
|
||||||
@ -119,6 +126,9 @@ BuildRequires: mesa-libGL-devel
|
|||||||
BuildRequires: libvdpau-devel
|
BuildRequires: libvdpau-devel
|
||||||
%endif
|
%endif
|
||||||
BuildRequires: zlib-devel
|
BuildRequires: zlib-devel
|
||||||
|
%if 0%{?with_opencl}
|
||||||
|
BuildRequires: libclc-devel llvm-static opencl-filesystem
|
||||||
|
%endif
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Mesa
|
Mesa
|
||||||
@ -284,6 +294,25 @@ Group: System Environment/Libraries
|
|||||||
%description libglapi
|
%description libglapi
|
||||||
Mesa shared glapi
|
Mesa shared glapi
|
||||||
|
|
||||||
|
|
||||||
|
%if 0%{?with_opencl}
|
||||||
|
%package libOpenCL
|
||||||
|
Summary: Mesa OpenCL runtime library
|
||||||
|
Requires: ocl-icd
|
||||||
|
Requires: libclc
|
||||||
|
Requires: mesa-libgbm = %{version}-%{release}
|
||||||
|
|
||||||
|
%description libOpenCL
|
||||||
|
Mesa OpenCL runtime library.
|
||||||
|
|
||||||
|
%package libOpenCL-devel
|
||||||
|
Summary: Mesa OpenCL development package
|
||||||
|
Requires: mesa-libOpenCL%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
|
%description libOpenCL-devel
|
||||||
|
Mesa OpenCL development package.
|
||||||
|
%endif
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
#setup -q -n Mesa-%{version}%{?snapshot}
|
#setup -q -n Mesa-%{version}%{?snapshot}
|
||||||
%setup -q -n mesa-%{gitdate}
|
%setup -q -n mesa-%{gitdate}
|
||||||
@ -306,6 +335,10 @@ grep -q ^/ src/gallium/auxiliary/vl/vl_decoder.c && exit 1
|
|||||||
|
|
||||||
%patch30 -p1 -b .copy_sub_buffer
|
%patch30 -p1 -b .copy_sub_buffer
|
||||||
|
|
||||||
|
%if 0%{with_opencl}
|
||||||
|
%patch99 -p1 -b .icd
|
||||||
|
%endif
|
||||||
|
|
||||||
%if 0%{with_private_llvm}
|
%if 0%{with_private_llvm}
|
||||||
sed -i 's/llvm-config/mesa-private-llvm-config-%{__isa_bits}/g' configure.ac
|
sed -i 's/llvm-config/mesa-private-llvm-config-%{__isa_bits}/g' configure.ac
|
||||||
sed -i 's/`$LLVM_CONFIG --version`/&-mesa/' configure.ac
|
sed -i 's/`$LLVM_CONFIG --version`/&-mesa/' configure.ac
|
||||||
@ -330,7 +363,7 @@ export CFLAGS="$RPM_OPT_FLAGS"
|
|||||||
#
|
#
|
||||||
# We do say 'catch' in the clover and d3d1x state trackers, but we're not
|
# We do say 'catch' in the clover and d3d1x state trackers, but we're not
|
||||||
# building those yet.
|
# building those yet.
|
||||||
export CXXFLAGS="$RPM_OPT_FLAGS -fno-rtti -fno-exceptions"
|
export CXXFLAGS="$RPM_OPT_FLAGS %{?with_opencl:-frtti -fexceptions} %{!?with_opencl:-fno-rtti -fno-exceptions}"
|
||||||
%ifarch %{ix86}
|
%ifarch %{ix86}
|
||||||
# i do not have words for how much the assembly dispatch code infuriates me
|
# i do not have words for how much the assembly dispatch code infuriates me
|
||||||
%define asm_flags --disable-asm
|
%define asm_flags --disable-asm
|
||||||
@ -350,7 +383,7 @@ export CXXFLAGS="$RPM_OPT_FLAGS -fno-rtti -fno-exceptions"
|
|||||||
--with-egl-platforms=x11,drm%{?with_wayland:,wayland} \
|
--with-egl-platforms=x11,drm%{?with_wayland:,wayland} \
|
||||||
--enable-shared-glapi \
|
--enable-shared-glapi \
|
||||||
--enable-gbm \
|
--enable-gbm \
|
||||||
--disable-opencl \
|
%{?with_opencl:--enable-opencl --enable-opencl-icd --with-clang-libdir=%{_prefix}/lib} %{!?with_opencl:--disable-opencl} \
|
||||||
--enable-glx-tls \
|
--enable-glx-tls \
|
||||||
--enable-texture-float=yes \
|
--enable-texture-float=yes \
|
||||||
%{?with_llvm:--enable-gallium-llvm} \
|
%{?with_llvm:--enable-gallium-llvm} \
|
||||||
@ -359,6 +392,7 @@ export CXXFLAGS="$RPM_OPT_FLAGS -fno-rtti -fno-exceptions"
|
|||||||
%if %{with_hardware}
|
%if %{with_hardware}
|
||||||
%{?with_vmware:--enable-xa} \
|
%{?with_vmware:--enable-xa} \
|
||||||
--with-gallium-drivers=%{?with_vmware:svga,}%{?with_radeonsi:radeonsi,}%{?with_llvm:swrast,r600,}%{?with_freedreno:freedreno,}r300,nouveau \
|
--with-gallium-drivers=%{?with_vmware:svga,}%{?with_radeonsi:radeonsi,}%{?with_llvm:swrast,r600,}%{?with_freedreno:freedreno,}r300,nouveau \
|
||||||
|
%{?with_llvm:--enable-r600-llvm-compiler} \
|
||||||
%else
|
%else
|
||||||
--with-gallium-drivers=%{?with_llvm:swrast} \
|
--with-gallium-drivers=%{?with_llvm:swrast} \
|
||||||
%endif
|
%endif
|
||||||
@ -424,6 +458,10 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%post libxatracker -p /sbin/ldconfig
|
%post libxatracker -p /sbin/ldconfig
|
||||||
%postun libxatracker -p /sbin/ldconfig
|
%postun libxatracker -p /sbin/ldconfig
|
||||||
%endif
|
%endif
|
||||||
|
%if 0%{?with_opencl}
|
||||||
|
%post libOpenCL -p /sbin/ldconfig
|
||||||
|
%postun libOpenCL -p /sbin/ldconfig
|
||||||
|
%endif
|
||||||
|
|
||||||
%files libGL
|
%files libGL
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
@ -596,7 +634,21 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%if 0%{?with_opencl}
|
||||||
|
%files libOpenCL
|
||||||
|
%{_libdir}/libMesaOpenCL.so.*
|
||||||
|
%{_libdir}/gallium-pipe/
|
||||||
|
%{_sysconfdir}/OpenCL/vendors/mesa.icd
|
||||||
|
|
||||||
|
%files libOpenCL-devel
|
||||||
|
%{_libdir}/libMesaOpenCL.so
|
||||||
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Sun Jan 19 2014 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 10.0.2-3.20140118
|
||||||
|
- Enable OpenCL (RHBZ #887628)
|
||||||
|
- Enable r600 llvm compiler (RHBZ #1055098)
|
||||||
|
|
||||||
* Tue Jan 14 2014 Dave Airlie <airlied@redhat.com> 10.0.2-2.20140110
|
* Tue Jan 14 2014 Dave Airlie <airlied@redhat.com> 10.0.2-2.20140110
|
||||||
- rebuild for llvm 3.4
|
- rebuild for llvm 3.4
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user