summaryrefslogtreecommitdiff
path: root/recipes/powervr-drivers
diff options
context:
space:
mode:
authorKoen Kooi <koen@openembedded.org>2010-02-23 16:04:51 +0100
committerKoen Kooi <koen@openembedded.org>2010-02-24 12:06:59 +0100
commit32799b8fb20c213dd932780bf21148d050d772f4 (patch)
tree905c698018af48ae6aa94094a67badfa5aa674bc /recipes/powervr-drivers
parent23681e960148d0edff965eaef30044678eed111e (diff)
libgles-omap3: complete overhaul
* convert to new-style staging * (re)build demos with proper toolchain and flags * build trainingcourses * generate .desktop files on the fly * delete old versions
Diffstat (limited to 'recipes/powervr-drivers')
-rw-r--r--recipes/powervr-drivers/libgles-omap3.inc243
-rw-r--r--recipes/powervr-drivers/libgles-omap3/chameleonman.desktop8
-rw-r--r--recipes/powervr-drivers/libgles-omap3/evilskull.desktop8
-rw-r--r--recipes/powervr-drivers/libgles-omap3/fivespheres.desktop8
-rw-r--r--recipes/powervr-drivers/libgles-omap3/lighting.desktop8
-rw-r--r--recipes/powervr-drivers/libgles-omap3/mouse.desktop8
-rw-r--r--recipes/powervr-drivers/libgles-omap3/optimizemesh.desktop8
-rw-r--r--recipes/powervr-drivers/libgles-omap3/particles.desktop8
-rw-r--r--recipes/powervr-drivers/libgles-omap3/polybump.desktop8
-rwxr-xr-xrecipes/powervr-drivers/libgles-omap3/rc.pvr56
-rw-r--r--recipes/powervr-drivers/libgles-omap3/sample.desktop8
-rw-r--r--recipes/powervr-drivers/libgles-omap3/shaders.desktop8
-rw-r--r--recipes/powervr-drivers/libgles-omap3/shadowtechniques.desktop8
-rw-r--r--recipes/powervr-drivers/libgles-omap3/skybox.desktop8
-rw-r--r--recipes/powervr-drivers/libgles-omap3/skybox2.desktop8
-rw-r--r--recipes/powervr-drivers/libgles-omap3/trilinear.desktop8
-rw-r--r--recipes/powervr-drivers/libgles-omap3/userclipplanes.desktop8
-rw-r--r--recipes/powervr-drivers/libgles-omap3/vase.desktop8
-rw-r--r--recipes/powervr-drivers/libgles-omap3_3.01.00.02.bb19
-rw-r--r--recipes/powervr-drivers/omap3-sgx-modules/0001-Compile-fixes-for-DSS2.patch96
-rw-r--r--recipes/powervr-drivers/omap3-sgx-modules/0001-New-build-system-for-SGX.patch247
-rw-r--r--recipes/powervr-drivers/omap3-sgx-modules/0002-Compile-fixes-for-DSS2.patch11
-rw-r--r--recipes/powervr-drivers/omap3-sgx-modules/build_es3.x_sgx.patch11
-rw-r--r--recipes/powervr-drivers/omap3-sgx-modules/omap3-sgx-modules-1.3.13.1607.tar.bz2bin178370 -> 0 bytes
-rwxr-xr-xrecipes/powervr-drivers/omap3-sgx-modules/proc-interface.patch22
-rw-r--r--recipes/powervr-drivers/omap3-sgx-modules/rotation-dss2.patch21
-rw-r--r--recipes/powervr-drivers/omap3-sgx-modules/spurious-irq-fix.diff11
27 files changed, 216 insertions, 649 deletions
diff --git a/recipes/powervr-drivers/libgles-omap3.inc b/recipes/powervr-drivers/libgles-omap3.inc
index 27f732ba27..dd222df411 100644
--- a/recipes/powervr-drivers/libgles-omap3.inc
+++ b/recipes/powervr-drivers/libgles-omap3.inc
@@ -2,13 +2,8 @@ DESCRIPTION = "libGLES for the omap3"
LICENCE = "proprietary-binary"
COMPATIBLE_MACHINE = "(am3517-evm|beagleboard|cm-t35|igep0020|omap3-pandora|omap3-touchbook|omap3evm|omapzoom|omapzoom2|overo|palmpre)"
-RDEPENDS_${PN} += "devmem2 fbset"
-#HACK! These are binaries, so we can't guarantee that LDFLAGS match :(
-INSANE_SKIP_${PN} = True
-INSANE_SKIP_${PN}-tests = True
-INSANE_SKIP_${PN}-demos = True
-INSANE_SKIP_xserver-kdrive-powervrsgx = True
+DEPENDS = "virtual/libx11 libxau libxdmcpdev"
PROVIDES += "virtual/egl"
@@ -22,87 +17,119 @@ PROVIDES += "virtual/egl"
# (replace version in .bin file as appropriate)
# 3. put the OMAP35x_*.bin file in libgles-omap3/
# mv OMAP35x_Graphics_SDK_setuplinux_3_00_00_06.bin ./libgles-omap3/
-# 4. make it executable:
-# chmod a+x ./libgles-omap3/OMAP35x_Graphics_SDK_setuplinux_3_00_00_06.bin
#
# voila!
SRC_URI = "file://OMAP35x_Graphics_SDK_setuplinux_${SGXPV}.bin \
- file://cputype \
- file://rc.pvr \
- file://chameleonman.desktop \
- file://evilskull.desktop \
- file://fivespheres.desktop \
- file://lighting.desktop \
- file://mouse.desktop \
- file://optimizemesh.desktop \
- file://particles.desktop \
- file://polybump.desktop \
- file://shadowtechniques.desktop \
- file://skybox.desktop \
- file://trilinear.desktop \
- file://userclipplanes.desktop \
- file://vase.desktop \
- file://shaders.desktop \
- file://skybox2.desktop \
- "
+ file://cputype \
+ file://rc.pvr \
+ file://sample.desktop \
+ "
S = "${WORKDIR}/OMAP35x_Graphics_SDK_${SGXPV}"
+# Logic to unpack installjammer file
TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
require ../ti/ti-eula-unpack.inc
BINLOCATION ?= "${S}/gfx_rel"
-PACKAGES += " xserver-kdrive-powervrsgx ${PN}-tests ${PN}-demos"
-
-FILES_${PN} = "${sysconfdir} ${libdir}/lib*.so.* ${libdir}/ES*/* ${bindir}/pvrsrvinit ${bindir}/cputype ${bindir}/*/*"
-FILES_xserver-kdrive-powervrsgx = "${bindir}/Xsgx"
-FILES_${PN}-tests = "${bindir}"
-FILES_${PN}-demos = "${prefix}/demos ${prefix}/share/applications "
-FILES_${PN}-dbg = "${libdir}/.debug/* ${bindir}/.debug/* ${libdir}/ES*/.debug ${bindir}/*/.debug\
- ${prefix}/demos/OGLES/*/.debug/* \
- ${prefix}/demos/OGLES2/*/.debug/* \
- "
-
-RRECOMMENDS_${PN} = "${PN}-tests \
- omap3-sgx-modules"
-
-inherit update-rc.d
-
-INITSCRIPT_NAME = "pvr-init"
-INITSCRIPT_PARAMS = "start 30 5 2 . stop 40 0 1 6 ."
+do_configure() {
+ # Attempt to fix up the worst offenders for file permissions
+ for i in $(find ${S} -name "*.h") $(find ${S} -name "*.c") $(find ${S} -name "Make*") ; do
+ chmod 0644 $i
+ done
+
+ # Attempt to create proper library softlinks
+ for sofile in $(find ${S} -name "lib*Open*.so") $(find ${S} -name "lib*srv*.so") $(find ${S} -name "lib*gl*.so") $(find ${S} -name "libpvr*.so") $(find ${S} -name "lib*GL*.so"); do
+ if [ "$(readlink -n ${sofile})" = "" ] ; then
+ mv $sofile ${sofile}.${IMGPV}
+ ln -sf $(basename ${sofile}.${IMGPV}) ${sofile}
+ ln -sf $(basename ${sofile}.${IMGPV}) ${sofile}$(echo ${IMGPV} | awk -F. '{print "." $1}')
+ ln -sf $(basename ${sofile}.${IMGPV}) ${sofile}$(echo ${IMGPV} | awk -F. '{print "." $1 "." $2}')
+ fi
+ done
+
+ # Due to recursive make PLAT_* isn't always passed down correctly, so use sed to fix those
+ for mak in $(find ${S} -name "*.mak") ; do
+ sed -i -e s:arm-none-linux-gnueabi-:${TARGET_PREFIX}:g $mak
+ done
+
+ # clear out old stuff
+ find Binaries/ | xargs rm -f || true
+}
+# Force in GNU_HASH and paths to libs
+TARGET_CC_ARCH += " ${TARGET_LINK_HASH_STYLE} -Wl,-rpath-link,${BINLOCATION} -L${BINLOCATION}"
+PARALLEL_MAKE = ""
do_compile() {
- for i in $(find ${S} -name "*.h") $(find ${S} -name "*.c") $(find ${S} -name "Make*") ; do
- chmod 0644 $i
- done
-
- for sofile in $(find ${S} -name "lib*Open*.so") $(find ${S} -name "lib*srv*.so") $(find ${S} -name "lib*gl*.so") $(find ${S} -name "libpvr*.so") $(find ${S} -name "lib*GL*.so"); do
- if [ "$(readlink -n ${sofile})" = "" ] ; then
- mv $sofile ${sofile}.${IMGPV}
- ln -sf $(basename ${sofile}.${IMGPV}) ${sofile}
- fi
- done
+ export X11ROOT="${STAGING_INCDIR}"
+ export PLATFORM="LinuxOMAP3"
+
+ export PLAT_CC="${CC}"
+ export PLAT_CPP="${CXX}"
+ export PLAR_AR="${AR}"
+
+ mkdir -p ${S}/demos/raw
+ mkdir -p ${S}/demos/x11
+
+ # Rebuild demos for both Raw and X11
+ for X11BUILD in 0 1 ; do
+ for demo in ${S}/GFX_Linux_SDK/OGLES*/SDKPackage/Demos/* ; do
+ cd $demo/OGLES*/Build/LinuxGeneric
+ oe_runmake Common=1 PLATFORM=$PLATFORM X11BUILD=$X11BUILD
+ rm $demo/OGLES*/Build/LinuxOMAP3/Release*/*.o
+ install -m 0755 $demo/OGLES*/Build/LinuxOMAP3/ReleaseX11/* ${S}/demos/x11 || true
+ sed -e s:NAME:$(basename $demo/OGLES*/Build/LinuxOMAP3/ReleaseX11/*): \
+ -e s:EXEC:${bindir}/SGX/demos/X11/$(basename $demo/OGLES*/Build/LinuxOMAP3/ReleaseX11/*): \
+ ${WORKDIR}/sample.desktop > ${WORKDIR}/$(basename $demo/OGLES*/Build/LinuxOMAP3/ReleaseX11/*).desktop
+ install -m 0755 $demo/OGLES*/Build/LinuxOMAP3/ReleaseRaw/* ${S}/demos/raw || true
+ done
+ done
+
+ mkdir -p ${S}/trainingcourses/raw
+ mkdir -p ${S}/trainingcourses/x11
+
+ # Build OGLES2 Trainingcourses for both Raw and X11
+ for X11BUILD in 0 1 ; do
+ for training in ${S}/GFX_Linux_SDK/OGLES2/SDKPackage/TrainingCourse/* ; do
+ if [ -e $training/OGLES*/Build/LinuxGeneric/Makefile ] ; then
+ cd $training/OGLES*/Build/LinuxGeneric
+ fi
+
+ if [ -e $training/OGLES*/Build/LinuxOMAP3/Makefile ] ; then
+ cd $training/OGLES*/Build/LinuxOMAP3
+ fi
+
+ oe_runmake Common=1 PLATFORM=$PLATFORM X11BUILD=$X11BUILD
+ rm $training/OGLES*/Build/LinuxOMAP3/Release*/*.o
+ install -m 0755 $training/OGLES*/Build/LinuxOMAP3/ReleaseX11/* ${S}/trainingcourses/x11 || true
+ install -m 0755 $training/OGLES*/Build/LinuxOMAP3/ReleaseRaw/* ${S}/trainingcourses/raw || true
+ done
+ done
+
}
do_install () {
-
install -d ${D}${libdir}
- cp -pP ${BINLOCATION}/*.so* ${D}${libdir}
+ install -m 0755 ${BINLOCATION}/*.so* ${D}${libdir}
+ install -m 0644 ${BINLOCATION}/*.a ${D}${libdir}
install -d ${D}${bindir}/
install -m 0755 ${WORKDIR}/cputype ${D}${bindir}/
- cp -pP ${BINLOCATION}/*_test ${D}${bindir}/
- cp -pP ${BINLOCATION}/gl* ${D}${bindir}/
- cp -pP ${BINLOCATION}/p[dv]* ${D}${bindir}/
- cp -pP ${BINLOCATION}/xgles1test1 ${D}${bindir}/
+ install -m 0755 ${BINLOCATION}/*_test ${D}${bindir}/
+ install -m 0755 ${BINLOCATION}/gl* ${D}${bindir}/
+ install -m 0755 ${BINLOCATION}/p[dv]* ${D}${bindir}/
+ install -m 0755 ${BINLOCATION}/xgles1test1 ${D}${bindir}/
- cp -pP ${BINLOCATION}/freedesktop/kdrive/usr/X11R6_SGX/bin/Xsgx ${D}${bindir}/|| true
+ install -m 0755 ${BINLOCATION}/freedesktop/kdrive/usr/X11R6_SGX/bin/Xsgx ${D}${bindir}/|| true
install -d ${D}${includedir}
+ cp -pPR ${S}/GFX_Linux_KM/include4 ${D}${includedir}/
+ cp -pPR ${S}/GFX_Linux_KM/services4 ${D}${includedir}/
+
cp -pPR ${S}/GFX_Linux_SDK/OGLES2/SDKPackage/Builds/OGLES2/Include/* ${D}${includedir}/
cp -pPR ${S}/GFX_Linux_SDK/OGLES/SDKPackage/Builds/OGLES/Include/* ${D}${includedir}/
cp -pPR ${S}/GFX_Linux_SDK/OGLES/SDKPackage/Builds/OGLES/LinuxOMAP3/Include/GLES/* ${D}${includedir}/GLES/ || true
@@ -118,36 +145,82 @@ do_install () {
echo "[default]" > ${D}${sysconfdir}/powervr.ini
echo "WindowSystem=libpvrPVR2D_FRONTWSEGL.so" >> ${D}${sysconfdir}/powervr.ini
- install -d ${D}${prefix}/demos/OGLES/
- cp -pPR ${S}/GFX_Linux_SDK/OGLES/SDKPackage/Binaries/CommonX11/Demos/* ${D}${prefix}/demos/OGLES/
+ # The ES2.x and ES3.x CPUs have different SGX hardware, so we need to install 2 sets of userspace
+
+ install -d ${D}${libdir}/ES3.0
+ install -d ${D}${libdir}/ES2.0
+ install -d ${D}${bindir}/ES3.0
+ install -d ${D}${bindir}/ES2.0
+
+ cp ${S}/gfx_rel_es2.x/lib* ${D}${libdir}/ES2.0/
+ cp ${S}/gfx_rel_es2.x//p[dv]* ${D}${bindir}/ES2.0/
- install -d ${D}${prefix}/demos/OGLES2
- cp -pPR ${S}/GFX_Linux_SDK/OGLES2/SDKPackage/Binaries/X11/Demos/* ${D}${prefix}/demos/OGLES2
+ cp ${D}${libdir}/lib*${IMGPV} ${D}${libdir}/ES3.0/
+ cp ${D}${bindir}/p[dv]* ${D}${bindir}/ES3.0
install -d ${D}${prefix}/share/applications
- cp -pPR ${WORKDIR}/*.desktop ${D}${prefix}/share/applications
+ cp ${WORKDIR}/*.desktop ${D}${prefix}/share/applications
+ rm ${D}${prefix}/share/applications/sample.desktop
+
+ install -d ${D}${bindir}/SGX/demos/X11/
+ install -d ${D}${bindir}/SGX/demos/Raw/
+ install -m 0755 ${S}/demos/x11/* ${D}${bindir}/SGX/demos/X11/
+ install -m 0755 ${S}/demos/raw/* ${D}${bindir}/SGX/demos/Raw/
+
+ install -d ${D}${bindir}/SGX/trainingcourses/Raw
+ install -d ${D}${bindir}/SGX/trainingcourses/X11
+ install -m 0755 ${S}/trainingcourses/x11/* ${D}${bindir}/SGX/trainingcourses/X11/
+ install -m 0755 ${S}/trainingcourses/raw/* ${D}${bindir}/SGX/trainingcourses/Raw/
+
+ # Delete objects and linker scripts hidden between the headers
+ find ${D} -name "*.o" -delete
+ find ${D} -name "*.o.cmd" -delete
}
-do_stage () {
- install -d ${STAGING_LIBDIR}/
- cp -pP ${BINLOCATION}/*.so* ${STAGING_LIBDIR}
- cp -pP ${BINLOCATION}/*.a ${STAGING_LIBDIR}
-
- install -d ${STAGING_INCDIR}
- cp -pPR ${S}/GFX_Linux_KM/include4 ${STAGING_INCDIR}/
- cp -pPR ${S}/GFX_Linux_KM/services4 ${STAGING_INCDIR}/
-
- cp -pPR ${S}/GFX_Linux_SDK/OGLES2/SDKPackage/Builds/OGLES2/Include/* ${STAGING_INCDIR}/
- cp -pPR ${S}/GFX_Linux_SDK/OGLES/SDKPackage/Builds/OGLES/Include/* ${STAGING_INCDIR}/
- cp -pPR ${S}/GFX_Linux_SDK/OGLES/SDKPackage/Builds/OGLES/LinuxOMAP3/Include/GLES/* ${STAGING_INCDIR}/GLES/ || true
- cp -pPr ${S}/GFX_Linux_SDK/OGLES2/SDKPackage/Builds/OGLES2/LinuxOMAP3/Include/GLES/* ${STAGING_INCDIR}/GLES2/ || true
- cp -pPr ${S}/include/*.h ${STAGING_INCDIR} || true
- cp -pPr ${S}/GFX_Linux_SDK/OVG/SDKPackage/Builds/OVG/Include/v* ${STAGING_INCDIR}/ || true
- cp -pPr ${S}/GFX_Linux_SDK/OVG/SDKPackage/Builds/OVG/Include/V* ${STAGING_INCDIR}/ || true
-}
+PACKAGES =+ "xserver-kdrive-powervrsgx \
+ ${PN}-rawdemos \
+ ${PN}-x11demos \
+ ${PN}-rawtrainingcourses \
+ ${PN}-x11trainingcourses \
+ ${PN}-tests "
+
+FILES_${PN} = "${sysconfdir} ${libdir}/lib*.so.* ${libdir}/ES*/* ${bindir}/pvrsrvinit ${bindir}/cputype ${bindir}/*/*"
+FILES_xserver-kdrive-powervrsgx = "${bindir}/Xsgx"
+FILES_${PN}-tests = "${bindir}"
+FILES_${PN}-dbg = "${libdir}/.debug/* ${bindir}/.debug/* \
+ ${libdir}/ES*/.debug ${bindir}/*/.debug\
+ ${bindir}/SGX/demos/*/.debug/* \
+ ${bindir}/SGX/trainingcourses/*/.debug/* \
+ "
+
+FILES_${PN}-rawdemos = "${bindir}/SGX/demos/Raw/*"
+FILES_${PN}-x11demos = "${bindir}/SGX/demos/X11/* ${prefix}/share/applications "
+
+FILES_${PN}-rawtrainingcourses = "${bindir}/SGX/trainingcourses/Raw/*"
+FILES_${PN}-x11trainingcourses = "${bindir}/SGX/trainingcourses/X11/*"
+
+# The libs need the kernel-modules
+RRECOMMENDS_${PN} = "omap3-sgx-modules"
+
+# The initscript calls fbset
+RDEPENDS_${PN} += "fbset"
+
+#HACK! These are binaries, so we can't guarantee that LDFLAGS match :(
+INSANE_SKIP_${PN} = True
+INSANE_SKIP_${PN}-tests = True
+INSANE_SKIP_xserver-kdrive-powervrsgx = True
+
+# Quality control is really poor on these SDKs, so hack around the latest madness:
+FILES_${PN} += "${libdir}/*.so "
+FILES_${PN}-dev = "${includedir}"
+
+inherit update-rc.d
+
+INITSCRIPT_NAME = "pvr-init"
+INITSCRIPT_PARAMS = "start 30 5 2 . stop 40 0 1 6 ."
-pkg_postinst() {
-#!/bin/sh
+# Append to update-rc.d postinst
+pkg_postinst_${PN}_append() {
ln -sf /usr/lib/libXdmcp.so.6.0.0 /usr/lib/libXdmcp.so.0
ln -sf /usr/lib/libXau.so.6.0.0 /usr/lib/libXau.so.0
}
diff --git a/recipes/powervr-drivers/libgles-omap3/chameleonman.desktop b/recipes/powervr-drivers/libgles-omap3/chameleonman.desktop
deleted file mode 100644
index 23d4fc0b7d..0000000000
--- a/recipes/powervr-drivers/libgles-omap3/chameleonman.desktop
+++ /dev/null
@@ -1,8 +0,0 @@
-[Desktop Entry]
-Name=ChameleonMan Demo
-Comment=OGLES Demo
-Exec=/usr/demos/OGLES/ChameleonMan/OGLESChameleonMan
-Icon=star
-Type=Application
-Categories=Demos;
-
diff --git a/recipes/powervr-drivers/libgles-omap3/evilskull.desktop b/recipes/powervr-drivers/libgles-omap3/evilskull.desktop
deleted file mode 100644
index 0590f7f7ff..0000000000
--- a/recipes/powervr-drivers/libgles-omap3/evilskull.desktop
+++ /dev/null
@@ -1,8 +0,0 @@
-[Desktop Entry]
-Name=EvilSkull Demo
-Comment=OGLES Demo
-Exec=/usr/demos/OGLES/EvilSkull/OGLESEvilSkull
-Icon=star
-Type=Application
-Categories=Demos;
-
diff --git a/recipes/powervr-drivers/libgles-omap3/fivespheres.desktop b/recipes/powervr-drivers/libgles-omap3/fivespheres.desktop
deleted file mode 100644
index 569cad693c..0000000000
--- a/recipes/powervr-drivers/libgles-omap3/fivespheres.desktop
+++ /dev/null
@@ -1,8 +0,0 @@
-[Desktop Entry]
-Name=FiveSpheres Demo
-Comment=OGLES Demo
-Exec=/usr/demos/OGLES/FiveSpheres/OGLESFiveSpheres
-Icon=star
-Type=Application
-Categories=Demos;
-
diff --git a/recipes/powervr-drivers/libgles-omap3/lighting.desktop b/recipes/powervr-drivers/libgles-omap3/lighting.desktop
deleted file mode 100644
index 39179b2408..0000000000
--- a/recipes/powervr-drivers/libgles-omap3/lighting.desktop
+++ /dev/null
@@ -1,8 +0,0 @@
-[Desktop Entry]
-Name=Lighting Demo
-Comment=OGLES Demo
-Exec=/usr/demos/OGLES/Lighting/OGLESLighting
-Icon=star
-Type=Application
-Categories=Demos;
-
diff --git a/recipes/powervr-drivers/libgles-omap3/mouse.desktop b/recipes/powervr-drivers/libgles-omap3/mouse.desktop
deleted file mode 100644
index a56531014c..0000000000
--- a/recipes/powervr-drivers/libgles-omap3/mouse.desktop
+++ /dev/null
@@ -1,8 +0,0 @@
-[Desktop Entry]
-Name=Mouse Demo
-Comment=OGLES Demo
-Exec=/usr/demos/OGLES/Mouse/OGLESMouse
-Icon=star
-Type=Application
-Categories=Demos;
-
diff --git a/recipes/powervr-drivers/libgles-omap3/optimizemesh.desktop b/recipes/powervr-drivers/libgles-omap3/optimizemesh.desktop
deleted file mode 100644
index 9d7194a586..0000000000
--- a/recipes/powervr-drivers/libgles-omap3/optimizemesh.desktop
+++ /dev/null
@@ -1,8 +0,0 @@
-[Desktop Entry]
-Name=OptimizeMesh Demo
-Comment=OGLES Demo
-Exec=/usr/demos/OGLES/OptimizeMesh/OGLESOptimizeMesh
-Icon=star
-Type=Application
-Categories=Demos;
-
diff --git a/recipes/powervr-drivers/libgles-omap3/particles.desktop b/recipes/powervr-drivers/libgles-omap3/particles.desktop
deleted file mode 100644
index 1d71b9d25c..0000000000
--- a/recipes/powervr-drivers/libgles-omap3/particles.desktop
+++ /dev/null
@@ -1,8 +0,0 @@
-[Desktop Entry]
-Name=Particles Demo
-Comment=OGLES Demo
-Exec=/usr/demos/OGLES/Particles/OGLESParticles
-Icon=star
-Type=Application
-Categories=Demos;
-
diff --git a/recipes/powervr-drivers/libgles-omap3/polybump.desktop b/recipes/powervr-drivers/libgles-omap3/polybump.desktop
deleted file mode 100644
index d7cf1af8bd..0000000000
--- a/recipes/powervr-drivers/libgles-omap3/polybump.desktop
+++ /dev/null
@@ -1,8 +0,0 @@
-[Desktop Entry]
-Name=PolyBump Demo
-Comment=OGLES Demo
-Exec=/usr/demos/OGLES/PolyBump/OGLESPolyBump
-Icon=star
-Type=Application
-Categories=Demos;
-
diff --git a/recipes/powervr-drivers/libgles-omap3/rc.pvr b/recipes/powervr-drivers/libgles-omap3/rc.pvr
index 4a698da60d..2a8260baec 100755
--- a/recipes/powervr-drivers/libgles-omap3/rc.pvr
+++ b/recipes/powervr-drivers/libgles-omap3/rc.pvr
@@ -1,14 +1,39 @@
#!/bin/sh
+PATH=$PATH:/usr/sbin
+
+BITSPERPIXEL="$(fbset | grep geom | awk '{print $6}')"
+YRES="$(fbset | grep geom | awk '{print $3}')"
CPUTYPE="$(cputype)"
-if [ $CPUTYPE = "OMAP3530" ]; then
+if [ "$1" = "" ]; then
+ echo PVR-INIT: Please use start, stop, or restart.
+ exit 1
+fi
+
+if [ "$1" = "stop" -o "$1" = "restart" ]; then
+ echo Stopping PVR
+ #rmmod bc_example
+ rmmod omaplfb 2>/dev/null
+ rmmod pvrsrvkm 2>/dev/null
+fi
- rmmod omaplfb
- rmmod pvrsrvkm
+if [ "$1" = "stop" ]; then
+ exit 0
+fi
- insmod $(busybox find /lib/modules/$(uname -r) -name "pvrsrvkm.ko")
+# Set RGBA ordering to something the drivers like
+if [ "$BITSPERPIXEL" = "32" ] ; then
+ fbset -rgba 8/16,8/8,8/0,8/24
+fi
+# Try to enable triple buffering when there's enough VRAM
+fbset -vyres $(expr $YRES \* 3)
+
+if [ $CPUTYPE = "OMAP3530" ]; then
+ echo Starting PVR
+ insmod $(busybox find /lib/modules/$(uname -r) -name "pvrsrvkm.ko")
+ #modprobe bc_example
modprobe omaplfb
pvr_maj=`grep "pvrsrvkm$" /proc/devices | cut -b1,2,3`
@@ -20,11 +45,26 @@ if [ $CPUTYPE = "OMAP3530" ]; then
mknod /dev/pvrsrvkm c $pvr_maj 0
chmod 666 /dev/pvrsrvkm
- /usr/bin/pvrsrvinit
+ touch /etc/powervr-esrev
- # Set SGX to full speed
- devmem2 0x48004b40 w 0
+ SAVED_ESREVISION="$(cat /etc/powervr-esrev)"
+ ES_REVISION="$(cat /proc/cpuinfo | grep "CPU revision" | awk -F: '{print $2}')"
+
+ if [ "${ES_REVISION}" != "${SAVED_ESREVISION}" ] ; then
+ echo -n "Starting SGX fixup for"
+ if [ "${ES_REVISION}" = " 3" ] ; then
+ echo " ES3.x"
+ cp -a /usr/lib/ES3.0/* /usr/lib
+ cp -a /usr/bin/ES3.0/* /usr/bin
+ else
+ echo "ES 2.x"
+ cp -a /usr/lib/ES2.0/* /usr/lib
+ cp -a /usr/bin/ES2.0/* /usr/bin
+ fi
+ echo "${ES_REVISION}" > /etc/powervr-esrev
+ fi
+ /usr/bin/pvrsrvinit
else
- echo No SGX hardware, not starting pvrsinit
+ echo No SGX hardware, not starting PVR
fi
diff --git a/recipes/powervr-drivers/libgles-omap3/sample.desktop b/recipes/powervr-drivers/libgles-omap3/sample.desktop
new file mode 100644
index 0000000000..6bacac9277
--- /dev/null
+++ b/recipes/powervr-drivers/libgles-omap3/sample.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=NAME Demo
+Comment=OGLES Demo
+Exec=EXEC
+Icon=star
+Type=Application
+Categories=Graphics;
+
diff --git a/recipes/powervr-drivers/libgles-omap3/shaders.desktop b/recipes/powervr-drivers/libgles-omap3/shaders.desktop
deleted file mode 100644
index bee8c92fb9..0000000000
--- a/recipes/powervr-drivers/libgles-omap3/shaders.desktop
+++ /dev/null
@@ -1,8 +0,0 @@
-[Desktop Entry]
-Name=Shaders Demo
-Comment=OGLES2 Demo
-Exec=/usr/demos/OGLES2/Shaders/OGLES2Shaders
-Icon=star
-Type=Application
-Categories=Demos;
-
diff --git a/recipes/powervr-drivers/libgles-omap3/shadowtechniques.desktop b/recipes/powervr-drivers/libgles-omap3/shadowtechniques.desktop
deleted file mode 100644
index 0f228d5d27..0000000000
--- a/recipes/powervr-drivers/libgles-omap3/shadowtechniques.desktop
+++ /dev/null
@@ -1,8 +0,0 @@
-[Desktop Entry]
-Name=ShadowTechniques Demo
-Comment=OGLES Demo
-Exec=/usr/demos/OGLES/ShadowTechniques/OGLESShadowTechniques
-Icon=star
-Type=Application
-Categories=Demos;
-
diff --git a/recipes/powervr-drivers/libgles-omap3/skybox.desktop b/recipes/powervr-drivers/libgles-omap3/skybox.desktop
deleted file mode 100644
index 69a7f9418b..0000000000
--- a/recipes/powervr-drivers/libgles-omap3/skybox.desktop
+++ /dev/null
@@ -1,8 +0,0 @@
-[Desktop Entry]
-Name=Skybox Demo
-Comment=OGLES Demo
-Exec=/usr/demos/OGLES/Skybox/OGLESSkybox
-Icon=star
-Type=Application
-Categories=Demos;
-
diff --git a/recipes/powervr-drivers/libgles-omap3/skybox2.desktop b/recipes/powervr-drivers/libgles-omap3/skybox2.desktop
deleted file mode 100644
index a2b02f72f6..0000000000
--- a/recipes/powervr-drivers/libgles-omap3/skybox2.desktop
+++ /dev/null
@@ -1,8 +0,0 @@
-[Desktop Entry]
-Name=Skybox2 Demo
-Comment=OGLES2 Demo
-Exec=/usr/demos/OGLES2/Skybox2/OGLES2Skybox2
-Icon=star
-Type=Application
-Categories=Demos;
-
diff --git a/recipes/powervr-drivers/libgles-omap3/trilinear.desktop b/recipes/powervr-drivers/libgles-omap3/trilinear.desktop
deleted file mode 100644
index 3e105ac182..0000000000
--- a/recipes/powervr-drivers/libgles-omap3/trilinear.desktop
+++ /dev/null
@@ -1,8 +0,0 @@
-[Desktop Entry]
-Name=Trilinear Demo
-Comment=OGLES Demo
-Exec=/usr/demos/OGLES/Trilinear/OGLESTrilinear
-Icon=star
-Type=Application
-Categories=Demos;
-
diff --git a/recipes/powervr-drivers/libgles-omap3/userclipplanes.desktop b/recipes/powervr-drivers/libgles-omap3/userclipplanes.desktop
deleted file mode 100644
index 9bad690555..0000000000
--- a/recipes/powervr-drivers/libgles-omap3/userclipplanes.desktop
+++ /dev/null
@@ -1,8 +0,0 @@
-[Desktop Entry]
-Name=UserClipPlanes Demo
-Comment=OGLES Demo
-Exec=/usr/demos/OGLES/UserClipPlanes/OGLESUserClipPlanes
-Icon=star
-Type=Application
-Categories=Demos;
-
diff --git a/recipes/powervr-drivers/libgles-omap3/vase.desktop b/recipes/powervr-drivers/libgles-omap3/vase.desktop
deleted file mode 100644
index 06064349d6..0000000000
--- a/recipes/powervr-drivers/libgles-omap3/vase.desktop
+++ /dev/null
@@ -1,8 +0,0 @@
-[Desktop Entry]
-Name=Vase Demo
-Comment=OGLES Demo
-Exec=/usr/demos/OGLES/Vase/OGLESVase
-Icon=star
-Type=Application
-Categories=Demos;
-
diff --git a/recipes/powervr-drivers/libgles-omap3_3.01.00.02.bb b/recipes/powervr-drivers/libgles-omap3_3.01.00.02.bb
index 81fff90195..6d84f14d80 100644
--- a/recipes/powervr-drivers/libgles-omap3_3.01.00.02.bb
+++ b/recipes/powervr-drivers/libgles-omap3_3.01.00.02.bb
@@ -1,10 +1,8 @@
BINLOCATION = "${S}/gfx_rel_es3.x"
-DEFAULT_PREFERENCE = "2"
-
require libgles-omap3.inc
-PR = "r1"
+PR = "r2"
# download required binary distribution from:
# http://software-dl.ti.com/dsps/forms/export.html?prod_no=/OMAP35x_Graphics_SDK_setuplinux_3_01_00_02.bin
@@ -13,21 +11,8 @@ SGXPV = "3_01_00_02"
IMGPV = "1.4.14.2514"
BINFILE := "OMAP35x_Graphics_SDK_setuplinux_${SGXPV}.bin"
-# The ES2.x and ES3.x CPUs have different SGX hardware, so we need to install 2 sets of userspace
-do_install_append() {
- install -d ${D}${libdir}/ES3.0
- install -d ${D}${libdir}/ES2.0
- install -d ${D}${bindir}/ES3.0
- install -d ${D}${bindir}/ES2.0
- cp ${S}/gfx_rel_es2.x/lib* ${D}${libdir}/ES2.0/
- cp ${S}/gfx_rel_es2.x//p[dv]* ${D}${bindir}/ES2.0/
- cp ${D}${libdir}/lib*${IMGPV} ${D}${libdir}/ES3.0/
- cp ${D}${bindir}/p[dv]* ${D}${bindir}/ES3.0
-}
-# Quality control is really poor on these SDKs, so hack around the latest madness:
-FILES_${PN} += "${libdir}/*.so "
-FILES_${PN}-dev = "${includedir}"
+
diff --git a/recipes/powervr-drivers/omap3-sgx-modules/0001-Compile-fixes-for-DSS2.patch b/recipes/powervr-drivers/omap3-sgx-modules/0001-Compile-fixes-for-DSS2.patch
deleted file mode 100644
index 7dbf4d9e6e..0000000000
--- a/recipes/powervr-drivers/omap3-sgx-modules/0001-Compile-fixes-for-DSS2.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-From 8b6a6bb6702ab796ab56dbbd6caa1b271ed4485b Mon Sep 17 00:00:00 2001
-From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
-Date: Fri, 9 Jan 2009 12:40:28 +0200
-Subject: [PATCH] Compile fixes for DSS2
-
----
- .../dc_omap3430_linux/omaplfb_displayclass.c | 6 ++++--
- .../3rdparty/dc_omap3430_linux/omaplfb_linux.c | 14 ++++----------
- 2 files changed, 8 insertions(+), 12 deletions(-)
-
-diff --git a/services4/3rdparty/dc_omap3430_linux/omaplfb_displayclass.c b/services4/3rdparty/dc_omap3430_linux/omaplfb_displayclass.c
-index 7b8ec37..6fde397 100755
---- a/services4/3rdparty/dc_omap3430_linux/omaplfb_displayclass.c
-+++ b/services4/3rdparty/dc_omap3430_linux/omaplfb_displayclass.c
-@@ -57,8 +57,6 @@ PVRSRV_ERROR OMAPLFBPostPower (IMG_HANDLE hDevHandle,
- PVR_POWER_STATE eCurrentPowerState);
- #endif
-
--extern void omap_dispc_set_plane_base(int plane, IMG_UINT32 phys_addr);
--
- static PFN_DC_GET_PVRJTABLE pfnGetPVRJTable = IMG_NULL;
-
- static OMAPLFB_DEVINFO * GetAnchorPtr(IMG_VOID)
-@@ -124,6 +122,9 @@ static void WorkHandler(
- static PVRSRV_ERROR Flip(OMAPLFB_SWAPCHAIN *psSwapChain,
- IMG_UINT32 aPhyAddr)
- {
-+ printk("no flipping\n");
-+ return PVRSRV_OK;
-+#if 0
- if (1 /* omap2_disp_get_output_dev(OMAP2_GRAPHICS) == OMAP2_OUTPUT_LCD */)
- {
- omap_dispc_set_plane_base(0, aPhyAddr);
-@@ -137,6 +138,7 @@ static PVRSRV_ERROR Flip(OMAPLFB_SWAPCHAIN *psSwapChain,
- }
-
- return PVRSRV_ERROR_INVALID_PARAMS;
-+#endif
- }
-
- static IMG_VOID EnableVSyncInterrupt(OMAPLFB_SWAPCHAIN *psSwapChain)
-diff --git a/services4/3rdparty/dc_omap3430_linux/omaplfb_linux.c b/services4/3rdparty/dc_omap3430_linux/omaplfb_linux.c
-index acf1631..12f3e32 100755
---- a/services4/3rdparty/dc_omap3430_linux/omaplfb_linux.c
-+++ b/services4/3rdparty/dc_omap3430_linux/omaplfb_linux.c
-@@ -37,6 +37,7 @@
- #include <linux/slab.h>
- #include <linux/errno.h>
- #include <linux/interrupt.h>
-+#include <mach/display.h>
-
- #include <asm/io.h>
-
-@@ -52,10 +53,6 @@ MODULE_LICENSE("GPL");
- MODULE_SUPPORTED_DEVICE(DRVNAME);
-
-
--extern int omap_dispc_request_irq(unsigned long, void (*)(void *), void *);
--extern void omap_dispc_free_irq(unsigned long, void (*)(void *), void *);
--
--
- #define unref__ __attribute__ ((unused))
-
-
-@@ -101,17 +98,14 @@ PVRSRV_ERROR OMAPLFBGetLibFuncAddr (IMG_CHAR *szFunctionName, PFN_DC_GET_PVRJTAB
- }
-
- static void
--OMAPLFBVSyncISR(void *arg)
-+OMAPLFBVSyncISR(void *arg, u32 mask)
- {
- (void) OMAPLFBVSyncIHandler((OMAPLFB_SWAPCHAIN *)arg);
- }
-
--#define DISPC_IRQ_VSYNC 0x0002
--
- PVRSRV_ERROR OMAPLFBInstallVSyncISR(OMAPLFB_SWAPCHAIN *psSwapChain)
- {
--
-- if (omap_dispc_request_irq(DISPC_IRQ_VSYNC, OMAPLFBVSyncISR, psSwapChain) != 0)
-+ if (omap_dispc_register_isr(OMAPLFBVSyncISR, psSwapChain, DISPC_IRQ_VSYNC) != 0)
- return PVRSRV_ERROR_OUT_OF_MEMORY; /* not worth a proper mapping */
-
- return PVRSRV_OK;
-@@ -120,7 +114,7 @@ PVRSRV_ERROR OMAPLFBInstallVSyncISR(OMAPLFB_SWAPCHAIN *psSwapChain)
-
- PVRSRV_ERROR OMAPLFBUninstallVSyncISR (OMAPLFB_SWAPCHAIN *psSwapChain)
- {
-- omap_dispc_free_irq(DISPC_IRQ_VSYNC, OMAPLFBVSyncISR, psSwapChain);
-+ omap_dispc_unregister_isr(OMAPLFBVSyncISR);
-
- return PVRSRV_OK;
- }
---
-1.5.6.3
-
diff --git a/recipes/powervr-drivers/omap3-sgx-modules/0001-New-build-system-for-SGX.patch b/recipes/powervr-drivers/omap3-sgx-modules/0001-New-build-system-for-SGX.patch
deleted file mode 100644
index 9751bcd88d..0000000000
--- a/recipes/powervr-drivers/omap3-sgx-modules/0001-New-build-system-for-SGX.patch
+++ /dev/null
@@ -1,247 +0,0 @@
-From 36065340e13e6888e7399a1e5b5b11045e8474c6 Mon Sep 17 00:00:00 2001
-From: Tomba <tomba@bat.org>
-Date: Sun, 1 Feb 2009 15:39:15 +0200
-Subject: [PATCH] New build system for SGX
-
----
- Kbuild | 53 ++++++++++
- Makefile | 151 +++++++++++++++++++++++++++
- services4/3rdparty/dc_omap3430_linux/Kbuild | 8 ++
- 3 files changed, 212 insertions(+), 0 deletions(-)
- create mode 100644 Kbuild
- create mode 100644 Makefile
- create mode 100644 services4/3rdparty/dc_omap3430_linux/Kbuild
-
-diff --git a/Kbuild b/Kbuild
-new file mode 100644
-index 0000000..19f9a24
---- /dev/null
-+++ b/Kbuild
-@@ -0,0 +1,53 @@
-+obj-m := pvrsrvkm.o
-+
-+FILES := \
-+services4/srvkm/common/queue.c \
-+services4/srvkm/common/hash.c \
-+services4/srvkm/common/perproc.c \
-+services4/srvkm/common/mem.c \
-+services4/srvkm/common/power.c \
-+services4/srvkm/common/deviceclass.c \
-+services4/srvkm/common/metrics.c \
-+services4/srvkm/common/resman.c \
-+services4/srvkm/common/buffer_manager.c \
-+services4/srvkm/common/pvrsrv.c \
-+services4/srvkm/common/handle.c \
-+services4/srvkm/common/ra.c \
-+services4/srvkm/common/devicemem.c \
-+services4/srvkm/env/linux/pvr_debug.c \
-+services4/srvkm/env/linux/mm.c \
-+services4/srvkm/env/linux/mutex.c \
-+services4/srvkm/env/linux/mmap.c \
-+services4/srvkm/env/linux/module.c \
-+services4/srvkm/env/linux/proc.c \
-+services4/srvkm/env/linux/event.c \
-+services4/srvkm/env/linux/osfunc.c \
-+services4/srvkm/env/linux/pvr_bridge_k.c \
-+services4/srvkm/env/linux/pdump.c \
-+services4/srvkm/devices/sgx/sgxtransfer.c \
-+services4/srvkm/devices/sgx/sgxinit.c \
-+services4/srvkm/devices/sgx/sgxutils.c \
-+services4/srvkm/devices/sgx/pb.c \
-+services4/srvkm/devices/sgx/sgxkick.c \
-+services4/srvkm/devices/sgx/mmu.c \
-+services4/srvkm/devices/sgx/sgxreset.c \
-+services4/srvkm/bridged/bridged_pvr_bridge.c \
-+services4/system/omap3430/sysutils_linux.c \
-+services4/system/omap3430/sysconfig.c
-+
-+EXTRA_CFLAGS += -I$(src)/include4
-+EXTRA_CFLAGS += -I$(src)/services4/include
-+EXTRA_CFLAGS += -I$(src)/services4/srvkm/include
-+EXTRA_CFLAGS += -I$(src)/services4/srvkm/hwdefs
-+EXTRA_CFLAGS += -I$(src)/services4/srvkm/bridged
-+EXTRA_CFLAGS += -I$(src)/services4/srvkm/devices/sgx
-+EXTRA_CFLAGS += -I$(src)/services4/srvkm/env/linux
-+EXTRA_CFLAGS += -I$(src)/services4/system/include
-+EXTRA_CFLAGS += -I$(src)/services4/system/omap3430
-+
-+EXTRA_CFLAGS += $(ALL_CFLAGS)
-+
-+pvrsrvkm-y := $(FILES:.c=.o)
-+
-+obj-y := services4/3rdparty/dc_omap3430_linux/
-+
-diff --git a/Makefile b/Makefile
-new file mode 100644
-index 0000000..74e9761
---- /dev/null
-+++ b/Makefile
-@@ -0,0 +1,151 @@
-+export DISCIMAGE = /tmp/asdada
-+export KERNELDIR = /home/tomba/work/linux
-+
-+export BUILD = debug
-+
-+export KERNELDIR = /home/tomba/work/linux
-+export KBUILD_EXTRA_SYMBOLS = `pwd`/services4/srvkm/env/linux/kbuild/Module.symvers
-+
-+SGXCORE = 530
-+CORE = -DSGX530 -DSUPPORT_SGX530 -DSGX_CORE_REV=103
-+
-+SUPPORT_SGX = 1
-+SUPPORT_HW_RECOVERY = 1
-+SUPPORT_SGX_HWPERF = 1
-+SYS_USING_INTERRUPTS = 1
-+
-+PVR2D_ALT_2DHW = 1
-+
-+LDM_PLATFORM ?= 1
-+
-+# Only enable active power management if passive power management is
-+# enabled, as indicated by LDM_PLATFORM being set to 1. On OMAP,
-+# the system can suspend in the case where active power management is
-+# enabled in the SGX driver, but passive power management isn't. As
-+# passive power management isn't enabled, the driver won't see the
-+# system suspend/resume events, and so won't take appropriate action.
-+ifeq ($(LDM_PLATFORM),1)
-+SUPPORT_ACTIVE_POWER_MANAGEMENT ?= 1
-+else
-+SUPPORT_ACTIVE_POWER_MANAGEMENT = 0
-+endif
-+
-+export PVR_BUILD_DIR := $(shell pwd)
-+
-+DATE := $(shell date "+%a %B %d %Z %Y" )
-+
-+CBUILD = -DPVR_BUILD_DIR="\"$(PVR_BUILD_DIR)\"" \
-+ -DPVR_BUILD_DATE="\"$(DATE)\"" \
-+ -DPVR_BUILD_TYPE="\"$(BUILD)\""
-+
-+# Don't support HW recovery on debug builds
-+CBUILD.debug = -DDEBUG
-+CBUILD.timing = -DTIMING
-+CBUILD.release = -DRELEASE
-+CFLAGS.debug = -g -O0 -DDLL_METRIC=1
-+CFLAGS.timing = $(OPTIM) -g -DDLL_METRIC=1 -DTIMING
-+CFLAGS.release = $(OPTIM) -g
-+CFLAGS = $(CFLAGS.$(BUILD))
-+
-+
-+ifeq ("$(BUILD)", "debug")
-+DEBUG_LINUX_MEMORY_ALLOCATIONS ?= 1
-+DEBUG_LINUX_MEM_AREAS ?= 1
-+DEBUG_LINUX_MMAP_AREAS ?= 1
-+DEBUG_LINUX_XML_PROC_FILES ?= 0
-+DEBUG_LINUX_SLAB_ALLOCATIONS ?= 0
-+DEBUG_BRIDGE_KM ?= 1
-+DEBUG_TRACE_BRIDGE_KM ?= 0
-+DEBUG_BRIDGE_KM_DISPATCH_TABLE ?= 0
-+endif
-+
-+TRANSFER_QUEUE ?= 1
-+SUPPORT_SGX_EVENT_OBJECT ?= 1
-+SUPPORT_SECURE_HANDLES ?= 1
-+SUPPORT_SRVINIT = 1
-+SUPPORT_PERCONTEXT_PB = 1
-+
-+SYS_CFLAGS += -DSERVICES4 -D_XOPEN_SOURCE=600 -DPVR2D_VALIDATE_INPUT_PARAMS
-+
-+# Thread support
-+USE_PTHREADS ?= 1
-+USE_GCC__thread_KEYWORD ?= 0
-+OPTIMISE_NON_NPTL_SINGLE_THREAD_TLS_LOOKUP ?= 0
-+DISABLE_THREADS ?= 0
-+
-+# Automatically define C compiler macros for features possible (or not) in use.
-+
-+SYS_CFLAGS.$(SUPPORT_SRVINIT) += -DSUPPORT_SRVINIT
-+
-+SYS_CFLAGS.$(SUPPORT_SGX) += -DSUPPORT_SGX
-+SYS_CFLAGS.$(SUPPORT_XWS) += -DSUPPORT_XWS
-+SYS_CFLAGS.$(PDUMP) += -DPDUMP
-+SYS_CFLAGS.$(SUPPORT_POWER_MANAGEMENT) += -DSUPPORT_POWER_MANAGEMENT
-+SYS_CFLAGS.$(SUPPORT_BUFFER_CLASS) += -DSUPPORT_BUFFER_CLASS
-+
-+SYS_CFLAGS.$(SUPPORT_PERCONTEXT_PB) += -DSUPPORT_PERCONTEXT_PB
-+SYS_CFLAGS.$(SUPPORT_DYNAMIC_PBRESIZE) += -DSUPPORT_DYNAMIC_PBRESIZE
-+
-+SYS_CFLAGS.$(USE_FBDEV) += -DUSE_FBDEV
-+SYS_CFLAGS.$(USE_FBDEV) += -DFBDEV_NAME="\"$(FBDEV_NAME)\""
-+SYS_CFLAGS.$(SUPPORT_DYNAMIC_3DCLOCKGATING) += -DSUPPORT_DYNAMIC_3DCLOCKGATING
-+SYS_CFLAGS.$(REENTRANCY_PROTECTION) += -DREENTRANCY_PROTECTION
-+SYS_CFLAGS.$(SCHEDULER_CONTROL_SUPPORT) += -DSCHEDULER_CONTROL_SUPPORT
-+SYS_CFLAGS.$(USE_IMG_POWER_DOMAIN_FUNCTION) += -DUSE_IMG_POWER_DOMAIN_FUNCTION
-+
-+SYS_CFLAGS.$(USE_DMALLOC) += -DDMALLOC
-+
-+SYS_CFLAGS.$(DEBUG_LINUX_MEMORY_ALLOCATIONS) += -DDEBUG_LINUX_MEMORY_ALLOCATIONS
-+SYS_CFLAGS.$(DEBUG_LINUX_MEM_AREAS) += -DDEBUG_LINUX_MEM_AREAS
-+SYS_CFLAGS.$(DEBUG_LINUX_MMAP_AREAS) += -DDEBUG_LINUX_MMAP_AREAS
-+SYS_CFLAGS.$(DEBUG_LINUX_XML_PROC_FILES) += -DDEBUG_LINUX_XML_PROC_FILES
-+SYS_CFLAGS.$(DEBUG_LINUX_SLAB_ALLOCATIONS) += -DDEBUG_LINUX_SLAB_ALLOCATIONS
-+SYS_CFLAGS.$(DEBUG_BRIDGE_KM) += -DDEBUG_BRIDGE_KM
-+SYS_CFLAGS.$(DEBUG_TRACE_BRIDGE_KM) += -DDEBUG_TRACE_BRIDGE_KM
-+SYS_CFLAGS.$(DEBUG_BRIDGE_KM_DISPATCH_TABLE) += -DDEBUG_BRIDGE_KM_DISPATCH_TABLE
-+
-+SYS_CFLAGS.$(SUPPORT_LINUX_X86_WRITECOMBINE) += -DSUPPORT_LINUX_X86_WRITECOMBINE
-+
-+SYS_CFLAGS.$(SGX_PDS_EVENTS_DISABLED) += -DSGX_PDS_EVENTS_DISABLED
-+SYS_CFLAGS.$(USE_SUPPORT_NO_TA3D_OVERLAP) += -DUSE_SUPPORT_NO_TA3D_OVERLAP
-+SYS_CFLAGS.$(SUPPORT_SGX_TILING) += -DSUPPORT_SGX_TILING
-+SYS_CFLAGS.$(TRANSFER_QUEUE) += -DTRANSFER_QUEUE
-+
-+SYS_CFLAGS.$(SUPPORT_SGX_MMU_DUMMY_PAGE) += -DSUPPORT_SGX_MMU_DUMMY_PAGE
-+
-+SYS_CFLAGS.$(PVRSRV_USSE_EDM_STATUS_DEBUG) += -DPVRSRV_USSE_EDM_STATUS_DEBUG
-+
-+SYS_CFLAGS.$(SUPPORT_DRI_DRM) += -DSUPPORT_DRI_DRM
-+
-+SYS_CFLAGS.$(SYS_USING_INTERRUPTS) += -DSYS_USING_INTERRUPTS
-+SYS_CFLAGS.$(SUPPORT_HW_RECOVERY) += -DSUPPORT_HW_RECOVERY
-+SYS_CFLAGS.$(SUPPORT_ACTIVE_POWER_MANAGEMENT) += -DSUPPORT_ACTIVE_POWER_MANAGEMENT
-+
-+SYS_CFLAGS.$(SUPPORT_SECURE_HANDLES) += -DPVR_SECURE_HANDLES
-+
-+SYS_CFLAGS.$(USE_PTHREADS) += -DUSE_PTHREADS
-+SYS_CFLAGS.$(USE_GCC__thread_KEYWORD) += -DUSE_GCC__thread_KEYWORD
-+SYS_CFLAGS.$(OPTIMISE_NON_NPTL_SINGLE_THREAD_TLS_LOOKUP) += -DOPTIMISE_NON_NPTL_SINGLE_THREAD_TLS_LOOKUP
-+SYS_CFLAGS.$(DISABLE_THREADS) += -DDISABLE_THREADS
-+SYS_CFLAGS.$(SUPPORT_SGX_EVENT_OBJECT) += -DSUPPORT_SGX_EVENT_OBJECT
-+SYS_CFLAGS.$(LDM_PLATFORM) += -DLDM_PLATFORM
-+SYS_CFLAGS.$(LDM_PCI) += -DLDM_PCI
-+SYS_CFLAGS.$(PVR_MANUAL_POWER_CONTROL) += -DPVR_MANUAL_POWER_CONTROL
-+
-+SYS_CFLAGS.$(PVR2D_ALT_2DHW) += -DPVR2D_ALT_2DHW
-+
-+SYS_CFLAGS.$(SUPPORT_SGX_HWPERF) += -DSUPPORT_SGX_HWPERF
-+
-+export ALL_CFLAGS = -DLINUX \
-+ $(CBUILD) $(CBUILD.$(BUILD)) \
-+ $(SYS_CFLAGS) $(SYS_CFLAGS.1) \
-+ $(MODULE_CFLAGS) $(MODULE_CFLAGS.$(BUILD)) \
-+ $(CORE) \
-+ $(CFLAGS)
-+
-+all:
-+ $(MAKE) -C $(KERNELDIR) M=`pwd` $*
-+
-+clean:
-+ $(MAKE) -C $(KERNELDIR) M=`pwd` clean
-+
-diff --git a/services4/3rdparty/dc_omap3430_linux/Kbuild b/services4/3rdparty/dc_omap3430_linux/Kbuild
-new file mode 100644
-index 0000000..c08b240
---- /dev/null
-+++ b/services4/3rdparty/dc_omap3430_linux/Kbuild
-@@ -0,0 +1,8 @@
-+EXTRA_CFLAGS = -DLINUX \
-+ -I$(PVR_BUILD_DIR)/include4 \
-+ -I$(PVR_BUILD_DIR)/services4/include \
-+ -I$(PVR_BUILD_DIR)/services4/system/$(PVR_SYSTEM) \
-+ -I$(PVR_BUILD_DIR)/services4/system/include \
-+
-+obj-m := omaplfb.o
-+omaplfb-y := omaplfb_displayclass.o omaplfb_linux.o
---
-1.5.6.3
-
diff --git a/recipes/powervr-drivers/omap3-sgx-modules/0002-Compile-fixes-for-DSS2.patch b/recipes/powervr-drivers/omap3-sgx-modules/0002-Compile-fixes-for-DSS2.patch
deleted file mode 100644
index c319ac57a9..0000000000
--- a/recipes/powervr-drivers/omap3-sgx-modules/0002-Compile-fixes-for-DSS2.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/services4/3rdparty/dc_omap3430_linux/omaplfb_linux.c
-+++ b/services4/3rdparty/dc_omap3430_linux/omaplfb_linux.c
-@@ -171,7 +171,7 @@
- #if !defined (CONFIG_OMAP2_DSS)
- omap_dispc_free_irq(DISPC_IRQ_VSYNC, OMAPLFBVSyncISR, psSwapChain);
- #else
-- omap_dispc_unregister_isr(OMAPLFBVSyncISR);
-+ omap_dispc_unregister_isr(OMAPLFBVSyncISR, psSwapChain, DISPC_IRQ_VSYNC);
- #endif
- return PVRSRV_OK;
- }
diff --git a/recipes/powervr-drivers/omap3-sgx-modules/build_es3.x_sgx.patch b/recipes/powervr-drivers/omap3-sgx-modules/build_es3.x_sgx.patch
deleted file mode 100644
index 93df6b3da5..0000000000
--- a/recipes/powervr-drivers/omap3-sgx-modules/build_es3.x_sgx.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- /tmp/Makefile 2009-05-04 01:14:25.000000000 +0530
-+++ omap3-sgx-modules-1.3.13.1607/Makefile 2009-05-04 01:14:36.000000000 +0530
-@@ -10,7 +10,7 @@ export BUILD = debug
- export KBUILD_EXTRA_SYMBOLS = `pwd`/services4/srvkm/env/linux/kbuild/Module.symvers
-
- SGXCORE = 530
--CORE = -DSGX530 -DSUPPORT_SGX530 -DSGX_CORE_REV=103
-+CORE = -DSGX530 -DSUPPORT_SGX530 -DSGX_CORE_REV=121
-
- SUPPORT_SGX = 1
- SUPPORT_HW_RECOVERY = 1
diff --git a/recipes/powervr-drivers/omap3-sgx-modules/omap3-sgx-modules-1.3.13.1607.tar.bz2 b/recipes/powervr-drivers/omap3-sgx-modules/omap3-sgx-modules-1.3.13.1607.tar.bz2
deleted file mode 100644
index 5c2fd6a0ab..0000000000
--- a/recipes/powervr-drivers/omap3-sgx-modules/omap3-sgx-modules-1.3.13.1607.tar.bz2
+++ /dev/null
Binary files differ
diff --git a/recipes/powervr-drivers/omap3-sgx-modules/proc-interface.patch b/recipes/powervr-drivers/omap3-sgx-modules/proc-interface.patch
deleted file mode 100755
index 185191f4d8..0000000000
--- a/recipes/powervr-drivers/omap3-sgx-modules/proc-interface.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- ./services4/srvkm/env/linux/proc.c.orig 2009-10-09 13:46:40.000000000 -0500
-+++ ./services4/srvkm/env/linux/proc.c 2009-10-09 13:48:36.000000000 -0500
-@@ -134,7 +134,9 @@
-
- if (file)
- {
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,31)
- file->owner = THIS_MODULE;
-+#endif
- file->read_proc = rhandler;
- file->write_proc = whandler;
- file->data = data;
-@@ -165,7 +167,9 @@
-
- if (file)
- {
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,31)
- file->owner = THIS_MODULE;
-+#endif
-
- return 0;
- }
diff --git a/recipes/powervr-drivers/omap3-sgx-modules/rotation-dss2.patch b/recipes/powervr-drivers/omap3-sgx-modules/rotation-dss2.patch
deleted file mode 100644
index ea4a6a10c6..0000000000
--- a/recipes/powervr-drivers/omap3-sgx-modules/rotation-dss2.patch
+++ /dev/null
@@ -1,21 +0,0 @@
---- a/services4/3rdparty/dc_omap3430_linux/omaplfb_displayclass.c 2009-01-22 17:08:25.000000000 +0530
-+++ b/services4/3rdparty/dc_omap3430_linux/omaplfb_displayclass.c 2009-04-25 16:43:22.000000000 +0530
-@@ -1014,8 +1014,16 @@
- psPVRFBInfo->sSysAddr.uiAddr = psLINFBInfo->fix.smem_start;
- psPVRFBInfo->sCPUVAddr = psLINFBInfo->screen_base;
-
-- psPVRFBInfo->ui32Width = psLINFBInfo->var.xres;
-- psPVRFBInfo->ui32Height = psLINFBInfo->var.yres;
-+ if ((psLINFBInfo->var.rotate == FB_ROTATE_CW)
-+ || (psLINFBInfo->var.rotate == FB_ROTATE_CCW) ) {
-+
-+ psPVRFBInfo->ui32Width = psLINFBInfo->var.yres;
-+ psPVRFBInfo->ui32Height = psLINFBInfo->var.xres;
-+
-+ } else {
-+ psPVRFBInfo->ui32Width = psLINFBInfo->var.xres;
-+ psPVRFBInfo->ui32Height = psLINFBInfo->var.yres;
-+ }
- psPVRFBInfo->ui32ByteStride = psLINFBInfo->fix.line_length;
- psPVRFBInfo->ui32FBSize = FBSize;
- psPVRFBInfo->ui32BufferSize = psPVRFBInfo->ui32Height * psPVRFBInfo->ui32ByteStride;
diff --git a/recipes/powervr-drivers/omap3-sgx-modules/spurious-irq-fix.diff b/recipes/powervr-drivers/omap3-sgx-modules/spurious-irq-fix.diff
deleted file mode 100644
index c857fe713f..0000000000
--- a/recipes/powervr-drivers/omap3-sgx-modules/spurious-irq-fix.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- /tmp/sgxinit.c 2009-02-20 21:24:01.000000000 +0100
-+++ omap3-sgx-modules-1.3.13.1397/services4/srvkm/devices/sgx/sgxinit.c 2009-02-20 21:25:17.000000000 +0100
-@@ -1139,6 +1139,8 @@
-
-
- OSWriteHWReg(psDevInfo->pvRegsBaseKM, EUR_CR_EVENT_HOST_CLEAR, ui32EventClear);
-+ //Read back to flush posted write to fix spurious IRQ
-+ OSReadHWReg(psDevInfo->pvRegsBaseKM, EUR_CR_EVENT_HOST_CLEAR);
- }
- }
-