1 |
commit: da62dddffaf75acc98750d210ade5b24b8817be2 |
2 |
Author: Alexey Shvetsov <alexxy <AT> gentoo <DOT> org> |
3 |
AuthorDate: Fri Jun 1 18:58:28 2012 +0000 |
4 |
Commit: Alexey Shvetsov <alexxy <AT> gentoo <DOT> org> |
5 |
CommitDate: Fri Jun 1 18:58:28 2012 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=dev/alexxy.git;a=commit;h=da62dddf |
7 |
|
8 |
update opencl enabled mesa |
9 |
|
10 |
Signed-off-by: Alexey Shvetsov <alexxy <AT> gentoo.org> |
11 |
|
12 |
--- |
13 |
.../mesa-9999-dont-require-llvm-for-r300.patch | 25 ++++++++++++++ |
14 |
media-libs/mesa/mesa-9999.ebuild | 34 +++++++++++--------- |
15 |
media-libs/mesa/metadata.xml | 3 +- |
16 |
3 files changed, 45 insertions(+), 17 deletions(-) |
17 |
|
18 |
diff --git a/media-libs/mesa/files/mesa-9999-dont-require-llvm-for-r300.patch b/media-libs/mesa/files/mesa-9999-dont-require-llvm-for-r300.patch |
19 |
new file mode 100644 |
20 |
index 0000000..9fe7e32 |
21 |
--- /dev/null |
22 |
+++ b/media-libs/mesa/files/mesa-9999-dont-require-llvm-for-r300.patch |
23 |
@@ -0,0 +1,25 @@ |
24 |
+--- a/configure.ac 2012-05-12 11:50:09.786970584 +0200 |
25 |
++++ b/configure.ac 2012-05-12 12:00:00.770582272 +0200 |
26 |
+@@ -1922,14 +1922,6 @@ |
27 |
+ fi |
28 |
+ } |
29 |
+ |
30 |
+-gallium_require_llvm() { |
31 |
+- if test "x$MESA_LLVM" = x0; then |
32 |
+- case "$host_cpu" in |
33 |
+- i*86|x86_64) AC_MSG_ERROR([LLVM is required to build $1 on x86 and x86_64]);; |
34 |
+- esac |
35 |
+- fi |
36 |
+-} |
37 |
+- |
38 |
+ gallium_require_drm_loader() { |
39 |
+ if test "x$enable_gallium_loader" = xyes; then |
40 |
+ PKG_CHECK_MODULES([LIBUDEV], [libudev], [], |
41 |
+@@ -1962,7 +1954,6 @@ |
42 |
+ ;; |
43 |
+ xr300) |
44 |
+ PKG_CHECK_MODULES([RADEON], [libdrm_radeon >= $LIBDRM_RADEON_REQUIRED]) |
45 |
+- gallium_require_llvm "Gallium R300" |
46 |
+ GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r300" |
47 |
+ gallium_check_st "radeon/drm" "dri-r300" "xorg-r300" "" "xvmc-r300" "vdpau-r300" "va-r300" |
48 |
+ ;; |
49 |
|
50 |
diff --git a/media-libs/mesa/mesa-9999.ebuild b/media-libs/mesa/mesa-9999.ebuild |
51 |
index 680c37b..7e39bae 100644 |
52 |
--- a/media-libs/mesa/mesa-9999.ebuild |
53 |
+++ b/media-libs/mesa/mesa-9999.ebuild |
54 |
@@ -1,11 +1,9 @@ |
55 |
-# Copyright 1999-2010 Gentoo Foundation |
56 |
+# Copyright 1999-2012 Gentoo Foundation |
57 |
# Distributed under the terms of the GNU General Public License v2 |
58 |
# $Header: $ |
59 |
|
60 |
EAPI=4 |
61 |
|
62 |
-use opencl && EGIT_BRANCH="gallium-compute" |
63 |
- |
64 |
EGIT_REPO_URI="git://anongit.freedesktop.org/mesa/mesa" |
65 |
|
66 |
if [[ ${PV} = 9999* ]]; then |
67 |
@@ -50,18 +48,19 @@ done |
68 |
|
69 |
IUSE="${IUSE_VIDEO_CARDS} |
70 |
bindist +classic d3d debug +egl g3dvl +gallium gbm gles1 gles2 +llvm +nptl |
71 |
- opencl openvg osmesa pax_kernel pic selinux +shared-glapi vdpau wayland xvmc xa |
72 |
- xorg kernel_FreeBSD" |
73 |
+ opencl openvg osmesa pax_kernel pic r600-llvm-compiler selinux +shared-glapi |
74 |
+ vdpau wayland xvmc xa xorg kernel_FreeBSD" |
75 |
|
76 |
REQUIRED_USE=" |
77 |
d3d? ( gallium ) |
78 |
g3dvl? ( gallium ) |
79 |
llvm? ( gallium ) |
80 |
openvg? ( egl gallium ) |
81 |
- opencl? ( gallium ) |
82 |
+ opencl? ( gallium r600-llvm-compiler ) |
83 |
gbm? ( shared-glapi ) |
84 |
g3dvl? ( || ( vdpau xvmc ) ) |
85 |
vdpau? ( g3dvl ) |
86 |
+ r600-llvm-compiler? ( gallium llvm || ( video_cards_r600 video_cards_radeon ) ) |
87 |
xa? ( gallium ) |
88 |
xorg? ( gallium ) |
89 |
xvmc? ( g3dvl ) |
90 |
@@ -74,7 +73,7 @@ REQUIRED_USE=" |
91 |
video_cards_r200? ( classic ) |
92 |
video_cards_r300? ( gallium ) |
93 |
video_cards_r600? ( gallium ) |
94 |
- video_cards_radeonsi? ( gallium llvm xorg ) |
95 |
+ video_cards_radeonsi? ( gallium llvm ) |
96 |
video_cards_vmware? ( gallium ) |
97 |
" |
98 |
|
99 |
@@ -89,13 +88,12 @@ EXTERNAL_DEPEND=" |
100 |
# keep blocks in rdepend for binpkg |
101 |
# gtest file collision bug #411825 |
102 |
RDEPEND="${EXTERNAL_DEPEND} |
103 |
- !dev-cpp/gtest |
104 |
+ dev-util/indent |
105 |
!<x11-base/xorg-server-1.7 |
106 |
!<=x11-proto/xf86driproto-2.0.3 |
107 |
classic? ( app-admin/eselect-mesa ) |
108 |
gallium? ( app-admin/eselect-mesa ) |
109 |
>=app-admin/eselect-opengl-1.2.2 |
110 |
- app-admin/eselect-opencl |
111 |
dev-libs/expat |
112 |
gbm? ( sys-fs/udev ) |
113 |
>=x11-libs/libX11-1.3.99.901 |
114 |
@@ -104,6 +102,7 @@ RDEPEND="${EXTERNAL_DEPEND} |
115 |
x11-libs/libXxf86vm |
116 |
>=x11-libs/libxcb-1.8 |
117 |
d3d? ( app-emulation/wine ) |
118 |
+ opencl? ( app-admin/eselect-opencl ) |
119 |
vdpau? ( >=x11-libs/libvdpau-0.4.1 ) |
120 |
wayland? ( dev-libs/wayland ) |
121 |
xorg? ( |
122 |
@@ -128,12 +127,13 @@ done |
123 |
DEPEND="${RDEPEND} |
124 |
llvm? ( |
125 |
>=sys-devel/llvm-2.9 |
126 |
+ r600-llvm-compiler? ( >=sys-devel/llvm-3.1 ) |
127 |
video_cards_radeonsi? ( >=sys-devel/llvm-3.1 ) |
128 |
) |
129 |
- opencl? ( |
130 |
- >=sys-devel/clang-3.0 |
131 |
+ opencl? ( |
132 |
+ >=sys-devel/clang-3.1 |
133 |
>=sys-devel/gcc-4.6 |
134 |
- ) |
135 |
+ ) |
136 |
=dev-lang/python-2* |
137 |
dev-libs/libxml2[python] |
138 |
dev-util/pkgconfig |
139 |
@@ -173,6 +173,9 @@ src_prepare() { |
140 |
epatch |
141 |
fi |
142 |
|
143 |
+ # relax the requirement that r300 must have llvm, bug 380303 |
144 |
+ epatch "${FILESDIR}"/${P}-dont-require-llvm-for-r300.patch |
145 |
+ |
146 |
# fix for hardened pax_kernel, bug 240956 |
147 |
[[ ${PV} != 9999* ]] && epatch "${FILESDIR}"/glx_ro_text_segm.patch |
148 |
|
149 |
@@ -229,6 +232,7 @@ src_configure() { |
150 |
$(use_enable g3dvl gallium-g3dvl) |
151 |
$(use_enable llvm gallium-llvm) |
152 |
$(use_enable openvg) |
153 |
+ $(use_enable r600-llvm-compiler) |
154 |
$(use_enable vdpau) |
155 |
$(use_enable xvmc) |
156 |
" |
157 |
@@ -247,6 +251,7 @@ src_configure() { |
158 |
! use video_cards_r600; then |
159 |
gallium_enable video_cards_radeon r300 r600 |
160 |
fi |
161 |
+ # opencl stuff |
162 |
if use opencl; then |
163 |
myconf+=" |
164 |
$(use_enable opencl) |
165 |
@@ -352,13 +357,12 @@ src_install() { |
166 |
popd |
167 |
eend $? |
168 |
fi |
169 |
- |
170 |
if use opencl; then |
171 |
ebegin "Moving Gallium/Clover OpenCL implentation for dynamic switching" |
172 |
if [ -f "${ED}/usr/$(get_libdir)/libOpenCL.so" ]; then |
173 |
- mv -f "${ED}"/usr/$(get_libdir)/libOpenCL.so* "${ED}"/usr/$(get_libdir)/OpenCL/vendors/mesa |
174 |
+ mv -f "${ED}"/usr/$(get_libdir)/libOpenCL.so* \ |
175 |
+ "${ED}"/usr/$(get_libdir)/OpenCL/vendors/mesa |
176 |
fi |
177 |
- eend $? |
178 |
fi |
179 |
} |
180 |
|
181 |
|
182 |
diff --git a/media-libs/mesa/metadata.xml b/media-libs/mesa/metadata.xml |
183 |
index 8f5aac2..a918a88 100644 |
184 |
--- a/media-libs/mesa/metadata.xml |
185 |
+++ b/media-libs/mesa/metadata.xml |
186 |
@@ -12,12 +12,11 @@ |
187 |
<flag name='gles1'>Enable GLESv1 support.</flag> |
188 |
<flag name='gles2'>Enable GLESv2 support.</flag> |
189 |
<flag name='llvm'>Enable LLVM backend for Gallium3D.</flag> |
190 |
- <flag name='opencl'>Enable OpenCL</flag> |
191 |
<flag name='openvg'>Enable the OpenVG 2D acceleration API for Gallium3D.</flag> |
192 |
<flag name='osmesa'>Enable the Off-screen Rendering Mesa API</flag> |
193 |
<flag name='pax_kernel'>Enable if the user plans to run the package under a pax enabled hardened kernel</flag> |
194 |
+ <flag name='r600-llvm-compiler'>Enable r600 shader compiler LLVM backend.</flag> |
195 |
<flag name='pic'>disable optimized assembly code that is not PIC friendly</flag> |
196 |
- <flag name='shared-dricore'>Enable sharing of common code for classic DRI drivers.</flag> |
197 |
<flag name='shared-glapi'>Enable sharing of common code for the OpenGL API.</flag> |
198 |
<flag name='vdpau'>Enable the VDPAU acceleration interface for the Gallium3D Video Layer.</flag> |
199 |
<flag name='wayland'>Enable support for dev-libs/wayland</flag> |