diff options
author | Koen Kooi <koen@openembedded.org> | 2010-02-23 16:04:51 +0100 |
---|---|---|
committer | Koen Kooi <koen@openembedded.org> | 2010-02-24 12:06:59 +0100 |
commit | 32799b8fb20c213dd932780bf21148d050d772f4 (patch) | |
tree | 905c698018af48ae6aa94094a67badfa5aa674bc /recipes/powervr-drivers | |
parent | 23681e960148d0edff965eaef30044678eed111e (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')
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 Binary files differdeleted file mode 100644 index 5c2fd6a0ab..0000000000 --- a/recipes/powervr-drivers/omap3-sgx-modules/omap3-sgx-modules-1.3.13.1607.tar.bz2 +++ /dev/null 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); - } - } - |