libgles-omap3: complete overhaul
authorKoen Kooi <koen@openembedded.org>
Tue, 23 Feb 2010 15:04:51 +0000 (16:04 +0100)
committerKoen Kooi <koen@openembedded.org>
Wed, 24 Feb 2010 11:06:59 +0000 (12:06 +0100)
* convert to new-style staging
* (re)build demos with proper toolchain and flags
* build trainingcourses
* generate .desktop files on the fly

* delete old versions

27 files changed:
recipes/powervr-drivers/libgles-omap3.inc
recipes/powervr-drivers/libgles-omap3/chameleonman.desktop [deleted file]
recipes/powervr-drivers/libgles-omap3/evilskull.desktop [deleted file]
recipes/powervr-drivers/libgles-omap3/fivespheres.desktop [deleted file]
recipes/powervr-drivers/libgles-omap3/lighting.desktop [deleted file]
recipes/powervr-drivers/libgles-omap3/mouse.desktop [deleted file]
recipes/powervr-drivers/libgles-omap3/optimizemesh.desktop [deleted file]
recipes/powervr-drivers/libgles-omap3/particles.desktop [deleted file]
recipes/powervr-drivers/libgles-omap3/polybump.desktop [deleted file]
recipes/powervr-drivers/libgles-omap3/rc.pvr
recipes/powervr-drivers/libgles-omap3/sample.desktop [new file with mode: 0644]
recipes/powervr-drivers/libgles-omap3/shaders.desktop [deleted file]
recipes/powervr-drivers/libgles-omap3/shadowtechniques.desktop [deleted file]
recipes/powervr-drivers/libgles-omap3/skybox.desktop [deleted file]
recipes/powervr-drivers/libgles-omap3/skybox2.desktop [deleted file]
recipes/powervr-drivers/libgles-omap3/trilinear.desktop [deleted file]
recipes/powervr-drivers/libgles-omap3/userclipplanes.desktop [deleted file]
recipes/powervr-drivers/libgles-omap3/vase.desktop [deleted file]
recipes/powervr-drivers/libgles-omap3_3.01.00.02.bb
recipes/powervr-drivers/omap3-sgx-modules/0001-Compile-fixes-for-DSS2.patch [deleted file]
recipes/powervr-drivers/omap3-sgx-modules/0001-New-build-system-for-SGX.patch [deleted file]
recipes/powervr-drivers/omap3-sgx-modules/0002-Compile-fixes-for-DSS2.patch [deleted file]
recipes/powervr-drivers/omap3-sgx-modules/build_es3.x_sgx.patch [deleted file]
recipes/powervr-drivers/omap3-sgx-modules/omap3-sgx-modules-1.3.13.1607.tar.bz2 [deleted file]
recipes/powervr-drivers/omap3-sgx-modules/proc-interface.patch [deleted file]
recipes/powervr-drivers/omap3-sgx-modules/rotation-dss2.patch [deleted file]
recipes/powervr-drivers/omap3-sgx-modules/spurious-irq-fix.diff [deleted file]

index 27f732b..dd222df 100644 (file)
@@ -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 (file)
index 23d4fc0..0000000
+++ /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 (file)
index 0590f7f..0000000
+++ /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 (file)
index 569cad6..0000000
+++ /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 (file)
index 39179b2..0000000
+++ /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 (file)
index a565310..0000000
+++ /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 (file)
index 9d7194a..0000000
+++ /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 (file)
index 1d71b9d..0000000
+++ /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 (file)
index d7cf1af..0000000
+++ /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;
-
index 4a698da..2a8260b 100755 (executable)
@@ -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 (file)
index 0000000..6bacac9
--- /dev/null
@@ -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 (file)
index bee8c92..0000000
+++ /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 (file)
index 0f228d5..0000000
+++ /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 (file)
index 69a7f94..0000000
+++ /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 (file)
index a2b02f7..0000000
+++ /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 (file)
index 3e105ac..0000000
+++ /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 (file)
index 9bad690..0000000
+++ /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 (file)
index 0606434..0000000
+++ /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;
-
index 81fff90..6d84f14 100644 (file)
@@ -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 (file)
index 7dbf4d9..0000000
+++ /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 (file)
index 9751bcd..0000000
+++ /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 (file)
index c319ac5..0000000
+++ /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 (file)
index 93df6b3..0000000
+++ /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 (file)
index 5c2fd6a..0000000
Binary files a/recipes/powervr-drivers/omap3-sgx-modules/omap3-sgx-modules-1.3.13.1607.tar.bz2 and /dev/null 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 (executable)
index 185191f..0000000
+++ /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 (file)
index ea4a6a1..0000000
+++ /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 (file)
index c857fe7..0000000
+++ /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);
-               }
-       }