finished xf86-video-msm

This commit is contained in:
Mike Staszel 2011-12-18 10:50:53 -06:00
parent 2b515138e4
commit 9bb48997bb
4 changed files with 157 additions and 17 deletions

View file

@ -1,8 +1,6 @@
plugrel=1
noautobuild=1
# Still doesn't build cleanly into a non /usr/local/...directory.
pkgname=xf86-video-msm
pkgver=20111218
pkgrel=1
@ -12,12 +10,10 @@ url="http://www.quicinc.com/"
license=('GPL')
depends=('xorg-server')
makedepends=('git' 'xorg-server-devel' 'xproto' 'glproto' 'xf86driproto')
source=('am-patch.patch' 'try-me.patch' 'no-neon-aligncopy.patch'
'no-neon-mdp.patch')
source=('makefile-am.patch' 'makefile.patch' 'no-neon-aligncopy.patch')
md5sums=(8b80c9611272070f20573dbceaeb3a9d
36b8108d24eb8bf1e3cb865c1d9c278a
c24f5567e6d808b34e0ed721ab9018de
3b58e2f23e7576a511c4834b586e8f58)
bbb4c8bc9d0af6d5c7823634eee5272c)
_gitroot="git://codeaurora.org/quic/xwin/xf86-video-msm.git"
_gitname="xf86-video-msm"
@ -33,34 +29,33 @@ build() {
cd $srcdir/${_gitname}
mkdir output
./autogen.sh
./autogen.sh --with-xorg-module-dir=$PWD/output
# Symlink to the kernel headers from 2.6.35-palm-tenderloin
ln -s /usr/src/linux-2.6.35/linux/ linux
ln -s /usr/src/linux-2.6.35/drm/ drm
# PATCH: Turn off neon optimizations
cp $srcdir/am-patch.patch $srcdir/xf86-video-msm/
patch -p1 < am-patch.patch
cp $srcdir/makefile-am.patch $srcdir/xf86-video-msm/
patch -p1 < makefile-am.patch
./autogen.sh
cp $srcdir/try-me.patch $srcdir/xf86-video-msm/src/
cd $srcdir/xf86-video-msm/src/ && patch -p1 < try-me.patch
./autogen.sh --with-xorg-module-dir=$PWD/output
cp $srcdir/makefile.patch $srcdir/xf86-video-msm/src/
cd $srcdir/xf86-video-msm/src/ && patch -p1 < makefile.patch
cd ..
patch -p1 < $srcdir/no-neon-aligncopy.patch
patch -p1 < $srcdir/no-neon-mdp.patch
libdir=output make
prefix=output make install #FIXME: Find out how to install to $pkgdir
make
make install
}
package() {
cd $srcdir/${_gitname}/output/
# create directory structure
install -d $pkgdir/usr/lib/xorg/modules/drivers
install -d $pkgdir/usr/lib/xorg/modules
# copy everything
cp -a * $pkgdir/usr/lib/xorg/modules/drivers/
cp -a * $pkgdir/usr/lib/xorg/modules/
}

View file

@ -0,0 +1,16 @@
--- a/src/Makefile.am 2011-12-18 00:11:51.000000000 -0600
+++ b/src/Makefile.am 2011-12-17 03:05:58.000000000 -0600
@@ -22,10 +22,10 @@
MSM_C2D2_SRCS += msm-exa-c2d2.c c2d/c2d.c msm-video-c2d2.c
endif
-NEON_CFLAGS=-march=armv7-a -mfpu=neon -mfloat-abi=softfp -Wa,-mfpu=neon
+NEON_CFLAGS=$(CFLAGS)
-NEON_CCASFLAGS=$(NEON_CFLAGS) -mthumb-interwork
-NEON_ASFLAGS=-k -mcpu=cortex-a8 $(NEON_CCASFLAGS)
+NEON_CCASFLAGS=$(NEON_CFLAGS)
+NEON_ASFLAGS=-k $(NEON_CCASFLAGS)
AM_CFLAGS = @XORG_CFLAGS@ @DRI2_CFLAGS@ $(NEON_CFLAGS) -Wall -Werror
AM_ASFLAGS = $(NEON_ASFLAGS)

View file

@ -0,0 +1,118 @@
--- a/Makefile 2011-12-18 01:19:48.000000000 -0600
+++ b/Makefile 2011-12-18 02:19:18.685725384 -0600
@@ -78,9 +78,8 @@
am__msm_drv_la_SOURCES_DIST = msm-driver.c msm-exa.c msm-exa-neon.c \
msm-exa-mixed.c msm-video.c msm-video-mdp.c msm-output.c \
msm-display.c msm-cursor.c msm-pixmap.c msm-utils.c mdp/mdp.c \
- neon/neon.c neon/neon-alignedcopy.c neon/neon-fill.c \
- neon/neon-memsets.c neon/neon-render.c neon/neon-video.c \
- neon/neon-memcpy.S neon/neon-memmove.S msm-binder.c msm-drm.c \
+ neon/neon-alignedcopy.c \
+ msm-binder.c msm-drm.c \
msm-dri2.c msm-exa-c2d.c msm-exa-c2d2.c c2d/c2d.c \
msm-video-c2d2.c
#am__objects_1 = msm-binder.lo
@@ -94,8 +93,7 @@
am_msm_drv_la_OBJECTS = msm-driver.lo msm-exa.lo msm-exa-neon.lo \
msm-exa-mixed.lo msm-video.lo msm-video-mdp.lo msm-output.lo \
msm-display.lo msm-cursor.lo msm-pixmap.lo msm-utils.lo mdp.lo \
- neon.lo neon-alignedcopy.lo neon-fill.lo neon-memsets.lo \
- neon-render.lo neon-video.lo neon-memcpy.lo neon-memmove.lo \
+ neon.lo neon-alignedcopy.lo \
$(am__objects_2) $(am__objects_4) $(am__objects_6) \
$(am__objects_8)
msm_drv_la_OBJECTS = $(am_msm_drv_la_OBJECTS)
@@ -135,9 +133,9 @@
CC = gcc
CCAS = gcc
CCASDEPMODE = depmode=gcc3
-CCASFLAGS = -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2
+CCASFLAGS = -g -O2
CCDEPMODE = depmode=gcc3
-CFLAGS = -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2
+CFLAGS = -g -O2
CPP = gcc -E
CPPFLAGS =
CYGPATH_W = echo
@@ -280,12 +278,6 @@
mdp/mdp.c \
neon/neon.c \
neon/neon-alignedcopy.c \
- neon/neon-fill.c \
- neon/neon-memsets.c \
- neon/neon-render.c \
- neon/neon-video.c \
- neon/neon-memcpy.S \
- neon/neon-memmove.S \
$(MSM_BINDER_SRC) \
$(MSM_DRI_SRCS) \
$(MSM_C2D_SRCS) \
@@ -390,12 +382,6 @@
include ./$(DEPDIR)/msm-video-mdp.Plo
include ./$(DEPDIR)/msm-video.Plo
include ./$(DEPDIR)/neon-alignedcopy.Plo
-include ./$(DEPDIR)/neon-fill.Plo
-include ./$(DEPDIR)/neon-memcpy.Plo
-include ./$(DEPDIR)/neon-memmove.Plo
-include ./$(DEPDIR)/neon-memsets.Plo
-include ./$(DEPDIR)/neon-render.Plo
-include ./$(DEPDIR)/neon-video.Plo
include ./$(DEPDIR)/neon.Plo
.S.o:
@@ -419,20 +405,6 @@
# DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) \
# $(LTCPPASCOMPILE) -c -o $@ $<
-neon-memcpy.lo: neon/neon-memcpy.S
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -MT neon-memcpy.lo -MD -MP -MF $(DEPDIR)/neon-memcpy.Tpo -c -o neon-memcpy.lo `test -f 'neon/neon-memcpy.S' || echo '$(srcdir)/'`neon/neon-memcpy.S
- $(am__mv) $(DEPDIR)/neon-memcpy.Tpo $(DEPDIR)/neon-memcpy.Plo
-# source='neon/neon-memcpy.S' object='neon-memcpy.lo' libtool=yes \
-# DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) \
-# $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -c -o neon-memcpy.lo `test -f 'neon/neon-memcpy.S' || echo '$(srcdir)/'`neon/neon-memcpy.S
-
-neon-memmove.lo: neon/neon-memmove.S
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -MT neon-memmove.lo -MD -MP -MF $(DEPDIR)/neon-memmove.Tpo -c -o neon-memmove.lo `test -f 'neon/neon-memmove.S' || echo '$(srcdir)/'`neon/neon-memmove.S
- $(am__mv) $(DEPDIR)/neon-memmove.Tpo $(DEPDIR)/neon-memmove.Plo
-# source='neon/neon-memmove.S' object='neon-memmove.lo' libtool=yes \
-# DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) \
-# $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -c -o neon-memmove.lo `test -f 'neon/neon-memmove.S' || echo '$(srcdir)/'`neon/neon-memmove.S
-
.c.o:
$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@@ -475,34 +447,6 @@
# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
# $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o neon-alignedcopy.lo `test -f 'neon/neon-alignedcopy.c' || echo '$(srcdir)/'`neon/neon-alignedcopy.c
-neon-fill.lo: neon/neon-fill.c
- $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT neon-fill.lo -MD -MP -MF $(DEPDIR)/neon-fill.Tpo -c -o neon-fill.lo `test -f 'neon/neon-fill.c' || echo '$(srcdir)/'`neon/neon-fill.c
- $(am__mv) $(DEPDIR)/neon-fill.Tpo $(DEPDIR)/neon-fill.Plo
-# source='neon/neon-fill.c' object='neon-fill.lo' libtool=yes \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o neon-fill.lo `test -f 'neon/neon-fill.c' || echo '$(srcdir)/'`neon/neon-fill.c
-
-neon-memsets.lo: neon/neon-memsets.c
- $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT neon-memsets.lo -MD -MP -MF $(DEPDIR)/neon-memsets.Tpo -c -o neon-memsets.lo `test -f 'neon/neon-memsets.c' || echo '$(srcdir)/'`neon/neon-memsets.c
- $(am__mv) $(DEPDIR)/neon-memsets.Tpo $(DEPDIR)/neon-memsets.Plo
-# source='neon/neon-memsets.c' object='neon-memsets.lo' libtool=yes \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o neon-memsets.lo `test -f 'neon/neon-memsets.c' || echo '$(srcdir)/'`neon/neon-memsets.c
-
-neon-render.lo: neon/neon-render.c
- $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT neon-render.lo -MD -MP -MF $(DEPDIR)/neon-render.Tpo -c -o neon-render.lo `test -f 'neon/neon-render.c' || echo '$(srcdir)/'`neon/neon-render.c
- $(am__mv) $(DEPDIR)/neon-render.Tpo $(DEPDIR)/neon-render.Plo
-# source='neon/neon-render.c' object='neon-render.lo' libtool=yes \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o neon-render.lo `test -f 'neon/neon-render.c' || echo '$(srcdir)/'`neon/neon-render.c
-
-neon-video.lo: neon/neon-video.c
- $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT neon-video.lo -MD -MP -MF $(DEPDIR)/neon-video.Tpo -c -o neon-video.lo `test -f 'neon/neon-video.c' || echo '$(srcdir)/'`neon/neon-video.c
- $(am__mv) $(DEPDIR)/neon-video.Tpo $(DEPDIR)/neon-video.Plo
-# source='neon/neon-video.c' object='neon-video.lo' libtool=yes \
-# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \
-# $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o neon-video.lo `test -f 'neon/neon-video.c' || echo '$(srcdir)/'`neon/neon-video.c
-
c2d.lo: c2d/c2d.c
$(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT c2d.lo -MD -MP -MF $(DEPDIR)/c2d.Tpo -c -o c2d.lo `test -f 'c2d/c2d.c' || echo '$(srcdir)/'`c2d/c2d.c
$(am__mv) $(DEPDIR)/c2d.Tpo $(DEPDIR)/c2d.Plo

View file

@ -10,3 +10,14 @@
/* Copy a rectangle that is 1 byte wide, using unrolled loops to make the function as fast as possible. */
/* This function may use unaligned pointers at no penalty. */
--- a/src/msm-video-mdp.c 2011-12-18 02:37:09.000000000 -0600
+++ b/src/msm-video-mdp.c 2011-12-18 02:37:24.000000000 -0600
@@ -43,8 +43,6 @@
#include "msm-render.h"
#include "msm-video.h"
-#include "neon/neon.h"
-
#if ENABLEHWCODEC
extern struct cmsghdr *cmptr;
#endif