MesaLib: enable support for RadeonSI (HD7xxx) GPUs with LLVM-3.3 (patch from LFS).

This commit is contained in:
Juan RP 2013-06-21 11:44:36 +02:00
parent b01cbd3435
commit c837f6fcfc
3 changed files with 114 additions and 12 deletions

View File

@ -989,6 +989,7 @@ libiptcdata.so.0 libiptcdata-1.0.4_1
libutempter.so.0 libutempter-1.1.5_1 libutempter.so.0 libutempter-1.1.5_1
libxatracker.so.1 MesaLib-7.11_1 libxatracker.so.1 MesaLib-7.11_1
libdricore9.1.3.so.1 MesaLib-9.1.3_1 libdricore9.1.3.so.1 MesaLib-9.1.3_1
libllvmradeon9.1.3.so MesaLib-9.1.3_2
libtumbler-1.so.0 tumbler-4.9.2_1 libtumbler-1.so.0 tumbler-4.9.2_1
libwebrtc_audio_processing.so.0 webrtc-audio-processing-0.1_1 libwebrtc_audio_processing.so.0 webrtc-audio-processing-0.1_1
libcupsmime.so.1 libcups-1.5.3_1 libcupsmime.so.1 libcups-1.5.3_1

View File

@ -0,0 +1,100 @@
Submitted By: Armin K. <krejzi at email dot com>
Date: 2013-05-22
Initial Package Version: 9.1.3
Upstream Status: Fixed upstream
Origin: Upstream
Description: Fixes building with LLVM 3.3.
--- src/gallium/auxiliary/gallivm/lp_bld_debug.cpp 2013-02-16 02:32:00.000000000 +0100
+++ src/gallium/auxiliary/gallivm/lp_bld_debug.cpp 2013-05-15 12:53:51.605926357 +0200
@@ -55,6 +55,10 @@
#include <llvm/MC/MCRegisterInfo.h>
#endif /* HAVE_LLVM >= 0x0301 */
+#if HAVE_LLVM >= 0x0303
+#include <llvm/ADT/OwningPtr.h>
+#endif
+
#include "util/u_math.h"
#include "util/u_debug.h"
--- src/gallium/auxiliary/gallivm/lp_bld_misc.cpp 2013-02-26 21:00:02.000000000 +0100
+++ src/gallium/auxiliary/gallivm/lp_bld_misc.cpp 2013-05-15 12:53:51.605926357 +0200
@@ -60,6 +60,12 @@
#include <llvm/Target/TargetSelect.h>
#endif /* HAVE_LLVM < 0x0300 */
+#if HAVE_LLVM >= 0x0303
+#include <llvm/IR/IRBuilder.h>
+#include <llvm/IR/Module.h>
+#include <llvm/Support/CBindingWrapping.h>
+#endif
+
#include "pipe/p_config.h"
#include "util/u_debug.h"
#include "util/u_cpu_detect.h"
--- src/gallium/drivers/r600/llvm_wrapper.cpp 2013-03-05 23:54:28.000000000 +0100
+++ src/gallium/drivers/r600/llvm_wrapper.cpp 2013-05-15 12:53:51.605926357 +0200
@@ -1,8 +1,16 @@
#include <llvm/ADT/OwningPtr.h>
#include <llvm/ADT/StringRef.h>
+#if HAVE_LLVM < 0x0303
#include <llvm/LLVMContext.h>
-#include <llvm/PassManager.h>
#include <llvm/Support/IRReader.h>
+#else
+#include <llvm/IR/LLVMContext.h>
+#include <llvm/IR/Module.h>
+#include <llvm/IR/Function.h>
+#include <llvm/IR/DataLayout.h>
+#include <llvm/IRReader/IRReader.h>
+#endif
+#include <llvm/PassManager.h>
#include <llvm/Support/MemoryBuffer.h>
#include <llvm/Support/SourceMgr.h>
#include <llvm/Transforms/IPO.h>
--- src/gallium/drivers/r600/Makefile.am 2013-03-05 23:54:28.000000000 +0100
+++ src/gallium/drivers/r600/Makefile.am 2013-05-15 12:53:51.605926357 +0200
@@ -26,7 +26,8 @@
-I$(top_srcdir)/src/gallium/drivers/radeon/
AM_CXXFLAGS= \
- $(LLVM_CXXFLAGS)
+ $(LLVM_CXXFLAGS) \
+ $(DEFINES)
endif
if USE_R600_LLVM_COMPILER
--- src/gallium/drivers/radeon/radeon_llvm_emit.cpp 2013-03-05 23:54:28.000000000 +0100
+++ src/gallium/drivers/radeon/radeon_llvm_emit.cpp 2013-05-15 12:54:13.196319331 +0200
@@ -25,13 +25,21 @@
*/
#include "radeon_llvm_emit.h"
+#if HAVE_LLVM < 0x0303
#include <llvm/LLVMContext.h>
#include <llvm/Module.h>
+#include <llvm/DataLayout.h>
+#else
+#include <llvm/IR/LLVMContext.h>
+#include <llvm/IR/Module.h>
+#include <llvm/IR/DataLayout.h>
+#include <llvm/Support/CBindingWrapping.h>
+#endif
+
#include <llvm/PassManager.h>
#include <llvm/ADT/Triple.h>
#include <llvm/Support/FormattedStream.h>
#include <llvm/Support/Host.h>
-#include <llvm/Support/IRReader.h>
#include <llvm/Support/SourceMgr.h>
#include <llvm/Support/TargetRegistry.h>
#include <llvm/Support/TargetSelect.h>
@@ -39,7 +47,6 @@
#include <llvm/Target/TargetMachine.h>
#include <llvm/Transforms/Scalar.h>
#include <llvm-c/Target.h>
-#include <llvm/DataLayout.h>
#include <iostream>
#include <stdlib.h>

View File

@ -1,14 +1,14 @@
# Template build file for 'MesaLib'. # Template build file for 'MesaLib'.
pkgname=MesaLib pkgname=MesaLib
version=9.1.3 version=9.1.3
revision=1 revision=2
wrksrc="Mesa-${version}" wrksrc="Mesa-${version}"
build_style=gnu-configure build_style=gnu-configure
configure_args="--enable-glx-tls --enable-shared-glapi --enable-gallium-g3dvl configure_args="--enable-glx-tls --enable-shared-glapi --enable-gallium-g3dvl
--enable-gles1 --enable-gles2 --enable-openvg --enable-egl --enable-gles1 --enable-gles2 --enable-openvg --enable-egl
--with-dri-driverdir=/usr/lib/xorg/modules/dri --enable-vdpau --enable-xa --with-dri-driverdir=/usr/lib/xorg/modules/dri --enable-vdpau --enable-xa
--enable-gallium-egl --enable-xvmc --enable-osmesa --enable-texture-float --enable-gallium-egl --enable-xvmc --enable-osmesa --enable-texture-float
--with-gallium-drivers=r300,r600,svga,swrast,nouveau --enable-gbm --with-gallium-drivers=r300,r600,radeonsi,svga,swrast,nouveau --enable-gbm
--with-dri-drivers=i915,i965,r200,radeon,nouveau,swrast --with-dri-drivers=i915,i965,r200,radeon,nouveau,swrast
--with-egl-platforms=drm,wayland" --with-egl-platforms=drm,wayland"
short_desc="Graphics library similar to SGI's OpenGL" short_desc="Graphics library similar to SGI's OpenGL"
@ -18,7 +18,7 @@ license="MIT, LGPL-2.1"
distfiles="ftp://ftp.freedesktop.org/pub/mesa/$version/$pkgname-$version.tar.bz2" distfiles="ftp://ftp.freedesktop.org/pub/mesa/$version/$pkgname-$version.tar.bz2"
checksum=8d5dac2202d0355bff5cfd183582ec8167d1d1227b7bb7a669acecbeaa52d766 checksum=8d5dac2202d0355bff5cfd183582ec8167d1d1227b7bb7a669acecbeaa52d766
hostmakedepends="automake libtool flex pkg-config llvm>=3.2" hostmakedepends="automake libtool flex pkg-config llvm>=3.3"
makedepends="glproto dri2proto>=2.1 libXext-devel libXxf86vm-devel libXdamage-devel makedepends="glproto dri2proto>=2.1 libXext-devel libXxf86vm-devel libXdamage-devel
libudev-devel>=183 libdrm-devel expat-devel talloc-devel libxml2-python libudev-devel>=183 libdrm-devel expat-devel talloc-devel libxml2-python
libvdpau-devel libXvMC-devel>=1.0.6 wayland-devel" libvdpau-devel libXvMC-devel>=1.0.6 wayland-devel"
@ -89,6 +89,14 @@ libOSMesa_package() {
} }
} }
libwayland-egl_package() {
short_desc="Free implementation of the EGL API - wayland runtime"
pkg_install() {
vmove "usr/lib/libwayland-egl.*"
vmove usr/lib/egl
}
}
MesaLib-devel_package() { MesaLib-devel_package() {
depends="glproto dri2proto>=2.1 libXext-devel libXxf86vm-devel libXdamage-devel depends="glproto dri2proto>=2.1 libXext-devel libXxf86vm-devel libXdamage-devel
libXfixes-devel libX11-devel libxcb-devel libdrm-devel>=2.4.39 expat-devel libXfixes-devel libX11-devel libxcb-devel libdrm-devel>=2.4.39 expat-devel
@ -110,10 +118,11 @@ mesa-ati-dri_package() {
pkg_install() { pkg_install() {
vmove "usr/lib/libXvMCr[36]00.so*" vmove "usr/lib/libXvMCr[36]00.so*"
vmove "usr/lib/vdpau/libvdpau_r[36]00.so*" vmove "usr/lib/vdpau/libvdpau_r[36]00.so*"
#vmove "usr/lib/vdpau/libvdpau_radeon*.so*" vmove "usr/lib/vdpau/libvdpau_radeon*.so*"
vmove "usr/lib/xorg/modules/dri/radeon*" vmove "usr/lib/xorg/modules/dri/radeon*"
vmove "usr/lib/xorg/modules/dri/r[236]00*" vmove "usr/lib/xorg/modules/dri/r[236]00*"
vmove "usr/lib/gallium-pipe/pipe_r[36]00.so" vmove "usr/lib/gallium-pipe/pipe_r[36]00.so"
vmove usr/lib/gallium-pipe/pipe_radeonsi.so
} }
} }
@ -155,14 +164,6 @@ mesa-vmwgfx-dri_package() {
} }
} }
libwayland-egl_package() {
short_desc="Free implementation of the EGL API - wayland runtime"
pkg_install() {
vmove "usr/lib/libwayland-egl.*"
vmove usr/lib/egl
}
}
MesaLib_package() { MesaLib_package() {
conf_files="/etc/drirc" conf_files="/etc/drirc"
depends="mesa-swraster-dri-${version}_${revision}" depends="mesa-swraster-dri-${version}_${revision}"