diff options
author | Martin Jansa <Martin.Jansa@gmail.com> | 2011-01-11 09:03:28 +0100 |
---|---|---|
committer | Martin Jansa <Martin.Jansa@gmail.com> | 2011-01-13 08:27:02 +0100 |
commit | ec80e3f5192f70d8268658de5adcf08f194be216 (patch) | |
tree | fb6c8e8a1f8997bc932be69c3fea61d350ce3d6b /recipes/xorg-lib | |
parent | 7e94eaa1951452129aa18e704303c2b7b5e182b4 (diff) | |
download | openembedded-ec80e3f5192f70d8268658de5adcf08f194be216.tar.gz |
xorg-lib: obsolete old versions
Acked-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'recipes/xorg-lib')
69 files changed, 0 insertions, 3491 deletions
diff --git a/recipes/xorg-lib/libdmx_1.1.0.bb b/recipes/xorg-lib/libdmx_1.1.0.bb deleted file mode 100644 index 5a806a442e..0000000000 --- a/recipes/xorg-lib/libdmx_1.1.0.bb +++ /dev/null @@ -1,8 +0,0 @@ -require xorg-lib-common.inc -DESCRIPTION = "X11 Distributed Multihead extension library" -DEPENDS += "libxext dmxproto" -PE = "1" -PR = "${INC_PR}.0" - -SRC_URI[archive.md5sum] = "a2fcf0382837888d3781b714489a8999" -SRC_URI[archive.sha256sum] = "1904a8f848cc5d76105cb07707890aca095540a37fb0a63d359f71da51d3e2d5" diff --git a/recipes/xorg-lib/libfontenc_1.0.5.bb b/recipes/xorg-lib/libfontenc_1.0.5.bb deleted file mode 100644 index 6c11158d2c..0000000000 --- a/recipes/xorg-lib/libfontenc_1.0.5.bb +++ /dev/null @@ -1,11 +0,0 @@ -require xorg-lib-common.inc -DESCRIPTION = "X11 font encoding library" -LICENSE = "BSD-X" -DEPENDS += "zlib xproto" -PE = "1" -PR = "${INC_PR}.0" - -SRC_URI[archive.md5sum] = "4f0d8191819be9f2bdf9dad49a65e43b" -SRC_URI[archive.sha256sum] = "7f3cde0331e9ad3da720b1a8255e121673701199df0802b62380436e74222700" - -BBCLASSEXTEND = "native" diff --git a/recipes/xorg-lib/libfs_1.0.2.bb b/recipes/xorg-lib/libfs_1.0.2.bb deleted file mode 100644 index d892132ab3..0000000000 --- a/recipes/xorg-lib/libfs_1.0.2.bb +++ /dev/null @@ -1,10 +0,0 @@ -require xorg-lib-common.inc -DESCRIPTION = "X11 Font Services library" -DEPENDS += "xproto fontsproto xtrans" -PE = "1" -PR = "${INC_PR}.0" - -SRC_URI[archive.md5sum] = "ecf2d6a27da053500283e803efa2a808" -SRC_URI[archive.sha256sum] = "af2a5fe5eaa2b026e10bddb4e3f39976dc13deb5dbdc714abe1f016435ce3049" - -XORG_PN = "libFS" diff --git a/recipes/xorg-lib/libice_1.0.6.bb b/recipes/xorg-lib/libice_1.0.6.bb deleted file mode 100644 index 1c7f3cb227..0000000000 --- a/recipes/xorg-lib/libice_1.0.6.bb +++ /dev/null @@ -1,12 +0,0 @@ -require xorg-lib-common.inc -DESCRIPTION = "X11 Inter-Client Exchange library" -DEPENDS += "xproto xtrans" -PE = "1" -PR = "${INC_PR}.0" - -SRC_URI[archive.md5sum] = "2d39bc924af24325dae589e9a849180c" -SRC_URI[archive.sha256sum] = "a8346859505d2aa27ecc4531f1c86d72801936d96c31c5beaeff4587441b568b" - -BBCLASSEXTEND = "native" - -XORG_PN = "libICE" diff --git a/recipes/xorg-lib/libpciaccess_0.10.9.bb b/recipes/xorg-lib/libpciaccess_0.10.9.bb deleted file mode 100644 index d963c3cf04..0000000000 --- a/recipes/xorg-lib/libpciaccess_0.10.9.bb +++ /dev/null @@ -1,6 +0,0 @@ -require xorg-lib-common.inc -DEPENDS += "xproto virtual/libx11" -PR = "${INC_PR}.0" - -SRC_URI[archive.md5sum] = "685cb20e7a6165bc010972f1183addbd" -SRC_URI[archive.sha256sum] = "5ccb9683b8be76edfceab4bf006e1cce9018e0d3dea5e54aa72e82798213fead" diff --git a/recipes/xorg-lib/libsm_1.1.1.bb b/recipes/xorg-lib/libsm_1.1.1.bb deleted file mode 100644 index b87bcdfca6..0000000000 --- a/recipes/xorg-lib/libsm_1.1.1.bb +++ /dev/null @@ -1,12 +0,0 @@ -require xorg-lib-common.inc -DESCRIPTION = "X11 Session management library" -DEPENDS += "libice xproto xtrans util-linux-ng" -PE = "1" -PR = "${INC_PR}.0" - -SRC_URI[archive.md5sum] = "6889a455496aaaa65b1fa05fc518d179" -SRC_URI[archive.sha256sum] = "f50d184d8c6a031b3ff4f0d52efcfd4ffa811b0362b166a9ff9ba4c2e9aa7ce0" - -BBCLASSEXTEND = "native" - -XORG_PN = "libSM" diff --git a/recipes/xorg-lib/libx11-1.3.2/configure.ac-nios2.patch b/recipes/xorg-lib/libx11-1.3.2/configure.ac-nios2.patch deleted file mode 100644 index 2e2d475acb..0000000000 --- a/recipes/xorg-lib/libx11-1.3.2/configure.ac-nios2.patch +++ /dev/null @@ -1,33 +0,0 @@ -From affc2488a7f2660a74dc8354fc3e0bff2c4f879c Mon Sep 17 00:00:00 2001 -From: Dan Nicholson <dbn.lists@gmail.com> -Date: Sat, 06 Nov 2010 21:58:09 +0000 -Subject: config: Fix architecture check for OS/2 to skip nios2 cpu - -The OS/2 platform requires some utility functions as well as having a -non-32 bit wchar_t. Fix the configure check so that it doesn't also -affect the nios2 cpu, which wouldn't influence these operating system -issues. - -Signed-off-by: Dan Nicholson <dbn.lists@gmail.com> -Tested-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com> -Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> -Reviewed-by: Julien Cristau <jcristau@debian.org> -Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> ---- -diff --git a/configure.ac b/configure.ac -index 1b4a8b7..01f43fb 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -246,8 +246,8 @@ dnl AC_PATH_XTRA - - # arch specific things - WCHAR32="1" --case $target_alias in -- *os2*) os2="true" ; WCHAR32="0" ;; -+case $target_os in -+ os2*) os2="true" ; WCHAR32="0" ;; - *) ;; - esac - AC_SUBST(WCHAR32) --- -cgit v0.8.3-6-g21f6 diff --git a/recipes/xorg-lib/libx11-1.3.2/dolt-fix.patch b/recipes/xorg-lib/libx11-1.3.2/dolt-fix.patch deleted file mode 100644 index ea1a8bd937..0000000000 --- a/recipes/xorg-lib/libx11-1.3.2/dolt-fix.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -uNr libX11-1.2.99.901.orig/acinclude.m4 libX11-1.2.99.901/acinclude.m4 ---- libX11-1.2.99.901.orig/acinclude.m4 2009-09-05 10:57:11.000000000 +0200 -+++ libX11-1.2.99.901/acinclude.m4 2009-09-05 10:59:14.000000000 +0200 -@@ -197,7 +197,7 @@ - cat <<__DOLTLIBTOOL__EOF__ > doltlibtool - #!$DOLT_BASH - __DOLTLIBTOOL__EOF__ -- cat <<'__DOLTLIBTOOL__EOF__' >>doltlibtool -+ cat <<'__DOLTLIBTOOL__EOF__' | sed -e "s/@host_alias@/$host_alias/g" >>doltlibtool - top_builddir_slash="${0%%doltlibtool}" - : ${top_builddir_slash:=./} - args=() -@@ -213,7 +213,7 @@ - if $modeok && $tagok ; then - . ${top_builddir_slash}doltcompile "${args@<:@@@:>@}" - else -- exec ${top_builddir_slash}libtool "$[]@" -+ exec ${top_builddir_slash}@host_alias@-libtool "$[]@" - fi - __DOLTLIBTOOL__EOF__ - diff --git a/recipes/xorg-lib/libx11-1.3.2/keysymdef_include.patch b/recipes/xorg-lib/libx11-1.3.2/keysymdef_include.patch deleted file mode 100644 index 7e725b2132..0000000000 --- a/recipes/xorg-lib/libx11-1.3.2/keysymdef_include.patch +++ /dev/null @@ -1,29 +0,0 @@ -Index: libX11-1.1.5/configure.ac -=================================================================== ---- libX11-1.1.5.orig/configure.ac 2008-10-28 11:36:49.000000000 +0000 -+++ libX11-1.1.5/configure.ac 2008-10-28 11:40:05.000000000 +0000 -@@ -221,13 +221,21 @@ - # Find keysymdef.h - # - AC_MSG_CHECKING([keysymdef.h]) --dir=`pkg-config --variable=includedir xproto` --KEYSYMDEF="$dir/X11/keysymdef.h" -+AC_ARG_WITH(keysymdefdir, -+ AC_HELP_STRING([--with-keysymdefdir=DIR], [The location of keysymdef.h]), -+ KEYSYMDEF=$withval/keysymdef.h, KEYSYMDEF="") -+ -+if test x$KEYSYMDEF = x; then -+ dir=`pkg-config --variable=includedir xproto` -+ KEYSYMDEF="$dir/X11/keysymdef.h" -+fi -+ - if test -f "$KEYSYMDEF"; then -- AC_MSG_RESULT([$KEYSYMDEF]) -+ AC_MSG_RESULT([$KEYSYMDEF]) - else - AC_MSG_ERROR([Cannot find keysymdef.h]) - fi -+ - AC_SUBST(KEYSYMDEF) - - AM_CONDITIONAL(UDC, test xfalse = xtrue) diff --git a/recipes/xorg-lib/libx11-1.3.2/x11_disable_makekeys.patch b/recipes/xorg-lib/libx11-1.3.2/x11_disable_makekeys.patch deleted file mode 100644 index 5d0a24ca2d..0000000000 --- a/recipes/xorg-lib/libx11-1.3.2/x11_disable_makekeys.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff -uNr libX11-1.3.3.orig/src/util/Makefile.am libX11-1.3.3/src/util/Makefile.am ---- libX11-1.3.3.orig/src/util/Makefile.am 2010-01-15 02:11:36.000000000 +0100 -+++ libX11-1.3.3/src/util/Makefile.am 2010-01-18 14:48:27.000000000 +0100 -@@ -1,19 +1 @@ -- --noinst_PROGRAMS=makekeys -- --makekeys_CFLAGS=$(X11_CFLAGS) -- --CC = @CC_FOR_BUILD@ -- - EXTRA_DIST = mkks.sh -- --if LINT --# Check source code with tools like lint & sparse -- --ALL_LINT_FLAGS=$(LINT_FLAGS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) -- --lint: -- $(LINT) $(ALL_LINT_FLAGS) makekeys.c -- --endif LINT diff --git a/recipes/xorg-lib/libx11-1.3.6/configure.ac-nios2.patch b/recipes/xorg-lib/libx11-1.3.6/configure.ac-nios2.patch deleted file mode 100644 index 2e2d475acb..0000000000 --- a/recipes/xorg-lib/libx11-1.3.6/configure.ac-nios2.patch +++ /dev/null @@ -1,33 +0,0 @@ -From affc2488a7f2660a74dc8354fc3e0bff2c4f879c Mon Sep 17 00:00:00 2001 -From: Dan Nicholson <dbn.lists@gmail.com> -Date: Sat, 06 Nov 2010 21:58:09 +0000 -Subject: config: Fix architecture check for OS/2 to skip nios2 cpu - -The OS/2 platform requires some utility functions as well as having a -non-32 bit wchar_t. Fix the configure check so that it doesn't also -affect the nios2 cpu, which wouldn't influence these operating system -issues. - -Signed-off-by: Dan Nicholson <dbn.lists@gmail.com> -Tested-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com> -Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> -Reviewed-by: Julien Cristau <jcristau@debian.org> -Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> ---- -diff --git a/configure.ac b/configure.ac -index 1b4a8b7..01f43fb 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -246,8 +246,8 @@ dnl AC_PATH_XTRA - - # arch specific things - WCHAR32="1" --case $target_alias in -- *os2*) os2="true" ; WCHAR32="0" ;; -+case $target_os in -+ os2*) os2="true" ; WCHAR32="0" ;; - *) ;; - esac - AC_SUBST(WCHAR32) --- -cgit v0.8.3-6-g21f6 diff --git a/recipes/xorg-lib/libx11-1.3.6/dolt-fix.patch b/recipes/xorg-lib/libx11-1.3.6/dolt-fix.patch deleted file mode 100644 index 7e96075aa3..0000000000 --- a/recipes/xorg-lib/libx11-1.3.6/dolt-fix.patch +++ /dev/null @@ -1,22 +0,0 @@ -Index: libX11-1.3.4/m4/dolt.m4 -=================================================================== ---- libX11-1.3.4/m4/dolt.m4 -+++ libX11-1.3.4/m4/dolt.m4 -@@ -155,7 +155,7 @@ dnl without '=', because automake does n - cat <<__DOLTLIBTOOL__EOF__ > doltlibtool - #!$DOLT_BASH - __DOLTLIBTOOL__EOF__ -- cat <<'__DOLTLIBTOOL__EOF__' >>doltlibtool -+ cat <<'__DOLTLIBTOOL__EOF__' | sed -e "s/@host_alias@/$host_alias/g" >>doltlibtool - top_builddir_slash="${0%%doltlibtool}" - : ${top_builddir_slash:=./} - args=() -@@ -171,7 +171,7 @@ done - if $modeok && $tagok ; then - . ${top_builddir_slash}doltcompile "${args@<:@@@:>@}" - else -- exec ${top_builddir_slash}libtool "$[]@" -+ exec ${top_builddir_slash}@host_alias@-libtool "$[]@" - fi - __DOLTLIBTOOL__EOF__ - diff --git a/recipes/xorg-lib/libx11-1.3.6/keysymdef_include.patch b/recipes/xorg-lib/libx11-1.3.6/keysymdef_include.patch deleted file mode 100644 index 1a30e345f9..0000000000 --- a/recipes/xorg-lib/libx11-1.3.6/keysymdef_include.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff -uNr libX11-1.3.6.orig//configure.ac libX11-1.3.6/configure.ac ---- libX11-1.3.6.orig//configure.ac 2010-09-20 08:04:16.000000000 +0200 -+++ libX11-1.3.6/configure.ac 2010-09-28 16:29:26.000000000 +0200 -@@ -355,7 +355,14 @@ - # Find keysymdef.h - # - AC_MSG_CHECKING([keysym definitions]) --KEYSYMDEFDIR=`$PKG_CONFIG --variable=includedir xproto`/X11 -+AC_ARG_WITH(keysymdefdir, -+ AC_HELP_STRING([--with-keysymdefdir=DIR], [The location of keysymdef.h]), -+ KEYSYMDEFDIR=$withval, KEYSYMDEFDIR="") -+ -+if test x$KEYSYMDEFDIR = x; then -+ KEYSYMDEFDIR=`$PKG_CONFIG --variable=includedir xproto`/X11 -+fi -+ - FILES="keysymdef.h XF86keysym.h Sunkeysym.h DECkeysym.h HPkeysym.h" - for i in $FILES; do - if test -f "$KEYSYMDEFDIR/$i"; then diff --git a/recipes/xorg-lib/libx11-1.3.6/x11_disable_makekeys.patch b/recipes/xorg-lib/libx11-1.3.6/x11_disable_makekeys.patch deleted file mode 100644 index 9763313975..0000000000 --- a/recipes/xorg-lib/libx11-1.3.6/x11_disable_makekeys.patch +++ /dev/null @@ -1,29 +0,0 @@ -Index: libX11-1.3.4/src/util/Makefile.am -=================================================================== ---- libX11-1.3.4.orig/src/util/Makefile.am -+++ libX11-1.3.4/src/util/Makefile.am -@@ -1,24 +1 @@ -- --noinst_PROGRAMS=makekeys -- --makekeys_CFLAGS = \ -- $(X11_CFLAGS) \ -- $(CWARNFLAGS) -- --CC = @CC_FOR_BUILD@ --CPPFLAGS = @CPPFLAGS_FOR_BUILD@ --CFLAGS = @CFLAGS_FOR_BUILD@ --LDFLAGS = @LDFLAGS_FOR_BUILD@ -- - EXTRA_DIST = mkks.sh -- --if LINT --# Check source code with tools like lint & sparse -- --ALL_LINT_FLAGS=$(LINT_FLAGS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) -- --lint: -- $(LINT) $(ALL_LINT_FLAGS) makekeys.c -- --endif LINT diff --git a/recipes/xorg-lib/libx11_1.3.2.bb b/recipes/xorg-lib/libx11_1.3.2.bb deleted file mode 100644 index 189d1ffdfe..0000000000 --- a/recipes/xorg-lib/libx11_1.3.2.bb +++ /dev/null @@ -1,11 +0,0 @@ -require libx11.inc -PR = "${INC_PR}.3" -# gcc 4.5 ends up ICEing with thumb and -O1 with -fno-omit-framepointer -# therefore if we are in thumb mode then we use -Os instead of -O1 for -# DEBUG_OPTIMIZATION - -DEBUG_OPTIMIZATION_thumb_append = " -Os" -SRC_URI += " file://dolt-fix.patch" -SRC_URI += " file://configure.ac-nios2.patch" -SRC_URI[archive.md5sum] = "001d780829f936e34851ef7cd37b4dfd" -SRC_URI[archive.sha256sum] = "4def4d5c9fce85d690f1f29d675154594acdea3d3fe792d0cb513732c7b4bcb2" diff --git a/recipes/xorg-lib/libx11_1.3.6.bb b/recipes/xorg-lib/libx11_1.3.6.bb deleted file mode 100644 index 8d9f343948..0000000000 --- a/recipes/xorg-lib/libx11_1.3.6.bb +++ /dev/null @@ -1,7 +0,0 @@ -require libx11.inc -PR = "${INC_PR}.1" - -SRC_URI += " file://dolt-fix.patch" -SRC_URI += " file://configure.ac-nios2.patch" -SRC_URI[archive.md5sum] = "8e0a8a466aa78f66e09fe06cb395319f" -SRC_URI[archive.sha256sum] = "599826765c59a98b1e58b4f6c4ad50dca69eeb0e7bd78aea736ca815f45bea40" diff --git a/recipes/xorg-lib/libxau_1.0.5.bb b/recipes/xorg-lib/libxau_1.0.5.bb deleted file mode 100644 index 3e95f97944..0000000000 --- a/recipes/xorg-lib/libxau_1.0.5.bb +++ /dev/null @@ -1,12 +0,0 @@ -require xorg-lib-common.inc -DESCRIPTION = "A Sample Authorization Protocol for X" -DEPENDS += " xproto" -PE = "1" -PR = "${INC_PR}.0" - -SRC_URI[archive.md5sum] = "993b3185c629e4b89401fca072dcb663" -SRC_URI[archive.sha256sum] = "a503b3e88d29fa9c45cce1b2d1af54106c2ce21491348c394e251a071d8108ee" - -BBCLASSEXTEND = "native nativesdk" - -XORG_PN = "libXau" diff --git a/recipes/xorg-lib/libxaw_1.0.7.bb b/recipes/xorg-lib/libxaw_1.0.7.bb deleted file mode 100644 index e072411313..0000000000 --- a/recipes/xorg-lib/libxaw_1.0.7.bb +++ /dev/null @@ -1,25 +0,0 @@ -require xorg-lib-common.inc -DESCRIPTION = "X Athena Widget Set" -DEPENDS += "xproto virtual/libx11 libxext xextproto libxt libxmu libxpm libxp printproto libxau" -PE = "1" -PR = "${INC_PR}.0" - -SRC_URI[archive.md5sum] = "815e74de989ccda684e2baf8d12cf519" -SRC_URI[archive.sha256sum] = "740aaee9b09586b1c80f80890381c5ee70ea11efa4b6159f707c0f3684c6f328" - -# disable docs as groff detection doesn't work on some hosts while cross compilling -EXTRA_OECONF += " --disable-docs " - -do_install_append () { - ln -sf libXaw6.so.6 ${D}${libdir}/libXaw.so.6 - ln -sf libXaw7.so.7 ${D}${libdir}/libXaw.so.7 - ln -sf libXaw7.so.7 ${D}${libdir}/libXaw.so -} - -PACKAGES =+ "libxaw6 libxaw7 libxaw8" - -FILES_libxaw6 = "${libdir}/libXaw*.so.6*" -FILES_libxaw7 = "${libdir}/libXaw*.so.7*" -FILES_libxaw8 = "${libdir}/libXaw8.so.8*" - -XORG_PN = "libXaw" diff --git a/recipes/xorg-lib/libxcomposite_0.4.1.bb b/recipes/xorg-lib/libxcomposite_0.4.1.bb deleted file mode 100644 index f9460c3323..0000000000 --- a/recipes/xorg-lib/libxcomposite_0.4.1.bb +++ /dev/null @@ -1,11 +0,0 @@ -require xorg-lib-common.inc -DESCRIPTION = "X Composite extension library." -LICENSE = "BSD-X" -DEPENDS += " compositeproto virtual/libx11 libxfixes libxext" -PE = "1" -PR = "${INC_PR}.0" - -SRC_URI[archive.md5sum] = "0f1367f57fdf5df17a8dd71d0fa68248" -SRC_URI[archive.sha256sum] = "3715a25565222d8eb0468805db1113b514128ee5e9bc6908400f189f680d7a13" - -XORG_PN = "libXcomposite" diff --git a/recipes/xorg-lib/libxcursor_1.1.10.bb b/recipes/xorg-lib/libxcursor_1.1.10.bb deleted file mode 100644 index 7f3f0f937f..0000000000 --- a/recipes/xorg-lib/libxcursor_1.1.10.bb +++ /dev/null @@ -1,13 +0,0 @@ -require xorg-lib-common.inc -DESCRIPTION = "X cursor management library" -LICENSE = "BSD-X" -DEPENDS += "libxrender libxfixes" -PE = "1" -PR = "${INC_PR}.0" - -SRC_URI[archive.md5sum] = "7dcdad1c10daea872cb3355af414b2ca" -SRC_URI[archive.sha256sum] = "b9446df62203f2c3204b6bcc0057dc909d0dc792f0dd97bc491581b08be36cbd" - -BBCLASSEXTEND = "native" - -XORG_PN = "libXcursor" diff --git a/recipes/xorg-lib/libxdamage_1.1.2.bb b/recipes/xorg-lib/libxdamage_1.1.2.bb deleted file mode 100644 index 294e514cba..0000000000 --- a/recipes/xorg-lib/libxdamage_1.1.2.bb +++ /dev/null @@ -1,11 +0,0 @@ -require xorg-lib-common.inc -DESCRIPTION = "X11 damaged region extension library" -LICENSE = "BSD-X" -DEPENDS += "damageproto libxfixes" -PE = "1" -PR = "${INC_PR}.0" - -SRC_URI[archive.md5sum] = "b42780bce703ec202a33e5693991c09d" -SRC_URI[archive.sha256sum] = "a56a10acb34827c4d1a0ee282a338cbb04baa03d7fc7bc69e5690915c8fc7c0a" - -XORG_PN = "libXdamage" diff --git a/recipes/xorg-lib/libxdmcp_1.0.3.bb b/recipes/xorg-lib/libxdmcp_1.0.3.bb deleted file mode 100644 index 1e38efa7ac..0000000000 --- a/recipes/xorg-lib/libxdmcp_1.0.3.bb +++ /dev/null @@ -1,12 +0,0 @@ -require xorg-lib-common.inc -DESCRIPTION = "X Display Manager Control Protocol library" -DEPENDS += "xproto" -PE = "1" -PR = "${INC_PR}.0" - -SRC_URI[archive.md5sum] = "d60941d471800f41a3f19b24bea855a7" -SRC_URI[archive.sha256sum] = "d8033a2fae20fed6de4f16b73ad69ca1c511e7da31c88e9bc6e75976187378cb" - -BBCLASSEXTEND = "native nativesdk" - -XORG_PN = "libXdmcp" diff --git a/recipes/xorg-lib/libxevie_1.0.2.bb b/recipes/xorg-lib/libxevie_1.0.2.bb deleted file mode 100644 index d418768caa..0000000000 --- a/recipes/xorg-lib/libxevie_1.0.2.bb +++ /dev/null @@ -1,10 +0,0 @@ -require xorg-lib-common.inc -DESCRIPTION = "X11 EvIE extension library" -DEPENDS += "libxext evieext" -PE = "1" -PR = "${INC_PR}.0" - -SRC_URI[archive.md5sum] = "88e9bf535364e7c821ef4014fb1ca2dd" -SRC_URI[archive.sha256sum] = "ff70b81ad145932db2d206735cefcb698dadad241001df7ba6b97e8081d174da" - -XORG_PN = "libXevie" diff --git a/recipes/xorg-lib/libxext_1.1.1.bb b/recipes/xorg-lib/libxext_1.1.1.bb deleted file mode 100644 index d3d6c66d15..0000000000 --- a/recipes/xorg-lib/libxext_1.1.1.bb +++ /dev/null @@ -1,12 +0,0 @@ -require xorg-lib-common.inc -DESCRIPTION = "X11 miscellaneous extension library" -DEPENDS += "xproto virtual/libx11 xextproto libxau" -PE = "1" -PR = "${INC_PR}.0" - -SRC_URI[archive.md5sum] = "c417c0e8df39a067f90a2a2e7133637d" -SRC_URI[archive.sha256sum] = "110ce3bc7fb3a86659556994d0801c74bedcbd8ba8d1f90ee33d4c47a91e9bb3" - -BBCLASSEXTEND = "native nativesdk" - -XORG_PN = "libXext" diff --git a/recipes/xorg-lib/libxfixes_4.0.4.bb b/recipes/xorg-lib/libxfixes_4.0.4.bb deleted file mode 100644 index 26ccb96196..0000000000 --- a/recipes/xorg-lib/libxfixes_4.0.4.bb +++ /dev/null @@ -1,13 +0,0 @@ -require xorg-lib-common.inc -DESCRIPTION = "X Fixes extension library." -LICENSE = "BSD-X" -DEPENDS += "virtual/libx11 xproto fixesproto xextproto" -PE = "1" -PR = "${INC_PR}.0" - -SRC_URI[archive.md5sum] = "7f2c40852eb337b237ad944ca5c30d49" -SRC_URI[archive.sha256sum] = "ba31d7e5c5c1907c30cba50bfd669aa7fe860555287c29f6e786612e4be33b48" - -BBCLASSEXTEND = "native" - -XORG_PN = "libXfixes" diff --git a/recipes/xorg-lib/libxfont_1.4.1.bb b/recipes/xorg-lib/libxfont_1.4.1.bb deleted file mode 100644 index 8d046d1b14..0000000000 --- a/recipes/xorg-lib/libxfont_1.4.1.bb +++ /dev/null @@ -1,16 +0,0 @@ -require xorg-lib-common.inc -DESCRIPTION = "X11 font rasterisation library" -LICENSE = "BSD-X" -DEPENDS += "freetype fontcacheproto xtrans fontsproto libfontenc" -PE = "1" -PR = "${INC_PR}.0" - -SRC_URI[archive.md5sum] = "4f2bed2a2be82e90a51a24bb3a22cdf0" -SRC_URI[archive.sha256sum] = "112bfc30820b98deec4c9914536c5aa2f8b5162bd2b0bdb342343168e06f7679" - -# disable docs -EXTRA_OECONF += " --disable-devel-docs " - -BBCLASSEXTEND = "native" - -XORG_PN = "libXfont" diff --git a/recipes/xorg-lib/libxft-2.1.14/autotools.patch b/recipes/xorg-lib/libxft-2.1.14/autotools.patch deleted file mode 100644 index 62f44428ad..0000000000 --- a/recipes/xorg-lib/libxft-2.1.14/autotools.patch +++ /dev/null @@ -1,54 +0,0 @@ -Index: libXft-2.1.14/configure.ac -=================================================================== ---- libXft-2.1.14.orig/configure.ac 2009-10-10 01:44:49.000000000 +0200 -+++ libXft-2.1.14/configure.ac 2009-12-23 20:56:25.759695121 +0100 -@@ -37,26 +37,14 @@ - # Require xorg-macros: XORG_DEFAULT_OPTIONS - m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.3 or later before running autoconf/autogen])]) - XORG_MACROS_VERSION(1.3) --AM_CONFIG_HEADER(config.h) -+AC_CONFIG_HEADERS([config.h]) -+AC_CONFIG_HEADERS([include/X11/Xft/Xft.h]) - - # checks for progs - AC_PROG_CC - AC_PROG_LIBTOOL - XORG_DEFAULT_OPTIONS - --# Set library version for Xft.h from package version set in AC_INIT --# copied from PACKAGE_VERSION_* settings in XORG_VERSION --AC_CONFIG_HEADERS([include/X11/Xft/Xft.h]) --AC_DEFINE_UNQUOTED([XFT_MAJOR], -- [`echo $PACKAGE_VERSION | cut -d . -f 1`], -- [Major version of Xft]) --AC_DEFINE_UNQUOTED([XFT_MINOR], -- [`echo $PACKAGE_VERSION | cut -d . -f 2 | cut -d - -f 1`], -- [Minor version of Xft]) --AC_DEFINE_UNQUOTED([XFT_REVISION], -- [`echo $PACKAGE_VERSION | cut -d . -f 3 | cut -d - -f 1`], -- [Micro revision of Xft]) -- - # - # Check for Xrender - # -Index: libXft-2.1.14/include/X11/Xft/Xft.h.in -=================================================================== ---- libXft-2.1.14.orig/include/X11/Xft/Xft.h.in 2009-10-06 09:36:40.000000000 +0200 -+++ libXft-2.1.14/include/X11/Xft/Xft.h.in 2009-12-23 20:55:52.063859518 +0100 -@@ -27,11 +27,12 @@ - * Current Xft version number, set from version in the Xft configure.ac file. - */ - --#undef XFT_MAJOR /* Will be substituted by configure */ --#undef XFT_MINOR /* Will be substituted by configure */ --#undef XFT_REVISION /* Will be substituted by configure */ -+/* Will be substituted by configure */ -+#undef PACKAGE_VERSION_MAJOR -+#undef PACKAGE_VERSION_MINOR -+#undef PACKAGE_VERSION_PATCHLEVEL - --#define XFT_VERSION ((XFT_MAJOR * 10000) + (XFT_MINOR * 100) + (XFT_REVISION)) -+#define XFT_VERSION ((PACKAGE_VERSION_MAJOR * 10000) + (PACKAGE_VERSION_MINOR * 100) + (PACKAGE_VERSION_PATCHLEVEL)) - #define XftVersion XFT_VERSION - - #include <stdarg.h> diff --git a/recipes/xorg-lib/libxft_2.1.14.bb b/recipes/xorg-lib/libxft_2.1.14.bb deleted file mode 100644 index 34fadcd7e7..0000000000 --- a/recipes/xorg-lib/libxft_2.1.14.bb +++ /dev/null @@ -1,22 +0,0 @@ -require xorg-lib-common.inc -DESCRIPTION = "FreeType-based font drawing library for X" -DEPENDS += "libxrender freetype fontconfig" -PE = "1" -PR = "${INC_PR}.0" - -SRC_URI += "file://autotools.patch" -SRC_URI[archive.md5sum] = "254e62a233491e0e1251636536163e20" -SRC_URI[archive.sha256sum] = "700e9d594b81cad3dfd5fac4a5cfd0c4cf7780c812507ef04eb40139ebf5175e" - -FILES_${PN} = "${libdir}/lib*${SOLIBS}" -FILES_${PN}-dev = "${includedir} ${libdir}/lib*${SOLIBSDEV} ${libdir}/*.la \ - ${libdir}/*.a ${libdir}/pkgconfig \ - ${datadir}/aclocal ${bindir} ${sbindir}" - -python do_package() { - if bb.data.getVar('DEBIAN_NAMES', d, 1): - bb.data.setVar('PKG_${PN}', 'libxft2', d) - bb.build.exec_func('package_do_package', d) -} - -XORG_PN = "libXft" diff --git a/recipes/xorg-lib/libxi_1.3.bb b/recipes/xorg-lib/libxi_1.3.bb deleted file mode 100644 index 22ef799737..0000000000 --- a/recipes/xorg-lib/libxi_1.3.bb +++ /dev/null @@ -1,10 +0,0 @@ -require xorg-lib-common.inc -DESCRIPTION = "X11 Input extension library" -DEPENDS += "libxext inputproto" -PE = "1" -PR = "${INC_PR}.0" - -SRC_URI[archive.md5sum] = "8df4ece9bd1efb02c28acb2b6f485e09" -SRC_URI[archive.sha256sum] = "362b8c0c60386841063bd7e01afa72e37eb87ada6e64e539d960f88c780a944b" - -XORG_PN = "libXi" diff --git a/recipes/xorg-lib/libxinerama_1.1.bb b/recipes/xorg-lib/libxinerama_1.1.bb deleted file mode 100644 index 4d5f4277de..0000000000 --- a/recipes/xorg-lib/libxinerama_1.1.bb +++ /dev/null @@ -1,10 +0,0 @@ -require xorg-lib-common.inc -DESCRIPTION = "X11 Xinerama extension library" -DEPENDS += "libxext xineramaproto" -PE = "1" -PR = "${INC_PR}.0" - -SRC_URI[archive.md5sum] = "a2ac01fc0426cdbb713c5d59cf9955ed" -SRC_URI[archive.sha256sum] = "e0d39e74c2e131b44cc98dd4910165c9b8d937df93be58e6afb7c2a56772bf34" - -XORG_PN = "libXinerama" diff --git a/recipes/xorg-lib/libxkbfile_1.0.6.bb b/recipes/xorg-lib/libxkbfile_1.0.6.bb deleted file mode 100644 index a7fc91de3e..0000000000 --- a/recipes/xorg-lib/libxkbfile_1.0.6.bb +++ /dev/null @@ -1,11 +0,0 @@ -require xorg-lib-common.inc -DESCRIPTION = "X11 keyboard file manipulation library" -LICENSE = "GPL" -DEPENDS += "virtual/libx11 kbproto" -PE = "1" -PR = "${INC_PR}.0" - -SRC_URI[archive.md5sum] = "b01156e263eca8177e6b7f10441951c4" -SRC_URI[archive.sha256sum] = "2ca43c1f6b2782994167a328471aa859d366cd7303c6dcbc8bda951a84a06039" - -BBCLASSEXTEND = "native" diff --git a/recipes/xorg-lib/libxmu_1.0.5.bb b/recipes/xorg-lib/libxmu_1.0.5.bb deleted file mode 100644 index 5f361ef988..0000000000 --- a/recipes/xorg-lib/libxmu_1.0.5.bb +++ /dev/null @@ -1,17 +0,0 @@ -require xorg-lib-common.inc -DESCRIPTION = "X11 miscellaneous utility library" -DEPENDS += "libxt libxext" -PE = "1" -PR = "${INC_PR}.0" - -SRC_URI[archive.md5sum] = "fc4d66be7a1a1eb474954728415e46d6" -SRC_URI[archive.sha256sum] = "0692b6b0ec1019cfaa8418020b1127bfb0975f5a579a0b1f9eb7fd8f2f7126d7" - -PACKAGES =+ "libxmuu libxmuu-dev" - -FILES_libxmuu = "${libdir}/libXmuu.so.*" -FILES_libxmuu-dev = "${libdir}/libXmuu.so" - -LEAD_SONAME = "libXmu" - -XORG_PN = "libXmu" diff --git a/recipes/xorg-lib/libxpm_3.5.8.bb b/recipes/xorg-lib/libxpm_3.5.8.bb deleted file mode 100644 index 9bb7c8ea26..0000000000 --- a/recipes/xorg-lib/libxpm_3.5.8.bb +++ /dev/null @@ -1,16 +0,0 @@ -require xorg-lib-common.inc -DESCRIPTION = "X11 Pixmap library" -LICENSE = "X-BSD" -DEPENDS += "libxext libsm libxt" -PE = "1" -PR = "${INC_PR}.0" - -SRC_URI[archive.md5sum] = "38e58e72d476a74298a59052fde185a3" -SRC_URI[archive.sha256sum] = "02a77aaa32e6e335e1ee04aeb9ad1008045d98274d64ed33bc5fc6c3a3542c4c" - -PACKAGES =+ "sxpm cxpm" - -FILES_cxpm = "${bindir}/cxpm" -FILES_sxpm = "${bindir}/sxpm" - -XORG_PN = "libXpm" diff --git a/recipes/xorg-lib/libxrandr_1.2.1.bb b/recipes/xorg-lib/libxrandr_1.2.1.bb deleted file mode 100644 index 983265dfd3..0000000000 --- a/recipes/xorg-lib/libxrandr_1.2.1.bb +++ /dev/null @@ -1,13 +0,0 @@ -require xorg-lib-common.inc -DESCRIPTION = "X11 Resize and Rotate extension library" -LICENSE = "BSD-X" -DEPENDS += "randrproto libxrender libxext" -PE = "1" -PR = "${INC_PR}.0" - -SRC_URI[archive.md5sum] = "5860360f5b038cc728f388f875ce525d" -SRC_URI[archive.sha256sum] = "2d2df642eb8e0527936cdf4ed1c096f69df53e9b95e2532c8ed0cabd06a45407" - -BBCLASSEXTEND = "nativesdk" - -XORG_PN = "libXrandr" diff --git a/recipes/xorg-lib/libxrandr_1.3.0.bb b/recipes/xorg-lib/libxrandr_1.3.0.bb deleted file mode 100644 index 6808e08b7b..0000000000 --- a/recipes/xorg-lib/libxrandr_1.3.0.bb +++ /dev/null @@ -1,13 +0,0 @@ -require xorg-lib-common.inc -DESCRIPTION = "X11 Resize and Rotate extension library" -LICENSE = "BSD-X" -DEPENDS += "randrproto libxrender libxext" -PE = "1" -PR = "${INC_PR}.0" - -SRC_URI[archive.md5sum] = "68eb59c3b7524db6ffd78746ee893d1d" -SRC_URI[archive.sha256sum] = "5961ce0f77c5173a8208b3ed669ac01719f2bf4a10517ffa6c33a5e064802e78" - -BBCLASSEXTEND = "nativesdk" - -XORG_PN = "libXrandr" diff --git a/recipes/xorg-lib/libxrender_0.9.5.bb b/recipes/xorg-lib/libxrender_0.9.5.bb deleted file mode 100644 index 047b8d753e..0000000000 --- a/recipes/xorg-lib/libxrender_0.9.5.bb +++ /dev/null @@ -1,13 +0,0 @@ -require xorg-lib-common.inc -DESCRIPTION = "X11 Rendering Extension client library" -LICENSE = "BSD-X" -DEPENDS += "virtual/libx11 renderproto xproto libxdmcp" -PE = "1" -PR = "${INC_PR}.0" - -SRC_URI[archive.md5sum] = "276dd9e85daf0680616cd9f132b354c9" -SRC_URI[archive.sha256sum] = "bc0590438a4be2b674cbac6f4ad46e5a89acd02aa94817da0fa8eb3ef05ed5d5" - -BBCLASSEXTEND = "native nativesdk" - -XORG_PN = "libXrender" diff --git a/recipes/xorg-lib/libxres_1.0.4.bb b/recipes/xorg-lib/libxres_1.0.4.bb deleted file mode 100644 index 2049bebe55..0000000000 --- a/recipes/xorg-lib/libxres_1.0.4.bb +++ /dev/null @@ -1,10 +0,0 @@ -require xorg-lib-common.inc -DESCRIPTION = "X11 Resource extension library" -DEPENDS += "libxext resourceproto" -PE = "1" -PR = "${INC_PR}.0" - -SRC_URI[archive.md5sum] = "4daf91f93d924e693f6f6ed276791be2" -SRC_URI[archive.sha256sum] = "457f567a70ef8798cfb32f897ffa52c3f010923b07414b3a42277f56877572df" - -XORG_PN = "libXres" diff --git a/recipes/xorg-lib/libxscrnsaver_1.2.0.bb b/recipes/xorg-lib/libxscrnsaver_1.2.0.bb deleted file mode 100644 index f02ff38ffc..0000000000 --- a/recipes/xorg-lib/libxscrnsaver_1.2.0.bb +++ /dev/null @@ -1,13 +0,0 @@ -require xorg-lib-common.inc -DESCRIPTION = "X Screen Saver extension library" -LICENSE = "GPL" -DEPENDS += "libxext scrnsaverproto" -PE = "1" -PR = "${INC_PR}.0" - -SRC_URI[archive.md5sum] = "33e54f64b55f22d8bbe822a5b62568cb" -SRC_URI[archive.sha256sum] = "5b067bec0f2eb6405226bde5f20ca107eb0e5c11f5e5e24b455930c450487f85" - -RREPLACES_${PN} = "libxss" - -XORG_PN = "libXScrnSaver" diff --git a/recipes/xorg-lib/libxt_1.0.7.bb b/recipes/xorg-lib/libxt_1.0.7.bb deleted file mode 100644 index 238ea061f4..0000000000 --- a/recipes/xorg-lib/libxt_1.0.7.bb +++ /dev/null @@ -1,22 +0,0 @@ -require xorg-lib-common.inc -DESCRIPTION = "X11 toolkit intrinsics library" -DEPENDS += "libsm virtual/libx11 kbproto" -PE = "1" -PR = "${INC_PR}.0" - -SRC_URI[archive.md5sum] = "96f3c93434a93186d178b60d4a262496" -SRC_URI[archive.sha256sum] = "706d5248b061c8455f74ce5269ecc5ef59c27d0f52d22b07138f781928dda9ec" - -EXTRA_OECONF += "--disable-install-makestrs --disable-xkb" - -do_compile() { - ( - unset CC LD CXX CCLD - oe_runmake -C util 'XT_CFLAGS=' 'CC=${BUILD_CC}' 'LD=${BUILD_LD}' 'CXX=${BUILD_CXX}' 'CCLD=${BUILD_CCLD}' 'CFLAGS=-D_GNU_SOURCE -I${STAGING_INCDIR_NATIVE} ${BUILD_CFLAGS}' 'LDFLAGS=${BUILD_LDFLAGS}' 'CXXFLAGS=${BUILD_CXXFLAGS}' 'CPPFLAGS=${BUILD_CPPFLAGS}' makestrs - ) || exit 1 - oe_runmake -} - -BBCLASSEXTEND = "native" - -XORG_PN = "libXt" diff --git a/recipes/xorg-lib/libxtst_1.1.0.bb b/recipes/xorg-lib/libxtst_1.1.0.bb deleted file mode 100644 index 2a0ffbecb1..0000000000 --- a/recipes/xorg-lib/libxtst_1.1.0.bb +++ /dev/null @@ -1,10 +0,0 @@ -require xorg-lib-common.inc -DESCRIPTION = "X Test Extension: client side library" -DEPENDS += "libxext recordproto inputproto libxi" -PE = "1" -PR = "${INC_PR}.0" - -SRC_URI[archive.md5sum] = "dd6f3e20b87310187121539f9605d977" -SRC_URI[archive.sha256sum] = "bd440f4779e06957211ba83782a5a1cfbf1d42b14fd3510a6dce440489a4eb26" - -XORG_PN = "libXtst" diff --git a/recipes/xorg-lib/libxv_1.0.5.bb b/recipes/xorg-lib/libxv_1.0.5.bb deleted file mode 100644 index 7a60af89d1..0000000000 --- a/recipes/xorg-lib/libxv_1.0.5.bb +++ /dev/null @@ -1,10 +0,0 @@ -require xorg-lib-common.inc -DESCRIPTION = "X11 Video extension library" -LICENSE = "GPL" -DEPENDS += "libxext videoproto" -PR = "${INC_PR}.0" - -SRC_URI[archive.md5sum] = "1d97798b1d8bbf8d9085e1b223a0738f" -SRC_URI[archive.sha256sum] = "d549afdf22feefb97cca85dee12242af9f08c4d2435255dc7c30bd17d1d96010" - -XORG_PN = "libXv" diff --git a/recipes/xorg-lib/libxxf86dga_1.1.1.bb b/recipes/xorg-lib/libxxf86dga_1.1.1.bb deleted file mode 100644 index aafe621170..0000000000 --- a/recipes/xorg-lib/libxxf86dga_1.1.1.bb +++ /dev/null @@ -1,10 +0,0 @@ -require xorg-lib-common.inc -DESCRIPTION = "X11 Direct Graphics Access extension library" -DEPENDS += "libxext xf86dgaproto" -PE = "1" -PR = "${INC_PR}.0" - -SRC_URI[archive.md5sum] = "368837d3d7a4d3b4f70be48383e3544e" -SRC_URI[archive.sha256sum] = "8d37f8895ecff15cb821a3e77bd505598983a5c6eae546e77e2d3070a8de5616" - -XORG_PN = "libXxf86dga" diff --git a/recipes/xorg-lib/libxxf86misc_1.0.2.bb b/recipes/xorg-lib/libxxf86misc_1.0.2.bb deleted file mode 100644 index a44b46ff4c..0000000000 --- a/recipes/xorg-lib/libxxf86misc_1.0.2.bb +++ /dev/null @@ -1,10 +0,0 @@ -require xorg-lib-common.inc -DESCRIPTION = "X11 XFree86 miscellaneous extension library" -DEPENDS += "libxext xf86miscproto" -PE = "1" -PR = "${INC_PR}.0" - -SRC_URI[archive.md5sum] = "51fed53e8de067d4b8666f75a0212400" -SRC_URI[archive.sha256sum] = "8e64b6b1bf34fcd112b1fd866d77e110b47794e825a996e4492c0ee408957cb3" - -XORG_PN = "libXxf86misc" diff --git a/recipes/xorg-lib/libxxf86vm_1.1.0.bb b/recipes/xorg-lib/libxxf86vm_1.1.0.bb deleted file mode 100644 index 181f220cd1..0000000000 --- a/recipes/xorg-lib/libxxf86vm_1.1.0.bb +++ /dev/null @@ -1,10 +0,0 @@ -require xorg-lib-common.inc -DESCRIPTION = "X11 XFree86 video mode extension library" -DEPENDS += "libxext xf86vidmodeproto" -PE = "1" -PR = "${INC_PR}.0" - -SRC_URI[archive.md5sum] = "b431ad7084e1055fef99a9115237edd8" -SRC_URI[archive.sha256sum] = "7cc5e577b337c5267f4e65741f27229111ada8cb833e24b47713a683e8838de8" - -XORG_PN = "libXxf86vm" diff --git a/recipes/xorg-lib/pixman-0.12.0/pixman-arm.patch b/recipes/xorg-lib/pixman-0.12.0/pixman-arm.patch deleted file mode 100644 index 91dda03b7c..0000000000 --- a/recipes/xorg-lib/pixman-0.12.0/pixman-arm.patch +++ /dev/null @@ -1,632 +0,0 @@ -From: Jeff Muizelaar <jmuizelaar@mozilla.com> -Date: Wed, 17 Sep 2008 19:53:20 +0000 (-0400) -Subject: Add support for ARMv6 SIMD fastpaths. -X-Git-Url: http://gitweb.freedesktop.org/?p=pixman.git;a=commitdiff;h=d0b181f347ef4720d130beee3f03196afbd28aba - -Add support for ARMv6 SIMD fastpaths. ---- - ---- a/configure.ac -+++ b/configure.ac -@@ -277,6 +277,44 @@ AC_SUBST(VMX_CFLAGS) - - AM_CONDITIONAL(USE_VMX, test $have_vmx_intrinsics = yes) - -+dnl Check for ARM -+ -+have_armv6_simd=no -+AC_MSG_CHECKING(whether to use ARM assembler) -+xserver_save_CFLAGS=$CFLAGS -+CFLAGS="$CFLAGS $ARM_CFLAGS" -+AC_COMPILE_IFELSE([ -+int main () { -+ asm("uqadd8 r1, r1, r2"); -+ return 0; -+}], have_armv6_simd=yes) -+CFLAGS=$xserver_save_CFLAGS -+ -+AC_ARG_ENABLE(arm, -+ [AC_HELP_STRING([--disable-arm], -+ [disable ARM fast paths])], -+ [enable_arm=$enableval], [enable_arm=auto]) -+ -+if test $enable_arm = no ; then -+ have_armv6_simd=disabled -+fi -+ -+if test $have_armv6_simd = yes ; then -+ AC_DEFINE(USE_ARM, 1, [use ARM compiler intrinsics]) -+else -+ ARM_CFLAGS= -+fi -+ -+AC_MSG_RESULT($have_armv6_simd) -+if test $enable_arm = yes && test $have_armv6_simd = no ; then -+ AC_MSG_ERROR([ARM intrinsics not detected]) -+fi -+ -+AC_SUBST(ARM_CFLAGS) -+ -+AM_CONDITIONAL(USE_ARM, test $have_armv6_simd = yes) -+ -+ - AC_ARG_ENABLE(gtk, - [AC_HELP_STRING([--enable-gtk], - [enable tests using GTK+ [default=auto]])], ---- a/pixman/Makefile.am -+++ b/pixman/Makefile.am -@@ -79,3 +79,15 @@ libpixman_sse2_la_LIBADD = $(DEP_LIBS) - libpixman_1_la_LIBADD += libpixman-sse2.la - endif - -+# arm code -+if USE_ARM -+noinst_LTLIBRARIES += libpixman-arm.la -+libpixman_arm_la_SOURCES = \ -+ pixman-arm.c \ -+ pixman-arm.h -+libpixman_arm_la_CFLAGS = $(DEP_CFLAGS) $(ARM_CFLAGS) -+libpixman_arm_la_LIBADD = $(DEP_LIBS) -+libpixman_1_la_LIBADD += libpixman-arm.la -+endif -+ -+ ---- /dev/null -+++ b/pixman/pixman-arm.c -@@ -0,0 +1,409 @@ -+/* -+ * Copyright © 2008 Mozilla Corporation -+ * -+ * Permission to use, copy, modify, distribute, and sell this software and its -+ * documentation for any purpose is hereby granted without fee, provided that -+ * the above copyright notice appear in all copies and that both that -+ * copyright notice and this permission notice appear in supporting -+ * documentation, and that the name of Mozilla Corporation not be used in -+ * advertising or publicity pertaining to distribution of the software without -+ * specific, written prior permission. Mozilla Corporation makes no -+ * representations about the suitability of this software for any purpose. It -+ * is provided "as is" without express or implied warranty. -+ * -+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS -+ * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -+ * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY -+ * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN -+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING -+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS -+ * SOFTWARE. -+ * -+ * Author: Jeff Muizelaar (jeff@infidigm.net) -+ * -+ */ -+#ifdef HAVE_CONFIG_H -+#include <config.h> -+#endif -+ -+#include "pixman-arm.h" -+ -+void -+fbCompositeSrcAdd_8000x8000arm (pixman_op_t op, -+ pixman_image_t * pSrc, -+ pixman_image_t * pMask, -+ pixman_image_t * pDst, -+ int16_t xSrc, -+ int16_t ySrc, -+ int16_t xMask, -+ int16_t yMask, -+ int16_t xDst, -+ int16_t yDst, -+ uint16_t width, -+ uint16_t height) -+{ -+ uint8_t *dstLine, *dst; -+ uint8_t *srcLine, *src; -+ int dstStride, srcStride; -+ uint16_t w; -+ uint8_t s, d; -+ -+ fbComposeGetStart (pSrc, xSrc, ySrc, uint8_t, srcStride, srcLine, 1); -+ fbComposeGetStart (pDst, xDst, yDst, uint8_t, dstStride, dstLine, 1); -+ -+ while (height--) -+ { -+ dst = dstLine; -+ dstLine += dstStride; -+ src = srcLine; -+ srcLine += srcStride; -+ w = width; -+ -+ while (w && (unsigned long)dst & 3) -+ { -+ s = *src; -+ d = *dst; -+ asm("uqadd8 %0, %1, %2" : "+r"(d) : "r"(s)); -+ *dst = d; -+ -+ dst++; -+ src++; -+ w--; -+ } -+ -+ while (w >= 4) -+ { -+ asm("uqadd8 %0, %1, %2" : "=r"(*(uint32_t*)dst) : "r"(*(uint32_t*)src), "r"(*(uint32_t*)dst)); -+ dst += 4; -+ src += 4; -+ w -= 4; -+ } -+ -+ while (w) -+ { -+ s = *src; -+ d = *dst; -+ asm("uqadd8 %0, %1, %2" : "+r"(d) : "r"(s)); -+ *dst = d; -+ -+ dst++; -+ src++; -+ w--; -+ } -+ } -+ -+} -+ -+void -+fbCompositeSrc_8888x8888arm (pixman_op_t op, -+ pixman_image_t * pSrc, -+ pixman_image_t * pMask, -+ pixman_image_t * pDst, -+ int16_t xSrc, -+ int16_t ySrc, -+ int16_t xMask, -+ int16_t yMask, -+ int16_t xDst, -+ int16_t yDst, -+ uint16_t width, -+ uint16_t height) -+{ -+ uint32_t *dstLine, *dst; -+ uint32_t *srcLine, *src; -+ int dstStride, srcStride; -+ uint16_t w; -+ uint32_t component_half = 0x800080; -+ uint32_t upper_component_mask = 0xff00ff00; -+ uint32_t alpha_mask = 0xff; -+ -+ fbComposeGetStart (pDst, xDst, yDst, uint32_t, dstStride, dstLine, 1); -+ fbComposeGetStart (pSrc, xSrc, ySrc, uint32_t, srcStride, srcLine, 1); -+ -+ while (height--) -+ { -+ dst = dstLine; -+ dstLine += dstStride; -+ src = srcLine; -+ srcLine += srcStride; -+ w = width; -+ -+//#define inner_branch -+ asm volatile ( -+ "cmp %[w], #0\n\t" -+ "beq 2f\n\t" -+ "1:\n\t" -+ /* load dest */ -+ "ldr r5, [%[src]], #4\n\t" -+#ifdef inner_branch -+ /* We can avoid doing the multiplication in two cases: 0x0 or 0xff. -+ * The 0x0 case also allows us to avoid doing an unecessary data -+ * write which is more valuable so we only check for that */ -+ "cmp r5, #0x1000000\n\t" -+ "blt 3f\n\t" -+ -+ /* = 255 - alpha */ -+ "sub r8, %[alpha_mask], r5, lsr #24\n\t" -+ -+ "ldr r4, [%[dest]] \n\t" -+ -+#else -+ "ldr r4, [%[dest]] \n\t" -+ -+ /* = 255 - alpha */ -+ "sub r8, %[alpha_mask], r5, lsr #24\n\t" -+#endif -+ "uxtb16 r6, r4\n\t" -+ "uxtb16 r7, r4, ror #8\n\t" -+ -+ /* multiply by 257 and divide by 65536 */ -+ "mla r6, r6, r8, %[component_half]\n\t" -+ "mla r7, r7, r8, %[component_half]\n\t" -+ -+ "uxtab16 r6, r6, r6, ror #8\n\t" -+ "uxtab16 r7, r7, r7, ror #8\n\t" -+ -+ /* recombine the 0xff00ff00 bytes of r6 and r7 */ -+ "and r7, %[upper_component_mask]\n\t" -+ "uxtab16 r6, r7, r6, ror #8\n\t" -+ -+ "uqadd8 r5, r6, r5\n\t" -+ -+#ifdef inner_branch -+ "3:\n\t" -+ -+#endif -+ "str r5, [%[dest]], #4\n\t" -+ /* increment counter and jmp to top */ -+ "subs %[w], %[w], #1\n\t" -+ "bne 1b\n\t" -+ "2:\n\t" -+ : [w] "+r" (w), [dest] "+r" (dst), [src] "+r" (src) -+ : [component_half] "r" (component_half), [upper_component_mask] "r" (upper_component_mask), -+ [alpha_mask] "r" (alpha_mask) -+ : "r4", "r5", "r6", "r7", "r8", "cc", "memory" -+ ); -+ } -+} -+ -+void -+fbCompositeSrc_8888x8x8888arm (pixman_op_t op, -+ pixman_image_t * pSrc, -+ pixman_image_t * pMask, -+ pixman_image_t * pDst, -+ int16_t xSrc, -+ int16_t ySrc, -+ int16_t xMask, -+ int16_t yMask, -+ int16_t xDst, -+ int16_t yDst, -+ uint16_t width, -+ uint16_t height) -+{ -+ uint32_t *dstLine, *dst; -+ uint32_t *srcLine, *src; -+ uint32_t mask; -+ int dstStride, srcStride; -+ uint16_t w; -+ uint32_t component_half = 0x800080; -+ uint32_t alpha_mask = 0xff; -+ -+ fbComposeGetStart (pDst, xDst, yDst, uint32_t, dstStride, dstLine, 1); -+ fbComposeGetStart (pSrc, xSrc, ySrc, uint32_t, srcStride, srcLine, 1); -+ -+ fbComposeGetSolid (pMask, mask, pDst->bits.format); -+ mask = (mask) >> 24; -+ -+ while (height--) -+ { -+ dst = dstLine; -+ dstLine += dstStride; -+ src = srcLine; -+ srcLine += srcStride; -+ w = width; -+ -+//#define inner_branch -+ asm volatile ( -+ "cmp %[w], #0\n\t" -+ "beq 2f\n\t" -+ "1:\n\t" -+ /* load dest */ -+ "ldr r5, [%[src]], #4\n\t" -+#ifdef inner_branch -+ /* We can avoid doing the multiplication in two cases: 0x0 or 0xff. -+ * The 0x0 case also allows us to avoid doing an unecessary data -+ * write which is more valuable so we only check for that */ -+ "cmp r5, #0x1000000\n\t" -+ "blt 3f\n\t" -+ -+#endif -+ "ldr r4, [%[dest]] \n\t" -+ -+ "uxtb16 r6, r5\n\t" -+ "uxtb16 r7, r5, ror #8\n\t" -+ -+ /* multiply by alpha (r8) then by 257 and divide by 65536 */ -+ "mla r6, r6, %[mask_alpha], %[component_half]\n\t" -+ "mla r7, r7, %[mask_alpha], %[component_half]\n\t" -+ -+ "uxtab16 r6, r6, r6, ror #8\n\t" -+ "uxtab16 r7, r7, r7, ror #8\n\t" -+ -+ "uxtb16 r6, r6, ror #8\n\t" -+ "uxtb16 r7, r7, ror #8\n\t" -+ -+ /* recombine */ -+ "orr r5, r6, r7, lsl #8\n\t" -+ -+ "uxtb16 r6, r4\n\t" -+ "uxtb16 r7, r4, ror #8\n\t" -+ -+ /* 255 - alpha */ -+ "sub r8, %[alpha_mask], r5, lsr #24\n\t" -+ -+ /* multiply by alpha (r8) then by 257 and divide by 65536 */ -+ "mla r6, r6, r8, %[component_half]\n\t" -+ "mla r7, r7, r8, %[component_half]\n\t" -+ -+ "uxtab16 r6, r6, r6, ror #8\n\t" -+ "uxtab16 r7, r7, r7, ror #8\n\t" -+ -+ "uxtb16 r6, r6, ror #8\n\t" -+ "uxtb16 r7, r7, ror #8\n\t" -+ -+ /* recombine */ -+ "orr r6, r6, r7, lsl #8\n\t" -+ -+ "uqadd8 r5, r6, r5\n\t" -+ -+#ifdef inner_branch -+ "3:\n\t" -+ -+#endif -+ "str r5, [%[dest]], #4\n\t" -+ /* increment counter and jmp to top */ -+ "subs %[w], %[w], #1\n\t" -+ "bne 1b\n\t" -+ "2:\n\t" -+ : [w] "+r" (w), [dest] "+r" (dst), [src] "+r" (src) -+ : [component_half] "r" (component_half), [mask_alpha] "r" (mask), -+ [alpha_mask] "r" (alpha_mask) -+ : "r4", "r5", "r6", "r7", "r8", "r9", "cc", "memory" -+ ); -+ } -+} -+ -+void -+fbCompositeSolidMask_nx8x8888arm (pixman_op_t op, -+ pixman_image_t * pSrc, -+ pixman_image_t * pMask, -+ pixman_image_t * pDst, -+ int16_t xSrc, -+ int16_t ySrc, -+ int16_t xMask, -+ int16_t yMask, -+ int16_t xDst, -+ int16_t yDst, -+ uint16_t width, -+ uint16_t height) -+{ -+ uint32_t src, srca; -+ uint32_t *dstLine, *dst; -+ uint8_t *maskLine, *mask; -+ int dstStride, maskStride; -+ uint16_t w; -+ -+ fbComposeGetSolid(pSrc, src, pDst->bits.format); -+ -+ srca = src >> 24; -+ if (src == 0) -+ return; -+ -+ uint32_t component_mask = 0xff00ff; -+ uint32_t component_half = 0x800080; -+ -+ uint32_t src_hi = (src >> 8) & component_mask; -+ uint32_t src_lo = src & component_mask; -+ -+ fbComposeGetStart (pDst, xDst, yDst, uint32_t, dstStride, dstLine, 1); -+ fbComposeGetStart (pMask, xMask, yMask, uint8_t, maskStride, maskLine, 1); -+ -+ while (height--) -+ { -+ dst = dstLine; -+ dstLine += dstStride; -+ mask = maskLine; -+ maskLine += maskStride; -+ w = width; -+ -+//#define inner_branch -+ asm volatile ( -+ "cmp %[w], #0\n\t" -+ "beq 2f\n\t" -+ "1:\n\t" -+ /* load mask */ -+ "ldrb r5, [%[mask]], #1\n\t" -+#ifdef inner_branch -+ /* We can avoid doing the multiplication in two cases: 0x0 or 0xff. -+ * The 0x0 case also allows us to avoid doing an unecessary data -+ * write which is more valuable so we only check for that */ -+ /* 0x1000000 is the least value that contains alpha all values -+ * less than it have a 0 alpha value */ -+ "cmp r5, #0x0\n\t" -+ "beq 3f\n\t" -+ -+#endif -+ "ldr r4, [%[dest]] \n\t" -+ -+ /* multiply by alpha (r8) then by 257 and divide by 65536 */ -+ "mla r6, %[src_lo], r5, %[component_half]\n\t" -+ "mla r7, %[src_hi], r5, %[component_half]\n\t" -+ -+ "uxtab16 r6, r6, r6, ror #8\n\t" -+ "uxtab16 r7, r7, r7, ror #8\n\t" -+ -+ "uxtb16 r6, r6, ror #8\n\t" -+ "uxtb16 r7, r7, ror #8\n\t" -+ -+ /* recombine */ -+ "orr r5, r6, r7, lsl #8\n\t" -+ -+ "uxtb16 r6, r4\n\t" -+ "uxtb16 r7, r4, ror #8\n\t" -+ -+ /* we could simplify this to use 'sub' if we were -+ * willing to give up a register for alpha_mask */ -+ "mvn r8, r5\n\t" -+ "mov r8, r8, lsr #24\n\t" -+ -+ /* multiply by alpha (r8) then by 257 and divide by 65536 */ -+ "mla r6, r6, r8, %[component_half]\n\t" -+ "mla r7, r7, r8, %[component_half]\n\t" -+ -+ "uxtab16 r6, r6, r6, ror #8\n\t" -+ "uxtab16 r7, r7, r7, ror #8\n\t" -+ -+ "uxtb16 r6, r6, ror #8\n\t" -+ "uxtb16 r7, r7, ror #8\n\t" -+ -+ /* recombine */ -+ "orr r6, r6, r7, lsl #8\n\t" -+ -+ "uqadd8 r5, r6, r5\n\t" -+ -+#ifdef inner_branch -+ "3:\n\t" -+ -+#endif -+ "str r5, [%[dest]], #4\n\t" -+ /* increment counter and jmp to top */ -+ "subs %[w], %[w], #1\n\t" -+ "bne 1b\n\t" -+ "2:\n\t" -+ : [w] "+r" (w), [dest] "+r" (dst), [src] "+r" (src), [mask] "+r" (mask) -+ : [component_half] "r" (component_half), -+ [src_hi] "r" (src_hi), [src_lo] "r" (src_lo) -+ : "r4", "r5", "r6", "r7", "r8", "cc", "memory" -+ ); -+ } -+} ---- /dev/null -+++ b/pixman/pixman-arm.h -@@ -0,0 +1,94 @@ -+/* -+ * Copyright © 2008 Mozilla Corporation -+ * -+ * Permission to use, copy, modify, distribute, and sell this software and its -+ * documentation for any purpose is hereby granted without fee, provided that -+ * the above copyright notice appear in all copies and that both that -+ * copyright notice and this permission notice appear in supporting -+ * documentation, and that the name of Mozilla Corporation not be used in -+ * advertising or publicity pertaining to distribution of the software without -+ * specific, written prior permission. Mozilla Corporation makes no -+ * representations about the suitability of this software for any purpose. It -+ * is provided "as is" without express or implied warranty. -+ * -+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS -+ * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -+ * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY -+ * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN -+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING -+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS -+ * SOFTWARE. -+ * -+ * Author: Jeff Muizelaar (jeff@infidigm.net) -+ * -+ */ -+ -+#include "pixman-private.h" -+ -+#ifdef USE_ARM -+ -+static inline pixman_bool_t pixman_have_arm(void) { return TRUE; } -+ -+#else -+#define pixman_have_arm() FALSE -+#endif -+ -+#ifdef USE_ARM -+ -+void -+fbCompositeSrcAdd_8000x8000arm (pixman_op_t op, -+ pixman_image_t * pSrc, -+ pixman_image_t * pMask, -+ pixman_image_t * pDst, -+ int16_t xSrc, -+ int16_t ySrc, -+ int16_t xMask, -+ int16_t yMask, -+ int16_t xDst, -+ int16_t yDst, -+ uint16_t width, -+ uint16_t height); -+void -+fbCompositeSrc_8888x8888arm (pixman_op_t op, -+ pixman_image_t * pSrc, -+ pixman_image_t * pMask, -+ pixman_image_t * pDst, -+ int16_t xSrc, -+ int16_t ySrc, -+ int16_t xMask, -+ int16_t yMask, -+ int16_t xDst, -+ int16_t yDst, -+ uint16_t width, -+ uint16_t height); -+ -+void -+fbCompositeSrc_8888x8x8888arm (pixman_op_t op, -+ pixman_image_t * pSrc, -+ pixman_image_t * pMask, -+ pixman_image_t * pDst, -+ int16_t xSrc, -+ int16_t ySrc, -+ int16_t xMask, -+ int16_t yMask, -+ int16_t xDst, -+ int16_t yDst, -+ uint16_t width, -+ uint16_t height); -+void -+fbCompositeSolidMask_nx8x8888arm (pixman_op_t op, -+ pixman_image_t * pSrc, -+ pixman_image_t * pMask, -+ pixman_image_t * pDst, -+ int16_t xSrc, -+ int16_t ySrc, -+ int16_t xMask, -+ int16_t yMask, -+ int16_t xDst, -+ int16_t yDst, -+ uint16_t width, -+ uint16_t height); -+ -+ -+#endif /* USE_ARM */ ---- a/pixman/pixman-pict.c -+++ b/pixman/pixman-pict.c -@@ -34,6 +34,7 @@ - #include "pixman-mmx.h" - #include "pixman-vmx.h" - #include "pixman-sse2.h" -+#include "pixman-arm.h" - #include "pixman-combine32.h" - - #ifdef __GNUC__ -@@ -1479,6 +1480,26 @@ static const FastPathInfo vmx_fast_paths - }; - #endif - -+#ifdef USE_ARM -+static const FastPathInfo arm_fast_paths[] = -+{ -+ { PIXMAN_OP_OVER, PIXMAN_a8r8g8b8, PIXMAN_null, PIXMAN_a8r8g8b8, fbCompositeSrc_8888x8888arm, 0 }, -+ { PIXMAN_OP_OVER, PIXMAN_a8r8g8b8, PIXMAN_null, PIXMAN_x8r8g8b8, fbCompositeSrc_8888x8888arm, 0 }, -+ { PIXMAN_OP_OVER, PIXMAN_a8b8g8r8, PIXMAN_null, PIXMAN_a8b8g8r8, fbCompositeSrc_8888x8888arm, 0 }, -+ { PIXMAN_OP_OVER, PIXMAN_a8b8g8r8, PIXMAN_null, PIXMAN_x8b8g8r8, fbCompositeSrc_8888x8888arm, 0 }, -+ { PIXMAN_OP_OVER, PIXMAN_a8r8g8b8, PIXMAN_a8, PIXMAN_a8r8g8b8, fbCompositeSrc_8888x8x8888arm, NEED_SOLID_MASK }, -+ { PIXMAN_OP_OVER, PIXMAN_a8r8g8b8, PIXMAN_a8, PIXMAN_x8r8g8b8, fbCompositeSrc_8888x8x8888arm, NEED_SOLID_MASK }, -+ -+ { PIXMAN_OP_ADD, PIXMAN_a8, PIXMAN_null, PIXMAN_a8, fbCompositeSrcAdd_8000x8000arm, 0 }, -+ -+ { PIXMAN_OP_OVER, PIXMAN_solid, PIXMAN_a8, PIXMAN_a8r8g8b8, fbCompositeSolidMask_nx8x8888arm, 0 }, -+ { PIXMAN_OP_OVER, PIXMAN_solid, PIXMAN_a8, PIXMAN_x8r8g8b8, fbCompositeSolidMask_nx8x8888arm, 0 }, -+ { PIXMAN_OP_OVER, PIXMAN_solid, PIXMAN_a8, PIXMAN_a8b8g8r8, fbCompositeSolidMask_nx8x8888arm, 0 }, -+ { PIXMAN_OP_OVER, PIXMAN_solid, PIXMAN_a8, PIXMAN_x8b8g8r8, fbCompositeSolidMask_nx8x8888arm, 0 }, -+ -+ { PIXMAN_OP_NONE }, -+}; -+#endif - - static const FastPathInfo c_fast_paths[] = - { -@@ -1829,6 +1850,12 @@ pixman_image_composite (pixman_op_t - if (!info && pixman_have_vmx()) - info = get_fast_path (vmx_fast_paths, op, pSrc, pMask, pDst, pixbuf); - #endif -+ -+#ifdef USE_ARM -+ if (!info && pixman_have_arm()) -+ info = get_fast_path (arm_fast_paths, op, pSrc, pMask, pDst, pixbuf); -+#endif -+ - if (!info) - info = get_fast_path (c_fast_paths, op, pSrc, pMask, pDst, pixbuf); - diff --git a/recipes/xorg-lib/pixman-0.12.0/pixman-x888-565.patch b/recipes/xorg-lib/pixman-0.12.0/pixman-x888-565.patch deleted file mode 100644 index a3fa331710..0000000000 --- a/recipes/xorg-lib/pixman-0.12.0/pixman-x888-565.patch +++ /dev/null @@ -1,68 +0,0 @@ -From: Vladimir Vukicevic <vladimir@slide.(none)> -Date: Wed, 17 Sep 2008 20:01:31 +0000 (-0400) -Subject: Add SRC x888x0565 C fast path -X-Git-Url: http://gitweb.freedesktop.org/?p=pixman.git;a=commitdiff;h=7180230d4d87c55dfef1e17a0cc3b125d45aa3a0 - -Add SRC x888x0565 C fast path ---- - ---- a/pixman/pixman-pict.c -+++ b/pixman/pixman-pict.c -@@ -759,6 +759,46 @@ fbCompositeSrc_8888x0565 (pixman_op_t op - } - } - -+ -+void -+fbCompositeSrc_x888x0565 (pixman_op_t op, -+ pixman_image_t * pSrc, -+ pixman_image_t * pMask, -+ pixman_image_t * pDst, -+ int16_t xSrc, -+ int16_t ySrc, -+ int16_t xMask, -+ int16_t yMask, -+ int16_t xDst, -+ int16_t yDst, -+ uint16_t width, -+ uint16_t height) -+{ -+ uint16_t *dstLine, *dst; -+ uint32_t *srcLine, *src, s; -+ int dstStride, srcStride; -+ uint16_t w; -+ -+ fbComposeGetStart (pSrc, xSrc, ySrc, uint32_t, srcStride, srcLine, 1); -+ fbComposeGetStart (pDst, xDst, yDst, uint16_t, dstStride, dstLine, 1); -+ -+ while (height--) -+ { -+ dst = dstLine; -+ dstLine += dstStride; -+ src = srcLine; -+ srcLine += srcStride; -+ w = width; -+ -+ while (w--) -+ { -+ s = READ(pSrc, src++); -+ WRITE(pDst, dst, cvt8888to0565(s)); -+ dst++; -+ } -+ } -+} -+ - void - fbCompositeSrcAdd_8000x8000 (pixman_op_t op, - pixman_image_t * pSrc, -@@ -1568,6 +1608,10 @@ static const FastPathInfo c_fast_paths[] - { PIXMAN_OP_SRC, PIXMAN_r5g6b5, PIXMAN_null, PIXMAN_r5g6b5, fbCompositeSrcSrc_nxn, 0 }, - { PIXMAN_OP_SRC, PIXMAN_b5g6r5, PIXMAN_null, PIXMAN_b5g6r5, fbCompositeSrcSrc_nxn, 0 }, - #endif -+ { PIXMAN_OP_SRC, PIXMAN_a8r8g8b8, PIXMAN_null, PIXMAN_r5g6b5, fbCompositeSrc_x888x0565, 0 }, -+ { PIXMAN_OP_SRC, PIXMAN_x8r8g8b8, PIXMAN_null, PIXMAN_r5g6b5, fbCompositeSrc_x888x0565, 0 }, -+ { PIXMAN_OP_SRC, PIXMAN_a8b8g8r8, PIXMAN_null, PIXMAN_b5g6r5, fbCompositeSrc_x888x0565, 0 }, -+ { PIXMAN_OP_SRC, PIXMAN_x8b8g8r8, PIXMAN_null, PIXMAN_b5g6r5, fbCompositeSrc_x888x0565, 0 }, - { PIXMAN_OP_IN, PIXMAN_a8, PIXMAN_null, PIXMAN_a8, fbCompositeSrcIn_8x8, 0 }, - { PIXMAN_OP_IN, PIXMAN_solid, PIXMAN_a8, PIXMAN_a8, fbCompositeSolidMaskIn_nx8x8, 0 }, - { PIXMAN_OP_NONE }, diff --git a/recipes/xorg-lib/pixman-0.18.4/0001-Generic-C-implementation-of-pixman_blt-with-overlapp.patch b/recipes/xorg-lib/pixman-0.18.4/0001-Generic-C-implementation-of-pixman_blt-with-overlapp.patch deleted file mode 100644 index b2488de4dd..0000000000 --- a/recipes/xorg-lib/pixman-0.18.4/0001-Generic-C-implementation-of-pixman_blt-with-overlapp.patch +++ /dev/null @@ -1,114 +0,0 @@ -From 05875eca09ee23ea04ccb32f87c7c355fd1b88f3 Mon Sep 17 00:00:00 2001 -From: Siarhei Siamashka <siarhei.siamashka@nokia.com> -Date: Tue, 16 Mar 2010 16:55:28 +0100 -Subject: [PATCH 1/7] Generic C implementation of pixman_blt with overlapping support - -Uses memcpy/memmove functions to copy pixels, can handle the -case when both source and destination areas are in the same -image (this is useful for scrolling). - -It is assumed that copying direction is only important when -using the same image for both source and destination (and -src_stride == dst_stride). Copying direction is undefined -for the images with different source and destination stride -which happen to be in the overlapped areas (but this is an -unrealistic case anyway). ---- - pixman/pixman-general.c | 21 ++++++++++++++++++--- - pixman/pixman-private.h | 43 +++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 61 insertions(+), 3 deletions(-) - -diff --git a/pixman/pixman-general.c b/pixman/pixman-general.c -index bddf79a..f525744 100644 ---- a/pixman/pixman-general.c -+++ b/pixman/pixman-general.c -@@ -285,9 +285,24 @@ general_blt (pixman_implementation_t *imp, - int width, - int height) - { -- /* We can't blit unless we have sse2 or mmx */ -- -- return FALSE; -+ uint8_t *dst_bytes = (uint8_t *)dst_bits; -+ uint8_t *src_bytes = (uint8_t *)src_bits; -+ int bpp; -+ -+ if (src_bpp != dst_bpp || src_bpp & 7) -+ return FALSE; -+ -+ bpp = src_bpp >> 3; -+ width *= bpp; -+ src_stride *= 4; -+ dst_stride *= 4; -+ pixman_blt_helper (src_bytes + src_y * src_stride + src_x * bpp, -+ dst_bytes + dst_y * dst_stride + dst_x * bpp, -+ src_stride, -+ dst_stride, -+ width, -+ height); -+ return TRUE; - } - - static pixman_bool_t -diff --git a/pixman/pixman-private.h b/pixman/pixman-private.h -index d5767af..eeb677d 100644 ---- a/pixman/pixman-private.h -+++ b/pixman/pixman-private.h -@@ -10,6 +10,7 @@ - - #include "pixman.h" - #include <time.h> -+#include <string.h> - #include <assert.h> - #include <stdio.h> - #include <string.h> -@@ -867,4 +868,46 @@ void pixman_timer_register (pixman_timer_t *timer); - - #endif /* PIXMAN_TIMERS */ - -+/* a helper function, can blit 8-bit images with src/dst overlapping support */ -+static inline void -+pixman_blt_helper (uint8_t *src_bytes, -+ uint8_t *dst_bytes, -+ int src_stride, -+ int dst_stride, -+ int width, -+ int height) -+{ -+ /* -+ * The second part of this check is not strictly needed, but it prevents -+ * unnecessary upside-down processing of areas which belong to different -+ * images. Upside-down processing can be slower with fixed-distance-ahead -+ * prefetch and perceived as having more tearing. -+ */ -+ if (src_bytes < dst_bytes + width && -+ src_bytes + src_stride * height > dst_bytes) -+ { -+ src_bytes += src_stride * height - src_stride; -+ dst_bytes += dst_stride * height - dst_stride; -+ dst_stride = -dst_stride; -+ src_stride = -src_stride; -+ /* Horizontal scrolling to the left needs memmove */ -+ if (src_bytes + width > dst_bytes) -+ { -+ while (--height >= 0) -+ { -+ memmove (dst_bytes, src_bytes, width); -+ dst_bytes += dst_stride; -+ src_bytes += src_stride; -+ } -+ return; -+ } -+ } -+ while (--height >= 0) -+ { -+ memcpy (dst_bytes, src_bytes, width); -+ dst_bytes += dst_stride; -+ src_bytes += src_stride; -+ } -+} -+ - #endif /* PIXMAN_PRIVATE_H */ --- -1.6.6.1 - diff --git a/recipes/xorg-lib/pixman-0.18.4/0002-Support-of-overlapping-src-dst-for-pixman_blt_mmx.patch b/recipes/xorg-lib/pixman-0.18.4/0002-Support-of-overlapping-src-dst-for-pixman_blt_mmx.patch deleted file mode 100644 index ca6a3c5220..0000000000 --- a/recipes/xorg-lib/pixman-0.18.4/0002-Support-of-overlapping-src-dst-for-pixman_blt_mmx.patch +++ /dev/null @@ -1,91 +0,0 @@ -From 8aca14948a43f5cfd478e22cef745e55960d68cb Mon Sep 17 00:00:00 2001 -From: Siarhei Siamashka <siarhei.siamashka@nokia.com> -Date: Thu, 22 Oct 2009 05:45:47 +0300 -Subject: [PATCH 2/7] Support of overlapping src/dst for pixman_blt_mmx - ---- - pixman/pixman-mmx.c | 55 +++++++++++++++++++++++++++++--------------------- - 1 files changed, 32 insertions(+), 23 deletions(-) - -diff --git a/pixman/pixman-mmx.c b/pixman/pixman-mmx.c -index d51b40c..6e0296b 100644 ---- a/pixman/pixman-mmx.c -+++ b/pixman/pixman-mmx.c -@@ -2996,34 +2996,43 @@ pixman_blt_mmx (uint32_t *src_bits, - { - uint8_t * src_bytes; - uint8_t * dst_bytes; -- int byte_width; -+ int bpp; - -- if (src_bpp != dst_bpp) -+ if (src_bpp != dst_bpp || src_bpp & 7) - return FALSE; - -- if (src_bpp == 16) -- { -- src_stride = src_stride * (int) sizeof (uint32_t) / 2; -- dst_stride = dst_stride * (int) sizeof (uint32_t) / 2; -- src_bytes = (uint8_t *)(((uint16_t *)src_bits) + src_stride * (src_y) + (src_x)); -- dst_bytes = (uint8_t *)(((uint16_t *)dst_bits) + dst_stride * (dst_y) + (dst_x)); -- byte_width = 2 * width; -- src_stride *= 2; -- dst_stride *= 2; -- } -- else if (src_bpp == 32) -+ bpp = src_bpp >> 3; -+ width *= bpp; -+ src_stride *= 4; -+ dst_stride *= 4; -+ src_bytes = (uint8_t *)src_bits + src_y * src_stride + src_x * bpp; -+ dst_bytes = (uint8_t *)dst_bits + dst_y * dst_stride + dst_x * bpp; -+ -+ if (src_bpp != 16 && src_bpp != 32) - { -- src_stride = src_stride * (int) sizeof (uint32_t) / 4; -- dst_stride = dst_stride * (int) sizeof (uint32_t) / 4; -- src_bytes = (uint8_t *)(((uint32_t *)src_bits) + src_stride * (src_y) + (src_x)); -- dst_bytes = (uint8_t *)(((uint32_t *)dst_bits) + dst_stride * (dst_y) + (dst_x)); -- byte_width = 4 * width; -- src_stride *= 4; -- dst_stride *= 4; -+ pixman_blt_helper (src_bytes, dst_bytes, src_stride, dst_stride, -+ width, height); -+ return TRUE; - } -- else -+ -+ if (src_bytes < dst_bytes && src_bytes + src_stride * height > dst_bytes) - { -- return FALSE; -+ src_bytes += src_stride * height - src_stride; -+ dst_bytes += dst_stride * height - dst_stride; -+ dst_stride = -dst_stride; -+ src_stride = -src_stride; -+ -+ if (src_bytes + width > dst_bytes) -+ { -+ /* TODO: reverse scanline copy using MMX */ -+ while (--height >= 0) -+ { -+ memmove (dst_bytes, src_bytes, width); -+ dst_bytes += dst_stride; -+ src_bytes += src_stride; -+ } -+ return TRUE; -+ } - } - - while (height--) -@@ -3033,7 +3042,7 @@ pixman_blt_mmx (uint32_t *src_bits, - uint8_t *d = dst_bytes; - src_bytes += src_stride; - dst_bytes += dst_stride; -- w = byte_width; -+ w = width; - - while (w >= 2 && ((unsigned long)d & 3)) - { --- -1.6.6.1 - diff --git a/recipes/xorg-lib/pixman-0.18.4/0003-Support-of-overlapping-src-dst-for-pixman_blt_sse2.patch b/recipes/xorg-lib/pixman-0.18.4/0003-Support-of-overlapping-src-dst-for-pixman_blt_sse2.patch deleted file mode 100644 index faeb6e67ab..0000000000 --- a/recipes/xorg-lib/pixman-0.18.4/0003-Support-of-overlapping-src-dst-for-pixman_blt_sse2.patch +++ /dev/null @@ -1,91 +0,0 @@ -From 56c446d6912936eabcc6bdd583f37ee1209eff8c Mon Sep 17 00:00:00 2001 -From: Siarhei Siamashka <siarhei.siamashka@nokia.com> -Date: Thu, 22 Oct 2009 05:45:54 +0300 -Subject: [PATCH 3/7] Support of overlapping src/dst for pixman_blt_sse2 - ---- - pixman/pixman-sse2.c | 55 +++++++++++++++++++++++++++++-------------------- - 1 files changed, 32 insertions(+), 23 deletions(-) - -diff --git a/pixman/pixman-sse2.c b/pixman/pixman-sse2.c -index d5349d7..aa34012 100644 ---- a/pixman/pixman-sse2.c -+++ b/pixman/pixman-sse2.c -@@ -5328,34 +5328,43 @@ pixman_blt_sse2 (uint32_t *src_bits, - { - uint8_t * src_bytes; - uint8_t * dst_bytes; -- int byte_width; -+ int bpp; - -- if (src_bpp != dst_bpp) -+ if (src_bpp != dst_bpp || src_bpp & 7) - return FALSE; - -- if (src_bpp == 16) -- { -- src_stride = src_stride * (int) sizeof (uint32_t) / 2; -- dst_stride = dst_stride * (int) sizeof (uint32_t) / 2; -- src_bytes =(uint8_t *)(((uint16_t *)src_bits) + src_stride * (src_y) + (src_x)); -- dst_bytes = (uint8_t *)(((uint16_t *)dst_bits) + dst_stride * (dst_y) + (dst_x)); -- byte_width = 2 * width; -- src_stride *= 2; -- dst_stride *= 2; -- } -- else if (src_bpp == 32) -+ bpp = src_bpp >> 3; -+ width *= bpp; -+ src_stride *= 4; -+ dst_stride *= 4; -+ src_bytes = (uint8_t *)src_bits + src_y * src_stride + src_x * bpp; -+ dst_bytes = (uint8_t *)dst_bits + dst_y * dst_stride + dst_x * bpp; -+ -+ if (src_bpp != 16 && src_bpp != 32) - { -- src_stride = src_stride * (int) sizeof (uint32_t) / 4; -- dst_stride = dst_stride * (int) sizeof (uint32_t) / 4; -- src_bytes = (uint8_t *)(((uint32_t *)src_bits) + src_stride * (src_y) + (src_x)); -- dst_bytes = (uint8_t *)(((uint32_t *)dst_bits) + dst_stride * (dst_y) + (dst_x)); -- byte_width = 4 * width; -- src_stride *= 4; -- dst_stride *= 4; -+ pixman_blt_helper (src_bytes, dst_bytes, src_stride, dst_stride, -+ width, height); -+ return TRUE; - } -- else -+ -+ if (src_bytes < dst_bytes && src_bytes + src_stride * height > dst_bytes) - { -- return FALSE; -+ src_bytes += src_stride * height - src_stride; -+ dst_bytes += dst_stride * height - dst_stride; -+ dst_stride = -dst_stride; -+ src_stride = -src_stride; -+ -+ if (src_bytes + width > dst_bytes) -+ { -+ /* TODO: reverse scanline copy using SSE2 */ -+ while (--height >= 0) -+ { -+ memmove (dst_bytes, src_bytes, width); -+ dst_bytes += dst_stride; -+ src_bytes += src_stride; -+ } -+ return TRUE; -+ } - } - - cache_prefetch ((__m128i*)src_bytes); -@@ -5368,7 +5377,7 @@ pixman_blt_sse2 (uint32_t *src_bits, - uint8_t *d = dst_bytes; - src_bytes += src_stride; - dst_bytes += dst_stride; -- w = byte_width; -+ w = width; - - cache_prefetch_next ((__m128i*)s); - cache_prefetch_next ((__m128i*)d); --- -1.6.6.1 - diff --git a/recipes/xorg-lib/pixman-0.18.4/0004-Support-of-overlapping-src-dst-for-pixman_blt_neon.patch b/recipes/xorg-lib/pixman-0.18.4/0004-Support-of-overlapping-src-dst-for-pixman_blt_neon.patch deleted file mode 100644 index d56fd99c6f..0000000000 --- a/recipes/xorg-lib/pixman-0.18.4/0004-Support-of-overlapping-src-dst-for-pixman_blt_neon.patch +++ /dev/null @@ -1,94 +0,0 @@ -From 80c1eae677a6ea10d67bb7328230626cd8fce08e Mon Sep 17 00:00:00 2001 -From: Siarhei Siamashka <siarhei.siamashka@nokia.com> -Date: Wed, 18 Nov 2009 06:08:48 +0200 -Subject: [PATCH 4/7] Support of overlapping src/dst for pixman_blt_neon - ---- - pixman/pixman-arm-neon.c | 62 +++++++++++++++++++++++++++++++++++++-------- - 1 files changed, 51 insertions(+), 11 deletions(-) - -diff --git a/pixman/pixman-arm-neon.c b/pixman/pixman-arm-neon.c -index 6808b36..7feee1d 100644 ---- a/pixman/pixman-arm-neon.c -+++ b/pixman/pixman-arm-neon.c -@@ -168,26 +168,66 @@ pixman_blt_neon (uint32_t *src_bits, - int width, - int height) - { -- if (src_bpp != dst_bpp) -+ uint8_t * src_bytes; -+ uint8_t * dst_bytes; -+ int bpp; -+ -+ if (src_bpp != dst_bpp || src_bpp & 7) - return FALSE; - -+ bpp = src_bpp >> 3; -+ width *= bpp; -+ src_stride *= 4; -+ dst_stride *= 4; -+ src_bytes = (uint8_t *)src_bits + src_y * src_stride + src_x * bpp; -+ dst_bytes = (uint8_t *)dst_bits + dst_y * dst_stride + dst_x * bpp; -+ -+ if (src_bpp != 16 && src_bpp != 32) -+ { -+ pixman_blt_helper (src_bytes, dst_bytes, src_stride, dst_stride, -+ width, height); -+ return TRUE; -+ } -+ -+ if (src_bytes < dst_bytes && src_bytes + src_stride * height > dst_bytes) -+ { -+ src_bytes += src_stride * height - src_stride; -+ dst_bytes += dst_stride * height - dst_stride; -+ dst_stride = -dst_stride; -+ src_stride = -src_stride; -+ -+ if (src_bytes + width > dst_bytes) -+ { -+ /* TODO: reverse scanline copy using NEON */ -+ while (--height >= 0) -+ { -+ memmove (dst_bytes, src_bytes, width); -+ dst_bytes += dst_stride; -+ src_bytes += src_stride; -+ } -+ return TRUE; -+ } -+ } -+ - switch (src_bpp) - { - case 16: - pixman_composite_src_0565_0565_asm_neon ( -- width, height, -- (uint16_t *)(((char *) dst_bits) + -- dst_y * dst_stride * 4 + dst_x * 2), dst_stride * 2, -- (uint16_t *)(((char *) src_bits) + -- src_y * src_stride * 4 + src_x * 2), src_stride * 2); -+ width >> 1, -+ height, -+ (uint16_t *) dst_bytes, -+ dst_stride >> 1, -+ (uint16_t *) src_bytes, -+ src_stride >> 1); - return TRUE; - case 32: - pixman_composite_src_8888_8888_asm_neon ( -- width, height, -- (uint32_t *)(((char *) dst_bits) + -- dst_y * dst_stride * 4 + dst_x * 4), dst_stride, -- (uint32_t *)(((char *) src_bits) + -- src_y * src_stride * 4 + src_x * 4), src_stride); -+ width >> 2, -+ height, -+ (uint32_t *) dst_bytes, -+ dst_stride >> 2, -+ (uint32_t *) src_bytes, -+ src_stride >> 2); - return TRUE; - default: - return FALSE; --- -1.6.6.1 - diff --git a/recipes/xorg-lib/pixman-0.18.4/0005-ARM-added-NEON-optimizations-for-fetch-store-r5g6b5-.patch b/recipes/xorg-lib/pixman-0.18.4/0005-ARM-added-NEON-optimizations-for-fetch-store-r5g6b5-.patch deleted file mode 100644 index 39eda8b546..0000000000 --- a/recipes/xorg-lib/pixman-0.18.4/0005-ARM-added-NEON-optimizations-for-fetch-store-r5g6b5-.patch +++ /dev/null @@ -1,169 +0,0 @@ -From 2f5774db49521e990c5e9f7cac684a06f4e67a43 Mon Sep 17 00:00:00 2001 -From: Siarhei Siamashka <siarhei.siamashka@nokia.com> -Date: Thu, 10 Dec 2009 00:51:50 +0200 -Subject: [PATCH 5/7] ARM: added NEON optimizations for fetch/store r5g6b5 scanline - ---- - pixman/pixman-access.c | 23 ++++++++++++++++++++++- - pixman/pixman-arm-neon-asm.S | 20 ++++++++++++++++++++ - pixman/pixman-arm-neon.c | 41 +++++++++++++++++++++++++++++++++++++++++ - pixman/pixman-private.h | 5 +++++ - 4 files changed, 88 insertions(+), 1 deletions(-) - -diff --git a/pixman/pixman-access.c b/pixman/pixman-access.c -index fa0a267..5bb3e09 100644 ---- a/pixman/pixman-access.c -+++ b/pixman/pixman-access.c -@@ -2748,7 +2748,7 @@ typedef struct - store_scanline_ ## format, store_scanline_generic_64 \ - } - --static const format_info_t accessors[] = -+static format_info_t accessors[] = - { - /* 32 bpp formats */ - FORMAT_INFO (a8r8g8b8), -@@ -2891,6 +2891,27 @@ _pixman_bits_image_setup_raw_accessors (bits_image_t *image) - setup_accessors (image); - } - -+void -+_pixman_bits_override_accessors (pixman_format_code_t format, -+ fetch_scanline_t fetch_func, -+ store_scanline_t store_func) -+{ -+ format_info_t *info = accessors; -+ -+ while (info->format != PIXMAN_null) -+ { -+ if (info->format == format) -+ { -+ if (fetch_func) -+ info->fetch_scanline_raw_32 = fetch_func; -+ if (store_func) -+ info->store_scanline_raw_32 = store_func; -+ return; -+ } -+ info++; -+ } -+} -+ - #else - - void -diff --git a/pixman/pixman-arm-neon-asm.S b/pixman/pixman-arm-neon-asm.S -index 51bc347..f30869e 100644 ---- a/pixman/pixman-arm-neon-asm.S -+++ b/pixman/pixman-arm-neon-asm.S -@@ -458,6 +458,16 @@ generate_composite_function \ - pixman_composite_src_8888_0565_process_pixblock_tail, \ - pixman_composite_src_8888_0565_process_pixblock_tail_head - -+generate_composite_function_single_scanline \ -+ pixman_store_scanline_r5g6b5_asm_neon, 32, 0, 16, \ -+ FLAG_DST_WRITEONLY | FLAG_DEINTERLEAVE_32BPP, \ -+ 8, /* number of pixels, processed in a single block */ \ -+ default_init, \ -+ default_cleanup, \ -+ pixman_composite_src_8888_0565_process_pixblock_head, \ -+ pixman_composite_src_8888_0565_process_pixblock_tail, \ -+ pixman_composite_src_8888_0565_process_pixblock_tail_head -+ - /******************************************************************************/ - - .macro pixman_composite_src_0565_8888_process_pixblock_head -@@ -493,6 +503,16 @@ generate_composite_function \ - pixman_composite_src_0565_8888_process_pixblock_tail, \ - pixman_composite_src_0565_8888_process_pixblock_tail_head - -+generate_composite_function_single_scanline \ -+ pixman_fetch_scanline_r5g6b5_asm_neon, 16, 0, 32, \ -+ FLAG_DST_WRITEONLY | FLAG_DEINTERLEAVE_32BPP, \ -+ 8, /* number of pixels, processed in a single block */ \ -+ default_init, \ -+ default_cleanup, \ -+ pixman_composite_src_0565_8888_process_pixblock_head, \ -+ pixman_composite_src_0565_8888_process_pixblock_tail, \ -+ pixman_composite_src_0565_8888_process_pixblock_tail_head -+ - /******************************************************************************/ - - .macro pixman_composite_add_8000_8000_process_pixblock_head -diff --git a/pixman/pixman-arm-neon.c b/pixman/pixman-arm-neon.c -index 7feee1d..fda7a09 100644 ---- a/pixman/pixman-arm-neon.c -+++ b/pixman/pixman-arm-neon.c -@@ -375,6 +375,43 @@ neon_combine_##name##_u (pixman_implementation_t *imp, \ - BIND_COMBINE_U (over) - BIND_COMBINE_U (add) - -+void -+pixman_fetch_scanline_r5g6b5_asm_neon (int width, -+ uint32_t *buffer, -+ const uint16_t *pixel); -+void -+pixman_store_scanline_r5g6b5_asm_neon (int width, -+ uint16_t *pixel, -+ const uint32_t *values); -+ -+static void -+neon_fetch_scanline_r5g6b5 (pixman_image_t *image, -+ int x, -+ int y, -+ int width, -+ uint32_t * buffer, -+ const uint32_t *mask, -+ uint32_t mask_bits) -+{ -+ const uint32_t *bits = image->bits.bits + y * image->bits.rowstride; -+ const uint16_t *pixel = (const uint16_t *)bits + x; -+ -+ pixman_fetch_scanline_r5g6b5_asm_neon (width, buffer, pixel); -+} -+ -+static void -+neon_store_scanline_r5g6b5 (bits_image_t * image, -+ int x, -+ int y, -+ int width, -+ const uint32_t *values) -+{ -+ uint32_t *bits = image->bits + image->rowstride * y; -+ uint16_t *pixel = ((uint16_t *) bits) + x; -+ -+ pixman_store_scanline_r5g6b5_asm_neon (width, pixel, values); -+} -+ - pixman_implementation_t * - _pixman_implementation_create_arm_neon (void) - { -@@ -385,6 +422,10 @@ _pixman_implementation_create_arm_neon (void) - imp->combine_32[PIXMAN_OP_OVER] = neon_combine_over_u; - imp->combine_32[PIXMAN_OP_ADD] = neon_combine_add_u; - -+ _pixman_bits_override_accessors (PIXMAN_r5g6b5, -+ neon_fetch_scanline_r5g6b5, -+ neon_store_scanline_r5g6b5); -+ - imp->blt = arm_neon_blt; - imp->fill = arm_neon_fill; - -diff --git a/pixman/pixman-private.h b/pixman/pixman-private.h -index eeb677d..ba2d401 100644 ---- a/pixman/pixman-private.h -+++ b/pixman/pixman-private.h -@@ -220,6 +220,11 @@ void - _pixman_bits_image_setup_raw_accessors (bits_image_t *image); - - void -+_pixman_bits_override_accessors (pixman_format_code_t format, -+ fetch_scanline_t fetch_func, -+ store_scanline_t store_func); -+ -+void - _pixman_image_get_scanline_generic_64 (pixman_image_t *image, - int x, - int y, --- -1.6.6.1 - diff --git a/recipes/xorg-lib/pixman-0.18.4/0006-A-copy-paste-version-of-16bpp-bilinear-scanline-fetc.patch b/recipes/xorg-lib/pixman-0.18.4/0006-A-copy-paste-version-of-16bpp-bilinear-scanline-fetc.patch deleted file mode 100644 index dd0e0f6d4e..0000000000 --- a/recipes/xorg-lib/pixman-0.18.4/0006-A-copy-paste-version-of-16bpp-bilinear-scanline-fetc.patch +++ /dev/null @@ -1,261 +0,0 @@ -From fc24a2d8d0039cd10de4175da40bb784e2c3bf49 Mon Sep 17 00:00:00 2001 -From: Siarhei Siamashka <siarhei.siamashka@nokia.com> -Date: Fri, 4 Dec 2009 16:49:19 +0000 -Subject: [PATCH 6/7] A copy-paste version of 16bpp bilinear scanline fetcher - ---- - pixman/pixman-bits-image.c | 228 +++++++++++++++++++++++++++++++++++++++++++- - 1 files changed, 223 insertions(+), 5 deletions(-) - -diff --git a/pixman/pixman-bits-image.c b/pixman/pixman-bits-image.c -index 3d78ff0..1656975 100644 ---- a/pixman/pixman-bits-image.c -+++ b/pixman/pixman-bits-image.c -@@ -535,6 +535,212 @@ bits_image_fetch_bilinear_no_repeat_8888 (pixman_image_t * ima, - *buffer++ = 0; - } - -+static void -+bits_image_fetch_bilinear_no_repeat_0565 (pixman_image_t * ima, -+ int offset, -+ int line, -+ int width, -+ uint32_t * buffer, -+ const uint32_t * mask, -+ uint32_t mask_bits) -+{ -+ bits_image_t *bits = &ima->bits; -+ pixman_fixed_t x_top, x_bottom, x; -+ pixman_fixed_t ux_top, ux_bottom, ux; -+ pixman_vector_t v; -+ uint32_t top_mask, bottom_mask; -+ uint16_t *top_row; -+ uint16_t *bottom_row; -+ uint32_t *end; -+ uint16_t zero[2] = { 0, 0 }; -+ int y, y1, y2; -+ int disty; -+ int mask_inc; -+ int w; -+ -+ /* reference point is the center of the pixel */ -+ v.vector[0] = pixman_int_to_fixed (offset) + pixman_fixed_1 / 2; -+ v.vector[1] = pixman_int_to_fixed (line) + pixman_fixed_1 / 2; -+ v.vector[2] = pixman_fixed_1; -+ -+ if (!pixman_transform_point_3d (bits->common.transform, &v)) -+ return; -+ -+ ux = ux_top = ux_bottom = bits->common.transform->matrix[0][0]; -+ x = x_top = x_bottom = v.vector[0] - pixman_fixed_1/2; -+ -+ y = v.vector[1] - pixman_fixed_1/2; -+ disty = (y >> 8) & 0xff; -+ -+ /* Load the pointers to the first and second lines from the source -+ * image that bilinear code must read. -+ * -+ * The main trick in this code is about the check if any line are -+ * outside of the image; -+ * -+ * When I realize that a line (any one) is outside, I change -+ * the pointer to a dummy area with zeros. Once I change this, I -+ * must be sure the pointer will not change, so I set the -+ * variables to each pointer increments inside the loop. -+ */ -+ y1 = pixman_fixed_to_int (y); -+ y2 = y1 + 1; -+ -+ if (y1 < 0 || y1 >= bits->height) -+ { -+ top_row = zero; -+ x_top = 0; -+ ux_top = 0; -+ } -+ else -+ { -+ top_row = bits->bits + y1 * bits->rowstride; -+ x_top = x; -+ ux_top = ux; -+ } -+ -+ if (y2 < 0 || y2 >= bits->height) -+ { -+ bottom_row = zero; -+ x_bottom = 0; -+ ux_bottom = 0; -+ } -+ else -+ { -+ bottom_row = bits->bits + y2 * bits->rowstride; -+ x_bottom = x; -+ ux_bottom = ux; -+ } -+ -+ /* Instead of checking whether the operation uses the mast in -+ * each loop iteration, verify this only once and prepare the -+ * variables to make the code smaller inside the loop. -+ */ -+ if (!mask) -+ { -+ mask_inc = 0; -+ mask_bits = 1; -+ mask = &mask_bits; -+ } -+ else -+ { -+ /* If have a mask, prepare the variables to check it */ -+ mask_inc = 1; -+ } -+ -+ /* If both are zero, then the whole thing is zero */ -+ if (top_row == zero && bottom_row == zero) -+ { -+ memset (buffer, 0, width * sizeof (uint32_t)); -+ return; -+ } -+ else -+ { -+ if (top_row == zero) -+ { -+ top_mask = 0; -+ bottom_mask = 0xff000000; -+ } -+ else if (bottom_row == zero) -+ { -+ top_mask = 0xff000000; -+ bottom_mask = 0; -+ } -+ else -+ { -+ top_mask = 0xff000000; -+ bottom_mask = 0xff000000; -+ } -+ } -+ -+ end = buffer + width; -+ -+ /* Zero fill to the left of the image */ -+ while (buffer < end && x < pixman_fixed_minus_1) -+ { -+ *buffer++ = 0; -+ x += ux; -+ x_top += ux_top; -+ x_bottom += ux_bottom; -+ mask += mask_inc; -+ } -+ -+ /* Left edge -+ */ -+ while (buffer < end && x < 0) -+ { -+ uint32_t tr, br; -+ int32_t distx; -+ -+ tr = CONVERT_0565_TO_0888 (top_row[pixman_fixed_to_int (x_top) + 1]) | top_mask; -+ br = CONVERT_0565_TO_0888 (bottom_row[pixman_fixed_to_int (x_bottom) + 1]) | bottom_mask; -+ -+ distx = (x >> 8) & 0xff; -+ -+ *buffer++ = bilinear_interpolation (0, tr, 0, br, distx, disty); -+ -+ x += ux; -+ x_top += ux_top; -+ x_bottom += ux_bottom; -+ mask += mask_inc; -+ } -+ -+ /* Main part */ -+ w = pixman_int_to_fixed (bits->width - 1); -+ -+ while (buffer < end && x < w) -+ { -+ if (*mask) -+ { -+ uint32_t tl, tr, bl, br; -+ int32_t distx; -+ -+ tl = CONVERT_0565_TO_0888 (top_row [pixman_fixed_to_int (x_top)]) | top_mask; -+ tr = CONVERT_0565_TO_0888 (top_row [pixman_fixed_to_int (x_top) + 1]) | top_mask; -+ bl = CONVERT_0565_TO_0888 (bottom_row [pixman_fixed_to_int (x_bottom)]) | bottom_mask; -+ br = CONVERT_0565_TO_0888 (bottom_row [pixman_fixed_to_int (x_bottom) + 1]) | bottom_mask; -+ -+ distx = (x >> 8) & 0xff; -+ -+ *buffer = bilinear_interpolation (tl, tr, bl, br, distx, disty); -+ } -+ -+ buffer++; -+ x += ux; -+ x_top += ux_top; -+ x_bottom += ux_bottom; -+ mask += mask_inc; -+ } -+ -+ /* Right Edge */ -+ w = pixman_int_to_fixed (bits->width); -+ while (buffer < end && x < w) -+ { -+ if (*mask) -+ { -+ uint32_t tl, bl; -+ int32_t distx; -+ -+ tl = CONVERT_0565_TO_0888 (top_row [pixman_fixed_to_int (x_top)]) | top_mask; -+ bl = CONVERT_0565_TO_0888 (bottom_row [pixman_fixed_to_int (x_bottom)]) | bottom_mask; -+ -+ distx = (x >> 8) & 0xff; -+ -+ *buffer = bilinear_interpolation (tl, 0, bl, 0, distx, disty); -+ } -+ -+ buffer++; -+ x += ux; -+ x_top += ux_top; -+ x_bottom += ux_bottom; -+ mask += mask_inc; -+ } -+ -+ /* Zero fill to the left of the image */ -+ while (buffer < end) -+ *buffer++ = 0; -+} -+ - static force_inline uint32_t - bits_image_fetch_pixel_convolution (bits_image_t *image, - pixman_fixed_t x, -@@ -917,14 +1123,26 @@ bits_image_property_changed (pixman_image_t *image) - (bits->common.filter == PIXMAN_FILTER_BILINEAR || - bits->common.filter == PIXMAN_FILTER_GOOD || - bits->common.filter == PIXMAN_FILTER_BEST) && -- bits->common.repeat == PIXMAN_REPEAT_NONE && -- (bits->format == PIXMAN_a8r8g8b8 || -- bits->format == PIXMAN_x8r8g8b8)) -+ bits->common.repeat == PIXMAN_REPEAT_NONE) - { - image->common.get_scanline_64 = - _pixman_image_get_scanline_generic_64; -- image->common.get_scanline_32 = -- bits_image_fetch_bilinear_no_repeat_8888; -+ -+ if (bits->format == PIXMAN_a8r8g8b8 || bits->format == PIXMAN_x8r8g8b8) -+ { -+ image->common.get_scanline_32 = -+ bits_image_fetch_bilinear_no_repeat_8888; -+ } -+ else if (bits->format == PIXMAN_r5g6b5) -+ { -+ image->common.get_scanline_32 = -+ bits_image_fetch_bilinear_no_repeat_0565; -+ } -+ else -+ { -+ image->common.get_scanline_32 = -+ bits_image_fetch_transformed; -+ } - } - else - { --- -1.6.6.1 - diff --git a/recipes/xorg-lib/pixman-0.18.4/0007-ARM-added-missing-cache-preload.patch b/recipes/xorg-lib/pixman-0.18.4/0007-ARM-added-missing-cache-preload.patch deleted file mode 100644 index f601d2ce26..0000000000 --- a/recipes/xorg-lib/pixman-0.18.4/0007-ARM-added-missing-cache-preload.patch +++ /dev/null @@ -1,32 +0,0 @@ -From af8a33d3b132c0192d59c47426bb3a201cb64b32 Mon Sep 17 00:00:00 2001 -From: Siarhei Siamashka <siarhei.siamashka@nokia.com> -Date: Fri, 21 May 2010 13:31:03 +0000 -Subject: [PATCH 7/7] ARM: added missing cache preload - ---- - pixman/pixman-arm-neon-asm.S | 2 ++ - 1 files changed, 2 insertions(+), 0 deletions(-) - -diff --git a/pixman/pixman-arm-neon-asm.S b/pixman/pixman-arm-neon-asm.S -index f30869e..dc7fd69 100644 ---- a/pixman/pixman-arm-neon-asm.S -+++ b/pixman/pixman-arm-neon-asm.S -@@ -388,6 +388,7 @@ generate_composite_function \ - vld1.16 {d4, d5}, [DST_R, :128]! - vst1.16 {d28, d29}, [DST_W, :128]! - pixman_composite_over_n_0565_process_pixblock_head -+ cache_preload 8, 8 - .endm - - .macro pixman_composite_over_n_0565_init -@@ -680,6 +681,7 @@ generate_composite_function_single_scanline \ - vld4.8 {d4, d5, d6, d7}, [DST_R, :128]! - vst4.8 {d28, d29, d30, d31}, [DST_W, :128]! - pixman_composite_over_8888_8888_process_pixblock_head -+ cache_preload 8, 8 - .endm - - .macro pixman_composite_over_n_8888_init --- -1.6.6.1 - diff --git a/recipes/xorg-lib/pixman-0.18.4/565-over-neon.patch b/recipes/xorg-lib/pixman-0.18.4/565-over-neon.patch deleted file mode 100644 index c8156c4d78..0000000000 --- a/recipes/xorg-lib/pixman-0.18.4/565-over-neon.patch +++ /dev/null @@ -1,23 +0,0 @@ -From d297443267de0f5fab49ec245df9055a0dddddaf Mon Sep 17 00:00:00 2001 -From: Siarhei Siamashka <siarhei.siamashka@nokia.com> -Date: Tue, 25 May 2010 17:21:26 +0000 -Subject: ARM: NEON: don't hit general path for r5g6b5 OVER r5g6b5 operation - -OVER can't be reduced to SRC because the source image is not -considered opaque when repeat is set to PIXMAN_REPEAT_NONE. -An additional fast path table entry solves the problem. ---- -diff --git a/pixman/pixman-arm-neon.c b/pixman/pixman-arm-neon.c -index 64aa908..394dcea 100644 ---- a/pixman/pixman-arm-neon.c -+++ b/pixman/pixman-arm-neon.c -@@ -246,6 +246,7 @@ static const pixman_fast_path_t arm_neon_fast_paths[] = - PIXMAN_STD_FAST_PATH (OVER, a8b8g8r8, null, x8b8g8r8, neon_composite_over_8888_8888), - PIXMAN_STD_FAST_PATH (OVER, x8r8g8b8, null, a8r8g8b8, neon_composite_src_x888_8888), - PIXMAN_STD_FAST_PATH (OVER, x8b8g8r8, null, a8b8g8r8, neon_composite_src_x888_8888), -+ PIXMAN_STD_FAST_PATH (OVER, r5g6b5, null, r5g6b5, neon_composite_src_0565_0565), - PIXMAN_STD_FAST_PATH (ADD, solid, a8, a8, neon_composite_add_n_8_8), - PIXMAN_STD_FAST_PATH (ADD, a8, a8, a8, neon_composite_add_8_8_8), - PIXMAN_STD_FAST_PATH (ADD, a8r8g8b8, a8r8g8b8, a8r8g8b8, neon_composite_add_8888_8888_8888), --- -cgit v0.8.3-6-g21f6 diff --git a/recipes/xorg-lib/pixman-0.18.4/neon-reverse-u.patch b/recipes/xorg-lib/pixman-0.18.4/neon-reverse-u.patch deleted file mode 100644 index 76726ce1ae..0000000000 --- a/recipes/xorg-lib/pixman-0.18.4/neon-reverse-u.patch +++ /dev/null @@ -1,175 +0,0 @@ -From e0017c2a676b267900e48c6f32a6e973395c83d3 Mon Sep 17 00:00:00 2001 -From: Siarhei Siamashka <siarhei.siamashka@nokia.com> -Date: Mon, 31 May 2010 16:24:43 +0000 -Subject: ARM: 'neon_combine_out_reverse_u' combiner - ---- -diff --git a/pixman/pixman-arm-neon-asm.S b/pixman/pixman-arm-neon-asm.S -index f30869e..44fbfce 100644 ---- a/pixman/pixman-arm-neon-asm.S -+++ b/pixman/pixman-arm-neon-asm.S -@@ -597,7 +597,7 @@ generate_composite_function_single_scanline \ - - /******************************************************************************/ - --.macro pixman_composite_over_8888_8888_process_pixblock_head -+.macro pixman_composite_out_reverse_8888_8888_process_pixblock_head - vmvn.8 d24, d3 /* get inverted alpha */ - /* do alpha blending */ - vmull.u8 q8, d24, d4 -@@ -606,7 +606,7 @@ generate_composite_function_single_scanline \ - vmull.u8 q11, d24, d7 - .endm - --.macro pixman_composite_over_8888_8888_process_pixblock_tail -+.macro pixman_composite_out_reverse_8888_8888_process_pixblock_tail - vrshr.u16 q14, q8, #8 - vrshr.u16 q15, q9, #8 - vrshr.u16 q12, q10, #8 -@@ -615,6 +615,56 @@ generate_composite_function_single_scanline \ - vraddhn.u16 d29, q15, q9 - vraddhn.u16 d30, q12, q10 - vraddhn.u16 d31, q13, q11 -+.endm -+ -+.macro pixman_composite_out_reverse_8888_8888_process_pixblock_tail_head -+ vld4.8 {d4, d5, d6, d7}, [DST_R, :128]! -+ vrshr.u16 q14, q8, #8 -+ PF add PF_X, PF_X, #8 -+ PF tst PF_CTL, #0xF -+ vrshr.u16 q15, q9, #8 -+ vrshr.u16 q12, q10, #8 -+ vrshr.u16 q13, q11, #8 -+ PF addne PF_X, PF_X, #8 -+ PF subne PF_CTL, PF_CTL, #1 -+ vraddhn.u16 d28, q14, q8 -+ vraddhn.u16 d29, q15, q9 -+ PF cmp PF_X, ORIG_W -+ vraddhn.u16 d30, q12, q10 -+ vraddhn.u16 d31, q13, q11 -+ vld4.8 {d0, d1, d2, d3}, [SRC]! -+ PF pld, [PF_SRC, PF_X, lsl #src_bpp_shift] -+ vmvn.8 d22, d3 -+ PF pld, [PF_DST, PF_X, lsl #dst_bpp_shift] -+ vst4.8 {d28, d29, d30, d31}, [DST_W, :128]! -+ PF subge PF_X, PF_X, ORIG_W -+ vmull.u8 q8, d22, d4 -+ PF subges PF_CTL, PF_CTL, #0x10 -+ vmull.u8 q9, d22, d5 -+ PF ldrgeb DUMMY, [PF_SRC, SRC_STRIDE, lsl #src_bpp_shift]! -+ vmull.u8 q10, d22, d6 -+ PF ldrgeb DUMMY, [PF_DST, DST_STRIDE, lsl #dst_bpp_shift]! -+ vmull.u8 q11, d22, d7 -+.endm -+ -+generate_composite_function_single_scanline \ -+ pixman_composite_scanline_out_reverse_asm_neon, 32, 0, 32, \ -+ FLAG_DST_READWRITE | FLAG_DEINTERLEAVE_32BPP, \ -+ 8, /* number of pixels, processed in a single block */ \ -+ default_init, \ -+ default_cleanup, \ -+ pixman_composite_out_reverse_8888_8888_process_pixblock_head, \ -+ pixman_composite_out_reverse_8888_8888_process_pixblock_tail, \ -+ pixman_composite_out_reverse_8888_8888_process_pixblock_tail_head -+ -+/******************************************************************************/ -+ -+.macro pixman_composite_over_8888_8888_process_pixblock_head -+ pixman_composite_out_reverse_8888_8888_process_pixblock_head -+.endm -+ -+.macro pixman_composite_over_8888_8888_process_pixblock_tail -+ pixman_composite_out_reverse_8888_8888_process_pixblock_tail - vqadd.u8 q14, q0, q14 - vqadd.u8 q15, q1, q15 - .endm -@@ -1416,7 +1466,7 @@ generate_composite_function_single_scanline \ - - /******************************************************************************/ - --.macro pixman_composite_over_8888_n_8888_process_pixblock_head -+.macro pixman_composite_out_reverse_8888_n_8888_process_pixblock_head - /* expecting source data in {d0, d1, d2, d3} */ - /* destination data in {d4, d5, d6, d7} */ - /* solid mask is in d15 */ -@@ -1442,7 +1492,7 @@ generate_composite_function_single_scanline \ - vmull.u8 q11, d24, d7 - .endm - --.macro pixman_composite_over_8888_n_8888_process_pixblock_tail -+.macro pixman_composite_out_reverse_8888_n_8888_process_pixblock_tail - vrshr.u16 q14, q8, #8 - vrshr.u16 q15, q9, #8 - vrshr.u16 q12, q10, #8 -@@ -1451,6 +1501,49 @@ generate_composite_function_single_scanline \ - vraddhn.u16 d29, q15, q9 - vraddhn.u16 d30, q12, q10 - vraddhn.u16 d31, q13, q11 -+.endm -+ -+.macro pixman_composite_out_reverse_8888_8888_8888_init -+ vpush {d8-d15} -+.endm -+ -+.macro pixman_composite_out_reverse_8888_8888_8888_cleanup -+ vpop {d8-d15} -+.endm -+ -+/* TODO: expand macros and do better instructions scheduling */ -+.macro pixman_composite_out_reverse_8888_8888_8888_process_pixblock_tail_head -+ vld4.8 {d4, d5, d6, d7}, [DST_R, :128]! -+ pixman_composite_out_reverse_8888_n_8888_process_pixblock_tail -+ vld4.8 {d0, d1, d2, d3}, [SRC]! -+ cache_preload 8, 8 -+ vld4.8 {d12, d13, d14, d15}, [MASK]! -+ pixman_composite_out_reverse_8888_n_8888_process_pixblock_head -+ vst4.8 {d28, d29, d30, d31}, [DST_W, :128]! -+.endm -+ -+generate_composite_function_single_scanline \ -+ pixman_composite_scanline_out_reverse_mask_asm_neon, 32, 32, 32, \ -+ FLAG_DST_READWRITE | FLAG_DEINTERLEAVE_32BPP, \ -+ 8, /* number of pixels, processed in a single block */ \ -+ pixman_composite_out_reverse_8888_8888_8888_init, \ -+ pixman_composite_out_reverse_8888_8888_8888_cleanup, \ -+ pixman_composite_out_reverse_8888_n_8888_process_pixblock_head, \ -+ pixman_composite_out_reverse_8888_n_8888_process_pixblock_tail, \ -+ pixman_composite_out_reverse_8888_8888_8888_process_pixblock_tail_head \ -+ 28, /* dst_w_basereg */ \ -+ 4, /* dst_r_basereg */ \ -+ 0, /* src_basereg */ \ -+ 12 /* mask_basereg */ -+ -+/******************************************************************************/ -+ -+.macro pixman_composite_over_8888_n_8888_process_pixblock_head -+ pixman_composite_out_reverse_8888_n_8888_process_pixblock_head -+.endm -+ -+.macro pixman_composite_over_8888_n_8888_process_pixblock_tail -+ pixman_composite_out_reverse_8888_n_8888_process_pixblock_tail - vqadd.u8 q14, q0, q14 - vqadd.u8 q15, q1, q15 - .endm -diff --git a/pixman/pixman-arm-neon.c b/pixman/pixman-arm-neon.c -index 394dcea..1be9606 100644 ---- a/pixman/pixman-arm-neon.c -+++ b/pixman/pixman-arm-neon.c -@@ -335,6 +335,7 @@ neon_combine_##name##_u (pixman_implementation_t *imp, \ - - BIND_COMBINE_U (over) - BIND_COMBINE_U (add) -+BIND_COMBINE_U (out_reverse) - - void - pixman_fetch_scanline_r5g6b5_asm_neon (int width, -@@ -382,6 +383,7 @@ _pixman_implementation_create_arm_neon (void) - - imp->combine_32[PIXMAN_OP_OVER] = neon_combine_over_u; - imp->combine_32[PIXMAN_OP_ADD] = neon_combine_add_u; -+ imp->combine_32[PIXMAN_OP_OUT_REVERSE] = neon_combine_out_reverse_u; - - _pixman_bits_override_accessors (PIXMAN_r5g6b5, - neon_fetch_scanline_r5g6b5, --- -cgit v0.8.3-6-g21f6 diff --git a/recipes/xorg-lib/pixman-0.20.0/0000-Add-pixman_bits_override_accessors.patch b/recipes/xorg-lib/pixman-0.20.0/0000-Add-pixman_bits_override_accessors.patch deleted file mode 100644 index 43cd44268e..0000000000 --- a/recipes/xorg-lib/pixman-0.20.0/0000-Add-pixman_bits_override_accessors.patch +++ /dev/null @@ -1,77 +0,0 @@ -From 38aabb3be87ea68e37f34256c778d07f62680ec6 Mon Sep 17 00:00:00 2001 -From: Siarhei Siamashka <siarhei.siamashka@nokia.com> -Date: Thu, 10 Dec 2009 00:51:50 +0200 -Subject: [PATCH 1/9] add _pixman_bits_override_accessors - -* from patch ARM: HACK: added NEON optimizations for fetch/store r5g6b5 scanline -* used in - 0005-ARM-added-NEON-optimizations-for-fetch-store-r5g6b5-.patch - 0006-ARM-added-NEON-optimizations-for-fetch-store-a8-scan.patch - 0007-ARM-added-NEON-optimizations-for-fetching-x8r8g8b8-s.patch - - ---- - pixman/pixman-access.c | 23 ++++++++++++++++++++++- - pixman/pixman-private.h | 5 +++++ - 4 files changed, 87 insertions(+), 1 deletions(-) - -diff --git a/pixman/pixman-access.c b/pixman/pixman-access.c -index f1ce0ba..b33da29 100644 ---- a/pixman/pixman-access.c -+++ b/pixman/pixman-access.c -@@ -2836,7 +2836,7 @@ typedef struct - store_scanline_ ## format, store_scanline_generic_64 \ - } - --static const format_info_t accessors[] = -+static format_info_t accessors[] = - { - /* 32 bpp formats */ - FORMAT_INFO (a8r8g8b8), -@@ -2978,6 +2978,27 @@ _pixman_bits_image_setup_accessors (bits_image_t *image) - setup_accessors (image); - } - -+void -+_pixman_bits_override_accessors (pixman_format_code_t format, -+ fetch_scanline_t fetch_func, -+ store_scanline_t store_func) -+{ -+ format_info_t *info = accessors; -+ -+ while (info->format != PIXMAN_null) -+ { -+ if (info->format == format) -+ { -+ if (fetch_func) -+ info->fetch_scanline_32 = fetch_func; -+ if (store_func) -+ info->store_scanline_32 = store_func; -+ return; -+ } -+ info++; -+ } -+} -+ - #else - - void -diff --git a/pixman/pixman-private.h b/pixman/pixman-private.h -index d85868f..564f8f0 100644 ---- a/pixman/pixman-private.h -+++ b/pixman/pixman-private.h -@@ -206,6 +206,11 @@ void - _pixman_bits_image_setup_accessors (bits_image_t *image); - - void -+_pixman_bits_override_accessors (pixman_format_code_t format, -+ fetch_scanline_t fetch_func, -+ store_scanline_t store_func); -+ -+void - _pixman_image_get_scanline_generic_64 (pixman_image_t *image, - int x, - int y, --- -1.6.6.1 - diff --git a/recipes/xorg-lib/pixman-0.20.0/0001-Generic-C-implementation-of-pixman_blt-with-overlapp.patch b/recipes/xorg-lib/pixman-0.20.0/0001-Generic-C-implementation-of-pixman_blt-with-overlapp.patch deleted file mode 100644 index 795cce5bad..0000000000 --- a/recipes/xorg-lib/pixman-0.20.0/0001-Generic-C-implementation-of-pixman_blt-with-overlapp.patch +++ /dev/null @@ -1,114 +0,0 @@ -From 97b2bb933455f222b392b5c60a8bde82d7d6329f Mon Sep 17 00:00:00 2001 -From: Siarhei Siamashka <siarhei.siamashka@nokia.com> -Date: Tue, 16 Mar 2010 16:55:28 +0100 -Subject: [PATCH 1/8] Generic C implementation of pixman_blt with overlapping support - -Uses memcpy/memmove functions to copy pixels, can handle the -case when both source and destination areas are in the same -image (this is useful for scrolling). - -It is assumed that copying direction is only important when -using the same image for both source and destination (and -src_stride == dst_stride). Copying direction is undefined -for the images with different source and destination stride -which happen to be in the overlapped areas (but this is an -unrealistic case anyway). ---- - pixman/pixman-general.c | 21 ++++++++++++++++++--- - pixman/pixman-private.h | 43 +++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 61 insertions(+), 3 deletions(-) - -diff --git a/pixman/pixman-general.c b/pixman/pixman-general.c -index 4d234a0..c4d2c14 100644 ---- a/pixman/pixman-general.c -+++ b/pixman/pixman-general.c -@@ -280,9 +280,24 @@ general_blt (pixman_implementation_t *imp, - int width, - int height) - { -- /* We can't blit unless we have sse2 or mmx */ -- -- return FALSE; -+ uint8_t *dst_bytes = (uint8_t *)dst_bits; -+ uint8_t *src_bytes = (uint8_t *)src_bits; -+ int bpp; -+ -+ if (src_bpp != dst_bpp || src_bpp & 7) -+ return FALSE; -+ -+ bpp = src_bpp >> 3; -+ width *= bpp; -+ src_stride *= 4; -+ dst_stride *= 4; -+ pixman_blt_helper (src_bytes + src_y * src_stride + src_x * bpp, -+ dst_bytes + dst_y * dst_stride + dst_x * bpp, -+ src_stride, -+ dst_stride, -+ width, -+ height); -+ return TRUE; - } - - static pixman_bool_t -diff --git a/pixman/pixman-private.h b/pixman/pixman-private.h -index c43172b..f980454 100644 ---- a/pixman/pixman-private.h -+++ b/pixman/pixman-private.h -@@ -10,6 +10,7 @@ - - #include "pixman.h" - #include <time.h> -+#include <string.h> - #include <assert.h> - #include <stdio.h> - #include <string.h> -@@ -873,4 +874,46 @@ void pixman_timer_register (pixman_timer_t *timer); - - #endif /* PIXMAN_TIMERS */ - -+/* a helper function, can blit 8-bit images with src/dst overlapping support */ -+static inline void -+pixman_blt_helper (uint8_t *src_bytes, -+ uint8_t *dst_bytes, -+ int src_stride, -+ int dst_stride, -+ int width, -+ int height) -+{ -+ /* -+ * The second part of this check is not strictly needed, but it prevents -+ * unnecessary upside-down processing of areas which belong to different -+ * images. Upside-down processing can be slower with fixed-distance-ahead -+ * prefetch and perceived as having more tearing. -+ */ -+ if (src_bytes < dst_bytes + width && -+ src_bytes + src_stride * height > dst_bytes) -+ { -+ src_bytes += src_stride * height - src_stride; -+ dst_bytes += dst_stride * height - dst_stride; -+ dst_stride = -dst_stride; -+ src_stride = -src_stride; -+ /* Horizontal scrolling to the left needs memmove */ -+ if (src_bytes + width > dst_bytes) -+ { -+ while (--height >= 0) -+ { -+ memmove (dst_bytes, src_bytes, width); -+ dst_bytes += dst_stride; -+ src_bytes += src_stride; -+ } -+ return; -+ } -+ } -+ while (--height >= 0) -+ { -+ memcpy (dst_bytes, src_bytes, width); -+ dst_bytes += dst_stride; -+ src_bytes += src_stride; -+ } -+} -+ - #endif /* PIXMAN_PRIVATE_H */ --- -1.6.6.1 - diff --git a/recipes/xorg-lib/pixman-0.20.0/0002-Support-of-overlapping-src-dst-for-pixman_blt_mmx.patch b/recipes/xorg-lib/pixman-0.20.0/0002-Support-of-overlapping-src-dst-for-pixman_blt_mmx.patch deleted file mode 100644 index 6e2d492aaf..0000000000 --- a/recipes/xorg-lib/pixman-0.20.0/0002-Support-of-overlapping-src-dst-for-pixman_blt_mmx.patch +++ /dev/null @@ -1,91 +0,0 @@ -From 47b31f936641da07431093ede340465625bfcb3d Mon Sep 17 00:00:00 2001 -From: Siarhei Siamashka <siarhei.siamashka@nokia.com> -Date: Thu, 22 Oct 2009 05:45:47 +0300 -Subject: [PATCH 2/8] Support of overlapping src/dst for pixman_blt_mmx - ---- - pixman/pixman-mmx.c | 55 +++++++++++++++++++++++++++++--------------------- - 1 files changed, 32 insertions(+), 23 deletions(-) - -diff --git a/pixman/pixman-mmx.c b/pixman/pixman-mmx.c -index e936c4c..2413197 100644 ---- a/pixman/pixman-mmx.c -+++ b/pixman/pixman-mmx.c -@@ -2996,34 +2996,43 @@ pixman_blt_mmx (uint32_t *src_bits, - { - uint8_t * src_bytes; - uint8_t * dst_bytes; -- int byte_width; -+ int bpp; - -- if (src_bpp != dst_bpp) -+ if (src_bpp != dst_bpp || src_bpp & 7) - return FALSE; - -- if (src_bpp == 16) -- { -- src_stride = src_stride * (int) sizeof (uint32_t) / 2; -- dst_stride = dst_stride * (int) sizeof (uint32_t) / 2; -- src_bytes = (uint8_t *)(((uint16_t *)src_bits) + src_stride * (src_y) + (src_x)); -- dst_bytes = (uint8_t *)(((uint16_t *)dst_bits) + dst_stride * (dst_y) + (dst_x)); -- byte_width = 2 * width; -- src_stride *= 2; -- dst_stride *= 2; -- } -- else if (src_bpp == 32) -+ bpp = src_bpp >> 3; -+ width *= bpp; -+ src_stride *= 4; -+ dst_stride *= 4; -+ src_bytes = (uint8_t *)src_bits + src_y * src_stride + src_x * bpp; -+ dst_bytes = (uint8_t *)dst_bits + dst_y * dst_stride + dst_x * bpp; -+ -+ if (src_bpp != 16 && src_bpp != 32) - { -- src_stride = src_stride * (int) sizeof (uint32_t) / 4; -- dst_stride = dst_stride * (int) sizeof (uint32_t) / 4; -- src_bytes = (uint8_t *)(((uint32_t *)src_bits) + src_stride * (src_y) + (src_x)); -- dst_bytes = (uint8_t *)(((uint32_t *)dst_bits) + dst_stride * (dst_y) + (dst_x)); -- byte_width = 4 * width; -- src_stride *= 4; -- dst_stride *= 4; -+ pixman_blt_helper (src_bytes, dst_bytes, src_stride, dst_stride, -+ width, height); -+ return TRUE; - } -- else -+ -+ if (src_bytes < dst_bytes && src_bytes + src_stride * height > dst_bytes) - { -- return FALSE; -+ src_bytes += src_stride * height - src_stride; -+ dst_bytes += dst_stride * height - dst_stride; -+ dst_stride = -dst_stride; -+ src_stride = -src_stride; -+ -+ if (src_bytes + width > dst_bytes) -+ { -+ /* TODO: reverse scanline copy using MMX */ -+ while (--height >= 0) -+ { -+ memmove (dst_bytes, src_bytes, width); -+ dst_bytes += dst_stride; -+ src_bytes += src_stride; -+ } -+ return TRUE; -+ } - } - - while (height--) -@@ -3033,7 +3042,7 @@ pixman_blt_mmx (uint32_t *src_bits, - uint8_t *d = dst_bytes; - src_bytes += src_stride; - dst_bytes += dst_stride; -- w = byte_width; -+ w = width; - - while (w >= 2 && ((unsigned long)d & 3)) - { --- -1.6.6.1 - diff --git a/recipes/xorg-lib/pixman-0.20.0/0003-Support-of-overlapping-src-dst-for-pixman_blt_sse2.patch b/recipes/xorg-lib/pixman-0.20.0/0003-Support-of-overlapping-src-dst-for-pixman_blt_sse2.patch deleted file mode 100644 index 910f62e6dd..0000000000 --- a/recipes/xorg-lib/pixman-0.20.0/0003-Support-of-overlapping-src-dst-for-pixman_blt_sse2.patch +++ /dev/null @@ -1,91 +0,0 @@ -From 13be027637602fffda3b3cb6e171d8d6a67b3b4b Mon Sep 17 00:00:00 2001 -From: Siarhei Siamashka <siarhei.siamashka@nokia.com> -Date: Thu, 22 Oct 2009 05:45:54 +0300 -Subject: [PATCH 3/8] Support of overlapping src/dst for pixman_blt_sse2 - ---- - pixman/pixman-sse2.c | 55 +++++++++++++++++++++++++++++-------------------- - 1 files changed, 32 insertions(+), 23 deletions(-) - -diff --git a/pixman/pixman-sse2.c b/pixman/pixman-sse2.c -index 5907de0..25015ae 100644 ---- a/pixman/pixman-sse2.c -+++ b/pixman/pixman-sse2.c -@@ -5027,34 +5027,43 @@ pixman_blt_sse2 (uint32_t *src_bits, - { - uint8_t * src_bytes; - uint8_t * dst_bytes; -- int byte_width; -+ int bpp; - -- if (src_bpp != dst_bpp) -+ if (src_bpp != dst_bpp || src_bpp & 7) - return FALSE; - -- if (src_bpp == 16) -- { -- src_stride = src_stride * (int) sizeof (uint32_t) / 2; -- dst_stride = dst_stride * (int) sizeof (uint32_t) / 2; -- src_bytes =(uint8_t *)(((uint16_t *)src_bits) + src_stride * (src_y) + (src_x)); -- dst_bytes = (uint8_t *)(((uint16_t *)dst_bits) + dst_stride * (dst_y) + (dst_x)); -- byte_width = 2 * width; -- src_stride *= 2; -- dst_stride *= 2; -- } -- else if (src_bpp == 32) -+ bpp = src_bpp >> 3; -+ width *= bpp; -+ src_stride *= 4; -+ dst_stride *= 4; -+ src_bytes = (uint8_t *)src_bits + src_y * src_stride + src_x * bpp; -+ dst_bytes = (uint8_t *)dst_bits + dst_y * dst_stride + dst_x * bpp; -+ -+ if (src_bpp != 16 && src_bpp != 32) - { -- src_stride = src_stride * (int) sizeof (uint32_t) / 4; -- dst_stride = dst_stride * (int) sizeof (uint32_t) / 4; -- src_bytes = (uint8_t *)(((uint32_t *)src_bits) + src_stride * (src_y) + (src_x)); -- dst_bytes = (uint8_t *)(((uint32_t *)dst_bits) + dst_stride * (dst_y) + (dst_x)); -- byte_width = 4 * width; -- src_stride *= 4; -- dst_stride *= 4; -+ pixman_blt_helper (src_bytes, dst_bytes, src_stride, dst_stride, -+ width, height); -+ return TRUE; - } -- else -+ -+ if (src_bytes < dst_bytes && src_bytes + src_stride * height > dst_bytes) - { -- return FALSE; -+ src_bytes += src_stride * height - src_stride; -+ dst_bytes += dst_stride * height - dst_stride; -+ dst_stride = -dst_stride; -+ src_stride = -src_stride; -+ -+ if (src_bytes + width > dst_bytes) -+ { -+ /* TODO: reverse scanline copy using SSE2 */ -+ while (--height >= 0) -+ { -+ memmove (dst_bytes, src_bytes, width); -+ dst_bytes += dst_stride; -+ src_bytes += src_stride; -+ } -+ return TRUE; -+ } - } - - while (height--) -@@ -5064,7 +5073,7 @@ pixman_blt_sse2 (uint32_t *src_bits, - uint8_t *d = dst_bytes; - src_bytes += src_stride; - dst_bytes += dst_stride; -- w = byte_width; -+ w = width; - - while (w >= 2 && ((unsigned long)d & 3)) - { --- -1.6.6.1 - diff --git a/recipes/xorg-lib/pixman-0.20.0/0004-Support-of-overlapping-src-dst-for-pixman_blt_neon.patch b/recipes/xorg-lib/pixman-0.20.0/0004-Support-of-overlapping-src-dst-for-pixman_blt_neon.patch deleted file mode 100644 index f6aa9792b8..0000000000 --- a/recipes/xorg-lib/pixman-0.20.0/0004-Support-of-overlapping-src-dst-for-pixman_blt_neon.patch +++ /dev/null @@ -1,94 +0,0 @@ -From a913cc05a1a1c5a813cf06d248334edede9caab7 Mon Sep 17 00:00:00 2001 -From: Siarhei Siamashka <siarhei.siamashka@nokia.com> -Date: Wed, 18 Nov 2009 06:08:48 +0200 -Subject: [PATCH 4/8] Support of overlapping src/dst for pixman_blt_neon - ---- - pixman/pixman-arm-neon.c | 62 +++++++++++++++++++++++++++++++++++++-------- - 1 files changed, 51 insertions(+), 11 deletions(-) - -diff --git a/pixman/pixman-arm-neon.c b/pixman/pixman-arm-neon.c -index be5d403..cbfd7cf 100644 ---- a/pixman/pixman-arm-neon.c -+++ b/pixman/pixman-arm-neon.c -@@ -176,26 +176,66 @@ pixman_blt_neon (uint32_t *src_bits, - int width, - int height) - { -- if (src_bpp != dst_bpp) -+ uint8_t * src_bytes; -+ uint8_t * dst_bytes; -+ int bpp; -+ -+ if (src_bpp != dst_bpp || src_bpp & 7) - return FALSE; - -+ bpp = src_bpp >> 3; -+ width *= bpp; -+ src_stride *= 4; -+ dst_stride *= 4; -+ src_bytes = (uint8_t *)src_bits + src_y * src_stride + src_x * bpp; -+ dst_bytes = (uint8_t *)dst_bits + dst_y * dst_stride + dst_x * bpp; -+ -+ if (src_bpp != 16 && src_bpp != 32) -+ { -+ pixman_blt_helper (src_bytes, dst_bytes, src_stride, dst_stride, -+ width, height); -+ return TRUE; -+ } -+ -+ if (src_bytes < dst_bytes && src_bytes + src_stride * height > dst_bytes) -+ { -+ src_bytes += src_stride * height - src_stride; -+ dst_bytes += dst_stride * height - dst_stride; -+ dst_stride = -dst_stride; -+ src_stride = -src_stride; -+ -+ if (src_bytes + width > dst_bytes) -+ { -+ /* TODO: reverse scanline copy using NEON */ -+ while (--height >= 0) -+ { -+ memmove (dst_bytes, src_bytes, width); -+ dst_bytes += dst_stride; -+ src_bytes += src_stride; -+ } -+ return TRUE; -+ } -+ } -+ - switch (src_bpp) - { - case 16: - pixman_composite_src_0565_0565_asm_neon ( -- width, height, -- (uint16_t *)(((char *) dst_bits) + -- dst_y * dst_stride * 4 + dst_x * 2), dst_stride * 2, -- (uint16_t *)(((char *) src_bits) + -- src_y * src_stride * 4 + src_x * 2), src_stride * 2); -+ width >> 1, -+ height, -+ (uint16_t *) dst_bytes, -+ dst_stride >> 1, -+ (uint16_t *) src_bytes, -+ src_stride >> 1); - return TRUE; - case 32: - pixman_composite_src_8888_8888_asm_neon ( -- width, height, -- (uint32_t *)(((char *) dst_bits) + -- dst_y * dst_stride * 4 + dst_x * 4), dst_stride, -- (uint32_t *)(((char *) src_bits) + -- src_y * src_stride * 4 + src_x * 4), src_stride); -+ width >> 2, -+ height, -+ (uint32_t *) dst_bytes, -+ dst_stride >> 2, -+ (uint32_t *) src_bytes, -+ src_stride >> 2); - return TRUE; - default: - return FALSE; --- -1.6.6.1 - diff --git a/recipes/xorg-lib/pixman-0.20.0/0005-ARM-added-NEON-optimizations-for-fetch-store-r5g6b5-.patch b/recipes/xorg-lib/pixman-0.20.0/0005-ARM-added-NEON-optimizations-for-fetch-store-r5g6b5-.patch deleted file mode 100644 index dbe98b38ce..0000000000 --- a/recipes/xorg-lib/pixman-0.20.0/0005-ARM-added-NEON-optimizations-for-fetch-store-r5g6b5-.patch +++ /dev/null @@ -1,109 +0,0 @@ -From f75e9d1868e21dd75ff3a2ca3561546d23877ddb Mon Sep 17 00:00:00 2001 -From: Siarhei Siamashka <siarhei.siamashka@nokia.com> -Date: Thu, 10 Dec 2009 00:51:50 +0200 -Subject: [PATCH 5/8] ARM: added NEON optimizations for fetch/store r5g6b5 scanline - ---- - pixman/pixman-arm-neon-asm.S | 20 ++++++++++++++++++++ - pixman/pixman-arm-neon.c | 40 ++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 60 insertions(+), 0 deletions(-) - -diff --git a/pixman/pixman-arm-neon-asm.S b/pixman/pixman-arm-neon-asm.S -index e4db5cd..c79ba81 100644 ---- a/pixman/pixman-arm-neon-asm.S -+++ b/pixman/pixman-arm-neon-asm.S -@@ -459,6 +459,16 @@ generate_composite_function \ - pixman_composite_src_8888_0565_process_pixblock_tail, \ - pixman_composite_src_8888_0565_process_pixblock_tail_head - -+generate_composite_function_single_scanline \ -+ pixman_store_scanline_r5g6b5_asm_neon, 32, 0, 16, \ -+ FLAG_DST_WRITEONLY | FLAG_DEINTERLEAVE_32BPP, \ -+ 8, /* number of pixels, processed in a single block */ \ -+ default_init, \ -+ default_cleanup, \ -+ pixman_composite_src_8888_0565_process_pixblock_head, \ -+ pixman_composite_src_8888_0565_process_pixblock_tail, \ -+ pixman_composite_src_8888_0565_process_pixblock_tail_head -+ - /******************************************************************************/ - - .macro pixman_composite_src_0565_8888_process_pixblock_head -@@ -494,6 +504,16 @@ generate_composite_function \ - pixman_composite_src_0565_8888_process_pixblock_tail, \ - pixman_composite_src_0565_8888_process_pixblock_tail_head - -+generate_composite_function_single_scanline \ -+ pixman_fetch_scanline_r5g6b5_asm_neon, 16, 0, 32, \ -+ FLAG_DST_WRITEONLY | FLAG_DEINTERLEAVE_32BPP, \ -+ 8, /* number of pixels, processed in a single block */ \ -+ default_init, \ -+ default_cleanup, \ -+ pixman_composite_src_0565_8888_process_pixblock_head, \ -+ pixman_composite_src_0565_8888_process_pixblock_tail, \ -+ pixman_composite_src_0565_8888_process_pixblock_tail_head -+ - /******************************************************************************/ - - .macro pixman_composite_add_8_8_process_pixblock_head -diff --git a/pixman/pixman-arm-neon.c b/pixman/pixman-arm-neon.c -index cbfd7cf..f88c8f8 100644 ---- a/pixman/pixman-arm-neon.c -+++ b/pixman/pixman-arm-neon.c -@@ -392,6 +392,42 @@ BIND_COMBINE_U (over) - BIND_COMBINE_U (add) - BIND_COMBINE_U (out_reverse) - -+void -+pixman_fetch_scanline_r5g6b5_asm_neon (int width, -+ uint32_t *buffer, -+ const uint16_t *pixel); -+void -+pixman_store_scanline_r5g6b5_asm_neon (int width, -+ uint16_t *pixel, -+ const uint32_t *values); -+ -+static void -+neon_fetch_scanline_r5g6b5 (pixman_image_t *image, -+ int x, -+ int y, -+ int width, -+ uint32_t * buffer, -+ const uint32_t *mask) -+{ -+ const uint32_t *bits = image->bits.bits + y * image->bits.rowstride; -+ const uint16_t *pixel = (const uint16_t *)bits + x; -+ -+ pixman_fetch_scanline_r5g6b5_asm_neon (width, buffer, pixel); -+} -+ -+static void -+neon_store_scanline_r5g6b5 (bits_image_t * image, -+ int x, -+ int y, -+ int width, -+ const uint32_t *values) -+{ -+ uint32_t *bits = image->bits + image->rowstride * y; -+ uint16_t *pixel = ((uint16_t *) bits) + x; -+ -+ pixman_store_scanline_r5g6b5_asm_neon (width, pixel, values); -+} -+ - pixman_implementation_t * - _pixman_implementation_create_arm_neon (void) - { -@@ -407,6 +443,10 @@ _pixman_implementation_create_arm_neon (void) - imp->combine_32[PIXMAN_OP_ADD] = neon_combine_add_u; - imp->combine_32[PIXMAN_OP_OUT_REVERSE] = neon_combine_out_reverse_u; - -+ _pixman_bits_override_accessors (PIXMAN_r5g6b5, -+ neon_fetch_scanline_r5g6b5, -+ neon_store_scanline_r5g6b5); -+ - imp->blt = arm_neon_blt; - imp->fill = arm_neon_fill; - --- -1.6.6.1 - diff --git a/recipes/xorg-lib/pixman-0.20.0/0006-ARM-added-NEON-optimizations-for-fetch-store-a8-scan.patch b/recipes/xorg-lib/pixman-0.20.0/0006-ARM-added-NEON-optimizations-for-fetch-store-a8-scan.patch deleted file mode 100644 index d050646fa7..0000000000 --- a/recipes/xorg-lib/pixman-0.20.0/0006-ARM-added-NEON-optimizations-for-fetch-store-a8-scan.patch +++ /dev/null @@ -1,148 +0,0 @@ -From a1cd695c5e22f0f4a2b7272fab675a3cc510bacb Mon Sep 17 00:00:00 2001 -From: Siarhei Siamashka <siarhei.siamashka@nokia.com> -Date: Thu, 23 Sep 2010 21:10:56 +0300 -Subject: [PATCH 6/8] ARM: added NEON optimizations for fetch/store a8 scanline - ---- - pixman/pixman-arm-neon-asm.S | 64 ++++++++++++++++++++++++++++++++++++++++++ - pixman/pixman-arm-neon.c | 42 +++++++++++++++++++++++++++ - 2 files changed, 106 insertions(+), 0 deletions(-) - -diff --git a/pixman/pixman-arm-neon-asm.S b/pixman/pixman-arm-neon-asm.S -index c79ba81..ca0825c 100644 ---- a/pixman/pixman-arm-neon-asm.S -+++ b/pixman/pixman-arm-neon-asm.S -@@ -418,6 +418,70 @@ generate_composite_function \ - - /******************************************************************************/ - -+.macro pixman_composite_src_8_8888_process_pixblock_head -+ /* This is tricky part: we can't set these values just once in 'init' macro -+ * because leading/trailing pixels handling part uses VZIP.8 instructions, -+ * and they operate on values in-place and destroy original registers -+ * content. Think about it like VST4.8 instruction corrupting NEON -+ * registers after write in 'tail_head' macro. Except that 'tail_head' -+ * macro itself actually does not need these extra VMOVs because it uses -+ * real VST4.8 instruction. -+ */ -+ vmov.u8 q0, #0 -+ vmov.u8 d2, #0 -+.endm -+ -+.macro pixman_composite_src_8_8888_process_pixblock_tail -+.endm -+ -+.macro pixman_composite_src_8_8888_process_pixblock_tail_head -+ vst4.8 {d0, d1, d2, d3}, [DST_W, :128]! -+ vld1.8 {d3}, [SRC]! -+.endm -+ -+generate_composite_function_single_scanline \ -+ pixman_fetch_scanline_a8_asm_neon, 8, 0, 32, \ -+ FLAG_DST_WRITEONLY | FLAG_DEINTERLEAVE_32BPP, \ -+ 8, /* number of pixels, processed in a single block */ \ -+ default_init, \ -+ default_cleanup, \ -+ pixman_composite_src_8_8888_process_pixblock_head, \ -+ pixman_composite_src_8_8888_process_pixblock_tail, \ -+ pixman_composite_src_8_8888_process_pixblock_tail_head, \ -+ 0, /* dst_w_basereg */ \ -+ 0, /* dst_r_basereg */ \ -+ 3, /* src_basereg */ \ -+ 0 /* mask_basereg */ -+ -+/******************************************************************************/ -+ -+.macro pixman_composite_src_8888_8_process_pixblock_head -+.endm -+ -+.macro pixman_composite_src_8888_8_process_pixblock_tail -+.endm -+ -+.macro pixman_composite_src_8888_8_process_pixblock_tail_head -+ vst1.8 {d3}, [DST_W, :64]! -+ vld4.8 {d0, d1, d2, d3}, [SRC]! -+.endm -+ -+generate_composite_function_single_scanline \ -+ pixman_store_scanline_a8_asm_neon, 32, 0, 8, \ -+ FLAG_DST_WRITEONLY | FLAG_DEINTERLEAVE_32BPP, \ -+ 8, /* number of pixels, processed in a single block */ \ -+ default_init, \ -+ default_cleanup, \ -+ pixman_composite_src_8888_8_process_pixblock_head, \ -+ pixman_composite_src_8888_8_process_pixblock_tail, \ -+ pixman_composite_src_8888_8_process_pixblock_tail_head, \ -+ 3, /* dst_w_basereg */ \ -+ 0, /* dst_r_basereg */ \ -+ 0, /* src_basereg */ \ -+ 0 /* mask_basereg */ -+ -+/******************************************************************************/ -+ - .macro pixman_composite_src_8888_0565_process_pixblock_head - vshll.u8 q8, d1, #8 - vshll.u8 q14, d2, #8 -diff --git a/pixman/pixman-arm-neon.c b/pixman/pixman-arm-neon.c -index f88c8f8..43091d2 100644 ---- a/pixman/pixman-arm-neon.c -+++ b/pixman/pixman-arm-neon.c -@@ -428,6 +428,45 @@ neon_store_scanline_r5g6b5 (bits_image_t * image, - pixman_store_scanline_r5g6b5_asm_neon (width, pixel, values); - } - -+void -+pixman_fetch_scanline_a8_asm_neon (int width, -+ uint32_t *buffer, -+ const uint8_t *pixel); -+ -+ -+void -+pixman_store_scanline_a8_asm_neon (int width, -+ uint8_t *pixel, -+ const uint32_t *values); -+ -+static void -+neon_fetch_scanline_a8 (pixman_image_t *image, -+ int x, -+ int y, -+ int width, -+ uint32_t * buffer, -+ const uint32_t *mask) -+{ -+ const uint32_t *bits = image->bits.bits + y * image->bits.rowstride; -+ const uint8_t *pixel = (const uint8_t *) bits + x; -+ -+ pixman_fetch_scanline_a8_asm_neon (width, buffer, pixel); -+} -+ -+static void -+neon_store_scanline_a8 (bits_image_t * image, -+ int x, -+ int y, -+ int width, -+ const uint32_t *values) -+{ -+ uint32_t *bits = image->bits + image->rowstride * y; -+ uint8_t *pixel = (uint8_t *) bits + x; -+ -+ pixman_store_scanline_a8_asm_neon (width, pixel, values); -+} -+ -+ - pixman_implementation_t * - _pixman_implementation_create_arm_neon (void) - { -@@ -446,6 +485,9 @@ _pixman_implementation_create_arm_neon (void) - _pixman_bits_override_accessors (PIXMAN_r5g6b5, - neon_fetch_scanline_r5g6b5, - neon_store_scanline_r5g6b5); -+ _pixman_bits_override_accessors (PIXMAN_a8, -+ neon_fetch_scanline_a8, -+ neon_store_scanline_a8); - - imp->blt = arm_neon_blt; - imp->fill = arm_neon_fill; --- -1.6.6.1 - diff --git a/recipes/xorg-lib/pixman-0.20.0/0007-ARM-added-NEON-optimizations-for-fetching-x8r8g8b8-s.patch b/recipes/xorg-lib/pixman-0.20.0/0007-ARM-added-NEON-optimizations-for-fetching-x8r8g8b8-s.patch deleted file mode 100644 index 7f28f47cff..0000000000 --- a/recipes/xorg-lib/pixman-0.20.0/0007-ARM-added-NEON-optimizations-for-fetching-x8r8g8b8-s.patch +++ /dev/null @@ -1,77 +0,0 @@ -From d6ae7da60cc797900b5eff0786536c4a11ab0f50 Mon Sep 17 00:00:00 2001 -From: Siarhei Siamashka <siarhei.siamashka@nokia.com> -Date: Fri, 24 Sep 2010 18:22:44 +0300 -Subject: [PATCH 7/8] ARM: added NEON optimizations for fetching x8r8g8b8 scanline - ---- - pixman/pixman-arm-neon-asm.S | 14 ++++++++++++++ - pixman/pixman-arm-neon.c | 21 +++++++++++++++++++++ - 2 files changed, 35 insertions(+), 0 deletions(-) - -diff --git a/pixman/pixman-arm-neon-asm.S b/pixman/pixman-arm-neon-asm.S -index ca0825c..ffd0b83 100644 ---- a/pixman/pixman-arm-neon-asm.S -+++ b/pixman/pixman-arm-neon-asm.S -@@ -1206,6 +1206,20 @@ generate_composite_function \ - 0, /* src_basereg */ \ - 0 /* mask_basereg */ - -+generate_composite_function_single_scanline \ -+ pixman_fetch_scanline_x888_asm_neon, 32, 0, 32, \ -+ FLAG_DST_WRITEONLY, \ -+ 8, /* number of pixels, processed in a single block */ \ -+ pixman_composite_src_x888_8888_init, \ -+ default_cleanup, \ -+ pixman_composite_src_x888_8888_process_pixblock_head, \ -+ pixman_composite_src_x888_8888_process_pixblock_tail, \ -+ pixman_composite_src_x888_8888_process_pixblock_tail_head, \ -+ 0, /* dst_w_basereg */ \ -+ 0, /* dst_r_basereg */ \ -+ 0, /* src_basereg */ \ -+ 0 /* mask_basereg */ -+ - /******************************************************************************/ - - .macro pixman_composite_over_n_8_8888_process_pixblock_head -diff --git a/pixman/pixman-arm-neon.c b/pixman/pixman-arm-neon.c -index 43091d2..f84b5e6 100644 ---- a/pixman/pixman-arm-neon.c -+++ b/pixman/pixman-arm-neon.c -@@ -466,6 +466,24 @@ neon_store_scanline_a8 (bits_image_t * image, - pixman_store_scanline_a8_asm_neon (width, pixel, values); - } - -+void -+pixman_fetch_scanline_x888_asm_neon (int width, -+ uint32_t *buffer, -+ const uint32_t *pixel); -+ -+static void -+neon_fetch_scanline_x888 (pixman_image_t *image, -+ int x, -+ int y, -+ int width, -+ uint32_t * buffer, -+ const uint32_t *mask) -+{ -+ const uint32_t *bits = image->bits.bits + y * image->bits.rowstride; -+ const uint32_t *pixel = (const uint32_t *) bits + x; -+ -+ pixman_fetch_scanline_x888_asm_neon (width, buffer, pixel); -+} - - pixman_implementation_t * - _pixman_implementation_create_arm_neon (void) -@@ -488,6 +506,9 @@ _pixman_implementation_create_arm_neon (void) - _pixman_bits_override_accessors (PIXMAN_a8, - neon_fetch_scanline_a8, - neon_store_scanline_a8); -+ _pixman_bits_override_accessors (PIXMAN_x8r8g8b8, -+ neon_fetch_scanline_x888, -+ NULL); - - imp->blt = arm_neon_blt; - imp->fill = arm_neon_fill; --- -1.6.6.1 - diff --git a/recipes/xorg-lib/pixman-0.20.0/0008-ARM-optimization-for-scaled-src_0565_0565-operation-.patch b/recipes/xorg-lib/pixman-0.20.0/0008-ARM-optimization-for-scaled-src_0565_0565-operation-.patch deleted file mode 100644 index 6efdb621ad..0000000000 --- a/recipes/xorg-lib/pixman-0.20.0/0008-ARM-optimization-for-scaled-src_0565_0565-operation-.patch +++ /dev/null @@ -1,172 +0,0 @@ -From e1191ad6563a1fb02a45982b1c4d7fed3c655e97 Mon Sep 17 00:00:00 2001 -From: Siarhei Siamashka <siarhei.siamashka@nokia.com> -Date: Mon, 4 Oct 2010 01:56:59 +0300 -Subject: [PATCH 8/8] ARM optimization for scaled src_0565_0565 operation with nearest filter - -The code actually uses only armv4t instructions. - -Benchmark from ARM11: - - == before == - op=1, src_fmt=10020565, dst_fmt=10020565, speed=34.86 MPix/s - - == after == - op=1, src_fmt=10020565, dst_fmt=10020565, speed=36.62 MPix/s - -Benchmark from ARM Cortex-A8: - - == before == - op=1, src_fmt=10020565, dst_fmt=10020565, speed=89.55 MPix/s - - == after == - op=1, src_fmt=10020565, dst_fmt=10020565, speed=94.91 MPix/s ---- - pixman/pixman-arm-simd-asm.S | 66 ++++++++++++++++++++++++++++++++++++++++++ - pixman/pixman-arm-simd.c | 37 +++++++++++++++++++++++ - 2 files changed, 103 insertions(+), 0 deletions(-) - -diff --git a/pixman/pixman-arm-simd-asm.S b/pixman/pixman-arm-simd-asm.S -index a3d2d40..b6f69db 100644 ---- a/pixman/pixman-arm-simd-asm.S -+++ b/pixman/pixman-arm-simd-asm.S -@@ -1,5 +1,6 @@ - /* - * Copyright © 2008 Mozilla Corporation -+ * Copyright © 2010 Nokia Corporation - * - * Permission to use, copy, modify, distribute, and sell this software and its - * documentation for any purpose is hereby granted without fee, provided that -@@ -328,3 +329,68 @@ pixman_asm_function pixman_composite_over_n_8_8888_asm_armv6 - pop {r4, r5, r6, r7, r8, r9, r10, r11} - bx lr - .endfunc -+ -+/* -+ * Note: This function is actually primarily optimized for ARM Cortex-A8 -+ * pipeline. In order to get good performance on ARM9/ARM11 cores (which -+ * don't have efficient write combining), it needs to be changed to use -+ * 16-byte aligned writes using STM instruction. -+ */ -+pixman_asm_function pixman_scaled_nearest_scanline_565_565_SRC_asm_armv6 -+ DST .req r0 -+ SRC .req r1 -+ W .req r2 -+ VX .req r3 -+ UNIT_X .req r12 -+ TMP1 .req r4 -+ TMP2 .req r5 -+ MASK .req r6 -+ ldr UNIT_X, [sp] -+ push {r4, r5, r6, r7} -+ mvn MASK, #1 -+ -+ /* define helper macro */ -+ .macro scale_2_pixels -+ ldrh TMP1, [SRC, TMP1] -+ and TMP2, MASK, VX, lsr #15 -+ add VX, VX, UNIT_X -+ strh TMP1, [DST], #2 -+ -+ ldrh TMP2, [SRC, TMP2] -+ and TMP1, MASK, VX, lsr #15 -+ add VX, VX, UNIT_X -+ strh TMP2, [DST], #2 -+ .endm -+ -+ /* now do the scaling */ -+ and TMP1, MASK, VX, lsr #15 -+ add VX, VX, UNIT_X -+ subs W, #4 -+ blt 2f -+1: /* main loop, process 4 pixels per iteration */ -+ scale_2_pixels -+ scale_2_pixels -+ subs W, W, #4 -+ bge 1b -+2: -+ tst W, #2 -+ beq 2f -+ scale_2_pixels -+2: -+ tst W, #1 -+ ldrneh TMP1, [SRC, TMP1] -+ strneh TMP1, [DST], #2 -+ /* cleanup helper macro */ -+ .purgem scale_2_pixels -+ .unreq DST -+ .unreq SRC -+ .unreq W -+ .unreq VX -+ .unreq UNIT_X -+ .unreq TMP1 -+ .unreq TMP2 -+ .unreq MASK -+ /* return */ -+ pop {r4, r5, r6, r7} -+ bx lr -+.endfunc -diff --git a/pixman/pixman-arm-simd.c b/pixman/pixman-arm-simd.c -index d466a31..f6f464c 100644 ---- a/pixman/pixman-arm-simd.c -+++ b/pixman/pixman-arm-simd.c -@@ -29,6 +29,7 @@ - - #include "pixman-private.h" - #include "pixman-arm-common.h" -+#include "pixman-fast-path.h" - - #if 0 /* This code was moved to 'pixman-arm-simd-asm.S' */ - -@@ -375,6 +376,35 @@ pixman_composite_over_n_8_8888_asm_armv6 (int32_t width, - - #endif - -+void -+pixman_scaled_nearest_scanline_565_565_SRC_asm_armv6 (uint16_t * dst, -+ uint16_t * src, -+ int32_t w, -+ pixman_fixed_t vx, -+ pixman_fixed_t unit_x); -+ -+static force_inline void -+scaled_nearest_scanline_armv6_565_565_SRC (uint16_t * dst, -+ uint16_t * src, -+ int32_t w, -+ pixman_fixed_t vx, -+ pixman_fixed_t unit_x, -+ pixman_fixed_t max_vx) -+{ -+ pixman_scaled_nearest_scanline_565_565_SRC_asm_armv6 (dst, src, w, -+ vx, unit_x); -+} -+ -+FAST_NEAREST_MAINLOOP (armv6_565_565_cover_SRC, -+ scaled_nearest_scanline_armv6_565_565_SRC, -+ uint16_t, uint16_t, COVER); -+FAST_NEAREST_MAINLOOP (armv6_565_565_none_SRC, -+ scaled_nearest_scanline_armv6_565_565_SRC, -+ uint16_t, uint16_t, NONE); -+FAST_NEAREST_MAINLOOP (armv6_565_565_pad_SRC, -+ scaled_nearest_scanline_armv6_565_565_SRC, -+ uint16_t, uint16_t, PAD); -+ - PIXMAN_ARM_BIND_FAST_PATH_SRC_DST (armv6, add_8_8, - uint8_t, 1, uint8_t, 1) - PIXMAN_ARM_BIND_FAST_PATH_SRC_DST (armv6, over_8888_8888, -@@ -404,6 +434,13 @@ static const pixman_fast_path_t arm_simd_fast_paths[] = - PIXMAN_STD_FAST_PATH (OVER, solid, a8, a8b8g8r8, armv6_composite_over_n_8_8888), - PIXMAN_STD_FAST_PATH (OVER, solid, a8, x8b8g8r8, armv6_composite_over_n_8_8888), - -+ SIMPLE_NEAREST_FAST_PATH_COVER (SRC, r5g6b5, r5g6b5, armv6_565_565), -+ SIMPLE_NEAREST_FAST_PATH_COVER (SRC, b5g6r5, b5g6r5, armv6_565_565), -+ SIMPLE_NEAREST_FAST_PATH_NONE (SRC, r5g6b5, r5g6b5, armv6_565_565), -+ SIMPLE_NEAREST_FAST_PATH_NONE (SRC, b5g6r5, b5g6r5, armv6_565_565), -+ SIMPLE_NEAREST_FAST_PATH_PAD (SRC, r5g6b5, r5g6b5, armv6_565_565), -+ SIMPLE_NEAREST_FAST_PATH_PAD (SRC, b5g6r5, b5g6r5, armv6_565_565), -+ - { PIXMAN_OP_NONE }, - }; - --- -1.6.6.1 - diff --git a/recipes/xorg-lib/pixman_0.12.0.bb b/recipes/xorg-lib/pixman_0.12.0.bb deleted file mode 100644 index fcf0c14930..0000000000 --- a/recipes/xorg-lib/pixman_0.12.0.bb +++ /dev/null @@ -1,9 +0,0 @@ -require pixman.inc -PR = "${INC_PR}.0" - -SRC_URI += " \ - file://pixman-arm.patch \ - file://pixman-x888-565.patch \ - " -SRC_URI[archive.md5sum] = "09357cc74975b01714e00c5899ea1881" -SRC_URI[archive.sha256sum] = "2b16516ef147bb604e1cf50c883143a052a7ff92d2930b70e571da0603b7d9ce" diff --git a/recipes/xorg-lib/pixman_0.16.2.bb b/recipes/xorg-lib/pixman_0.16.2.bb deleted file mode 100644 index 399bb6a152..0000000000 --- a/recipes/xorg-lib/pixman_0.16.2.bb +++ /dev/null @@ -1,7 +0,0 @@ -require pixman.inc -PR = "${INC_PR}.1" - -SRC_URI[archive.md5sum] = "02bd3669f53c404c19980d5efb6f86fb" -SRC_URI[archive.sha256sum] = "05f78c2fd3a5f054c0d716e8ba1b67a0c04a7a7e642d6946828ec383b389d185" - -EXTRA_OECONF = "--disable-gtk" diff --git a/recipes/xorg-lib/pixman_0.18.4.bb b/recipes/xorg-lib/pixman_0.18.4.bb deleted file mode 100644 index 286477ac32..0000000000 --- a/recipes/xorg-lib/pixman_0.18.4.bb +++ /dev/null @@ -1,21 +0,0 @@ -require pixman.inc -PR = "${INC_PR}.1" - -SRC_URI[archive.md5sum] = "532db4194e18c108d0b7dd85f20d39b8" -SRC_URI[archive.sha256sum] = "1484092277c5187f5458229a2b7fd7fbc0cb07e1f220c7f8f9ac65de6dba7989" -SRC_URI += "\ - file://0001-Generic-C-implementation-of-pixman_blt-with-overlapp.patch\ - file://0002-Support-of-overlapping-src-dst-for-pixman_blt_mmx.patch\ - file://0003-Support-of-overlapping-src-dst-for-pixman_blt_sse2.patch\ - file://0004-Support-of-overlapping-src-dst-for-pixman_blt_neon.patch\ - file://0005-ARM-added-NEON-optimizations-for-fetch-store-r5g6b5-.patch\ - file://0006-A-copy-paste-version-of-16bpp-bilinear-scanline-fetc.patch\ - file://0007-ARM-added-missing-cache-preload.patch\ - file://565-over-neon.patch \ - file://neon-reverse-u.patch \ -" - -NEON = " --disable-arm-neon " -NEON_armv7a = " " - -EXTRA_OECONF = "${NEON} --disable-gtk" diff --git a/recipes/xorg-lib/pixman_0.20.0.bb b/recipes/xorg-lib/pixman_0.20.0.bb deleted file mode 100644 index b3fbd4f155..0000000000 --- a/recipes/xorg-lib/pixman_0.20.0.bb +++ /dev/null @@ -1,23 +0,0 @@ -require pixman.inc - -SRC_URI[archive.md5sum] = "c1a31d5cedfa97c5af7148a2d1fd4356" -SRC_URI[archive.sha256sum] = "9c02c22c6cc3f28f3633d02ef6f0cac130518f621edb011ebbbf08cd1a81251a" - -PR = "${INC_PR}.0" - -SRC_URI += "\ - file://0000-Add-pixman_bits_override_accessors.patch \ - file://0001-Generic-C-implementation-of-pixman_blt-with-overlapp.patch \ - file://0002-Support-of-overlapping-src-dst-for-pixman_blt_mmx.patch \ - file://0003-Support-of-overlapping-src-dst-for-pixman_blt_sse2.patch \ - file://0004-Support-of-overlapping-src-dst-for-pixman_blt_neon.patch \ - file://0005-ARM-added-NEON-optimizations-for-fetch-store-r5g6b5-.patch \ - file://0006-ARM-added-NEON-optimizations-for-fetch-store-a8-scan.patch \ - file://0007-ARM-added-NEON-optimizations-for-fetching-x8r8g8b8-s.patch \ - file://0008-ARM-optimization-for-scaled-src_0565_0565-operation-.patch \ -" - -NEON = " --disable-arm-neon " -NEON_armv7a = " " - -EXTRA_OECONF = "${NEON} --disable-gtk" diff --git a/recipes/xorg-lib/xtrans_1.2.5.bb b/recipes/xorg-lib/xtrans_1.2.5.bb deleted file mode 100644 index e6e3714702..0000000000 --- a/recipes/xorg-lib/xtrans_1.2.5.bb +++ /dev/null @@ -1,13 +0,0 @@ -require xorg-lib-common.inc -DESCRIPTION = "network API translation layer to insulate X applications and \ -libraries from OS network vageries." -RDEPENDS_${PN}-dev = "" -PE = "1" -PR = "${INC_PR}.0" - -SRC_URI[archive.md5sum] = "2d1e57e82acc5f21797e92341415af2f" -SRC_URI[archive.sha256sum] = "cc71a391f4da8176e5daeeac1ddf5137ba5e8d2263cb93a49f9e2a9976b90899" - -ALLOW_EMPTY = "1" - -BBCLASSEXTEND = "native nativesdk" |