mirror of
https://git.yoctoproject.org/meta-ti
synced 2026-06-05 02:11:00 +00:00
sgx: drop old outdated omap3-sgx-modules and libgles-omap3 recipes
Besides being outdated and deprecated in favor of new ti-sgx-ddk recipes (previously known as omapdrm-pvr and omap5-sgx-ddk), 3D graphics drivers are kernel specific and corresponding kernel versions (prior to 4.0) have all been dropped already. Signed-off-by: Denys Dmytriyenko <denys@ti.com>
This commit is contained in:
-52
@@ -1,52 +0,0 @@
|
||||
From e2db38959a70d1be604a297276a0b0c2ac219bf5 Mon Sep 17 00:00:00 2001
|
||||
From: Darren Etheridge <detheridge@ti.com>
|
||||
Date: Tue, 29 Jul 2014 16:06:17 -0500
|
||||
Subject: [PATCH 1/4] PoC: GFX: SDK: Make 5_01_01_01 work against 3.14 LTS
|
||||
|
||||
An API rename is the main change. Also hacked in some function prototypes
|
||||
for enabling use of the tilcdc DRM driver instead of the fbdev driver on
|
||||
AM335x. However this all really needs a good cleanup as it is hacky at
|
||||
the moment.
|
||||
|
||||
Signed-off-by: Darren Etheridge <detheridge@ti.com>
|
||||
---
|
||||
GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/omaplfb_linux.c | 5 +++++
|
||||
GFX_Linux_KM/services4/srvkm/env/linux/mutils.h | 6 +++++-
|
||||
2 files changed, 10 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/omaplfb_linux.c b/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/omaplfb_linux.c
|
||||
index 5c3fc48..3857b95 100644
|
||||
--- a/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/omaplfb_linux.c
|
||||
+++ b/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/omaplfb_linux.c
|
||||
@@ -93,6 +93,11 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#include <linux/mutex.h>
|
||||
|
||||
#include <video/da8xx-fb.h>
|
||||
+/* used by SGX OMAPLFB drvier */
|
||||
+typedef void (*vsync_callback_t)(void *arg);
|
||||
+int register_vsync_cb(vsync_callback_t handler, void *arg, int idx);
|
||||
+int unregister_vsync_cb(vsync_callback_t handler, void *arg, int idx);
|
||||
+
|
||||
#if defined(PVR_OMAPLFB_DRM_FB)
|
||||
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,0,0))
|
||||
#include <plat/display.h>
|
||||
diff --git a/GFX_Linux_KM/services4/srvkm/env/linux/mutils.h b/GFX_Linux_KM/services4/srvkm/env/linux/mutils.h
|
||||
index 31e0dac..90ec41c 100644
|
||||
--- a/GFX_Linux_KM/services4/srvkm/env/linux/mutils.h
|
||||
+++ b/GFX_Linux_KM/services4/srvkm/env/linux/mutils.h
|
||||
@@ -79,7 +79,11 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#define IOREMAP(pa, bytes) ioremap_cache(pa, bytes)
|
||||
#else
|
||||
#if defined(__arm__) && (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0))
|
||||
- #define IOREMAP(pa, bytes) ioremap_cached(pa, bytes)
|
||||
+ #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,13,0))
|
||||
+ #define IOREMAP(pa, bytes) ioremap_cache(pa, bytes)
|
||||
+ #else
|
||||
+ #define IOREMAP(pa, bytes) ioremap_cached(pa, bytes)
|
||||
+ #endif
|
||||
#else
|
||||
#define IOREMAP(pa, bytes) ioremap(pa, bytes)
|
||||
#endif
|
||||
--
|
||||
1.9.1
|
||||
|
||||
-121
@@ -1,121 +0,0 @@
|
||||
From 7886ef77e4b48a7edd14acbcbe48f6a898251e78 Mon Sep 17 00:00:00 2001
|
||||
From: Darren Etheridge <detheridge@ti.com>
|
||||
Date: Fri, 25 Jul 2014 16:03:14 -0500
|
||||
Subject: [PATCH 2/5] SGX: linux: use platform data to provide reset info
|
||||
|
||||
In ti-linux-3.14.y we will not have a reset driver unlike ti-linux-3.12.y
|
||||
so this commit removes the dependency on the reset driver and instead
|
||||
uses the platform data that in a dt environment is configured in
|
||||
mach-omap2/pdata-quirks.c
|
||||
|
||||
Signed-off-by: Darren Etheridge <detheridge@ti.com>
|
||||
---
|
||||
GFX_Linux_KM/services4/srvkm/env/linux/module.c | 34 ++++++++++++++++++++-----
|
||||
1 file changed, 28 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/GFX_Linux_KM/services4/srvkm/env/linux/module.c b/GFX_Linux_KM/services4/srvkm/env/linux/module.c
|
||||
index e03dc00..90e16ce 100644
|
||||
--- a/GFX_Linux_KM/services4/srvkm/env/linux/module.c
|
||||
+++ b/GFX_Linux_KM/services4/srvkm/env/linux/module.c
|
||||
@@ -47,6 +47,10 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#endif
|
||||
#endif
|
||||
|
||||
+#ifndef CONFIG_RESET_CONTROLLER
|
||||
+#include <linux/platform_data/sgx-omap.h>
|
||||
+#endif
|
||||
+
|
||||
#if defined(SUPPORT_DRI_DRM) && !defined(SUPPORT_DRI_DRM_PLUGIN)
|
||||
#define PVR_MOD_STATIC
|
||||
#else
|
||||
@@ -344,9 +348,11 @@ static LDM_DRV powervr_driver = {
|
||||
LDM_DEV *gpsPVRLDMDev;
|
||||
|
||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0))
|
||||
+#ifdef CONFIG_RESET_CONTROLLER
|
||||
struct reset_control *rstc;
|
||||
bool already_deasserted = false;
|
||||
#endif
|
||||
+#endif
|
||||
|
||||
#if defined(MODULE) && defined(PVR_LDM_PLATFORM_MODULE) && \
|
||||
!defined(PVR_USE_PRE_REGISTERED_PLATFORM_DEV)
|
||||
@@ -388,11 +394,14 @@ static int __devinit PVRSRVDriverProbe(LDM_DEV *pDevice, const struct pci_device
|
||||
#endif
|
||||
{
|
||||
SYS_DATA *psSysData;
|
||||
- int ret;
|
||||
+ int ret;
|
||||
+ struct device *dev = &pDevice->dev;
|
||||
+ struct gfx_sgx_platform_data *pdata = dev->platform_data;
|
||||
+
|
||||
PVR_TRACE(("PVRSRVDriverProbe(pDevice=%p)", pDevice));
|
||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0))
|
||||
+#ifdef CONFIG_RESET_CONTROLLER
|
||||
rstc = reset_control_get(&pDevice->dev, NULL);
|
||||
-
|
||||
if (IS_ERR(rstc))
|
||||
{
|
||||
dev_err(&pDevice->dev, "%s: error: reset_control_get\n", __func__);
|
||||
@@ -403,7 +412,7 @@ static int __devinit PVRSRVDriverProbe(LDM_DEV *pDevice, const struct pci_device
|
||||
|
||||
if (ret < 0)
|
||||
{
|
||||
- dev_err(&pDevice->dev, "%s: error: reset_control_clear_reset\n", __func__);
|
||||
+ dev_err(dev, "%s: error: reset_control_clear_reset\n", __func__);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -413,11 +422,22 @@ static int __devinit PVRSRVDriverProbe(LDM_DEV *pDevice, const struct pci_device
|
||||
{
|
||||
already_deasserted = true;
|
||||
}
|
||||
- else if (ret < 0)
|
||||
+ else if (ret < 0)
|
||||
{
|
||||
- dev_err(&pDevice->dev, "%s: error: reset_control_deassert\n", __func__);
|
||||
+ dev_err(dev, "%s: error: reset_control_deassert\n", __func__);
|
||||
return ret;
|
||||
}
|
||||
+#else
|
||||
+ if (pdata && pdata->deassert_reset) {
|
||||
+ ret = pdata->deassert_reset(pDevice, pdata->reset_name);
|
||||
+ if (ret) {
|
||||
+ dev_err(dev, "Unable to reset SGX!\n");
|
||||
+ }
|
||||
+ } else {
|
||||
+ dev_err(dev, "SGX Platform data missing deassert_reset!\n");
|
||||
+ return -ENODEV;
|
||||
+ }
|
||||
+#endif /* CONFIG_RESET_CONTROLLER */
|
||||
#endif
|
||||
|
||||
#if 0 /* INTEGRATION_POINT */
|
||||
@@ -432,7 +452,7 @@ static int __devinit PVRSRVDriverProbe(LDM_DEV *pDevice, const struct pci_device
|
||||
{
|
||||
return -EINVAL;
|
||||
}
|
||||
-#endif
|
||||
+#endif
|
||||
/* SysInitialise only designed to be called once.
|
||||
*/
|
||||
psSysData = SysAcquireDataNoCheck();
|
||||
@@ -445,6 +465,7 @@ static int __devinit PVRSRVDriverProbe(LDM_DEV *pDevice, const struct pci_device
|
||||
}
|
||||
}
|
||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0))
|
||||
+#ifdef CONFIG_RESET_CONTROLLER
|
||||
if (!already_deasserted)
|
||||
{
|
||||
ret = reset_control_is_reset(rstc);
|
||||
@@ -454,6 +475,7 @@ static int __devinit PVRSRVDriverProbe(LDM_DEV *pDevice, const struct pci_device
|
||||
}
|
||||
}
|
||||
reset_control_put(rstc);
|
||||
+#endif /* CONFIG_RESET_CONTROLLER */
|
||||
#endif
|
||||
|
||||
return PVRSRVIONClientCreate();
|
||||
--
|
||||
1.9.1
|
||||
|
||||
-153
@@ -1,153 +0,0 @@
|
||||
From cf5156ff82e14fe01a194f9fa9a9adc528ac72f0 Mon Sep 17 00:00:00 2001
|
||||
From: Darren Etheridge <detheridge@ti.com>
|
||||
Date: Tue, 29 Jul 2014 15:39:56 -0500
|
||||
Subject: [PATCH 3/4] SGX: displayclass: am335x, am437x - fix mutex deadlock
|
||||
warning
|
||||
|
||||
Rearrange the locking semantics in the Unblank screen function to
|
||||
remove the kernel warning about a possible deadlock scenario.
|
||||
|
||||
The warning presents itself on the console like this:
|
||||
[ 2976.202979] ======================================================
|
||||
[ 2976.202983] [ INFO: possible circular locking dependency detected ]
|
||||
[ 2976.202994] 3.14.11-00997-gb20d0ac-dirty #53 Tainted: G O
|
||||
[ 2976.202997] -------------------------------------------------------
|
||||
[ 2976.203005] OGLES2Chameleon/1203 is trying to acquire lock:
|
||||
[ 2976.203058] (console_lock){+.+.+.}, at: [<bf07a310>]
|
||||
OMAPLFBUnblankDisplay+0x24/0xbc [omaplfb]
|
||||
[ 2976.203062]
|
||||
[ 2976.203062] but task is already holding lock:
|
||||
[ 2976.203087] (&fb_info->lock){+.+.+.}, at: [<c0312358>]
|
||||
lock_fb_info+0x18/0x3c
|
||||
[ 2976.203090]
|
||||
[ 2976.203090] which lock already depends on the new lock.
|
||||
[ 2976.203090]
|
||||
[ 2976.203093]
|
||||
[ 2976.203093] the existing dependency chain (in reverse order) is:
|
||||
[ 2976.203101]
|
||||
[ 2976.203101] -> #1 (&fb_info->lock){+.+.+.}:
|
||||
[ 2976.203112] [<c0312358>] lock_fb_info+0x18/0x3c
|
||||
[ 2976.203124] [<c0313a7c>] register_framebuffer+0x174/0x26c
|
||||
[ 2976.203146] [<c033c314>] omapfb_create_framebuffers+0x48c/0x7ac
|
||||
[ 2976.203157] [<c033d3c4>] omapfb_probe+0x4d4/0x848
|
||||
[ 2976.203170] [<c0381cc8>] platform_drv_probe+0x18/0x48
|
||||
[ 2976.203189] [<c038096c>] driver_probe_device+0x10c/0x238
|
||||
[ 2976.203199] [<c0380b2c>] __driver_attach+0x94/0x98
|
||||
[ 2976.203208] [<c037f0f0>] bus_for_each_dev+0x54/0x88
|
||||
[ 2976.203216] [<c03800f0>] bus_add_driver+0xd8/0x1d8
|
||||
[ 2976.203223] [<c038115c>] driver_register+0x78/0xf4
|
||||
[ 2976.203234] [<c0008968>] do_one_initcall+0xe4/0x144
|
||||
[ 2976.203250] [<c07d3c18>] kernel_init_freeable+0xfc/0x1cc
|
||||
[ 2976.203261] [<c0563260>] kernel_init+0x8/0xec
|
||||
[ 2976.203275] [<c000e648>] ret_from_fork+0x14/0x2c
|
||||
[ 2976.203284]
|
||||
[ 2976.203284] -> #0 (console_lock){+.+.+.}:
|
||||
[ 2976.203301] [<c008bc00>] console_lock+0x4c/0x60
|
||||
[ 2976.203328] [<bf07a310>] OMAPLFBUnblankDisplay+0x24/0xbc [omaplfb]
|
||||
[ 2976.203340] [<bf0797f4>] OpenDCDevice+0x60/0x78 [omaplfb]
|
||||
[ 2976.203459] [<bf041ac0>] PVRSRVOpenDCDeviceKM+0xec/0x178 [pvrsrvkm]
|
||||
[ 2976.203654] [<bf05645c>] PVRSRVOpenDCDeviceBW+0x6c/0xac [pvrsrvkm]
|
||||
[ 2976.203811] [<bf056d10>] BridgedDispatchKM+0xf4/0x14c [pvrsrvkm]
|
||||
[ 2976.203966] [<bf04f304>] PVRSRV_BridgeDispatchKM+0xf0/0x204
|
||||
[pvrsrvkm]
|
||||
[ 2976.203987] [<c0129500>] do_vfs_ioctl+0x78/0x61c
|
||||
[ 2976.203997] [<c0129b08>] SyS_ioctl+0x64/0x74
|
||||
[ 2976.204013] [<c000e580>] ret_fast_syscall+0x0/0x48
|
||||
[ 2976.204016]
|
||||
[ 2976.204016] other info that might help us debug this:
|
||||
[ 2976.204016]
|
||||
[ 2976.204019] Possible unsafe locking scenario:
|
||||
[ 2976.204019]
|
||||
[ 2976.204022] CPU0 CPU1
|
||||
[ 2976.204024] ---- ----
|
||||
[ 2976.204030] lock(&fb_info->lock);
|
||||
[ 2976.204036] lock(console_lock);
|
||||
[ 2976.204041] lock(&fb_info->lock);
|
||||
[ 2976.204046] lock(console_lock);
|
||||
[ 2976.204048]
|
||||
[ 2976.204048] *** DEADLOCK ***
|
||||
[ 2976.204048]
|
||||
[ 2976.204055] 2 locks held by OGLES2Chameleon/1203:
|
||||
[ 2976.204217] #0: (psPVRSRVMutex#2/1){+.+.+.}, at: [<bf04f238>]
|
||||
PVRSRV_BridgeDispatchKM+0x24/0x204 [pvrsrvkm]
|
||||
[ 2976.204240] #1: (&fb_info->lock){+.+.+.}, at: [<c0312358>]
|
||||
lock_fb_info+0x18/0x3c
|
||||
|
||||
Signed-off-by: Darren Etheridge <detheridge@ti.com>
|
||||
---
|
||||
GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/omaplfb_linux.c | 8 +++++---
|
||||
GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/omaplfb_linux.c | 7 +++++--
|
||||
2 files changed, 10 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/omaplfb_linux.c b/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/omaplfb_linux.c
|
||||
index 3857b95..a5cc7d0 100644
|
||||
--- a/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/omaplfb_linux.c
|
||||
+++ b/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/omaplfb_linux.c
|
||||
@@ -812,10 +812,13 @@ static OMAPLFB_ERROR OMAPLFBBlankOrUnblankDisplay(OMAPLFB_DEVINFO *psDevInfo, IM
|
||||
{
|
||||
#ifdef FBDEV_PRESENT
|
||||
int res;
|
||||
+
|
||||
+ OMAPLFB_CONSOLE_LOCK();
|
||||
if (!lock_fb_info(psDevInfo->psLINFBInfo))
|
||||
{
|
||||
printk(KERN_ERR DRIVER_PREFIX
|
||||
": %s: Device %u: Couldn't lock FB info\n", __FUNCTION__, psDevInfo->uiFBDevID);
|
||||
+ OMAPLFB_CONSOLE_UNLOCK();
|
||||
return (OMAPLFB_ERROR_GENERIC);
|
||||
}
|
||||
|
||||
@@ -825,14 +828,13 @@ static OMAPLFB_ERROR OMAPLFBBlankOrUnblankDisplay(OMAPLFB_DEVINFO *psDevInfo, IM
|
||||
* notification.
|
||||
*/
|
||||
|
||||
-
|
||||
- OMAPLFB_CONSOLE_LOCK();
|
||||
psDevInfo->psLINFBInfo->flags |= FBINFO_MISC_USEREVENT;
|
||||
res = fb_blank(psDevInfo->psLINFBInfo, bBlank ? 1 : 0);
|
||||
psDevInfo->psLINFBInfo->flags &= ~FBINFO_MISC_USEREVENT;
|
||||
|
||||
- OMAPLFB_CONSOLE_UNLOCK();
|
||||
unlock_fb_info(psDevInfo->psLINFBInfo);
|
||||
+ OMAPLFB_CONSOLE_UNLOCK();
|
||||
+
|
||||
if (res != 0 && res != -EINVAL)
|
||||
{
|
||||
printk(KERN_ERR DRIVER_PREFIX
|
||||
diff --git a/GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/omaplfb_linux.c b/GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/omaplfb_linux.c
|
||||
index c79dbd0..58b8640 100755
|
||||
--- a/GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/omaplfb_linux.c
|
||||
+++ b/GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/omaplfb_linux.c
|
||||
@@ -948,10 +948,13 @@ static OMAPLFB_ERROR OMAPLFBBlankOrUnblankDisplay(OMAPLFB_DEVINFO *psDevInfo, IM
|
||||
{
|
||||
#ifdef FBDEV_PRESENT
|
||||
int res;
|
||||
+
|
||||
+ OMAPLFB_CONSOLE_LOCK();
|
||||
if (!lock_fb_info(psDevInfo->psLINFBInfo))
|
||||
{
|
||||
printk(KERN_ERR DRIVER_PREFIX
|
||||
": %s: Device %u: Couldn't lock FB info\n", __FUNCTION__, psDevInfo->uiFBDevID);
|
||||
+ OMAPLFB_CONSOLE_UNLOCK();
|
||||
return (OMAPLFB_ERROR_GENERIC);
|
||||
}
|
||||
|
||||
@@ -961,13 +964,13 @@ static OMAPLFB_ERROR OMAPLFBBlankOrUnblankDisplay(OMAPLFB_DEVINFO *psDevInfo, IM
|
||||
* notification.
|
||||
*/
|
||||
|
||||
- OMAPLFB_CONSOLE_LOCK();
|
||||
psDevInfo->psLINFBInfo->flags |= FBINFO_MISC_USEREVENT;
|
||||
res = fb_blank(psDevInfo->psLINFBInfo, bBlank ? 1 : 0);
|
||||
psDevInfo->psLINFBInfo->flags &= ~FBINFO_MISC_USEREVENT;
|
||||
|
||||
- OMAPLFB_CONSOLE_UNLOCK();
|
||||
unlock_fb_info(psDevInfo->psLINFBInfo);
|
||||
+ OMAPLFB_CONSOLE_UNLOCK();
|
||||
+
|
||||
if (res != 0 && res != -EINVAL)
|
||||
{
|
||||
printk(KERN_ERR DRIVER_PREFIX
|
||||
--
|
||||
1.9.1
|
||||
|
||||
-45
@@ -1,45 +0,0 @@
|
||||
From c9258e090aec91e70efa814e5a38048b0c45754a Mon Sep 17 00:00:00 2001
|
||||
From: Darren Etheridge <detheridge@ti.com>
|
||||
Date: Tue, 29 Jul 2014 15:54:14 -0500
|
||||
Subject: [PATCH 4/4] SGX: linux: make it building against ti-linux-3.14.y
|
||||
|
||||
The fbdev drivers moved into their own directory under drivers/video.
|
||||
All of the omap2 dss stuff moved there as well so update the Makefile
|
||||
to point to the right place.
|
||||
|
||||
Keep the old directory around to not break builds against older kernel.
|
||||
|
||||
Signed-off-by: Darren Etheridge <detheridge@ti.com>
|
||||
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
|
||||
---
|
||||
GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/Kbuild | 1 +
|
||||
GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/Kbuild | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/Kbuild b/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/Kbuild
|
||||
index 1ae2359..9e0c843 100755
|
||||
--- a/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/Kbuild
|
||||
+++ b/GFX_Linux_KM/services4/3rdparty/dc_ti335x_linux/Kbuild
|
||||
@@ -15,6 +15,7 @@ EXTRA_CFLAGS = -DLINUX \
|
||||
-I$(PVR_BUILD_DIR)/services4/include \
|
||||
-I$(PVR_BUILD_DIR)/services4/system/$(PVR_SYSTEM) \
|
||||
-I$(KERNELDIR)/drivers/video/omap2 \
|
||||
+ -I$(KERNELDIR)/drivers/video/fbdev/omap2 \
|
||||
-I$(PVR_BUILD_DIR)/services4/system/include \
|
||||
$(SYS_CFLAGS.1) \
|
||||
|
||||
diff --git a/GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/Kbuild b/GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/Kbuild
|
||||
index 1ae2359..9e0c843 100755
|
||||
--- a/GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/Kbuild
|
||||
+++ b/GFX_Linux_KM/services4/3rdparty/dc_ti43xx_linux/Kbuild
|
||||
@@ -15,6 +15,7 @@ EXTRA_CFLAGS = -DLINUX \
|
||||
-I$(PVR_BUILD_DIR)/services4/include \
|
||||
-I$(PVR_BUILD_DIR)/services4/system/$(PVR_SYSTEM) \
|
||||
-I$(KERNELDIR)/drivers/video/omap2 \
|
||||
+ -I$(KERNELDIR)/drivers/video/fbdev/omap2 \
|
||||
-I$(PVR_BUILD_DIR)/services4/system/include \
|
||||
$(SYS_CFLAGS.1) \
|
||||
|
||||
--
|
||||
2.0.2
|
||||
|
||||
@@ -1,81 +0,0 @@
|
||||
DESCRIPTION = "Kernel drivers for the PowerVR SGX chipset found in the omap3 SoCs (for X11)"
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=ea5743acf520dd81ca172e69f818a3d4"
|
||||
|
||||
TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
|
||||
require ../../recipes-ti/includes/ti-eula-unpack.inc
|
||||
|
||||
SGXPV = "4_09_00_01"
|
||||
IMGPV = "1.9.2188537"
|
||||
|
||||
inherit module
|
||||
|
||||
MACHINE_KERNEL_PR_append = "d"
|
||||
PR = "${MACHINE_KERNEL_PR}"
|
||||
|
||||
# Select the corresponding hardfp/softfp filename and checksums based on tune flags
|
||||
BINFILE_SOFTFP = "Graphics_SDK_setuplinux_${SGXPV}_minimal_demos.bin"
|
||||
MD5SUM_SOFTFP = "bd35e9d8843aff3a2aca9d41e7db1c7d"
|
||||
SHA256SUM_SOFTFP = "eb37f75ddde4640b09e760fa86e689beb394330ecdf68786188c34f249247647"
|
||||
|
||||
BINFILE_HARDFP = "Graphics_SDK_setuplinux_${SGXPV}_hardfp_minimal_demos.bin"
|
||||
MD5SUM_HARDFP = "c9f656dce062d1ab10afffd4dfb71b67"
|
||||
SHA256SUM_HARDFP = "dbfeba8e1298f139495816334edec1455e6b49b1e11bd1b2aa0a888e5788bb6b"
|
||||
|
||||
BINFILE = "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${BINFILE_HARDFP}', '${BINFILE_SOFTFP}', d)}"
|
||||
|
||||
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/${SGXPV}/exports/${BINFILE}"
|
||||
|
||||
SRC_URI[md5sum] := "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${MD5SUM_HARDFP}', '${MD5SUM_SOFTFP}', d)}"
|
||||
SRC_URI[sha256sum] := "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${SHA256SUM_HARDFP}', '${SHA256SUM_SOFTFP}', d)}"
|
||||
|
||||
TI_BIN_UNPK_WDEXT="/Graphics_SDK_${SGXPV}"
|
||||
S = "${WORKDIR}${TI_BIN_UNPK_WDEXT}/GFX_Linux_KM"
|
||||
|
||||
PVRBUILD = "release"
|
||||
export KERNELDIR = "${STAGING_KERNEL_DIR}"
|
||||
|
||||
INHIBIT_PACKAGE_STRIP = "1"
|
||||
|
||||
TI_PLATFORM_omap3 = "omap3630"
|
||||
TI_PLATFORM_ti814x = "ti81xx"
|
||||
TI_PLATFORM_ti816x = "ti81xx"
|
||||
TI_PLATFORM_ti33x = "ti335x"
|
||||
|
||||
MODULESLOCATION_omap3 = "dc_omapfb3_linux"
|
||||
MODULESLOCATION_ti814x = "dc_ti81xx_linux"
|
||||
MODULESLOCATION_ti816x = "dc_ti81xx_linux"
|
||||
MODULESLOCATION_ti33x = "dc_ti335x_linux"
|
||||
|
||||
export SUPPORT_XORG ?= "1"
|
||||
|
||||
MAKE_TARGETS = " BUILD=${PVRBUILD} TI_PLATFORM=${TI_PLATFORM} SUPPORT_XORG=${SUPPORT_XORG}"
|
||||
|
||||
do_compile() {
|
||||
export TOOLCHAIN="${TOOLCHAIN_PATH}"
|
||||
export PLAT_CC="${CC}"
|
||||
export PLAT_CPP="${CXX}"
|
||||
export PLAR_AR="${AR}"
|
||||
for kernelver in ${WORKDIR}/../../${PREFERRED_PROVIDER_virtual/kernel}/* ; do
|
||||
cp -f $kernelver/git/drivers/gpu/drm/*.c ${S}/services4/3rdparty/linux_drm/
|
||||
done
|
||||
if [ $(echo -e "${KERNEL_VERSION}\n3.3" | sort --version-sort | head -1) = "3.3" ] ; then
|
||||
cp -f ${S}/services4/3rdparty/linux_drm/Kbuild_3.3 \
|
||||
${S}/services4/3rdparty/linux_drm/Kbuild || true
|
||||
else
|
||||
if [ $(echo -e "${KERNEL_VERSION}\n3.2" | sort --version-sort | head -1) = "3.2" ] ; then
|
||||
cp -f ${S}/services4/3rdparty/linux_drm/Kbuild_3.2 \
|
||||
${S}/services4/3rdparty/linux_drm/Kbuild || true
|
||||
fi
|
||||
fi
|
||||
oe_runmake BUILD=${PVRBUILD} TI_PLATFORM=${TI_PLATFORM} SUPPORT_XORG=${SUPPORT_XORG}
|
||||
}
|
||||
|
||||
do_install() {
|
||||
mkdir -p ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
|
||||
cp ${S}/pvrsrvkm.ko \
|
||||
${S}/services4/3rdparty/bufferclass_ti/bufferclass_ti.ko \
|
||||
${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
|
||||
|
||||
cp ${S}/services4/3rdparty/linux_drm/drm.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/gpu/pvr
|
||||
}
|
||||
@@ -1,346 +0,0 @@
|
||||
--- GFX_Linux_KM/services4/3rdparty/dc_omap3430_linux/omaplfb_displayclass.c-orig 2011-03-08 04:27:35.000000000 -0800
|
||||
+++ GFX_Linux_KM/services4/3rdparty/dc_omap3430_linux/omaplfb_displayclass.c 2011-03-17 13:11:31.000000000 -0700
|
||||
@@ -235,9 +235,20 @@ static OMAP_ERROR UnblankDisplay(OMAPLFB
|
||||
{
|
||||
int res;
|
||||
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)
|
||||
+ console_lock();
|
||||
+#else
|
||||
acquire_console_sem();
|
||||
+#endif
|
||||
+
|
||||
res = fb_blank(psDevInfo->psLINFBInfo, 0);
|
||||
+
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)
|
||||
+ console_unlock();
|
||||
+#else
|
||||
release_console_sem();
|
||||
+#endif
|
||||
+
|
||||
#if !defined (CONFIG_OMAP2_DSS)
|
||||
if (res != 0 && res != -EINVAL)
|
||||
{
|
||||
@@ -1118,7 +1129,11 @@ static OMAP_ERROR InitDev(OMAPLFB_DEVINF
|
||||
OMAP_ERROR eError = OMAP_ERROR_GENERIC;
|
||||
unsigned long FBSize;
|
||||
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)
|
||||
+ console_lock();
|
||||
+#else
|
||||
acquire_console_sem();
|
||||
+#endif
|
||||
|
||||
if (fb_idx < 0 || fb_idx >= num_registered_fb)
|
||||
{
|
||||
@@ -1254,7 +1269,11 @@ static OMAP_ERROR InitDev(OMAPLFB_DEVINF
|
||||
errModPut:
|
||||
module_put(psLINFBOwner);
|
||||
errRelSem:
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)
|
||||
+ console_unlock();
|
||||
+#else
|
||||
release_console_sem();
|
||||
+#endif
|
||||
return eError;
|
||||
}
|
||||
|
||||
@@ -1263,7 +1282,11 @@ static void DeInitDev(OMAPLFB_DEVINFO *p
|
||||
struct fb_info *psLINFBInfo = psDevInfo->psLINFBInfo;
|
||||
struct module *psLINFBOwner;
|
||||
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)
|
||||
+ console_lock();
|
||||
+#else
|
||||
acquire_console_sem();
|
||||
+#endif
|
||||
|
||||
psLINFBOwner = psLINFBInfo->fbops->owner;
|
||||
|
||||
@@ -1274,7 +1297,11 @@ static void DeInitDev(OMAPLFB_DEVINFO *p
|
||||
|
||||
module_put(psLINFBOwner);
|
||||
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)
|
||||
+ console_unlock();
|
||||
+#else
|
||||
release_console_sem();
|
||||
+#endif
|
||||
}
|
||||
|
||||
OMAP_ERROR OMAPLFBInit(void)
|
||||
--- GFX_Linux_KM/services4/3rdparty/dc_omap3430_linux/omaplfb_linux.c-orig 2011-03-08 04:27:35.000000000 -0800
|
||||
+++ GFX_Linux_KM/services4/3rdparty/dc_omap3430_linux/omaplfb_linux.c 2011-03-17 13:40:15.000000000 -0700
|
||||
@@ -24,11 +24,14 @@
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
+#include <linux/version.h>
|
||||
+
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
|
||||
#ifndef AUTOCONF_INCLUDED
|
||||
#include <linux/config.h>
|
||||
#endif
|
||||
+#endif
|
||||
|
||||
-#include <linux/version.h>
|
||||
#include <linux/module.h>
|
||||
|
||||
#include <linux/pci.h>
|
||||
--- GFX_Linux_KM/services4/srvkm/common/resman.c-orig 2011-03-08 04:27:36.000000000 -0800
|
||||
+++ GFX_Linux_KM/services4/srvkm/common/resman.c 2011-03-17 14:20:07.000000000 -0700
|
||||
@@ -24,15 +24,17 @@
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
+#include <linux/version.h>
|
||||
#include "services_headers.h"
|
||||
#include "resman.h"
|
||||
|
||||
#ifdef __linux__
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
|
||||
#ifndef AUTOCONF_INCLUDED
|
||||
#include <linux/config.h>
|
||||
#endif
|
||||
+#endif
|
||||
|
||||
-#include <linux/version.h>
|
||||
#include <linux/sched.h>
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,9)
|
||||
#include <linux/hardirq.h>
|
||||
--- GFX_Linux_KM/services4/srvkm/env/linux/pvr_debug.c-orig 2011-03-08 04:27:36.000000000 -0800
|
||||
+++ GFX_Linux_KM/services4/srvkm/env/linux/pvr_debug.c 2011-03-17 14:33:09.000000000 -0700
|
||||
@@ -24,9 +24,13 @@
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
+#include <linux/version.h>
|
||||
+
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
|
||||
#ifndef AUTOCONF_INCLUDED
|
||||
#include <linux/config.h>
|
||||
#endif
|
||||
+#endif
|
||||
|
||||
#include <asm/io.h>
|
||||
#include <asm/uaccess.h>
|
||||
--- GFX_Linux_KM/services4/srvkm/env/linux/pvr_uaccess.h-orig 2011-03-08 04:27:36.000000000 -0800
|
||||
+++ GFX_Linux_KM/services4/srvkm/env/linux/pvr_uaccess.h 2011-03-17 14:39:14.000000000 -0700
|
||||
@@ -27,11 +27,14 @@
|
||||
#ifndef __PVR_UACCESS_H__
|
||||
#define __PVR_UACCESS_H__
|
||||
|
||||
+#include <linux/version.h>
|
||||
+
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
|
||||
#ifndef AUTOCONF_INCLUDED
|
||||
#include <linux/config.h>
|
||||
#endif
|
||||
+#endif
|
||||
|
||||
-#include <linux/version.h>
|
||||
#include <asm/uaccess.h>
|
||||
|
||||
static inline unsigned long pvr_copy_to_user(void __user *pvTo, const void *pvFrom, unsigned long ulBytes)
|
||||
--- GFX_Linux_KM/services4/srvkm/env/linux/mm.c-orig 2011-03-08 04:27:36.000000000 -0800
|
||||
+++ GFX_Linux_KM/services4/srvkm/env/linux/mm.c 2011-03-17 14:46:23.000000000 -0700
|
||||
@@ -24,11 +24,14 @@
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
+#include <linux/version.h>
|
||||
+
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
|
||||
#ifndef AUTOCONF_INCLUDED
|
||||
#include <linux/config.h>
|
||||
#endif
|
||||
+#endif
|
||||
|
||||
-#include <linux/version.h>
|
||||
#include <linux/mm.h>
|
||||
#include <linux/vmalloc.h>
|
||||
#include <asm/io.h>
|
||||
--- GFX_Linux_KM/services4/srvkm/env/linux/mutils.h-orig 2011-03-08 04:27:36.000000000 -0800
|
||||
+++ GFX_Linux_KM/services4/srvkm/env/linux/mutils.h 2011-03-17 14:54:37.000000000 -0700
|
||||
@@ -27,11 +27,13 @@
|
||||
#ifndef __IMG_LINUX_MUTILS_H__
|
||||
#define __IMG_LINUX_MUTILS_H__
|
||||
|
||||
+#include <linux/version.h>
|
||||
+
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
|
||||
#ifndef AUTOCONF_INCLUDED
|
||||
#include <linux/config.h>
|
||||
#endif
|
||||
-
|
||||
-#include <linux/version.h>
|
||||
+#endif
|
||||
|
||||
#if !(defined(__i386__) && (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26)))
|
||||
#if defined(SUPPORT_LINUX_X86_PAT)
|
||||
--- GFX_Linux_KM/services4/srvkm/env/linux/mm.h-orig 2011-03-08 04:27:36.000000000 -0800
|
||||
+++ GFX_Linux_KM/services4/srvkm/env/linux/mm.h 2011-03-17 15:33:56.000000000 -0700
|
||||
@@ -27,11 +27,14 @@
|
||||
#ifndef __IMG_LINUX_MM_H__
|
||||
#define __IMG_LINUX_MM_H__
|
||||
|
||||
+#include <linux/version.h>
|
||||
+
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
|
||||
#ifndef AUTOCONF_INCLUDED
|
||||
#include <linux/config.h>
|
||||
#endif
|
||||
+#endif
|
||||
|
||||
-#include <linux/version.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/mm.h>
|
||||
#include <linux/list.h>
|
||||
--- GFX_Linux_KM/services4/srvkm/env/linux/mmap.c-orig 2011-03-17 20:39:31.000000000 -0700
|
||||
+++ GFX_Linux_KM/services4/srvkm/env/linux/mmap.c 2011-03-17 20:40:00.000000000 -0700
|
||||
@@ -24,11 +24,14 @@
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
+#include <linux/version.h>
|
||||
+
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
|
||||
#ifndef AUTOCONF_INCLUDED
|
||||
#include <linux/config.h>
|
||||
#endif
|
||||
+#endif
|
||||
|
||||
-#include <linux/version.h>
|
||||
#include <linux/mm.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/vmalloc.h>
|
||||
--- GFX_Linux_KM/services4/srvkm/env/linux/proc.c-orig 2011-03-08 04:27:36.000000000 -0800
|
||||
+++ GFX_Linux_KM/services4/srvkm/env/linux/proc.c 2011-03-17 21:01:35.000000000 -0700
|
||||
@@ -24,13 +24,16 @@
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
+#include <linux/version.h>
|
||||
+
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
|
||||
#ifndef AUTOCONF_INCLUDED
|
||||
#include <linux/config.h>
|
||||
#endif
|
||||
+#endif
|
||||
|
||||
#include <linux/init.h>
|
||||
#include <linux/module.h>
|
||||
-#include <linux/version.h>
|
||||
#include <linux/fs.h>
|
||||
#include <linux/proc_fs.h>
|
||||
#include <linux/seq_file.h>
|
||||
--- GFX_Linux_KM/services4/srvkm/env/linux/module.c-orig 2011-03-08 04:27:36.000000000 -0800
|
||||
+++ GFX_Linux_KM/services4/srvkm/env/linux/module.c 2011-03-17 21:32:19.000000000 -0700
|
||||
@@ -24,9 +24,13 @@
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
+#include <linux/version.h>
|
||||
+
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
|
||||
#ifndef AUTOCONF_INCLUDED
|
||||
#include <linux/config.h>
|
||||
#endif
|
||||
+#endif
|
||||
|
||||
#if !defined(SUPPORT_DRI_DRM)
|
||||
|
||||
@@ -44,7 +48,6 @@
|
||||
#include <linux/init.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/module.h>
|
||||
-#include <linux/version.h>
|
||||
#include <linux/fs.h>
|
||||
#include <linux/proc_fs.h>
|
||||
|
||||
--- GFX_Linux_KM/services4/srvkm/env/linux/event.c-orig 2011-03-08 04:27:36.000000000 -0800
|
||||
+++ GFX_Linux_KM/services4/srvkm/env/linux/event.c 2011-03-18 08:51:42.000000000 -0700
|
||||
@@ -24,11 +24,14 @@
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
+#include <linux/version.h>
|
||||
+
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
|
||||
#ifndef AUTOCONF_INCLUDED
|
||||
#include <linux/config.h>
|
||||
#endif
|
||||
+#endif
|
||||
|
||||
-#include <linux/version.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/page.h>
|
||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22))
|
||||
--- GFX_Linux_KM/services4/srvkm/env/linux/osfunc.c-orig 2011-03-08 04:27:36.000000000 -0800
|
||||
+++ GFX_Linux_KM/services4/srvkm/env/linux/osfunc.c 2011-03-18 08:58:16.000000000 -0700
|
||||
@@ -24,11 +24,14 @@
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
+#include <linux/version.h>
|
||||
+
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
|
||||
#ifndef AUTOCONF_INCLUDED
|
||||
#include <linux/config.h>
|
||||
#endif
|
||||
+#endif
|
||||
|
||||
-#include <linux/version.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/page.h>
|
||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22))
|
||||
--- GFX_Linux_KM/services4/srvkm/env/linux/pvr_drm.c-orig 2011-03-08 04:27:36.000000000 -0800
|
||||
+++ GFX_Linux_KM/services4/srvkm/env/linux/pvr_drm.c 2011-03-18 09:01:06.000000000 -0700
|
||||
@@ -26,14 +26,17 @@
|
||||
|
||||
#if defined(SUPPORT_DRI_DRM)
|
||||
|
||||
+#include <linux/version.h>
|
||||
+
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
|
||||
#ifndef AUTOCONF_INCLUDED
|
||||
#include <linux/config.h>
|
||||
#endif
|
||||
+#endif
|
||||
|
||||
#include <linux/init.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/module.h>
|
||||
-#include <linux/version.h>
|
||||
#include <linux/fs.h>
|
||||
#include <linux/proc_fs.h>
|
||||
#include <asm/ioctl.h>
|
||||
--- GFX_Linux_KM/services4/srvkm/env/linux/mutils.c-orig 2011-03-08 04:27:36.000000000 -0800
|
||||
+++ GFX_Linux_KM/services4/srvkm/env/linux/mutils.c 2011-03-18 09:08:12.000000000 -0700
|
||||
@@ -24,10 +24,13 @@
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
+#include <linux/version.h>
|
||||
+
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
|
||||
#ifndef AUTOCONF_INCLUDED
|
||||
#include <linux/config.h>
|
||||
#endif
|
||||
-#include <linux/version.h>
|
||||
+#endif
|
||||
|
||||
#include <linux/spinlock.h>
|
||||
#include <linux/mm.h>
|
||||
--- GFX_Linux_KM/services4/srvkm/env/linux/pvr_debug.c-orig 2011-03-31 13:46:48.000000000 -0700
|
||||
+++ GFX_Linux_KM/services4/srvkm/env/linux/pvr_debug.c 2011-03-31 15:14:10.000000000 -0700
|
||||
@@ -76,7 +76,8 @@ static IMG_CHAR gszBufferIRQ[PVR_MAX_MSG
|
||||
static PVRSRV_LINUX_MUTEX gsDebugMutexNonIRQ;
|
||||
|
||||
|
||||
-static spinlock_t gsDebugLockIRQ = SPIN_LOCK_UNLOCKED;
|
||||
+static DEFINE_SPINLOCK(gsDebugLockIRQ);
|
||||
+
|
||||
|
||||
#if !defined (USE_SPIN_LOCK)
|
||||
#define USE_SPIN_LOCK (in_interrupt() || !preemptible())
|
||||
@@ -1,38 +0,0 @@
|
||||
From: Steve Sakoman
|
||||
Subject: omap3-sgx-modules: Fix build for Linux 3.0
|
||||
|
||||
This patch implements the header change from plat/display.h to video/omapdss.h
|
||||
|
||||
Signed-off-by: Steve Sakoman <steve at sakoman.com>
|
||||
|
||||
--- GFX_Linux_KM/services4/3rdparty/dc_omap3430_linux/omaplfb_linux.c-orig 2011-08-01 07:21:45.000000000 -0700
|
||||
+++ GFX_Linux_KM/services4/3rdparty/dc_omap3430_linux/omaplfb_linux.c 2011-08-01 07:29:32.000000000 -0700
|
||||
@@ -47,12 +47,12 @@
|
||||
#if defined (SUPPORT_TI_DSS_FW)
|
||||
#include <asm/io.h>
|
||||
|
||||
-#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,26))
|
||||
-#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,31))
|
||||
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,39)))
|
||||
+#include <video/omapdss.h>
|
||||
+#elif (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,31))
|
||||
#include <plat/display.h>
|
||||
-#else
|
||||
+#elif (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,26))
|
||||
#include <mach/display.h>
|
||||
-#endif
|
||||
#else
|
||||
#include <asm/arch-omap/display.h>
|
||||
#endif
|
||||
@@ -64,7 +64,11 @@ extern int omap_dispc_request_irq(unsign
|
||||
extern void omap_dispc_free_irq(unsigned long, void (*)(void *), void *);
|
||||
extern void omap_dispc_set_plane_base(int plane, IMG_UINT32 phys_addr);
|
||||
#else
|
||||
+#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,39))
|
||||
+#include <video/omapdss.h>
|
||||
+#else
|
||||
#include <plat/display.h>
|
||||
+#endif
|
||||
#include <linux/console.h>
|
||||
#include <linux/fb.h>
|
||||
static omap_dispc_isr_t *pOMAPLFBVSyncISRHandle = NULL;
|
||||
@@ -1,39 +0,0 @@
|
||||
DESCRIPTION = "Kernel drivers for the PowerVR SGX chipset found in the omap3 SoCs"
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=21228a42e27d1d104b31a83f7c9da935"
|
||||
|
||||
TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
|
||||
require ../../recipes-ti/includes/ti-eula-unpack.inc
|
||||
|
||||
SGXPV = "4_05_00_03"
|
||||
BINFILE := "Graphics_SDK_setuplinux_${SGXPV}.bin"
|
||||
|
||||
inherit module
|
||||
|
||||
MACHINE_KERNEL_PR_append = "c"
|
||||
PR = "${MACHINE_KERNEL_PR}"
|
||||
|
||||
DEFAULT_PREFERENCE_omap3 = "99"
|
||||
|
||||
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/${SGXPV}/exports/Graphics_SDK_setuplinux_${SGXPV}.bin \
|
||||
"
|
||||
SRC_URI[md5sum] = "0e651eaa92bb91760f0b40a17697a7dc"
|
||||
SRC_URI[sha256sum] = "bfe764a8959556195545d6fff76f63a489642f345c105bbbc309a3f243c2dd0e"
|
||||
TI_BIN_UNPK_WDEXT="/Graphics_SDK_${SGXPV}"
|
||||
S = "${WORKDIR}${TI_BIN_UNPK_WDEXT}/GFX_Linux_KM"
|
||||
|
||||
PVRBUILD = "release"
|
||||
export KERNELDIR = "${STAGING_KERNEL_DIR}"
|
||||
|
||||
INHIBIT_PACKAGE_STRIP = "1"
|
||||
|
||||
TI_PLATFORM_omap3 = "omap3630"
|
||||
TI_PLATFORM_ti814x = "ti81xx"
|
||||
TI_PLATFORM_ti816x = "ti81xx"
|
||||
TI_PLATFORM_ti33x = "ti335x"
|
||||
|
||||
MAKE_TARGETS = " BUILD=${PVRBUILD} TI_PLATFORM=${TI_PLATFORM}"
|
||||
|
||||
do_install() {
|
||||
make -C ${STAGING_KERNEL_DIR} SUBDIRS=${B} INSTALL_MOD_PATH=${D} PREFIX=${STAGING_DIR_HOST} modules_install
|
||||
}
|
||||
@@ -1,53 +0,0 @@
|
||||
DESCRIPTION = "Kernel drivers for the PowerVR SGX chipset found in the omap3 SoCs"
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=ea5743acf520dd81ca172e69f818a3d4"
|
||||
|
||||
TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
|
||||
require ../../recipes-ti/includes/ti-eula-unpack.inc
|
||||
|
||||
SGXPV = "4_09_00_01"
|
||||
IMGPV = "1.9.2188537"
|
||||
|
||||
inherit module
|
||||
|
||||
MACHINE_KERNEL_PR_append = "d"
|
||||
PR = "${MACHINE_KERNEL_PR}"
|
||||
|
||||
DEFAULT_PREFERENCE = "-1"
|
||||
|
||||
# Select the corresponding hardfp/softfp filename and checksums based on tune flags
|
||||
BINFILE_SOFTFP = "Graphics_SDK_setuplinux_${SGXPV}_minimal_demos.bin"
|
||||
MD5SUM_SOFTFP = "bd35e9d8843aff3a2aca9d41e7db1c7d"
|
||||
SHA256SUM_SOFTFP = "eb37f75ddde4640b09e760fa86e689beb394330ecdf68786188c34f249247647"
|
||||
|
||||
BINFILE_HARDFP = "Graphics_SDK_setuplinux_${SGXPV}_hardfp_minimal_demos.bin"
|
||||
MD5SUM_HARDFP = "c9f656dce062d1ab10afffd4dfb71b67"
|
||||
SHA256SUM_HARDFP = "dbfeba8e1298f139495816334edec1455e6b49b1e11bd1b2aa0a888e5788bb6b"
|
||||
|
||||
BINFILE = "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${BINFILE_HARDFP}', '${BINFILE_SOFTFP}', d)}"
|
||||
|
||||
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/${SGXPV}/exports/${BINFILE}"
|
||||
|
||||
SRC_URI[md5sum] := "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${MD5SUM_HARDFP}', '${MD5SUM_SOFTFP}', d)}"
|
||||
SRC_URI[sha256sum] := "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${SHA256SUM_HARDFP}', '${SHA256SUM_SOFTFP}', d)}"
|
||||
|
||||
TI_BIN_UNPK_WDEXT="/Graphics_SDK_${SGXPV}"
|
||||
S = "${WORKDIR}${TI_BIN_UNPK_WDEXT}/GFX_Linux_KM"
|
||||
|
||||
PVRBUILD = "release"
|
||||
export KERNELDIR = "${STAGING_KERNEL_DIR}"
|
||||
|
||||
INHIBIT_PACKAGE_STRIP = "1"
|
||||
|
||||
TI_PLATFORM_omap3 = "omap3630"
|
||||
TI_PLATFORM_ti814x = "ti81xx"
|
||||
TI_PLATFORM_ti816x = "ti81xx"
|
||||
TI_PLATFORM_ti33x = "ti335x"
|
||||
|
||||
MAKE_TARGETS = " BUILD=${PVRBUILD} TI_PLATFORM=${TI_PLATFORM} SUPPORT_XORG=0"
|
||||
|
||||
MAKE_TARGETS_append_ti33x = " PM_RUNTIME=1"
|
||||
|
||||
do_install() {
|
||||
make -C ${STAGING_KERNEL_DIR} SUBDIRS=${B} INSTALL_MOD_PATH=${D} PREFIX=${STAGING_DIR_HOST} modules_install
|
||||
}
|
||||
@@ -1,62 +0,0 @@
|
||||
DESCRIPTION = "Kernel drivers for the PowerVR SGX chipset found in the omap3 SoCs"
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://GPL-COPYING;md5=60422928ba677faaa13d6ab5f5baaa1e"
|
||||
|
||||
TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
|
||||
require ../../recipes-ti/includes/ti-eula-unpack.inc
|
||||
|
||||
SGXPV = "5_01_01_01"
|
||||
IMGPV = "1.10.2359475"
|
||||
|
||||
inherit module
|
||||
|
||||
MACHINE_KERNEL_PR_append = "d"
|
||||
PR = "${MACHINE_KERNEL_PR}"
|
||||
|
||||
BINFILE_HARDFP = "Graphics_SDK_setuplinux_hardfp_${SGXPV}.bin"
|
||||
MD5SUM_HARDFP = "94acdbd20152c905939c2448d5e80a72"
|
||||
SHA256SUM_HARDFP = "7f647bf45a5ce8ba9aaa28c4afe85fced4275f9a4567a1886d4460b76c9051ae"
|
||||
|
||||
# For now we only have hardfp version
|
||||
python __anonymous() {
|
||||
tunes = bb.data.getVar("TUNE_FEATURES", d, 1)
|
||||
if not tunes:
|
||||
return
|
||||
pkgn = bb.data.getVar("PN", d, 1)
|
||||
pkgv = bb.data.getVar("PV", d, 1)
|
||||
if "callconvention-hard" not in tunes:
|
||||
bb.warn("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv))
|
||||
raise bb.parse.SkipPackage("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv))
|
||||
}
|
||||
|
||||
BINFILE := "${BINFILE_HARDFP}"
|
||||
|
||||
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/gfxsdk/${SGXPV}/exports/${BINFILE}"
|
||||
|
||||
SRC_URI += "file://0001-PoC-GFX-SDK-Make-5_01_01_01-work-against-3.14-LTS.patch;striplevel=2 \
|
||||
file://0002-SGX-linux-use-platform-data-to-provide-reset-info.patch;striplevel=2 \
|
||||
file://0003-SGX-displayclass-am335x-am437x-fix-mutex-deadlock-wa.patch;striplevel=2 \
|
||||
file://0004-SGX-linux-make-it-building-against-ti-linux-3.14.y.patch;striplevel=2"
|
||||
|
||||
SRC_URI[md5sum] := "${MD5SUM_HARDFP}"
|
||||
SRC_URI[sha256sum] := "${SHA256SUM_HARDFP}"
|
||||
|
||||
TI_BIN_UNPK_WDEXT="/Graphics_SDK_${SGXPV}"
|
||||
S = "${WORKDIR}${TI_BIN_UNPK_WDEXT}/GFX_Linux_KM"
|
||||
|
||||
PVRBUILD = "release"
|
||||
export KERNELDIR = "${STAGING_KERNEL_DIR}"
|
||||
|
||||
INHIBIT_PACKAGE_STRIP = "1"
|
||||
|
||||
TI_PLATFORM_omap3 = "omap3630"
|
||||
TI_PLATFORM_ti814x = "ti81xx"
|
||||
TI_PLATFORM_ti816x = "ti81xx"
|
||||
TI_PLATFORM_ti33x = "ti335x"
|
||||
TI_PLATFORM_ti43x = "ti43xx"
|
||||
|
||||
MAKE_TARGETS = " BUILD=${PVRBUILD} TI_PLATFORM=${TI_PLATFORM} SUPPORT_XORG=${SUPPORT_XORG}"
|
||||
|
||||
do_install() {
|
||||
make -C ${STAGING_KERNEL_DIR} SUBDIRS=${B} INSTALL_MOD_PATH=${D} PREFIX=${STAGING_DIR_HOST} modules_install
|
||||
}
|
||||
@@ -1,58 +0,0 @@
|
||||
DESCRIPTION = "Kernel drivers for the PowerVR SGX chipset found in the omap3 SoCs"
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://GPL-COPYING;md5=60422928ba677faaa13d6ab5f5baaa1e"
|
||||
|
||||
TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
|
||||
require ../../recipes-ti/includes/ti-eula-unpack.inc
|
||||
|
||||
SGXPV = "5_01_01_02"
|
||||
IMGPV = "1.10.2359475"
|
||||
|
||||
inherit module
|
||||
|
||||
MACHINE_KERNEL_PR_append = "b"
|
||||
PR = "${MACHINE_KERNEL_PR}"
|
||||
|
||||
BINFILE_HARDFP = "Graphics_SDK_setuplinux_hardfp_${SGXPV}.bin"
|
||||
MD5SUM_HARDFP = "94bcb31ea7eb50df1dfa4037055b638e"
|
||||
SHA256SUM_HARDFP = "54641222cdb49b03f996cbd6412de227198d9e084f5647d706bbf4217e8cdb07"
|
||||
|
||||
# For now we only have hardfp version
|
||||
python __anonymous() {
|
||||
tunes = bb.data.getVar("TUNE_FEATURES", d, 1)
|
||||
if not tunes:
|
||||
return
|
||||
pkgn = bb.data.getVar("PN", d, 1)
|
||||
pkgv = bb.data.getVar("PV", d, 1)
|
||||
if "callconvention-hard" not in tunes:
|
||||
bb.warn("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv))
|
||||
raise bb.parse.SkipPackage("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv))
|
||||
}
|
||||
|
||||
BINFILE := "${BINFILE_HARDFP}"
|
||||
|
||||
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/gfxsdk/${SGXPV}/exports/${BINFILE}"
|
||||
|
||||
|
||||
SRC_URI[md5sum] := "${MD5SUM_HARDFP}"
|
||||
SRC_URI[sha256sum] := "${SHA256SUM_HARDFP}"
|
||||
|
||||
TI_BIN_UNPK_WDEXT="/Graphics_SDK_${SGXPV}"
|
||||
S = "${WORKDIR}${TI_BIN_UNPK_WDEXT}/GFX_Linux_KM"
|
||||
|
||||
PVRBUILD = "release"
|
||||
export KERNELDIR = "${STAGING_KERNEL_DIR}"
|
||||
|
||||
INHIBIT_PACKAGE_STRIP = "1"
|
||||
|
||||
TI_PLATFORM_omap3 = "omap3630"
|
||||
TI_PLATFORM_ti814x = "ti81xx"
|
||||
TI_PLATFORM_ti816x = "ti81xx"
|
||||
TI_PLATFORM_ti33x = "ti335x"
|
||||
TI_PLATFORM_ti43x = "ti43xx"
|
||||
|
||||
MAKE_TARGETS = " BUILD=${PVRBUILD} TI_PLATFORM=${TI_PLATFORM} SUPPORT_XORG=${SUPPORT_XORG}"
|
||||
|
||||
do_install() {
|
||||
make -C ${STAGING_KERNEL_DIR} SUBDIRS=${B} INSTALL_MOD_PATH=${D} PREFIX=${STAGING_DIR_HOST} modules_install
|
||||
}
|
||||
@@ -1,124 +0,0 @@
|
||||
#!/bin/sh
|
||||
PATH=$PATH:/usr/sbin
|
||||
|
||||
# Check if an fb device is available. If not then just go ahead and
|
||||
# exit because we have no display.
|
||||
fbset > /dev/null 2>&1
|
||||
if [ "$?" == "1" ]
|
||||
then
|
||||
# looks like there is no display, so let's exit
|
||||
exit 0
|
||||
fi
|
||||
|
||||
BITSPERPIXEL="$(fbset | grep geom | awk '{print $6}')"
|
||||
YRES="$(fbset | grep geom | awk '{print $3}')"
|
||||
|
||||
CPUTYPE="$(cputype)"
|
||||
|
||||
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 bufferclass_ti
|
||||
rmmod omaplfb 2>/dev/null
|
||||
rmmod pvrsrvkm 2>/dev/null
|
||||
fi
|
||||
|
||||
if [ "$1" = "stop" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# 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)
|
||||
|
||||
sgxprepare () {
|
||||
echo Starting PVR
|
||||
insmod $(busybox find /lib/modules/$(uname -r) -name "pvrsrvkm.ko")
|
||||
|
||||
if [ "$?" != "0" ]
|
||||
then
|
||||
echo "Could not find pvrsrvkm driver"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
modprobe omaplfb
|
||||
modprobe bufferclass_ti
|
||||
|
||||
pvr_maj=`grep "pvrsrvkm$" /proc/devices | cut -b1,2,3`
|
||||
bc_maj=`grep "bc" /proc/devices | cut -b1,2,3`
|
||||
|
||||
if [ -e /dev/pvrsrvkm ] ; then
|
||||
rm -f /dev/pvrsrvkm
|
||||
fi
|
||||
|
||||
mknod /dev/pvrsrvkm c $pvr_maj 0
|
||||
chmod 666 /dev/pvrsrvkm
|
||||
|
||||
touch /etc/powervr-esrev
|
||||
|
||||
SAVED_ESREVISION="$(cat /etc/powervr-esrev)"
|
||||
}
|
||||
|
||||
sgxfinish () {
|
||||
# Fix up a bug in opkg
|
||||
if [ $(readlink /usr/lib/libsrv_um.so) != $(readlink /usr/lib/libsrv_um.so.1) ] ; then
|
||||
cd /usr/lib
|
||||
ln -sf $(readlink /usr/lib/libsrv_um.so.1) libsrv_um.so
|
||||
fi
|
||||
|
||||
if [ "${ES_REVISION}" != "${SAVED_ESREVISION}" ] ; then
|
||||
echo -n "Starting SGX fixup for"
|
||||
echo " ES${ES_REVISION}.x"
|
||||
cp -a /usr/lib/ES${ES_REVISION}.0/* /usr/lib
|
||||
cp -a /usr/bin/ES${ES_REVISION}.0/* /usr/bin
|
||||
echo "${ES_REVISION}" > /etc/powervr-esrev
|
||||
fi
|
||||
|
||||
if ! /usr/bin/pvrsrvctl --start --no-module; then return; fi
|
||||
}
|
||||
|
||||
case $CPUTYPE in
|
||||
"OMAP3530")
|
||||
sgxprepare
|
||||
|
||||
devmem2 0x48004B48 w 0x2 > /dev/null
|
||||
devmem2 0x48004B10 w 0x1 > /dev/null
|
||||
devmem2 0x48004B00 w 0x2 > /dev/null
|
||||
|
||||
ES_REVISION="$(devmem2 0x50000014 | sed -e s:0x00010205:5: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
|
||||
|
||||
sgxfinish
|
||||
;;
|
||||
"TI33XX")
|
||||
sgxprepare
|
||||
|
||||
devmem2 0x44e01104 w 0x0 > /dev/null
|
||||
devmem2 0x44e00904 w 0x2 > /dev/null
|
||||
|
||||
ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8: | tail -n1 | awk -F': ' '{print $2}')"
|
||||
|
||||
sgxfinish
|
||||
;;
|
||||
"TI816x")
|
||||
sgxprepare
|
||||
|
||||
devmem2 0x48180F04 w 0x0 > /dev/null
|
||||
devmem2 0x48180900 w 0x2 > /dev/null
|
||||
devmem2 0x48180920 w 0x2 > /dev/null
|
||||
|
||||
ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:6: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
|
||||
|
||||
sgxfinish
|
||||
;;
|
||||
*)
|
||||
echo No SGX hardware, not starting PVR
|
||||
;;
|
||||
esac
|
||||
@@ -1,136 +0,0 @@
|
||||
#!/bin/sh
|
||||
PATH=$PATH:/usr/sbin
|
||||
|
||||
# Check if an fb device is available. If not then just go ahead and
|
||||
# exit because we have no display.
|
||||
fbset > /dev/null 2>&1
|
||||
if [ "$?" == "1" ]
|
||||
then
|
||||
# looks like there is no display, so let's exit
|
||||
exit 0
|
||||
fi
|
||||
|
||||
BITSPERPIXEL="$(fbset | grep geom | awk '{print $6}')"
|
||||
YRES="$(fbset | grep geom | awk '{print $3}')"
|
||||
|
||||
CPUTYPE="$(cputype)"
|
||||
|
||||
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
|
||||
|
||||
# Stop the X Server.
|
||||
#
|
||||
[ -f /tmp/.X0-lock ] && read XPID < /tmp/.X0-lock && [ -n "$XPID" ] && kill $XPID && while [ -e /proc/$XPID ] ; do sleep 1; done
|
||||
|
||||
rmmod bufferclass_ti
|
||||
rmmod pvrsrvkm 2>/dev/null
|
||||
rmmod drm 2>/dev/null
|
||||
fi
|
||||
|
||||
if [ "$1" = "stop" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# 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)
|
||||
|
||||
sgxprepare () {
|
||||
echo Starting PVR
|
||||
|
||||
# Start the X Server.
|
||||
# The X Server will load the PVR Services module.
|
||||
#
|
||||
/usr/local/XSGX/bin/X -verbose -config /usr/local/XSGX/etc/xorg.conf &
|
||||
|
||||
modprobe drm
|
||||
|
||||
insmod $(busybox find /lib/modules/$(uname -r) -name "pvrsrvkm.ko")
|
||||
|
||||
if [ "$?" != "0" ]
|
||||
then
|
||||
echo "Could not find pvrsrvkm driver"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
modprobe bufferclass_ti
|
||||
|
||||
pvr_maj=`grep "pvrsrvkm$" /proc/devices | cut -b1,2,3`
|
||||
bc_maj=`grep "bc" /proc/devices | cut -b1,2,3`
|
||||
|
||||
if [ -e /dev/pvrsrvkm ] ; then
|
||||
rm -f /dev/pvrsrvkm
|
||||
fi
|
||||
|
||||
mknod /dev/pvrsrvkm c $pvr_maj 0
|
||||
chmod 666 /dev/pvrsrvkm
|
||||
|
||||
touch /etc/powervr-esrev
|
||||
|
||||
SAVED_ESREVISION="$(cat /etc/powervr-esrev)"
|
||||
}
|
||||
|
||||
sgxfinish () {
|
||||
# Fix up a bug in opkg
|
||||
if [ $(readlink /usr/lib/libsrv_um.so) != $(readlink /usr/lib/libsrv_um.so.1) ] ; then
|
||||
cd /usr/lib
|
||||
ln -sf $(readlink /usr/lib/libsrv_um.so.1) libsrv_um.so
|
||||
fi
|
||||
|
||||
if [ "${ES_REVISION}" != "${SAVED_ESREVISION}" ] ; then
|
||||
echo -n "Starting SGX fixup for"
|
||||
echo " ES${ES_REVISION}.x"
|
||||
cp -a /usr/lib/ES${ES_REVISION}.0/* /usr/lib
|
||||
cp -a /usr/bin/ES${ES_REVISION}.0/* /usr/bin
|
||||
echo "${ES_REVISION}" > /etc/powervr-esrev
|
||||
fi
|
||||
|
||||
if ! /usr/bin/pvrsrvctl --start --no-module; then return; fi
|
||||
}
|
||||
|
||||
case $CPUTYPE in
|
||||
"OMAP3530")
|
||||
sgxprepare
|
||||
|
||||
devmem2 0x48004B48 w 0x2 > /dev/null
|
||||
devmem2 0x48004B10 w 0x1 > /dev/null
|
||||
devmem2 0x48004B00 w 0x2 > /dev/null
|
||||
|
||||
ES_REVISION="$(devmem2 0x50000014 | sed -e s:0x00010205:5: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
|
||||
|
||||
sgxfinish
|
||||
;;
|
||||
"TI33XX")
|
||||
sgxprepare
|
||||
|
||||
devmem2 0x44e01104 w 0x0 > /dev/null
|
||||
devmem2 0x44e00904 w 0x2 > /dev/null
|
||||
|
||||
ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8: | tail -n1 | awk -F': ' '{print $2}')"
|
||||
|
||||
sgxfinish
|
||||
;;
|
||||
"TI816x")
|
||||
sgxprepare
|
||||
|
||||
devmem2 0x48180F04 w 0x0 > /dev/null
|
||||
devmem2 0x48180900 w 0x2 > /dev/null
|
||||
devmem2 0x48180920 w 0x2 > /dev/null
|
||||
|
||||
ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:6: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
|
||||
|
||||
sgxfinish
|
||||
;;
|
||||
*)
|
||||
echo No SGX hardware, not starting PVR
|
||||
;;
|
||||
esac
|
||||
@@ -1,134 +0,0 @@
|
||||
#!/bin/sh
|
||||
PATH=$PATH:/usr/sbin
|
||||
|
||||
# Check if an fb device is available. If not then just go ahead and
|
||||
# exit because we have no display.
|
||||
fbset > /dev/null 2>&1
|
||||
if [ "$?" == "1" ]
|
||||
then
|
||||
# looks like there is no display, so let's exit
|
||||
exit 0
|
||||
fi
|
||||
|
||||
BITSPERPIXEL="$(fbset | grep geom | awk '{print $6}')"
|
||||
YRES="$(fbset | grep geom | awk '{print $3}')"
|
||||
|
||||
CPUTYPE="$(cputype)"
|
||||
|
||||
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 bufferclass_ti
|
||||
rmmod omaplfb 2>/dev/null
|
||||
rmmod pvrsrvkm 2>/dev/null
|
||||
fi
|
||||
|
||||
if [ "$1" = "stop" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# 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)
|
||||
|
||||
sgxprepare () {
|
||||
echo Starting PVR
|
||||
|
||||
lsmod | grep pvrsrvkm > /dev/null
|
||||
|
||||
if [ "$?" != "0" ]
|
||||
then
|
||||
insmod $(busybox find /lib/modules/$(uname -r) -name "pvrsrvkm.ko")
|
||||
|
||||
if [ "$?" != "0" ]
|
||||
then
|
||||
echo "Could not find pvrsrvkm driver"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
modprobe omaplfb
|
||||
modprobe bufferclass_ti
|
||||
|
||||
pvr_maj=`grep "pvrsrvkm$" /proc/devices | cut -b1,2,3`
|
||||
bc_maj=`grep "bc" /proc/devices | cut -b1,2,3`
|
||||
|
||||
if [ -e /dev/pvrsrvkm ] ; then
|
||||
rm -f /dev/pvrsrvkm
|
||||
fi
|
||||
|
||||
mknod /dev/pvrsrvkm c $pvr_maj 0
|
||||
chmod 666 /dev/pvrsrvkm
|
||||
|
||||
touch /etc/powervr-esrev
|
||||
|
||||
SAVED_ESREVISION="$(cat /etc/powervr-esrev)"
|
||||
}
|
||||
|
||||
sgxfinish () {
|
||||
# Fix up a bug in opkg
|
||||
if [ $(readlink /usr/lib/libsrv_um.so) != $(readlink /usr/lib/libsrv_um.so.1) ] ; then
|
||||
cd /usr/lib
|
||||
ln -sf $(readlink /usr/lib/libsrv_um.so.1) libsrv_um.so
|
||||
fi
|
||||
|
||||
if [ "${ES_REVISION}" != "${SAVED_ESREVISION}" ] ; then
|
||||
echo -n "Starting SGX fixup for"
|
||||
echo " ES${ES_REVISION}.x"
|
||||
cp -a /usr/lib/ES${ES_REVISION}.0/* /usr/lib
|
||||
cp -a /usr/bin/ES${ES_REVISION}.0/* /usr/bin
|
||||
echo "${ES_REVISION}" > /etc/powervr-esrev
|
||||
fi
|
||||
|
||||
if ! /usr/bin/pvrsrvctl --start --no-module; then return; fi
|
||||
}
|
||||
|
||||
case $CPUTYPE in
|
||||
"OMAP3530")
|
||||
sgxprepare
|
||||
|
||||
devmem2 0x48004B48 w 0x2 > /dev/null
|
||||
devmem2 0x48004B10 w 0x1 > /dev/null
|
||||
devmem2 0x48004B00 w 0x2 > /dev/null
|
||||
|
||||
ES_REVISION="$(devmem2 0x50000014 | sed -e s:0x00010205:5: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
|
||||
|
||||
sgxfinish
|
||||
;;
|
||||
"TI33XX")
|
||||
sgxprepare
|
||||
|
||||
ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8: | tail -n1 | awk -F': ' '{print $2}')"
|
||||
|
||||
sgxfinish
|
||||
;;
|
||||
"TI43XX")
|
||||
sgxprepare
|
||||
|
||||
ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8: | tail -n1 | awk -F': ' '{print $2}')"
|
||||
|
||||
sgxfinish
|
||||
;;
|
||||
"TI816x")
|
||||
sgxprepare
|
||||
|
||||
devmem2 0x48180F04 w 0x0 > /dev/null
|
||||
devmem2 0x48180900 w 0x2 > /dev/null
|
||||
devmem2 0x48180920 w 0x2 > /dev/null
|
||||
|
||||
ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:6: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
|
||||
|
||||
sgxfinish
|
||||
;;
|
||||
*)
|
||||
echo No SGX hardware, not starting PVR
|
||||
;;
|
||||
esac
|
||||
@@ -1,145 +0,0 @@
|
||||
#!/bin/sh
|
||||
PATH=$PATH:/usr/sbin
|
||||
|
||||
# Check if an fb device is available. If not then just go ahead and
|
||||
# exit because we have no display.
|
||||
fbset > /dev/null 2>&1
|
||||
if [ "$?" == "1" ]
|
||||
then
|
||||
# looks like there is no display, so let's exit
|
||||
exit 0
|
||||
fi
|
||||
|
||||
BITSPERPIXEL="$(fbset | grep geom | awk '{print $6}')"
|
||||
YRES="$(fbset | grep geom | awk '{print $3}')"
|
||||
|
||||
CPUTYPE="$(cputype)"
|
||||
|
||||
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
|
||||
|
||||
# Stop the X Server.
|
||||
#
|
||||
[ -f /tmp/.X0-lock ] && read XPID < /tmp/.X0-lock && [ -n "$XPID" ] && kill $XPID && while [ -e /proc/$XPID ] ; do sleep 1; done
|
||||
|
||||
rmmod bufferclass_ti
|
||||
rmmod pvrsrvkm 2>/dev/null
|
||||
rmmod drm 2>/dev/null
|
||||
fi
|
||||
|
||||
if [ "$1" = "stop" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# 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)
|
||||
|
||||
sgxprepare () {
|
||||
echo Starting PVR
|
||||
|
||||
# Start the X Server.
|
||||
# The X Server will load the PVR Services module.
|
||||
#
|
||||
/usr/local/XSGX/bin/X -verbose -config /usr/local/XSGX/etc/xorg.conf &
|
||||
|
||||
modprobe drm
|
||||
|
||||
lsmod | grep pvrsrvkm > /dev/null
|
||||
|
||||
if [ "$?" != "0" ]
|
||||
then
|
||||
insmod $(busybox find /lib/modules/$(uname -r) -name "pvrsrvkm.ko")
|
||||
|
||||
if [ "$?" != "0" ]
|
||||
then
|
||||
echo "Could not find pvrsrvkm driver"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
modprobe bufferclass_ti
|
||||
|
||||
pvr_maj=`grep "pvrsrvkm$" /proc/devices | cut -b1,2,3`
|
||||
bc_maj=`grep "bc" /proc/devices | cut -b1,2,3`
|
||||
|
||||
if [ -e /dev/pvrsrvkm ] ; then
|
||||
rm -f /dev/pvrsrvkm
|
||||
fi
|
||||
|
||||
mknod /dev/pvrsrvkm c $pvr_maj 0
|
||||
chmod 666 /dev/pvrsrvkm
|
||||
|
||||
touch /etc/powervr-esrev
|
||||
|
||||
SAVED_ESREVISION="$(cat /etc/powervr-esrev)"
|
||||
}
|
||||
|
||||
sgxfinish () {
|
||||
# Fix up a bug in opkg
|
||||
if [ $(readlink /usr/lib/libsrv_um.so) != $(readlink /usr/lib/libsrv_um.so.1) ] ; then
|
||||
cd /usr/lib
|
||||
ln -sf $(readlink /usr/lib/libsrv_um.so.1) libsrv_um.so
|
||||
fi
|
||||
|
||||
if [ "${ES_REVISION}" != "${SAVED_ESREVISION}" ] ; then
|
||||
echo -n "Starting SGX fixup for"
|
||||
echo " ES${ES_REVISION}.x"
|
||||
cp -a /usr/lib/ES${ES_REVISION}.0/* /usr/lib
|
||||
cp -a /usr/bin/ES${ES_REVISION}.0/* /usr/bin
|
||||
echo "${ES_REVISION}" > /etc/powervr-esrev
|
||||
fi
|
||||
|
||||
if ! /usr/bin/pvrsrvctl --start --no-module; then return; fi
|
||||
}
|
||||
|
||||
case $CPUTYPE in
|
||||
"OMAP3530")
|
||||
sgxprepare
|
||||
|
||||
devmem2 0x48004B48 w 0x2 > /dev/null
|
||||
devmem2 0x48004B10 w 0x1 > /dev/null
|
||||
devmem2 0x48004B00 w 0x2 > /dev/null
|
||||
|
||||
ES_REVISION="$(devmem2 0x50000014 | sed -e s:0x00010205:5: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
|
||||
|
||||
sgxfinish
|
||||
;;
|
||||
"TI33XX")
|
||||
sgxprepare
|
||||
|
||||
ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8: | tail -n1 | awk -F': ' '{print $2}')"
|
||||
|
||||
sgxfinish
|
||||
;;
|
||||
"TI43XX")
|
||||
sgxprepare
|
||||
|
||||
ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8: | tail -n1 | awk -F': ' '{print $2}')"
|
||||
|
||||
sgxfinish
|
||||
;;
|
||||
"TI816x")
|
||||
sgxprepare
|
||||
|
||||
devmem2 0x48180F04 w 0x0 > /dev/null
|
||||
devmem2 0x48180900 w 0x2 > /dev/null
|
||||
devmem2 0x48180920 w 0x2 > /dev/null
|
||||
|
||||
ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:6: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
|
||||
|
||||
sgxfinish
|
||||
;;
|
||||
*)
|
||||
echo No SGX hardware, not starting PVR
|
||||
;;
|
||||
esac
|
||||
@@ -1,134 +0,0 @@
|
||||
#!/bin/sh
|
||||
PATH=$PATH:/usr/sbin
|
||||
|
||||
# Check if an fb device is available. If not then just go ahead and
|
||||
# exit because we have no display.
|
||||
fbset > /dev/null 2>&1
|
||||
if [ "$?" == "1" ]
|
||||
then
|
||||
# looks like there is no display, so let's exit
|
||||
exit 0
|
||||
fi
|
||||
|
||||
BITSPERPIXEL="$(fbset | grep geom | awk '{print $6}')"
|
||||
YRES="$(fbset | grep geom | awk '{print $3}')"
|
||||
|
||||
CPUTYPE="$(cputype)"
|
||||
|
||||
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 bufferclass_ti
|
||||
rmmod omaplfb 2>/dev/null
|
||||
rmmod pvrsrvkm 2>/dev/null
|
||||
fi
|
||||
|
||||
if [ "$1" = "stop" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# 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)
|
||||
|
||||
sgxprepare () {
|
||||
echo Starting PVR
|
||||
|
||||
lsmod | grep pvrsrvkm > /dev/null
|
||||
|
||||
if [ "$?" != "0" ]
|
||||
then
|
||||
insmod $(busybox find /lib/modules/$(uname -r) -name "pvrsrvkm.ko")
|
||||
|
||||
if [ "$?" != "0" ]
|
||||
then
|
||||
echo "Could not find pvrsrvkm driver"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
modprobe omaplfb
|
||||
modprobe bufferclass_ti
|
||||
|
||||
pvr_maj=`grep "pvrsrvkm$" /proc/devices | cut -b1,2,3`
|
||||
bc_maj=`grep "bc" /proc/devices | cut -b1,2,3`
|
||||
|
||||
if [ -e /dev/pvrsrvkm ] ; then
|
||||
rm -f /dev/pvrsrvkm
|
||||
fi
|
||||
|
||||
mknod /dev/pvrsrvkm c $pvr_maj 0
|
||||
chmod 666 /dev/pvrsrvkm
|
||||
|
||||
touch /etc/powervr-esrev
|
||||
|
||||
SAVED_ESREVISION="$(cat /etc/powervr-esrev)"
|
||||
}
|
||||
|
||||
sgxfinish () {
|
||||
# Fix up a bug in opkg
|
||||
if [ $(readlink /usr/lib/libsrv_um.so) != $(readlink /usr/lib/libsrv_um.so.1) ] ; then
|
||||
cd /usr/lib
|
||||
ln -sf $(readlink /usr/lib/libsrv_um.so.1) libsrv_um.so
|
||||
fi
|
||||
|
||||
if [ "${ES_REVISION}" != "${SAVED_ESREVISION}" ] ; then
|
||||
echo -n "Starting SGX fixup for"
|
||||
echo " ES${ES_REVISION}.x"
|
||||
cp -a /usr/lib/ES${ES_REVISION}.0/* /usr/lib
|
||||
cp -a /usr/bin/ES${ES_REVISION}.0/* /usr/bin
|
||||
echo "${ES_REVISION}" > /etc/powervr-esrev
|
||||
fi
|
||||
|
||||
if ! /usr/bin/pvrsrvctl --start --no-module; then return; fi
|
||||
}
|
||||
|
||||
case $CPUTYPE in
|
||||
"OMAP3530")
|
||||
sgxprepare
|
||||
|
||||
devmem2 0x48004B48 w 0x2 > /dev/null
|
||||
devmem2 0x48004B10 w 0x1 > /dev/null
|
||||
devmem2 0x48004B00 w 0x2 > /dev/null
|
||||
|
||||
ES_REVISION="$(devmem2 0x50000014 | sed -e s:0x00010205:5: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
|
||||
|
||||
sgxfinish
|
||||
;;
|
||||
"TI33XX")
|
||||
sgxprepare
|
||||
|
||||
ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8: | tail -n1 | awk -F': ' '{print $2}')"
|
||||
|
||||
sgxfinish
|
||||
;;
|
||||
"TI43XX")
|
||||
sgxprepare
|
||||
|
||||
ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8: | tail -n1 | awk -F': ' '{print $2}')"
|
||||
|
||||
sgxfinish
|
||||
;;
|
||||
"TI816x")
|
||||
sgxprepare
|
||||
|
||||
devmem2 0x48180F04 w 0x0 > /dev/null
|
||||
devmem2 0x48180900 w 0x2 > /dev/null
|
||||
devmem2 0x48180920 w 0x2 > /dev/null
|
||||
|
||||
ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:6: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
|
||||
|
||||
sgxfinish
|
||||
;;
|
||||
*)
|
||||
echo No SGX hardware, not starting PVR
|
||||
;;
|
||||
esac
|
||||
@@ -1,145 +0,0 @@
|
||||
#!/bin/sh
|
||||
PATH=$PATH:/usr/sbin
|
||||
|
||||
# Check if an fb device is available. If not then just go ahead and
|
||||
# exit because we have no display.
|
||||
fbset > /dev/null 2>&1
|
||||
if [ "$?" == "1" ]
|
||||
then
|
||||
# looks like there is no display, so let's exit
|
||||
exit 0
|
||||
fi
|
||||
|
||||
BITSPERPIXEL="$(fbset | grep geom | awk '{print $6}')"
|
||||
YRES="$(fbset | grep geom | awk '{print $3}')"
|
||||
|
||||
CPUTYPE="$(cputype)"
|
||||
|
||||
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
|
||||
|
||||
# Stop the X Server.
|
||||
#
|
||||
[ -f /tmp/.X0-lock ] && read XPID < /tmp/.X0-lock && [ -n "$XPID" ] && kill $XPID && while [ -e /proc/$XPID ] ; do sleep 1; done
|
||||
|
||||
rmmod bufferclass_ti
|
||||
rmmod pvrsrvkm 2>/dev/null
|
||||
rmmod drm 2>/dev/null
|
||||
fi
|
||||
|
||||
if [ "$1" = "stop" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# 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)
|
||||
|
||||
sgxprepare () {
|
||||
echo Starting PVR
|
||||
|
||||
# Start the X Server.
|
||||
# The X Server will load the PVR Services module.
|
||||
#
|
||||
/usr/local/XSGX/bin/X -verbose -config /usr/local/XSGX/etc/xorg.conf &
|
||||
|
||||
modprobe drm
|
||||
|
||||
lsmod | grep pvrsrvkm > /dev/null
|
||||
|
||||
if [ "$?" != "0" ]
|
||||
then
|
||||
insmod $(busybox find /lib/modules/$(uname -r) -name "pvrsrvkm.ko")
|
||||
|
||||
if [ "$?" != "0" ]
|
||||
then
|
||||
echo "Could not find pvrsrvkm driver"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
modprobe bufferclass_ti
|
||||
|
||||
pvr_maj=`grep "pvrsrvkm$" /proc/devices | cut -b1,2,3`
|
||||
bc_maj=`grep "bc" /proc/devices | cut -b1,2,3`
|
||||
|
||||
if [ -e /dev/pvrsrvkm ] ; then
|
||||
rm -f /dev/pvrsrvkm
|
||||
fi
|
||||
|
||||
mknod /dev/pvrsrvkm c $pvr_maj 0
|
||||
chmod 666 /dev/pvrsrvkm
|
||||
|
||||
touch /etc/powervr-esrev
|
||||
|
||||
SAVED_ESREVISION="$(cat /etc/powervr-esrev)"
|
||||
}
|
||||
|
||||
sgxfinish () {
|
||||
# Fix up a bug in opkg
|
||||
if [ $(readlink /usr/lib/libsrv_um.so) != $(readlink /usr/lib/libsrv_um.so.1) ] ; then
|
||||
cd /usr/lib
|
||||
ln -sf $(readlink /usr/lib/libsrv_um.so.1) libsrv_um.so
|
||||
fi
|
||||
|
||||
if [ "${ES_REVISION}" != "${SAVED_ESREVISION}" ] ; then
|
||||
echo -n "Starting SGX fixup for"
|
||||
echo " ES${ES_REVISION}.x"
|
||||
cp -a /usr/lib/ES${ES_REVISION}.0/* /usr/lib
|
||||
cp -a /usr/bin/ES${ES_REVISION}.0/* /usr/bin
|
||||
echo "${ES_REVISION}" > /etc/powervr-esrev
|
||||
fi
|
||||
|
||||
if ! /usr/bin/pvrsrvctl --start --no-module; then return; fi
|
||||
}
|
||||
|
||||
case $CPUTYPE in
|
||||
"OMAP3530")
|
||||
sgxprepare
|
||||
|
||||
devmem2 0x48004B48 w 0x2 > /dev/null
|
||||
devmem2 0x48004B10 w 0x1 > /dev/null
|
||||
devmem2 0x48004B00 w 0x2 > /dev/null
|
||||
|
||||
ES_REVISION="$(devmem2 0x50000014 | sed -e s:0x00010205:5: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
|
||||
|
||||
sgxfinish
|
||||
;;
|
||||
"TI33XX")
|
||||
sgxprepare
|
||||
|
||||
ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8: | tail -n1 | awk -F': ' '{print $2}')"
|
||||
|
||||
sgxfinish
|
||||
;;
|
||||
"TI43XX")
|
||||
sgxprepare
|
||||
|
||||
ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8: | tail -n1 | awk -F': ' '{print $2}')"
|
||||
|
||||
sgxfinish
|
||||
;;
|
||||
"TI816x")
|
||||
sgxprepare
|
||||
|
||||
devmem2 0x48180F04 w 0x0 > /dev/null
|
||||
devmem2 0x48180900 w 0x2 > /dev/null
|
||||
devmem2 0x48180920 w 0x2 > /dev/null
|
||||
|
||||
ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:6: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
|
||||
|
||||
sgxfinish
|
||||
;;
|
||||
*)
|
||||
echo No SGX hardware, not starting PVR
|
||||
;;
|
||||
esac
|
||||
@@ -1,341 +0,0 @@
|
||||
DESCRIPTION = "libGLES for the omap3"
|
||||
LICENSE = "proprietary-binary"
|
||||
# 'TSPA.txt' might not be the best file to md5sum
|
||||
LIC_FILES_CHKSUM = "file://TSPA.txt;md5=c0d5d9c1e38b41677144c4e24d6ddee1"
|
||||
|
||||
INC_PR = "r38"
|
||||
|
||||
EXCLUDE_FROM_WORLD = "1"
|
||||
|
||||
COMPATIBLE_MACHINE = "(omap3|ti814x|ti816x|ti33x|ti43x)"
|
||||
|
||||
PVR_INIT ?= "pvrsrvinit"
|
||||
|
||||
PROVIDES += "virtual/egl virtual/libgles1 virtual/libgles2"
|
||||
|
||||
RREPLACES_${PN} = "libegl libgles1 libgles2"
|
||||
RREPLACES_${PN}-dev = "libegl-dev libgles1-dev libgles2-dev"
|
||||
RREPLACES_${PN}-dbg = "libegl-dbg libgles1-dbg libgles2-dbg"
|
||||
|
||||
RPROVIDES_${PN} = "libegl libgles1 libgles2"
|
||||
RPROVIDES_${PN}-dev = "libegl-dev libgles1-dev libgles2-dev"
|
||||
RPROVIDES_${PN}-dbg = "libegl-dbg libgles1-dbg libgles2-dbg"
|
||||
|
||||
RCONFLICTS_${PN} = "libegl libgles1 libgles2"
|
||||
RCONFLICTS_${PN}-dev = "libegl-dev libgles1-dev libgles2-dev"
|
||||
RCONFLICTS_${PN}-dbg = "libegl-dbg libgles1-dbg libgles2-dbg"
|
||||
|
||||
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/${SGXPV}/exports/${BINFILE} \
|
||||
file://cputype \
|
||||
file://rc.pvr \
|
||||
file://99-bufferclass.rules \
|
||||
"
|
||||
|
||||
S = "${WORKDIR}/OMAP35x_Graphics_SDK_${SGXPV}"
|
||||
|
||||
# Logic to unpack installjammer file
|
||||
TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
|
||||
require ../../recipes-ti/includes/ti-eula-unpack.inc
|
||||
|
||||
export BINLOCATION ?= "${S}/gfx_rel"
|
||||
export ES3LOCATION ?= "${S}/gfx_rel_es3.x"
|
||||
export ES5LOCATION ?= "${S}/gfx_rel_es5.x"
|
||||
export ES6LOCATION ?= "${S}/gfx_rel_es6.x"
|
||||
export ES8LOCATION ?= "${S}/gfx_rel_es8.x"
|
||||
export ES9LOCATION ?= "${S}/gfx_rel_es9.x"
|
||||
|
||||
LIBGLESWINDOWSYSTEM ?= "libpvrPVR2D_FRONTWSEGL.so.1"
|
||||
|
||||
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} \
|
||||
-L${STAGING_DIR_TARGET}${libdir} -Wl,-rpath-link,${STAGING_DIR_TARGET}${libdir}"
|
||||
PARALLEL_MAKE = ""
|
||||
|
||||
PLATFORM ?= "LinuxOMAP3"
|
||||
|
||||
do_compile() {
|
||||
export TOOLCHAIN="${TOOLCHAIN_PATH}"
|
||||
export PLAT_CC="${CC}"
|
||||
export PLAT_CPP="${CXX}"
|
||||
export PLAR_AR="${AR}"
|
||||
|
||||
mkdir -p ${S}/demos/raw
|
||||
mkdir -p ${S}/trainingcourses/raw
|
||||
|
||||
# Rebuild demos
|
||||
for demo in ${S}/GFX_Linux_SDK/OGLES/SDKPackage/Demos/* ; do
|
||||
cd $demo/OGLES/Build/LinuxGeneric
|
||||
oe_runmake Common=1 PLATFORM=${PLATFORM} X11BUILD=0
|
||||
rm $demo/OGLES/Build/${PLATFORM}/Release*/*.o
|
||||
|
||||
install -m 0755 $demo/OGLES/Build/${PLATFORM}/ReleaseRaw/* ${S}/demos/raw || true
|
||||
done
|
||||
|
||||
for demo in ${S}/GFX_Linux_SDK/OGLES2/SDKPackage/Demos/* ; do
|
||||
cd $demo/OGLES2/Build/LinuxGeneric
|
||||
oe_runmake Common=1 PLATFORM=${PLATFORM} X11BUILD=0
|
||||
rm -f $demo/OGLES2/Build/${PLATFORM}/Release*/*.o
|
||||
|
||||
install -m 0755 $demo/OGLES2/Build/${PLATFORM}/ReleaseRaw/* ${S}/demos/raw || true
|
||||
done
|
||||
|
||||
find ${S} -name "*_org" -delete
|
||||
|
||||
# Build OGLES2 Trainingcourses
|
||||
for training in ${S}/GFX_Linux_SDK/OGLES2/SDKPackage/TrainingCourse/* ; do
|
||||
if [ -e $training/OGLES2/Build/LinuxGeneric/Makefile ] ; then
|
||||
cd $training/OGLES2/Build/LinuxGeneric
|
||||
fi
|
||||
|
||||
if [ -e $training/OGLES2/Build/${PLATFORM}/Makefile ] ; then
|
||||
cd $training/OGLES2/Build/${PLATFORM}
|
||||
fi
|
||||
|
||||
oe_runmake Common=1 PLATFORM=${PLATFORM} X11BUILD=0
|
||||
rm -f $training/OGLES2/Build/${PLATFORM}/Release*/*.o
|
||||
|
||||
install -m 0755 $training/OGLES2/Build/${PLATFORM}/ReleaseRaw/* ${S}/trainingcourses/raw || true
|
||||
done
|
||||
|
||||
}
|
||||
|
||||
do_install () {
|
||||
install -d ${D}${libdir}
|
||||
cp -pPR ${BINLOCATION}/*.so* ${D}${libdir}
|
||||
rm ${D}${libdir}/libpvrPVR2D_DRIWSEGL.so*
|
||||
rm ${D}${libdir}/libsrv_um_dri.so*
|
||||
rm ${D}${libdir}/pvr_drv.so*
|
||||
|
||||
install -m 0644 ${BINLOCATION}/*.a ${D}${libdir}
|
||||
|
||||
install -d ${D}${bindir}/
|
||||
install -m 0755 ${WORKDIR}/cputype ${D}${bindir}/
|
||||
|
||||
install -m 0755 ${BINLOCATION}/*_test ${D}${bindir}/
|
||||
install -m 0755 ${BINLOCATION}/gl* ${D}${bindir}/
|
||||
install -m 0755 ${BINLOCATION}/${PVR_INIT} ${D}${bindir}/
|
||||
|
||||
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}/include/pvr2d/*.h ${D}${includedir}
|
||||
cp -pPr ${S}/include/OGLES2/* ${D}${includedir}/
|
||||
cp -pPr ${S}/include/wsegl/*.h ${D}${includedir}/
|
||||
|
||||
install -d ${D}${sysconfdir}/init.d/
|
||||
cp -pP ${WORKDIR}/rc.pvr ${D}${sysconfdir}/init.d/pvr-init
|
||||
chmod +x ${D}${sysconfdir}/init.d/pvr-init
|
||||
|
||||
install -d ${D}${sysconfdir}
|
||||
echo "[default]" > ${D}${sysconfdir}/powervr.ini
|
||||
echo "WindowSystem=${LIBGLESWINDOWSYSTEM}" >> ${D}${sysconfdir}/powervr.ini
|
||||
|
||||
#Create different folders for ease of installing into different platforms with different display drivers/ SGX core
|
||||
|
||||
shared_prog="eglinfo pvr2d_test ${PVR_INIT} services_test sgx_blit_test sgx_clipblit_test sgx_flip_test sgx_init_test sgx_render_flip_test"
|
||||
raw_prog="gles1test1 gles2test1"
|
||||
|
||||
for esrev in 3 5 6 8 9 ; do
|
||||
ESLOCATION=$(eval echo $(echo \$\{ES${esrev}LOCATION\}))
|
||||
if [ -e ${ESLOCATION} ] ; then
|
||||
install -d ${D}${libdir}/ES${esrev}.0
|
||||
install -d ${D}${bindir}/ES${esrev}.0
|
||||
cp -pPR ${ESLOCATION}/lib*${IMGPV} ${ESLOCATION}/pvr_drv.so ${ESLOCATION}/*.a ${D}${libdir}/ES${esrev}.0/
|
||||
for esprog in $shared_prog $raw_prog ; do
|
||||
install -m 0755 ${ESLOCATION}/$esprog ${D}${bindir}/ES${esrev}.0/ 2>/dev/null || true
|
||||
done
|
||||
fi
|
||||
done
|
||||
|
||||
rm ${D}${bindir}/ES*/*.h ${D}${bindir}/ES*/pdsasm ${D}${bindir}/pdsasm -f || true
|
||||
|
||||
install -d ${D}${bindir}/SGX/demos/Raw/
|
||||
install -m 0755 ${S}/demos/raw/* ${D}${bindir}/SGX/demos/Raw/
|
||||
install -d ${D}${bindir}/SGX/trainingcourses/Raw 2>/dev/null || true
|
||||
install -m 0755 ${S}/trainingcourses/raw/* ${D}${bindir}/SGX/trainingcourses/Raw/ 2>/dev/null || true
|
||||
|
||||
|
||||
# Delete objects and linker scripts hidden between the headers
|
||||
find ${D} -name "*.o" -delete
|
||||
find ${D} -name "*.o.cmd" -delete
|
||||
|
||||
install -d ${D}${sysconfdir}/udev/rules.d
|
||||
install -m 0644 ${WORKDIR}/99-bufferclass.rules ${D}${sysconfdir}/udev/rules.d/
|
||||
|
||||
touch ${D}${libdir}/ES5.0/ld-linux.so.3
|
||||
touch ${D}${libdir}/ES5.0/ld-linux.so.3\(GLIBC_2.4\)
|
||||
cp -pPR ${S}/gfx_rel_es5.x/libews.so ${D}${libdir}/ES5.0/
|
||||
}
|
||||
|
||||
PACKAGES =+ "${PN}-rawdemos ${PN}-rawtrainingcourses ${PN}-tests"
|
||||
# Package the base libraries per silicon revision
|
||||
PACKAGES =+ "${PN}-es3 ${PN}-es5 ${PN}-es6 ${PN}-es8 ${PN}-es9"
|
||||
RRECOMMENDS_${PN} += "${PN}-es3 ${PN}-es5 ${PN}-es6 ${PN}-es8 ${PN}-es9"
|
||||
FILES_${PN}-es3 = "${libdir}/ES3*/* ${bindir}/ES3*/*"
|
||||
FILES_${PN}-es5 = "${libdir}/ES5*/* ${bindir}/ES5*/*"
|
||||
FILES_${PN}-es6 = "${libdir}/ES6*/* ${bindir}/ES6*/*"
|
||||
FILES_${PN}-es8 = "${libdir}/ES8*/* ${bindir}/ES8*/*"
|
||||
FILES_${PN}-es9 = "${libdir}/ES9*/* ${bindir}/ES9*/*"
|
||||
|
||||
# Stop shlib code from picking a subpackage
|
||||
PRIVATE_LIBS_${PN}-es3 = "libGLESv2.so libIMGegl.so libsrv_um.so libpvr2d.so libsrv_init.so libEGL.so libsrv_um_dri.so libglslcompiler.so libGLES_CM.so"
|
||||
PRIVATE_LIBS_${PN}-es5 = "libGLESv2.so libIMGegl.so libsrv_um.so libpvr2d.so libsrv_init.so libEGL.so libsrv_um_dri.so libglslcompiler.so libGLES_CM.so"
|
||||
PRIVATE_LIBS_${PN}-es6 = "libGLESv2.so libIMGegl.so libsrv_um.so libpvr2d.so libsrv_init.so libEGL.so libsrv_um_dri.so libglslcompiler.so libGLES_CM.so"
|
||||
PRIVATE_LIBS_${PN}-es8 = "libGLESv2.so libIMGegl.so libsrv_um.so libpvr2d.so libsrv_init.so libEGL.so libsrv_um_dri.so libglslcompiler.so libGLES_CM.so"
|
||||
PRIVATE_LIBS_${PN}-es9 = "libGLESv2.so libIMGegl.so libsrv_um.so libpvr2d.so libsrv_init.so libEGL.so libsrv_um_dri.so libglslcompiler.so libGLES_CM.so"
|
||||
|
||||
|
||||
RPROVIDES_${PN} += "libGLESv2.so libEGL.so libGLES_CM.so libpvr2d.so libIMGegl.so libsrv_init.so libsrv_um.so libsrv_um_dri.so libglslcompiler.so"
|
||||
RPROVIDES_${PN}-es5 += "ld-linux.so.3 ld-linux.so.3(GLIBC_2.4) libews.so"
|
||||
|
||||
PACKAGES =+ "${PN}-blitwsegl ${PN}-flipwsegl ${PN}-frontwsegl ${PN}-linuxfbwsegl"
|
||||
FILES_${PN}-blitwsegl = "${libdir}/libpvrPVR2D_BLITWSEGL.so.*"
|
||||
FILES_${PN}-flipwsegl = "${libdir}/libpvrPVR2D_FLIPWSEGL.so.*"
|
||||
FILES_${PN}-frontwsegl = "${libdir}/libpvrPVR2D_FRONTWSEGL.so.*"
|
||||
FILES_${PN}-linuxfbwsegl = "${libdir}/libpvrPVR2D_LINUXFBWSEGL.so.*"
|
||||
|
||||
PACKAGES =+ "${PN}-blitwsegl-es3 ${PN}-blitwsegl-es5 ${PN}-blitwsegl-es6 ${PN}-blitwsegl-es8 ${PN}-blitwsegl-es9 ${PN}-flipwsegl-es3 ${PN}-flipwsegl-es5 ${PN}-flipwsegl-es6 ${PN}-flipwsegl-es8 ${PN}-flipwsegl-es9 ${PN}-frontwsegl-es3 ${PN}-frontwsegl-es5 ${PN}-frontwsegl-es6 ${PN}-frontwsegl-es8 ${PN}-frontwsegl-es9 ${PN}-linuxfbwsegl-es3 ${PN}-linuxfbwsegl-es5 ${PN}-linuxfbwsegl-es6 ${PN}-linuxfbwsegl-es8 ${PN}-linuxfbwsegl-es9"
|
||||
|
||||
FILES_${PN}-blitwsegl-es3 = "${libdir}/ES3*/libpvrPVR2D_BLITWSEGL.so.*"
|
||||
FILES_${PN}-blitwsegl-es5 = "${libdir}/ES5*/libpvrPVR2D_BLITWSEGL.so.*"
|
||||
FILES_${PN}-blitwsegl-es6 = "${libdir}/ES6*/libpvrPVR2D_BLITWSEGL.so.*"
|
||||
FILES_${PN}-blitwsegl-es8 = "${libdir}/ES8*/libpvrPVR2D_BLITWSEGL.so.*"
|
||||
FILES_${PN}-blitwsegl-es9 = "${libdir}/ES9*/libpvrPVR2D_BLITWSEGL.so.*"
|
||||
RRECOMMENDS_${PN}-blitwsegl = " ${PN}-blitwsegl-es3 ${PN}-blitwsegl-es5 ${PN}-blitwsegl-es6 ${PN}-blitwsegl-es8 ${PN}-blitwsegl-es9"
|
||||
|
||||
FILES_${PN}-flipwsegl-es3 = "${libdir}/ES3*/libpvrPVR2D_FLIPWSEGL.so.*"
|
||||
FILES_${PN}-flipwsegl-es5 = "${libdir}/ES5*/libpvrPVR2D_FLIPWSEGL.so.*"
|
||||
FILES_${PN}-flipwsegl-es6 = "${libdir}/ES6*/libpvrPVR2D_FLIPWSEGL.so.*"
|
||||
FILES_${PN}-flipwsegl-es8 = "${libdir}/ES8*/libpvrPVR2D_FLIPWSEGL.so.*"
|
||||
FILES_${PN}-flipwsegl-es9 = "${libdir}/ES9*/libpvrPVR2D_FLIPWSEGL.so.*"
|
||||
RRECOMMENDS_${PN}-flipwsegl = " ${PN}-flipwsegl-es3 ${PN}-flipwsegl-es5 ${PN}-flipwsegl-es6 ${PN}-flipwsegl-es8 ${PN}-flipwsegl-es9"
|
||||
|
||||
FILES_${PN}-frontwsegl-es3 = "${libdir}/ES3*/libpvrPVR2D_FRONTWSEGL.so.*"
|
||||
FILES_${PN}-frontwsegl-es5 = "${libdir}/ES5*/libpvrPVR2D_FRONTWSEGL.so.*"
|
||||
FILES_${PN}-frontwsegl-es6 = "${libdir}/ES6*/libpvrPVR2D_FRONTWSEGL.so.*"
|
||||
FILES_${PN}-frontwsegl-es8 = "${libdir}/ES8*/libpvrPVR2D_FRONTWSEGL.so.*"
|
||||
FILES_${PN}-frontwsegl-es9 = "${libdir}/ES9*/libpvrPVR2D_FRONTWSEGL.so.*"
|
||||
RRECOMMENDS_${PN}-frontwsegl = " ${PN}-frontwsegl-es3 ${PN}-frontwsegl-es5 ${PN}-frontwsegl-es6 ${PN}-frontwsegl-es8 ${PN}-frontwsegl-es9"
|
||||
|
||||
FILES_${PN}-linuxfbwsegl-es3 = "${libdir}/ES3*/libpvrPVR2D_LINUXFBWSEGL.so.*"
|
||||
FILES_${PN}-linuxfbwsegl-es5 = "${libdir}/ES5*/libpvrPVR2D_LINUXFBWSEGL.so.*"
|
||||
FILES_${PN}-linuxfbwsegl-es6 = "${libdir}/ES6*/libpvrPVR2D_LINUXFBWSEGL.so.*"
|
||||
FILES_${PN}-linuxfbwsegl-es8 = "${libdir}/ES8*/libpvrPVR2D_LINUXFBWSEGL.so.*"
|
||||
FILES_${PN}-linuxfbwsegl-es9 = "${libdir}/ES9*/libpvrPVR2D_LINUXFBWSEGL.so.*"
|
||||
RRECOMMENDS_${PN}-linuxfbwsegl = " ${PN}-linuxfbwsegl-es3 ${PN}-linuxfbwsegl-es5 ${PN}-linuxfbwsegl-es6 ${PN}-linuxfbwsegl-es8 ${PN}-linuxfbwsegl-es9"
|
||||
|
||||
CONFFILES_${PN} = "${sysconfdir}/powervr.ini"
|
||||
|
||||
FILES_${PN} = "${sysconfdir} ${libdir}/*.so* ${bindir}/${PVR_INIT} ${bindir}/cputype ${bindir}/*"
|
||||
|
||||
FILES_${PN}-tests = "${bindir}/*test*"
|
||||
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}-rawtrainingcourses = "${bindir}/SGX/trainingcourses/Raw/*"
|
||||
|
||||
# The libs need the kernel-modules
|
||||
RRECOMMENDS_${PN} += "omap3-sgx-modules"
|
||||
|
||||
# The initscript calls fbset, cputype calls devmem2
|
||||
RDEPENDS_${PN} += "fbset devmem2"
|
||||
|
||||
#HACK! These are binaries, so we can't guarantee that LDFLAGS match :(
|
||||
INSANE_SKIP_${PN} = "ldflags dev-so already-stripped"
|
||||
INSANE_SKIP_${PN}-es3 = "ldflags dev-so staticdev already-stripped"
|
||||
INSANE_SKIP_${PN}-es5 = "ldflags dev-so staticdev already-stripped"
|
||||
INSANE_SKIP_${PN}-es6 = "ldflags dev-so staticdev already-stripped"
|
||||
INSANE_SKIP_${PN}-es8 = "ldflags dev-so staticdev already-stripped"
|
||||
INSANE_SKIP_${PN}-es9 = "ldflags dev-so staticdev already-stripped"
|
||||
INSANE_SKIP_${PN}-rawdemos = "ldflags dev-so useless-rpaths already-stripped"
|
||||
INSANE_SKIP_${PN}-blitwsegl = "ldflags already-stripped"
|
||||
INSANE_SKIP_${PN}-blitwsegl-es3 = "ldflags already-stripped"
|
||||
INSANE_SKIP_${PN}-blitwsegl-es5 = "ldflags already-stripped"
|
||||
INSANE_SKIP_${PN}-blitwsegl-es6 = "ldflags already-stripped"
|
||||
INSANE_SKIP_${PN}-blitwsegl-es8 = "ldflags already-stripped"
|
||||
INSANE_SKIP_${PN}-blitwsegl-es9 = "ldflags already-stripped"
|
||||
INSANE_SKIP_${PN}-flipwsegl = "ldflags already-stripped"
|
||||
INSANE_SKIP_${PN}-flipwsegl-es3 = "ldflags already-stripped"
|
||||
INSANE_SKIP_${PN}-flipwsegl-es5 = "ldflags already-stripped"
|
||||
INSANE_SKIP_${PN}-flipwsegl-es6 = "ldflags already-stripped"
|
||||
INSANE_SKIP_${PN}-flipwsegl-es8 = "ldflags already-stripped"
|
||||
INSANE_SKIP_${PN}-flipwsegl-es9 = "ldflags already-stripped"
|
||||
INSANE_SKIP_${PN}-frontwsegl = "ldflags already-stripped"
|
||||
INSANE_SKIP_${PN}-frontwsegl-es3 = "ldflags already-stripped"
|
||||
INSANE_SKIP_${PN}-frontwsegl-es5 = "ldflags already-stripped"
|
||||
INSANE_SKIP_${PN}-frontwsegl-es6 = "ldflags already-stripped"
|
||||
INSANE_SKIP_${PN}-frontwsegl-es8 = "ldflags already-stripped"
|
||||
INSANE_SKIP_${PN}-frontwsegl-es9 = "ldflags already-stripped"
|
||||
INSANE_SKIP_${PN}-linuxfbwsegl = "ldflags already-stripped"
|
||||
INSANE_SKIP_${PN}-linuxfbwsegl-es3 = "ldflags already-stripped"
|
||||
INSANE_SKIP_${PN}-linuxfbwsegl-es5 = "ldflags already-stripped"
|
||||
INSANE_SKIP_${PN}-linuxfbwsegl-es6 = "ldflags already-stripped"
|
||||
INSANE_SKIP_${PN}-linuxfbwsegl-es8 = "ldflags already-stripped"
|
||||
INSANE_SKIP_${PN}-linuxfbwsegl-es9 = "ldflags already-stripped"
|
||||
INSANE_SKIP_${PN}-tests = "ldflags already-stripped"
|
||||
|
||||
# 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 ."
|
||||
|
||||
# Append to update-rc.d postinst
|
||||
pkg_postinst_${PN}_append() {
|
||||
rm -f $D${sysconfdir}/powervr-esrev
|
||||
|
||||
}
|
||||
|
||||
pkg_postinst_${PN}-blitwsegl() {
|
||||
rm -f $D${sysconfdir}/powervr-esrev
|
||||
}
|
||||
|
||||
pkg_postinst_${PN}-flipwsegl() {
|
||||
rm -f $D${sysconfdir}/powervr-esrev
|
||||
}
|
||||
|
||||
pkg_postinst_${PN}-frontwsegl() {
|
||||
rm -f $D${sysconfdir}/powervr-esrev
|
||||
}
|
||||
pkg_postinst_${PN}-linuxfbwsegl() {
|
||||
rm -f $D${sysconfdir}/powervr-esrev
|
||||
}
|
||||
|
||||
pkg_postinst_${PN}-es5() {
|
||||
rm -f $D${libdir}/ES5.0/ld-linux.so.3*
|
||||
rm -f $D${libdir}/ES5.0/libews.so
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
# Give everyone access to bufferclass nodes and make a compatibility symlink for the first one
|
||||
SUBSYSTEM=="bccat", MODE="0666"
|
||||
KERNEL=="bccat0", SYMLINK+="bc_cat", MODE="0666"
|
||||
|
||||
# Give everyone access to v4l nodes
|
||||
SUBSYSTEM=="video4linux", MODE="0666"
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
machine_id() { # return the machine ID
|
||||
awk 'BEGIN { FS=": " } /Hardware/ \
|
||||
{ gsub(" ", "_", $2); print tolower($2) } ' </proc/cpuinfo
|
||||
}
|
||||
|
||||
if [ "$(machine_id)" = "ti8168evm" ] ; then
|
||||
echo TI816x
|
||||
elif [ "$(machine_id)" = "am335xevm" ] ; then
|
||||
echo TI33XX
|
||||
else
|
||||
devmem2 0x4800244c | \
|
||||
grep 'Read at address' | \
|
||||
sed -e 's/.*): //' | \
|
||||
sed -e 's/0x00005C00/OMAP3503/' -e 's/0x00001C00/OMAP3515/' -e 's/0x00004C00/OMAP3525/' -e 's/0x00000C00/OMAP3530/' -e 's/0x00005E00/OMAP3503/' -e 's/0x00001E00/OMAP3515/' -e 's/0x00004E00/OMAP3525/' -e 's/0x00000E00/OMAP3530/' -e 's/0x00000CC0/OMAP3530/'
|
||||
fi
|
||||
@@ -1,125 +0,0 @@
|
||||
#!/bin/sh
|
||||
PATH=$PATH:/usr/sbin
|
||||
|
||||
# Check if an fb device is available. If not then just go ahead and
|
||||
# exit because we have no display.
|
||||
fbset > /dev/null 2>&1
|
||||
if [ "$?" == "1" ]
|
||||
then
|
||||
# looks like there is no display, so let's exit
|
||||
exit 0
|
||||
fi
|
||||
|
||||
BITSPERPIXEL="$(fbset | grep geom | awk '{print $6}')"
|
||||
YRES="$(fbset | grep geom | awk '{print $3}')"
|
||||
|
||||
CPUTYPE="$(cputype)"
|
||||
|
||||
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 bufferclass_ti
|
||||
rmmod omaplfb 2>/dev/null
|
||||
rmmod pvrsrvkm 2>/dev/null
|
||||
fi
|
||||
|
||||
if [ "$1" = "stop" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# 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)
|
||||
|
||||
sgxprepare () {
|
||||
echo Starting PVR
|
||||
insmod $(busybox find /lib/modules/$(uname -r) -name "pvrsrvkm.ko")
|
||||
|
||||
if [ "$?" != "0" ]
|
||||
then
|
||||
echo "Could not find pvrsrvkm driver"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
modprobe omaplfb
|
||||
modprobe bufferclass_ti
|
||||
|
||||
pvr_maj=`grep "pvrsrvkm$" /proc/devices | cut -b1,2,3`
|
||||
bc_maj=`grep "bc" /proc/devices | cut -b1,2,3`
|
||||
|
||||
if [ -e /dev/pvrsrvkm ] ; then
|
||||
rm -f /dev/pvrsrvkm
|
||||
fi
|
||||
|
||||
mknod /dev/pvrsrvkm c $pvr_maj 0
|
||||
chmod 666 /dev/pvrsrvkm
|
||||
|
||||
touch /etc/powervr-esrev
|
||||
|
||||
SAVED_ESREVISION="$(cat /etc/powervr-esrev)"
|
||||
}
|
||||
|
||||
sgxfinish () {
|
||||
# Fix up a bug in opkg
|
||||
if [ $(readlink /usr/lib/libsrv_um.so) != $(readlink /usr/lib/libsrv_um.so.1) ] ; then
|
||||
cd /usr/lib
|
||||
ln -sf $(readlink /usr/lib/libsrv_um.so.1) libsrv_um.so
|
||||
fi
|
||||
|
||||
if [ "${ES_REVISION}" != "${SAVED_ESREVISION}" ] ; then
|
||||
echo -n "Starting SGX fixup for"
|
||||
echo " ES${ES_REVISION}.x"
|
||||
cp -a /usr/lib/ES${ES_REVISION}.0/* /usr/lib
|
||||
cp -a /usr/bin/ES${ES_REVISION}.0/* /usr/bin
|
||||
echo "${ES_REVISION}" > /etc/powervr-esrev
|
||||
fi
|
||||
|
||||
if ! /usr/bin/pvrsrvctl --start --no-module; then return; fi
|
||||
}
|
||||
|
||||
case $CPUTYPE in
|
||||
"OMAP3530")
|
||||
sgxprepare
|
||||
|
||||
devmem2 0x48004B48 w 0x2 > /dev/null
|
||||
devmem2 0x48004B10 w 0x1 > /dev/null
|
||||
devmem2 0x48004B00 w 0x2 > /dev/null
|
||||
|
||||
ES_REVISION="$(devmem2 0x50000014 | sed -e s:0x00010205:5: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
|
||||
|
||||
sgxfinish
|
||||
;;
|
||||
"TI33XX")
|
||||
sgxprepare
|
||||
|
||||
devmem2 0x44e01104 w 0x0 > /dev/null
|
||||
devmem2 0x44e00904 w 0x2 > /dev/null
|
||||
|
||||
ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8: | tail -n1 | awk -F': ' '{print $2}')"
|
||||
|
||||
sgxfinish
|
||||
;;
|
||||
"TI816x")
|
||||
sgxprepare
|
||||
|
||||
devmem2 0x48180F04 w 0x0 > /dev/null
|
||||
devmem2 0x48180900 w 0x2 > /dev/null
|
||||
devmem2 0x48180920 w 0x2 > /dev/null
|
||||
|
||||
ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:6: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
|
||||
|
||||
sgxfinish
|
||||
;;
|
||||
*)
|
||||
echo No SGX hardware, not starting PVR
|
||||
;;
|
||||
esac
|
||||
|
||||
@@ -1,137 +0,0 @@
|
||||
#!/bin/sh
|
||||
PATH=$PATH:/usr/sbin
|
||||
|
||||
# Check if an fb device is available. If not then just go ahead and
|
||||
# exit because we have no display.
|
||||
fbset > /dev/null 2>&1
|
||||
if [ "$?" == "1" ]
|
||||
then
|
||||
# looks like there is no display, so let's exit
|
||||
exit 0
|
||||
fi
|
||||
|
||||
BITSPERPIXEL="$(fbset | grep geom | awk '{print $6}')"
|
||||
YRES="$(fbset | grep geom | awk '{print $3}')"
|
||||
|
||||
CPUTYPE="$(cputype)"
|
||||
|
||||
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
|
||||
|
||||
# Stop the X Server.
|
||||
#
|
||||
[ -f /tmp/.X0-lock ] && read XPID < /tmp/.X0-lock && [ -n "$XPID" ] && kill $XPID && while [ -e /proc/$XPID ] ; do sleep 1; done
|
||||
|
||||
rmmod bufferclass_ti
|
||||
rmmod pvrsrvkm 2>/dev/null
|
||||
rmmod drm 2>/dev/null
|
||||
fi
|
||||
|
||||
if [ "$1" = "stop" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# 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)
|
||||
|
||||
sgxprepare () {
|
||||
echo Starting PVR
|
||||
|
||||
# Start the X Server.
|
||||
# The X Server will load the PVR Services module.
|
||||
#
|
||||
/usr/local/XSGX/bin/X -verbose -config /usr/local/XSGX/etc/xorg.conf &
|
||||
|
||||
modprobe drm
|
||||
|
||||
insmod $(busybox find /lib/modules/$(uname -r) -name "pvrsrvkm.ko")
|
||||
|
||||
if [ "$?" != "0" ]
|
||||
then
|
||||
echo "Could not find pvrsrvkm driver"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
modprobe bufferclass_ti
|
||||
|
||||
pvr_maj=`grep "pvrsrvkm$" /proc/devices | cut -b1,2,3`
|
||||
bc_maj=`grep "bc" /proc/devices | cut -b1,2,3`
|
||||
|
||||
if [ -e /dev/pvrsrvkm ] ; then
|
||||
rm -f /dev/pvrsrvkm
|
||||
fi
|
||||
|
||||
mknod /dev/pvrsrvkm c $pvr_maj 0
|
||||
chmod 666 /dev/pvrsrvkm
|
||||
|
||||
touch /etc/powervr-esrev
|
||||
|
||||
SAVED_ESREVISION="$(cat /etc/powervr-esrev)"
|
||||
}
|
||||
|
||||
sgxfinish () {
|
||||
# Fix up a bug in opkg
|
||||
if [ $(readlink /usr/lib/libsrv_um.so) != $(readlink /usr/lib/libsrv_um.so.1) ] ; then
|
||||
cd /usr/lib
|
||||
ln -sf $(readlink /usr/lib/libsrv_um.so.1) libsrv_um.so
|
||||
fi
|
||||
|
||||
if [ "${ES_REVISION}" != "${SAVED_ESREVISION}" ] ; then
|
||||
echo -n "Starting SGX fixup for"
|
||||
echo " ES${ES_REVISION}.x"
|
||||
cp -a /usr/lib/ES${ES_REVISION}.0/* /usr/lib
|
||||
cp -a /usr/bin/ES${ES_REVISION}.0/* /usr/bin
|
||||
echo "${ES_REVISION}" > /etc/powervr-esrev
|
||||
fi
|
||||
|
||||
if ! /usr/bin/pvrsrvctl --start --no-module; then return; fi
|
||||
}
|
||||
|
||||
case $CPUTYPE in
|
||||
"OMAP3530")
|
||||
sgxprepare
|
||||
|
||||
devmem2 0x48004B48 w 0x2 > /dev/null
|
||||
devmem2 0x48004B10 w 0x1 > /dev/null
|
||||
devmem2 0x48004B00 w 0x2 > /dev/null
|
||||
|
||||
ES_REVISION="$(devmem2 0x50000014 | sed -e s:0x00010205:5: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
|
||||
|
||||
sgxfinish
|
||||
;;
|
||||
"TI33XX")
|
||||
sgxprepare
|
||||
|
||||
devmem2 0x44e01104 w 0x0 > /dev/null
|
||||
devmem2 0x44e00904 w 0x2 > /dev/null
|
||||
|
||||
ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8: | tail -n1 | awk -F': ' '{print $2}')"
|
||||
|
||||
sgxfinish
|
||||
;;
|
||||
"TI816x")
|
||||
sgxprepare
|
||||
|
||||
devmem2 0x48180F04 w 0x0 > /dev/null
|
||||
devmem2 0x48180900 w 0x2 > /dev/null
|
||||
devmem2 0x48180920 w 0x2 > /dev/null
|
||||
|
||||
ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:6: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
|
||||
|
||||
sgxfinish
|
||||
;;
|
||||
*)
|
||||
echo No SGX hardware, not starting PVR
|
||||
;;
|
||||
esac
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Name=NAME Demo
|
||||
Comment=OGLES Demo
|
||||
Exec=EXEC
|
||||
Icon=star
|
||||
Type=Application
|
||||
Categories=Graphics;
|
||||
|
||||
@@ -1,333 +0,0 @@
|
||||
DESCRIPTION = "libGLES for the omap3 (X11)"
|
||||
LICENSE = "proprietary-binary"
|
||||
# 'TSPA.txt' might not be the best file to md5sum
|
||||
LIC_FILES_CHKSUM = "file://TSPA.txt;md5=c0d5d9c1e38b41677144c4e24d6ddee1"
|
||||
|
||||
INC_PR = "r38"
|
||||
|
||||
EXCLUDE_FROM_WORLD = "1"
|
||||
|
||||
COMPATIBLE_MACHINE = "(omap3|ti814x|ti816x|ti33x|ti43x)"
|
||||
|
||||
DEPENDS = "virtual/libx11 libxau libxdmcp libdrm"
|
||||
|
||||
export SUPPORT_XORG ?= "1"
|
||||
PVR_INIT ?= "pvrsrvinit"
|
||||
|
||||
PROVIDES += "libgles-omap3 virtual/egl virtual/libgles1 virtual/libgles2"
|
||||
|
||||
RREPLACES_${PN} = "libegl libgles1 libgles2"
|
||||
RREPLACES_${PN}-dev = "libegl-dev libgles1-dev libgles2-dev"
|
||||
RREPLACES_${PN}-dbg = "libegl-dbg libgles1-dbg libgles2-dbg"
|
||||
|
||||
RPROVIDES_${PN} = "libegl libgles1 libgles2"
|
||||
RPROVIDES_${PN}-dev = "libegl-dev libgles1-dev libgles2-dev"
|
||||
RPROVIDES_${PN}-dbg = "libegl-dbg libgles1-dbg libgles2-dbg"
|
||||
|
||||
RCONFLICTS_${PN} = "libegl libgles1 libgles2"
|
||||
RCONFLICTS_${PN}-dev = "libegl-dev libgles1-dev libgles2-dev"
|
||||
RCONFLICTS_${PN}-dbg = "libegl-dbg libgles1-dbg libgles2-dbg"
|
||||
|
||||
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/${SGXPV}/exports/${BINFILE} \
|
||||
file://cputype \
|
||||
file://rc_dri.pvr \
|
||||
file://sample.desktop \
|
||||
file://99-bufferclass.rules \
|
||||
"
|
||||
|
||||
S = "${WORKDIR}/OMAP35x_Graphics_SDK_${SGXPV}"
|
||||
|
||||
# Logic to unpack installjammer file
|
||||
TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
|
||||
require ../../recipes-ti/includes/ti-eula-unpack.inc
|
||||
|
||||
export BINLOCATION ?= "${S}/gfx_rel"
|
||||
export ES3LOCATION ?= "${S}/gfx_rel_es3.x"
|
||||
export ES5LOCATION ?= "${S}/gfx_rel_es5.x"
|
||||
export ES6LOCATION ?= "${S}/gfx_rel_es6.x"
|
||||
export ES8LOCATION ?= "${S}/gfx_rel_es8.x"
|
||||
export ES9LOCATION ?= "${S}/gfx_rel_es9.x"
|
||||
|
||||
LIBGLESWINDOWSYSTEM ?= "libpvrPVR2D_DRIWSEGL.so"
|
||||
|
||||
python __anonymous() {
|
||||
if "x11" not in d.getVar("DISTRO_FEATURES", True).split():
|
||||
raise bb.parse.SkipPackage("Recipe is x11-specific, skipping")
|
||||
}
|
||||
|
||||
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} \
|
||||
-L${STAGING_DIR_TARGET}${libdir} -Wl,-rpath-link,${STAGING_DIR_TARGET}${libdir}"
|
||||
PARALLEL_MAKE = ""
|
||||
|
||||
PLATFORM ?= "LinuxOMAP3"
|
||||
|
||||
do_compile() {
|
||||
export TOOLCHAIN="${TOOLCHAIN_PATH}"
|
||||
export PLAT_CC="${CC}"
|
||||
export PLAT_CPP="${CXX}"
|
||||
export PLAR_AR="${AR}"
|
||||
|
||||
export X11ROOT="${STAGING_DIR_HOST}/usr"
|
||||
mkdir -p ${S}/demos/x11
|
||||
mkdir -p ${S}/trainingcourses/x11
|
||||
|
||||
mkdir -p ${S}/demos/raw
|
||||
mkdir -p ${S}/trainingcourses/raw
|
||||
|
||||
# Rebuild demos
|
||||
for demo in ${S}/GFX_Linux_SDK/OGLES/SDKPackage/Demos/* ; do
|
||||
cd $demo/OGLES/Build/LinuxGeneric
|
||||
oe_runmake Common=1 PLATFORM=${PLATFORM} X11BUILD=1
|
||||
rm $demo/OGLES/Build/${PLATFORM}/Release*/*.o
|
||||
|
||||
install -m 0755 $demo/OGLES/Build/${PLATFORM}/ReleaseX11/* ${S}/demos/x11 || true
|
||||
sed -e s:NAME:$(basename $demo): \
|
||||
-e s:EXEC:${bindir}/SGX/demos/X11/$(basename $demo/OGLES/Build/${PLATFORM}/ReleaseX11/*): \
|
||||
${WORKDIR}/sample.desktop > ${WORKDIR}/$(basename $demo).desktop
|
||||
done
|
||||
|
||||
for demo in ${S}/GFX_Linux_SDK/OGLES2/SDKPackage/Demos/* ; do
|
||||
cd $demo/OGLES2/Build/LinuxGeneric
|
||||
oe_runmake Common=1 PLATFORM=${PLATFORM} X11BUILD=1
|
||||
rm -f $demo/OGLES2/Build/${PLATFORM}/Release*/*.o
|
||||
|
||||
install -m 0755 $demo/OGLES2/Build/${PLATFORM}/ReleaseX11/* ${S}/demos/x11 || true
|
||||
sed -e s:NAME:$(basename $demo): \
|
||||
-e s:EXEC:${bindir}/SGX/demos/X11/$(basename $demo/OGLES2/Build/${PLATFORM}/ReleaseX11/*): \
|
||||
${WORKDIR}/sample.desktop > ${WORKDIR}/$(basename $demo).desktop
|
||||
done
|
||||
|
||||
|
||||
find ${S} -name "*_org" -delete
|
||||
|
||||
# Build OGLES2 Trainingcourses
|
||||
for training in ${S}/GFX_Linux_SDK/OGLES2/SDKPackage/TrainingCourse/* ; do
|
||||
if [ -e $training/OGLES2/Build/LinuxGeneric/Makefile ] ; then
|
||||
cd $training/OGLES2/Build/LinuxGeneric
|
||||
fi
|
||||
|
||||
if [ -e $training/OGLES2/Build/${PLATFORM}/Makefile ] ; then
|
||||
cd $training/OGLES2/Build/${PLATFORM}
|
||||
fi
|
||||
|
||||
oe_runmake Common=1 PLATFORM=${PLATFORM} X11BUILD=1
|
||||
rm -f $training/OGLES2/Build/${PLATFORM}/Release*/*.o
|
||||
|
||||
install -m 0755 $training/OGLES2/Build/${PLATFORM}/ReleaseX11/* ${S}/trainingcourses/x11 || true
|
||||
done
|
||||
}
|
||||
|
||||
do_install () {
|
||||
install -d ${D}${libdir}
|
||||
cp -pPR ${BINLOCATION}/*.so* ${D}${libdir}
|
||||
install -m 0644 ${BINLOCATION}/*.a ${D}${libdir}
|
||||
|
||||
install -d ${D}${bindir}/
|
||||
install -m 0755 ${WORKDIR}/cputype ${D}${bindir}/
|
||||
|
||||
install -m 0755 ${BINLOCATION}/*_test ${D}${bindir}/
|
||||
install -m 0755 ${BINLOCATION}/gl* ${D}${bindir}/
|
||||
install -m 0755 ${BINLOCATION}/${PVR_INIT} ${D}${bindir}/
|
||||
|
||||
install -m 0755 ${BINLOCATION}/xgles1test1 ${D}${bindir}/
|
||||
|
||||
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/${PLATFORM}/Include/GLES/* ${D}${includedir}/GLES/ 2>/dev/null || true
|
||||
cp -pPr ${S}/GFX_Linux_SDK/OGLES2/SDKPackage/Builds/OGLES2/${PLATFORM}/Include/GLES/* ${D}${includedir}/GLES2/ 2>/dev/null || true
|
||||
cp -pPr ${S}/include/wsegl/*.h ${D}${includedir} || true
|
||||
|
||||
install -d ${D}${sysconfdir}/init.d/
|
||||
|
||||
install -d ${D}${sysconfdir}
|
||||
echo "[default]" > ${D}${sysconfdir}/powervr.ini
|
||||
echo "WindowSystem=${LIBGLESWINDOWSYSTEM}" >> ${D}${sysconfdir}/powervr.ini
|
||||
|
||||
# The ES3.x, ES5.x and ES6.x CPUs have different SGX hardware, so we need to install multiple sets of userspace
|
||||
|
||||
install -d ${D}${libdir}/ES9.0
|
||||
install -d ${D}${libdir}/ES8.0
|
||||
install -d ${D}${libdir}/ES6.0
|
||||
install -d ${D}${libdir}/ES5.0
|
||||
install -d ${D}${libdir}/ES3.0
|
||||
|
||||
install -d ${D}${bindir}/ES9.0
|
||||
install -d ${D}${bindir}/ES8.0
|
||||
install -d ${D}${bindir}/ES6.0
|
||||
install -d ${D}${bindir}/ES5.0
|
||||
install -d ${D}${bindir}/ES3.0
|
||||
|
||||
x11_prog="eglinfo_x xgles1test1 xgles2test1 xmultiegltest"
|
||||
|
||||
for esrev in 3 5 6 8 9; do
|
||||
ESLOCATION=$(eval echo $(echo \$\{ES${esrev}LOCATION\}))
|
||||
if [ -e ${ESLOCATION} ] ; then
|
||||
cp -pPR ${ESLOCATION}/lib*${IMGPV} ${ESLOCATION}/pvr_drv.so ${ESLOCATION}/*.a ${D}${libdir}/ES${esrev}.0/
|
||||
for esprog in $x11_prog ; do
|
||||
install -m 0755 ${ESLOCATION}/$esprog ${D}${bindir}/ES${esrev}.0/ 2>/dev/null || true
|
||||
done
|
||||
fi
|
||||
done
|
||||
|
||||
rm ${D}${bindir}/ES*/*.h ${D}${bindir}/ES*/pdsasm ${D}${bindir}/pdsasm -f || true
|
||||
|
||||
install -d ${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 -m 0755 ${S}/demos/x11/* ${D}${bindir}/SGX/demos/X11/
|
||||
install -d ${D}${bindir}/SGX/trainingcourses/X11 2>/dev/null || true
|
||||
install -m 0755 ${S}/trainingcourses/x11/* ${D}${bindir}/SGX/trainingcourses/X11/ 2>/dev/null || true
|
||||
|
||||
# Delete objects and linker scripts hidden between the headers
|
||||
find ${D} -name "*.o" -delete
|
||||
find ${D} -name "*.o.cmd" -delete
|
||||
|
||||
install -d ${D}${sysconfdir}/udev/rules.d
|
||||
install -m 0644 ${WORKDIR}/99-bufferclass.rules ${D}${sysconfdir}/udev/rules.d/
|
||||
|
||||
}
|
||||
|
||||
PACKAGES =+ "${PN}-x11demos ${PN}-x11trainingcourses xserver-kdrive-powervrsgx"
|
||||
|
||||
# Package the base libraries per silicon revision
|
||||
PACKAGES =+ "${PN}-es3 ${PN}-es5 ${PN}-es6 ${PN}-es8 ${PN}-es9"
|
||||
RRECOMMENDS_${PN} += "${PN}-es3 ${PN}-es5 ${PN}-es6 ${PN}-es8 ${PN}-es9"
|
||||
FILES_${PN}-es3 = "${libdir}/ES3*/* ${bindir}/ES3*/*"
|
||||
FILES_${PN}-es5 = "${libdir}/ES5*/* ${bindir}/ES5*/*"
|
||||
FILES_${PN}-es6 = "${libdir}/ES6*/* ${bindir}/ES6*/*"
|
||||
FILES_${PN}-es8 = "${libdir}/ES8*/* ${bindir}/ES8*/*"
|
||||
FILES_${PN}-es9 = "${libdir}/ES9*/* ${bindir}/ES9*/*"
|
||||
|
||||
# Stop shlib code from picking a subpackage
|
||||
PRIVATE_LIBS_${PN}-es3 = "libGLESv2.so libIMGegl.so libsrv_um.so libOpenVG.so libpvr2d.so libsrv_init.so libEGL.so libsrv_um_dri.so libOpenVGU.so libglslcompiler.so libGLES_CM.so"
|
||||
PRIVATE_LIBS_${PN}-es5 = "libGLESv2.so libIMGegl.so libsrv_um.so libOpenVG.so libpvr2d.so libsrv_init.so libEGL.so libsrv_um_dri.so libOpenVGU.so libglslcompiler.so libGLES_CM.so"
|
||||
PRIVATE_LIBS_${PN}-es6 = "libGLESv2.so libIMGegl.so libsrv_um.so libOpenVG.so libpvr2d.so libsrv_init.so libEGL.so libsrv_um_dri.so libOpenVGU.so libglslcompiler.so libGLES_CM.so"
|
||||
PRIVATE_LIBS_${PN}-es8 = "libGLESv2.so libIMGegl.so libsrv_um.so libOpenVG.so libpvr2d.so libsrv_init.so libEGL.so libsrv_um_dri.so libOpenVGU.so libglslcompiler.so libGLES_CM.so"
|
||||
PRIVATE_LIBS_${PN}-es9 = "libGLESv2.so libIMGegl.so libsrv_um.so libOpenVG.so libpvr2d.so libsrv_init.so libEGL.so libsrv_um_dri.so libOpenVGU.so libglslcompiler.so libGLES_CM.so"
|
||||
|
||||
PACKAGES =+ "${PN}-x11wsegl ${PN}-driwsegl"
|
||||
FILES_${PN}-x11wsegl = "${libdir}/libpvrPVR2D_X11WSEGL.so* ${bindir}/x* ${bindir}/*x"
|
||||
FILES_${PN}-driwsegl = "${libdir}/libpvrPVR2D_DRIWSEGL.so* ${libdir}/libsrv_um_dri*"
|
||||
|
||||
X11_SEGL = " ${PN}-x11wsegl-es2 ${PN}-x11wsegl-es3 ${PN}-x11wsegl-es5 ${PN}-x11wsegl-es6 ${PN}-x11wsegl-es8 ${PN}-x11wsegl-es9 ${PN}-driwsegl-es2 ${PN}-driwsegl-es3 ${PN}-driwsegl-es5 ${PN}-driwsegl-es6 ${PN}-driwsegl-es8 ${PN}-driwsegl-es9"
|
||||
PACKAGES =+ "${X11_SEGL}"
|
||||
FILES_${PN}-x11wsegl-es2 = "${libdir}/ES2*/libpvrPVR2D_X11WSEGL.so.* ${bindir}/ES2*/x* ${bindir}/ES2*/*x"
|
||||
FILES_${PN}-x11wsegl-es3 = "${libdir}/ES3*/libpvrPVR2D_X11WSEGL.so.* ${bindir}/ES3*/x* ${bindir}/ES3*/*x"
|
||||
FILES_${PN}-x11wsegl-es5 = "${libdir}/ES5*/libpvrPVR2D_X11WSEGL.so.* ${bindir}/ES5*/x* ${bindir}/ES5*/*x"
|
||||
FILES_${PN}-x11wsegl-es6 = "${libdir}/ES6*/libpvrPVR2D_X11WSEGL.so.* ${bindir}/ES6*/x* ${bindir}/ES6*/*x"
|
||||
FILES_${PN}-x11wsegl-es8 = "${libdir}/ES8*/libpvrPVR2D_X11WSEGL.so.* ${bindir}/ES8*/x* ${bindir}/ES8*/*x"
|
||||
FILES_${PN}-x11wsegl-es9 = "${libdir}/ES9*/libpvrPVR2D_X11WSEGL.so.* ${bindir}/ES9*/x* ${bindir}/ES9*/*x"
|
||||
RRECOMMENDS_${PN}-x11wsegl = " ${PN}-x11wsegl-es2 ${PN}-x11wsegl-es3 ${PN}-x11wsegl-es5 ${PN}-x11wsegl-es6 ${PN}-x11wsegl-es8 ${PN}-x11wsegl-es9"
|
||||
|
||||
FILES_${PN}-driwsegl-es2 = "${libdir}/ES2*/libpvrPVR2D_DRIWSEGL.so.* ${libdir}/ES2*/libsrv_um_dri*"
|
||||
FILES_${PN}-driwsegl-es3 = "${libdir}/ES3*/libpvrPVR2D_DRIWSEGL.so.* ${libdir}/ES3*/libsrv_um_dri*"
|
||||
FILES_${PN}-driwsegl-es5 = "${libdir}/ES5*/libpvrPVR2D_DRIWSEGL.so.* ${libdir}/ES5*/libsrv_um_dri*"
|
||||
FILES_${PN}-driwsegl-es6 = "${libdir}/ES6*/libpvrPVR2D_DRIWSEGL.so.* ${libdir}/ES6*/libsrv_um_dri*"
|
||||
FILES_${PN}-driwsegl-es8 = "${libdir}/ES8*/libpvrPVR2D_DRIWSEGL.so.* ${libdir}/ES8*/libsrv_um_dri*"
|
||||
FILES_${PN}-driwsegl-es9 = "${libdir}/ES9*/libpvrPVR2D_DRIWSEGL.so.* ${libdir}/ES9*/libsrv_um_dri*"
|
||||
RRECOMMENDS_${PN}-driwsegl = " ${PN}-driwsegl-es2 ${PN}-driwsegl-es3 ${PN}-driwsegl-es5 ${PN}-driwsegl-es6 ${PN}-driwsegl-es8 ${PN}-driwsegl-es9"
|
||||
|
||||
CONFFILES_${PN} = "${sysconfdir}/powervr.ini"
|
||||
|
||||
FILES_${PN} = "${sysconfdir} ${libdir}/*.so* ${bindir}/${PVR_INIT} ${bindir}/cputype ${bindir}/*"
|
||||
|
||||
FILES_xserver-kdrive-powervrsgx = "${bindir}/Xsgx"
|
||||
FILES_${PN}-tests = "${bindir}/*test*"
|
||||
FILES_${PN}-dbg = "${libdir}/.debug/* ${bindir}/.debug/* \
|
||||
${libdir}/ES*/.debug ${bindir}/*/.debug\
|
||||
${bindir}/SGX/demos/*/.debug/* \
|
||||
${bindir}/SGX/trainingcourses/*/.debug/* \
|
||||
"
|
||||
|
||||
FILES_${PN}-x11demos = "${bindir}/SGX/demos/X11/* ${prefix}/share/applications "
|
||||
RRECOMMENDS_${PN}-x11demos = "${PN}-x11wsegl"
|
||||
|
||||
FILES_${PN}-x11trainingcourses = "${bindir}/SGX/trainingcourses/X11/*"
|
||||
RRECOMMENDS_${PN}-x11trainingcourses = "${PN}-x11wsegl"
|
||||
|
||||
# The libs need the kernel-modules
|
||||
RRECOMMENDS_${PN} += "omap3-sgx-modules-x11"
|
||||
|
||||
# The initscript calls fbset, cputype calls devmem2
|
||||
RDEPENDS_${PN} += "fbset devmem2"
|
||||
|
||||
#HACK! These are binaries, so we can't guarantee that LDFLAGS match :(
|
||||
INSANE_SKIP_${PN} = "ldflags dev-so already-stripped"
|
||||
INSANE_SKIP_${PN}-es3 = "ldflags dev-so staticdev already-stripped"
|
||||
INSANE_SKIP_${PN}-es5 = "ldflags dev-so staticdev already-stripped"
|
||||
INSANE_SKIP_${PN}-es6 = "ldflags dev-so staticdev already-stripped"
|
||||
INSANE_SKIP_${PN}-es8 = "ldflags dev-so staticdev already-stripped"
|
||||
INSANE_SKIP_${PN}-es9 = "ldflags dev-so staticdev already-stripped"
|
||||
INSANE_SKIP_${PN}-x11demos = "ldflags dev-so useless-rpaths already-stripped"
|
||||
INSANE_SKIP_${PN}-x11wsegl = "ldflags dev-so already-stripped"
|
||||
INSANE_SKIP_${PN}-x11wsegl-es3 = "ldflags dev-so already-stripped"
|
||||
INSANE_SKIP_${PN}-x11wsegl-es5 = "ldflags dev-so already-stripped"
|
||||
INSANE_SKIP_${PN}-x11wsegl-es6 = "ldflags dev-so already-stripped"
|
||||
INSANE_SKIP_${PN}-x11wsegl-es8 = "ldflags dev-so already-stripped"
|
||||
INSANE_SKIP_${PN}-x11wsegl-es9 = "ldflags dev-so already-stripped"
|
||||
INSANE_SKIP_${PN}-driwsegl = "ldflags dev-so already-stripped"
|
||||
INSANE_SKIP_${PN}-driwsegl-es3 = "ldflags dev-so already-stripped"
|
||||
INSANE_SKIP_${PN}-driwsegl-es5 = "ldflags dev-so already-stripped"
|
||||
INSANE_SKIP_${PN}-driwsegl-es6 = "ldflags dev-so already-stripped"
|
||||
INSANE_SKIP_${PN}-driwsegl-es8 = "ldflags dev-so already-stripped"
|
||||
INSANE_SKIP_${PN}-driwsegl-es9 = "ldflags dev-so already-stripped"
|
||||
INSANE_SKIP_${PN}-tests = "ldflags already-stripped"
|
||||
INSANE_SKIP_xserver-kdrive-powervrsgx = "ldflags already-stripped"
|
||||
INSANE_SKIP_${PN}-dev = "ldflags dev-so already-stripped"
|
||||
|
||||
inherit update-rc.d
|
||||
|
||||
INITSCRIPT_NAME = "pvr-init"
|
||||
INITSCRIPT_PARAMS = "start 30 5 2 . stop 40 0 1 6 ."
|
||||
|
||||
# Append to update-rc.d postinst
|
||||
pkg_postinst_${PN}_append() {
|
||||
rm -f $D${sysconfdir}/powervr-esrev
|
||||
|
||||
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
|
||||
|
||||
}
|
||||
|
||||
pkg_postinst_${PN}-x11wsegl() {
|
||||
rm -f $D${sysconfdir}/powervr-esrev
|
||||
|
||||
echo "[default]" > $D${sysconfdir}/powervr.ini
|
||||
echo "WindowSystem=libpvrPVR2D_X11WSEGL.so.1" >> $D${sysconfdir}/powervr.ini
|
||||
}
|
||||
|
||||
pkg_postinst_${PN}-driwsegl() {
|
||||
rm -f $D${sysconfdir}/powervr-esrev
|
||||
}
|
||||
@@ -1,90 +0,0 @@
|
||||
require libgles-omap3-x11.inc
|
||||
|
||||
LICENSE = "TI-TSPA"
|
||||
|
||||
PR = "${INC_PR}.3"
|
||||
|
||||
DEFAULT_PREFERENCE = "-1"
|
||||
|
||||
BINLOCATION_omap3 = "${S}/gfx_rel_es3.x"
|
||||
BINLOCATION_ti816x = "${S}/gfx_rel_es6.x"
|
||||
BINLOCATION_ti814x = "${S}/gfx_rel_es6.x"
|
||||
BINLOCATION_ti33x = "${S}/gfx_rel_es8.x"
|
||||
|
||||
PLATFORM = "LinuxARMV7"
|
||||
PVR_INIT = "pvrsrvctl"
|
||||
|
||||
# download required binary distribution from:
|
||||
# http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/latest/index_FDS.html
|
||||
# see libgles-omap3.inc for detailed installation instructions
|
||||
|
||||
SGXPV = "4_09_00_01"
|
||||
IMGPV = "1.9.2188537"
|
||||
|
||||
TI_BIN_UNPK_WDEXT := "/Graphics_SDK_${SGXPV}"
|
||||
|
||||
# Select the corresponding hardfp/softfp filename and checksums based on tune flags
|
||||
BINFILE_SOFTFP = "Graphics_SDK_setuplinux_${SGXPV}_minimal_demos.bin"
|
||||
MD5SUM_SOFTFP = "bd35e9d8843aff3a2aca9d41e7db1c7d"
|
||||
SHA256SUM_SOFTFP = "eb37f75ddde4640b09e760fa86e689beb394330ecdf68786188c34f249247647"
|
||||
|
||||
BINFILE_HARDFP = "Graphics_SDK_setuplinux_${SGXPV}_hardfp_minimal_demos.bin"
|
||||
MD5SUM_HARDFP = "c9f656dce062d1ab10afffd4dfb71b67"
|
||||
SHA256SUM_HARDFP = "dbfeba8e1298f139495816334edec1455e6b49b1e11bd1b2aa0a888e5788bb6b"
|
||||
|
||||
BINFILE = "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${BINFILE_HARDFP}', '${BINFILE_SOFTFP}', d)}"
|
||||
|
||||
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/${SGXPV}/exports/${BINFILE} \
|
||||
file://cputype \
|
||||
file://rc.pvr \
|
||||
file://rc_dri.pvr \
|
||||
file://sample.desktop \
|
||||
file://99-bufferclass.rules \
|
||||
"
|
||||
|
||||
SRC_URI[md5sum] := "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${MD5SUM_HARDFP}', '${MD5SUM_SOFTFP}', d)}"
|
||||
SRC_URI[sha256sum] := "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${SHA256SUM_HARDFP}', '${SHA256SUM_SOFTFP}', d)}"
|
||||
|
||||
S = "${WORKDIR}/Graphics_SDK_${SGXPV}"
|
||||
|
||||
LIBGLESWINDOWSYSTEM ?= "libpvrPVR2D_DRIWSEGL.so"
|
||||
|
||||
do_configure_append() {
|
||||
|
||||
# Change PVR server's user mode library to point to DRI
|
||||
for drifile in $(find ${S} -name "libsrv_um_dri.so"); do
|
||||
if [ "$drifile" != "" ]
|
||||
then
|
||||
dir=$(dirname ${drifile})
|
||||
if [ "$SUPPORT_XORG" = "1" ]
|
||||
then
|
||||
mv ${dir}/libsrv_um_dri.so ${dir}/libsrv_um.so
|
||||
else
|
||||
rm -rf ${dir}/libsrv_um_dri.so
|
||||
fi
|
||||
fi
|
||||
|
||||
done
|
||||
}
|
||||
|
||||
do_install_append() {
|
||||
|
||||
# In this version of the graphics SDK the following directories do not exist:
|
||||
# /GFX_Linux_SDK/OGLES/SDKPackage/Builds/OGLES/Include/pvr2d.h (doesn't exist)
|
||||
# /GFX_Linux_SDK/OGLES/SDKPackage/Builds/OGLES/Include/GLES/egltypes.h (doesn't exist)
|
||||
# Therefore, need to copy these files manually at the only location that they do exist
|
||||
cp -pPr ${S}/include/pvr2d/*.h ${D}${includedir}
|
||||
cp -pPr ${S}/include/OGLES/GLES ${D}${includedir}/
|
||||
|
||||
rm -f ${D}${sysconfdir}/init.d/pvr-init
|
||||
|
||||
if [ "$SUPPORT_XORG" = "1" ]; then
|
||||
cp -pP ${WORKDIR}/rc_dri.pvr ${D}${sysconfdir}/init.d/pvr-init
|
||||
else
|
||||
cp -pP ${WORKDIR}/rc.pvr ${D}${sysconfdir}/init.d/pvr-init
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
RRECOMMENDS_${PN}-x11demos = "${PN}-driwsegl"
|
||||
RRECOMMENDS_${PN}-x11trainingcourses = "${PN}-driwsegl"
|
||||
@@ -1,439 +0,0 @@
|
||||
DESCRIPTION = "libGLES for the omap3"
|
||||
LICENSE = "proprietary-binary"
|
||||
# 'TSPA.txt' might not be the best file to md5sum
|
||||
LIC_FILES_CHKSUM = "file://TSPA.txt;md5=c0d5d9c1e38b41677144c4e24d6ddee1"
|
||||
|
||||
PR = "r35"
|
||||
|
||||
COMPATIBLE_MACHINE = "(omap3|ti814x|ti816x|ti33x)"
|
||||
|
||||
X11DEPENDS = "virtual/libx11 libxau libxdmcp libdrm"
|
||||
DEPENDS = "${@base_contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d)}"
|
||||
|
||||
export SUPPORT_XORG ?= "${@base_contains('DISTRO_FEATURES', 'x11', '1', '0', d)}"
|
||||
PVR_INIT ?= "pvrsrvinit"
|
||||
|
||||
PROVIDES += "virtual/egl virtual/libgles1 virtual/libgles2"
|
||||
|
||||
RREPLACES_${PN} = "libegl libgles1 libgles2"
|
||||
RREPLACES_${PN}-dev = "libegl-dev libgles1-dev libgles2-dev"
|
||||
RREPLACES_${PN}-dbg = "libegl-dbg"
|
||||
|
||||
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/${SGXPV}/exports/${BINFILE} \
|
||||
file://cputype \
|
||||
file://rc.pvr \
|
||||
file://sample.desktop \
|
||||
file://99-bufferclass.rules \
|
||||
"
|
||||
|
||||
S = "${WORKDIR}/OMAP35x_Graphics_SDK_${SGXPV}"
|
||||
|
||||
# Logic to unpack installjammer file
|
||||
TI_BIN_UNPK_CMDS="Y: qY:workdir:Y"
|
||||
require ../../recipes-ti/includes/ti-eula-unpack.inc
|
||||
|
||||
export BINLOCATION ?= "${S}/gfx_rel"
|
||||
export ES2LOCATION ?= "${S}/gfx_rel_es2.x"
|
||||
export ES3LOCATION ?= "${S}/gfx_rel_es3.x"
|
||||
export ES5LOCATION ?= "${S}/gfx_rel_es5.x"
|
||||
export ES6LOCATION ?= "${S}/gfx_rel_es6.x"
|
||||
export ES8LOCATION ?= "${S}/gfx_rel_es8.x"
|
||||
|
||||
LIBGLESWINDOWSYSTEM ?= "libpvrPVR2D_FRONTWSEGL.so.1"
|
||||
|
||||
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} \
|
||||
-L${STAGING_DIR_TARGET}${libdir} -Wl,-rpath-link,${STAGING_DIR_TARGET}${libdir}"
|
||||
PARALLEL_MAKE = ""
|
||||
|
||||
PLATFORM ?= "LinuxOMAP3"
|
||||
|
||||
do_compile() {
|
||||
export TOOLCHAIN="${TOOLCHAIN_PATH}"
|
||||
export PLAT_CC="${CC}"
|
||||
export PLAT_CPP="${CXX}"
|
||||
export PLAR_AR="${AR}"
|
||||
|
||||
if [ ${SUPPORT_XORG} -eq 1 ] ; then
|
||||
export X11ROOT="${STAGING_DIR_HOST}/usr"
|
||||
mkdir -p ${S}/demos/x11
|
||||
mkdir -p ${S}/trainingcourses/x11
|
||||
fi
|
||||
|
||||
mkdir -p ${S}/demos/raw
|
||||
mkdir -p ${S}/trainingcourses/raw
|
||||
|
||||
# Rebuild demos
|
||||
for X11BUILD in 0 1 ; do
|
||||
# Don't rebuild demos with X11 support for a non X11 distro
|
||||
if [ ${SUPPORT_XORG} -eq 0 -a $X11BUILD -eq 1 ] ; then
|
||||
continue
|
||||
fi
|
||||
|
||||
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/${PLATFORM}/Release*/*.o
|
||||
|
||||
if [ $X11BUILD -eq 1 ] ; then
|
||||
install -m 0755 $demo/OGLES/Build/${PLATFORM}/ReleaseX11/* ${S}/demos/x11 || true
|
||||
sed -e s:NAME:$(basename $demo): \
|
||||
-e s:EXEC:${bindir}/SGX/demos/X11/$(basename $demo/OGLES/Build/${PLATFORM}/ReleaseX11/*): \
|
||||
${WORKDIR}/sample.desktop > ${WORKDIR}/$(basename $demo).desktop
|
||||
else
|
||||
install -m 0755 $demo/OGLES/Build/${PLATFORM}/ReleaseRaw/* ${S}/demos/raw || true
|
||||
fi
|
||||
done
|
||||
|
||||
for demo in ${S}/GFX_Linux_SDK/OGLES2/SDKPackage/Demos/* ; do
|
||||
cd $demo/OGLES2/Build/LinuxGeneric
|
||||
oe_runmake Common=1 PLATFORM=${PLATFORM} X11BUILD=$X11BUILD
|
||||
rm -f $demo/OGLES2/Build/${PLATFORM}/Release*/*.o
|
||||
|
||||
if [ $X11BUILD -eq 1 ] ; then
|
||||
install -m 0755 $demo/OGLES2/Build/${PLATFORM}/ReleaseX11/* ${S}/demos/x11 || true
|
||||
sed -e s:NAME:$(basename $demo): \
|
||||
-e s:EXEC:${bindir}/SGX/demos/X11/$(basename $demo/OGLES2/Build/${PLATFORM}/ReleaseX11/*): \
|
||||
${WORKDIR}/sample.desktop > ${WORKDIR}/$(basename $demo).desktop
|
||||
else
|
||||
install -m 0755 $demo/OGLES2/Build/${PLATFORM}/ReleaseRaw/* ${S}/demos/raw || true
|
||||
fi
|
||||
done
|
||||
done
|
||||
|
||||
find ${S} -name "*_org" -delete
|
||||
|
||||
# Build OGLES2 Trainingcourses
|
||||
for X11BUILD in 0 1 ; do
|
||||
# Don't rebuild training courses with X11 support for a non X11 distro
|
||||
if [ ${SUPPORT_XORG} -eq 0 -a $X11BUILD -eq 1 ] ; then
|
||||
continue
|
||||
fi
|
||||
|
||||
for training in ${S}/GFX_Linux_SDK/OGLES2/SDKPackage/TrainingCourse/* ; do
|
||||
if [ -e $training/OGLES2/Build/LinuxGeneric/Makefile ] ; then
|
||||
cd $training/OGLES2/Build/LinuxGeneric
|
||||
fi
|
||||
|
||||
if [ -e $training/OGLES2/Build/${PLATFORM}/Makefile ] ; then
|
||||
cd $training/OGLES2/Build/${PLATFORM}
|
||||
fi
|
||||
|
||||
oe_runmake Common=1 PLATFORM=${PLATFORM} X11BUILD=$X11BUILD
|
||||
rm -f $training/OGLES2/Build/${PLATFORM}/Release*/*.o
|
||||
|
||||
if [ $X11BUILD -eq 1 ] ; then
|
||||
install -m 0755 $training/OGLES2/Build/${PLATFORM}/ReleaseX11/* ${S}/trainingcourses/x11 || true
|
||||
else
|
||||
install -m 0755 $training/OGLES2/Build/${PLATFORM}/ReleaseRaw/* ${S}/trainingcourses/raw || true
|
||||
fi
|
||||
done
|
||||
done
|
||||
|
||||
}
|
||||
|
||||
do_install () {
|
||||
install -d ${D}${libdir}
|
||||
cp -pPR ${BINLOCATION}/*.so* ${D}${libdir}
|
||||
install -m 0644 ${BINLOCATION}/*.a ${D}${libdir}
|
||||
|
||||
install -d ${D}${bindir}/
|
||||
install -m 0755 ${WORKDIR}/cputype ${D}${bindir}/
|
||||
|
||||
install -m 0755 ${BINLOCATION}/*_test ${D}${bindir}/
|
||||
install -m 0755 ${BINLOCATION}/gl* ${D}${bindir}/
|
||||
install -m 0755 ${BINLOCATION}/${PVR_INIT} ${D}${bindir}/
|
||||
|
||||
if [ ${SUPPORT_XORG} -eq 1 ] ; then
|
||||
install -m 0755 ${BINLOCATION}/xgles1test1 ${D}${bindir}/
|
||||
install -m 0755 ${BINLOCATION}/freedesktop/kdrive/usr/X11R6_SGX/bin/Xsgx ${D}${bindir}/|| true
|
||||
cp -pPR ${S}/GFX_Linux_SDK/OGLES2/SDKPackage/Builds/OGLES2/${PLATFORM}/lib/*X11WS* ${D}${libdir} || true
|
||||
fi
|
||||
|
||||
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/${PLATFORM}/Include/GLES/* ${D}${includedir}/GLES/ 2>/dev/null || true
|
||||
cp -pPr ${S}/GFX_Linux_SDK/OGLES2/SDKPackage/Builds/OGLES2/${PLATFORM}/Include/GLES/* ${D}${includedir}/GLES2/ 2>/dev/null || true
|
||||
cp -pPr ${S}/GFX_Linux_SDK/OVG/SDKPackage/Builds/OVG/Include/v* ${D}${includedir}/ 2>/dev/null || true
|
||||
cp -pPr ${S}/GFX_Linux_SDK/OVG/SDKPackage/Builds/OVG/Include/V* ${D}${includedir}/ 2>/dev/null || true
|
||||
cp -pPr ${S}/include/*.h ${D}${includedir} || true
|
||||
cp -pPr ${S}/include/wsegl/*.h ${D}${includedir} || true
|
||||
|
||||
install -d ${D}${sysconfdir}/init.d/
|
||||
cp -pP ${WORKDIR}/rc.pvr ${D}${sysconfdir}/init.d/pvr-init
|
||||
|
||||
install -d ${D}${sysconfdir}
|
||||
echo "[default]" > ${D}${sysconfdir}/powervr.ini
|
||||
echo "WindowSystem=${LIBGLESWINDOWSYSTEM}" >> ${D}${sysconfdir}/powervr.ini
|
||||
|
||||
# The ES2.x, ES3.x, ES5.x and ES6.x CPUs have different SGX hardware, so we need to install multiple sets of userspace
|
||||
|
||||
install -d ${D}${libdir}/ES8.0
|
||||
install -d ${D}${libdir}/ES6.0
|
||||
install -d ${D}${libdir}/ES5.0
|
||||
install -d ${D}${libdir}/ES3.0
|
||||
install -d ${D}${libdir}/ES2.0
|
||||
|
||||
install -d ${D}${bindir}/ES8.0
|
||||
install -d ${D}${bindir}/ES6.0
|
||||
install -d ${D}${bindir}/ES5.0
|
||||
install -d ${D}${bindir}/ES3.0
|
||||
install -d ${D}${bindir}/ES2.0
|
||||
|
||||
shared_prog="eglinfo pvr2d_test ${PVR_INIT} services_test sgx_blit_test sgx_clipblit_test sgx_flip_test sgx_init_test sgx_render_flip_test"
|
||||
raw_prog="gles1test1 gles2test1 ovg_unit_test"
|
||||
x11_prog="eglinfo_x xgles1test1 xgles2test1 xmultiegltest xovg_unit_test"
|
||||
|
||||
for esrev in 2 3 5 6 8 ; do
|
||||
ESLOCATION=$(eval echo $(echo \$\{ES${esrev}LOCATION\}))
|
||||
if [ -e ${ESLOCATION} ] ; then
|
||||
cp -pPR ${ESLOCATION}/lib*${IMGPV} ${ESLOCATION}/pvr_drv.so ${ESLOCATION}/*.a ${D}${libdir}/ES${esrev}.0/
|
||||
for esprog in $shared_prog $raw_prog ${@base_contains('DISTRO_FEATURES', 'x11',"$x11_prog","",d)} ; do
|
||||
install -m 0755 ${ESLOCATION}/$esprog ${D}${bindir}/ES${esrev}.0/ 2>/dev/null || true
|
||||
done
|
||||
fi
|
||||
done
|
||||
|
||||
rm ${D}${bindir}/ES*/*.h ${D}${bindir}/ES*/pdsasm ${D}${bindir}/pdsasm -f || true
|
||||
|
||||
install -d ${D}${prefix}/share/applications
|
||||
cp ${WORKDIR}/*.desktop ${D}${prefix}/share/applications
|
||||
rm ${D}${prefix}/share/applications/sample.desktop
|
||||
|
||||
if [ ${SUPPORT_XORG} -eq 1 ] ; then
|
||||
install -d ${D}${bindir}/SGX/demos/X11/
|
||||
install -m 0755 ${S}/demos/x11/* ${D}${bindir}/SGX/demos/X11/
|
||||
install -d ${D}${bindir}/SGX/trainingcourses/X11 2>/dev/null || true
|
||||
install -m 0755 ${S}/trainingcourses/x11/* ${D}${bindir}/SGX/trainingcourses/X11/ 2>/dev/null || true
|
||||
fi
|
||||
|
||||
install -d ${D}${bindir}/SGX/demos/Raw/
|
||||
install -m 0755 ${S}/demos/raw/* ${D}${bindir}/SGX/demos/Raw/
|
||||
install -d ${D}${bindir}/SGX/trainingcourses/Raw 2>/dev/null || true
|
||||
install -m 0755 ${S}/trainingcourses/raw/* ${D}${bindir}/SGX/trainingcourses/Raw/ 2>/dev/null || true
|
||||
|
||||
|
||||
# Delete objects and linker scripts hidden between the headers
|
||||
find ${D} -name "*.o" -delete
|
||||
find ${D} -name "*.o.cmd" -delete
|
||||
|
||||
install -d ${D}${sysconfdir}/udev/rules.d
|
||||
install -m 0644 ${WORKDIR}/99-bufferclass.rules ${D}${sysconfdir}/udev/rules.d/
|
||||
|
||||
}
|
||||
|
||||
PACKAGES =+ "${@base_contains('DISTRO_FEATURES', 'x11',"${PN}-x11demos ${PN}-x11trainingcourses xserver-kdrive-powervrsgx" ,"", d)} \
|
||||
${PN}-rawdemos ${PN}-rawtrainingcourses ${PN}-tests"
|
||||
# Package the base libraries per silicon revision
|
||||
PACKAGES =+ "${PN}-es2 ${PN}-es3 ${PN}-es5 ${PN}-es6 ${PN}-es8"
|
||||
RRECOMMENDS_${PN} += "${PN}-es2 ${PN}-es3 ${PN}-es5 ${PN}-es6 ${PN}-es8"
|
||||
FILES_${PN}-es2 = "${libdir}/ES2*/* ${bindir}/ES2*/*"
|
||||
FILES_${PN}-es3 = "${libdir}/ES3*/* ${bindir}/ES3*/*"
|
||||
FILES_${PN}-es5 = "${libdir}/ES5*/* ${bindir}/ES5*/*"
|
||||
FILES_${PN}-es6 = "${libdir}/ES6*/* ${bindir}/ES6*/*"
|
||||
FILES_${PN}-es8 = "${libdir}/ES8*/* ${bindir}/ES8*/*"
|
||||
|
||||
# Stop shlib code from picking a subpackage
|
||||
PRIVATE_LIBS_${PN}-es2 = "libGLESv2.so libIMGegl.so libsrv_um.so libOpenVG.so libpvr2d.so libsrv_init.so libEGL.so libsrv_um_dri.so libOpenVGU.so libglslcompiler.so libGLES_CM.so"
|
||||
PRIVATE_LIBS_${PN}-es3 = "libGLESv2.so libIMGegl.so libsrv_um.so libOpenVG.so libpvr2d.so libsrv_init.so libEGL.so libsrv_um_dri.so libOpenVGU.so libglslcompiler.so libGLES_CM.so"
|
||||
PRIVATE_LIBS_${PN}-es5 = "libGLESv2.so libIMGegl.so libsrv_um.so libOpenVG.so libpvr2d.so libsrv_init.so libEGL.so libsrv_um_dri.so libOpenVGU.so libglslcompiler.so libGLES_CM.so"
|
||||
PRIVATE_LIBS_${PN}-es6 = "libGLESv2.so libIMGegl.so libsrv_um.so libOpenVG.so libpvr2d.so libsrv_init.so libEGL.so libsrv_um_dri.so libOpenVGU.so libglslcompiler.so libGLES_CM.so"
|
||||
PRIVATE_LIBS_${PN}-es8 = "libGLESv2.so libIMGegl.so libsrv_um.so libOpenVG.so libpvr2d.so libsrv_init.so libEGL.so libsrv_um_dri.so libOpenVGU.so libglslcompiler.so libGLES_CM.so"
|
||||
|
||||
|
||||
PACKAGES =+ "${PN}-blitwsegl ${PN}-flipwsegl ${PN}-frontwsegl ${PN}-linuxfbwsegl"
|
||||
PACKAGES =+ "${@base_contains('DISTRO_FEATURES', 'x11',"${PN}-x11wsegl ${PN}-driwsegl" ,"", d)}"
|
||||
FILES_${PN}-blitwsegl = "${libdir}/libpvrPVR2D_BLITWSEGL.so.*"
|
||||
FILES_${PN}-flipwsegl = "${libdir}/libpvrPVR2D_FLIPWSEGL.so.*"
|
||||
FILES_${PN}-frontwsegl = "${libdir}/libpvrPVR2D_FRONTWSEGL.so.*"
|
||||
FILES_${PN}-linuxfbwsegl = "${libdir}/libpvrPVR2D_LINUXFBWSEGL.so.*"
|
||||
FILES_${PN}-x11wsegl = "${libdir}/libpvrPVR2D_X11WSEGL.so* ${bindir}/x* ${bindir}/*x"
|
||||
FILES_${PN}-driwsegl = "${libdir}/libpvrPVR2D_DRIWSEGL.so* ${libdir}/libsrv_um_dri*"
|
||||
|
||||
PACKAGES =+ "${PN}-blitwsegl-es2 ${PN}-blitwsegl-es3 ${PN}-blitwsegl-es5 ${PN}-blitwsegl-es6 ${PN}-blitwsegl-es8 ${PN}-flipwsegl-es2 ${PN}-flipwsegl-es3 ${PN}-flipwsegl-es5 ${PN}-flipwsegl-es6 ${PN}-flipwsegl-es8 ${PN}-frontwsegl-es2 ${PN}-frontwsegl-es3 ${PN}-frontwsegl-es5 ${PN}-frontwsegl-es6 ${PN}-frontwsegl-es8 ${PN}-linuxfbwsegl-es2 ${PN}-linuxfbwsegl-es3 ${PN}-linuxfbwsegl-es5 ${PN}-linuxfbwsegl-es6 ${PN}-linuxfbwsegl-es8"
|
||||
|
||||
X11_SEGL = " ${PN}-x11wsegl-es2 ${PN}-x11wsegl-es3 ${PN}-x11wsegl-es5 ${PN}-x11wsegl-es6 ${PN}-x11wsegl-es8 ${PN}-driwsegl-es2 ${PN}-driwsegl-es3 ${PN}-driwsegl-es5 ${PN}-driwsegl-es6 ${PN}-driwsegl-es8 "
|
||||
PACKAGES =+ "${@base_contains('DISTRO_FEATURES', 'x11',"${X11_SEGL}" ,"", d)}"
|
||||
FILES_${PN}-blitwsegl-es2 = "${libdir}/ES2*/libpvrPVR2D_BLITWSEGL.so.*"
|
||||
FILES_${PN}-blitwsegl-es3 = "${libdir}/ES3*/libpvrPVR2D_BLITWSEGL.so.*"
|
||||
FILES_${PN}-blitwsegl-es5 = "${libdir}/ES5*/libpvrPVR2D_BLITWSEGL.so.*"
|
||||
FILES_${PN}-blitwsegl-es6 = "${libdir}/ES6*/libpvrPVR2D_BLITWSEGL.so.*"
|
||||
FILES_${PN}-blitwsegl-es8 = "${libdir}/ES8*/libpvrPVR2D_BLITWSEGL.so.*"
|
||||
RRECOMMENDS_${PN}-blitwsegl = " ${PN}-blitwsegl-es2 ${PN}-blitwsegl-es3 ${PN}-blitwsegl-es5 ${PN}-blitwsegl-es6 ${PN}-blitwsegl-es8"
|
||||
|
||||
FILES_${PN}-flipwsegl-es2 = "${libdir}/ES2*/libpvrPVR2D_FLIPWSEGL.so.*"
|
||||
FILES_${PN}-flipwsegl-es3 = "${libdir}/ES3*/libpvrPVR2D_FLIPWSEGL.so.*"
|
||||
FILES_${PN}-flipwsegl-es5 = "${libdir}/ES5*/libpvrPVR2D_FLIPWSEGL.so.*"
|
||||
FILES_${PN}-flipwsegl-es6 = "${libdir}/ES6*/libpvrPVR2D_FLIPWSEGL.so.*"
|
||||
FILES_${PN}-flipwsegl-es8 = "${libdir}/ES8*/libpvrPVR2D_FLIPWSEGL.so.*"
|
||||
RRECOMMENDS_${PN}-flipwsegl = " ${PN}-flipwsegl-es2 ${PN}-flipwsegl-es3 ${PN}-flipwsegl-es5 ${PN}-flipwsegl-es6 ${PN}-flipwsegl-es8"
|
||||
|
||||
FILES_${PN}-frontwsegl-es2 = "${libdir}/ES2*/libpvrPVR2D_FRONTWSEGL.so.*"
|
||||
FILES_${PN}-frontwsegl-es3 = "${libdir}/ES3*/libpvrPVR2D_FRONTWSEGL.so.*"
|
||||
FILES_${PN}-frontwsegl-es5 = "${libdir}/ES5*/libpvrPVR2D_FRONTWSEGL.so.*"
|
||||
FILES_${PN}-frontwsegl-es6 = "${libdir}/ES6*/libpvrPVR2D_FRONTWSEGL.so.*"
|
||||
FILES_${PN}-frontwsegl-es8 = "${libdir}/ES8*/libpvrPVR2D_FRONTWSEGL.so.*"
|
||||
RRECOMMENDS_${PN}-frontwsegl = " ${PN}-frontwsegl-es2 ${PN}-frontwsegl-es3 ${PN}-frontwsegl-es5 ${PN}-frontwsegl-es6 ${PN}-frontwsegl-es8"
|
||||
|
||||
FILES_${PN}-linuxfbwsegl-es2 = "${libdir}/ES2*/libpvrPVR2D_LINUXFBWSEGL.so.*"
|
||||
FILES_${PN}-linuxfbwsegl-es3 = "${libdir}/ES3*/libpvrPVR2D_LINUXFBWSEGL.so.*"
|
||||
FILES_${PN}-linuxfbwsegl-es5 = "${libdir}/ES5*/libpvrPVR2D_LINUXFBWSEGL.so.*"
|
||||
FILES_${PN}-linuxfbwsegl-es6 = "${libdir}/ES6*/libpvrPVR2D_LINUXFBWSEGL.so.*"
|
||||
FILES_${PN}-linuxfbwsegl-es8 = "${libdir}/ES8*/libpvrPVR2D_LINUXFBWSEGL.so.*"
|
||||
RRECOMMENDS_${PN}-linuxfbwsegl = " ${PN}-linuxfbwsegl-es2 ${PN}-linuxfbwsegl-es3 ${PN}-linuxfbwsegl-es5 ${PN}-linuxfbwsegl-es6 ${PN}-linuxfbwsegl-es8"
|
||||
|
||||
FILES_${PN}-x11wsegl-es2 = "${libdir}/ES2*/libpvrPVR2D_X11WSEGL.so.* ${bindir}/ES2*/x* ${bindir}/ES2*/*x"
|
||||
FILES_${PN}-x11wsegl-es3 = "${libdir}/ES3*/libpvrPVR2D_X11WSEGL.so.* ${bindir}/ES3*/x* ${bindir}/ES3*/*x"
|
||||
FILES_${PN}-x11wsegl-es5 = "${libdir}/ES5*/libpvrPVR2D_X11WSEGL.so.* ${bindir}/ES5*/x* ${bindir}/ES5*/*x"
|
||||
FILES_${PN}-x11wsegl-es6 = "${libdir}/ES6*/libpvrPVR2D_X11WSEGL.so.* ${bindir}/ES6*/x* ${bindir}/ES6*/*x"
|
||||
FILES_${PN}-x11wsegl-es8 = "${libdir}/ES8*/libpvrPVR2D_X11WSEGL.so.* ${bindir}/ES8*/x* ${bindir}/ES8*/*x"
|
||||
RRECOMMENDS_${PN}-x11wsegl = " ${PN}-x11wsegl-es2 ${PN}-x11wsegl-es3 ${PN}-x11wsegl-es5 ${PN}-x11wsegl-es6 ${PN}-x11wsegl-es8"
|
||||
|
||||
FILES_${PN}-driwsegl-es2 = "${libdir}/ES2*/libpvrPVR2D_DRIWSEGL.so.* ${libdir}/ES2*/libsrv_um_dri*"
|
||||
FILES_${PN}-driwsegl-es3 = "${libdir}/ES3*/libpvrPVR2D_DRIWSEGL.so.* ${libdir}/ES3*/libsrv_um_dri*"
|
||||
FILES_${PN}-driwsegl-es5 = "${libdir}/ES5*/libpvrPVR2D_DRIWSEGL.so.* ${libdir}/ES5*/libsrv_um_dri*"
|
||||
FILES_${PN}-driwsegl-es6 = "${libdir}/ES6*/libpvrPVR2D_DRIWSEGL.so.* ${libdir}/ES6*/libsrv_um_dri*"
|
||||
FILES_${PN}-driwsegl-es8 = "${libdir}/ES8*/libpvrPVR2D_DRIWSEGL.so.* ${libdir}/ES8*/libsrv_um_dri*"
|
||||
RRECOMMENDS_${PN}-driwsegl = " ${PN}-driwsegl-es2 ${PN}-driwsegl-es3 ${PN}-driwsegl-es5 ${PN}-driwsegl-es6 ${PN}-driwsegl-es8"
|
||||
|
||||
CONFFILES_${PN} = "${sysconfdir}/powervr.ini"
|
||||
|
||||
FILES_${PN} = "${sysconfdir} ${libdir}/*.so* ${bindir}/${PVR_INIT} ${bindir}/cputype ${bindir}/*"
|
||||
|
||||
FILES_xserver-kdrive-powervrsgx = "${bindir}/Xsgx"
|
||||
FILES_${PN}-tests = "${bindir}/*test*"
|
||||
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 "
|
||||
RRECOMMENDS_${PN}-x11demos = "${PN}-x11wsegl"
|
||||
|
||||
FILES_${PN}-rawtrainingcourses = "${bindir}/SGX/trainingcourses/Raw/*"
|
||||
FILES_${PN}-x11trainingcourses = "${bindir}/SGX/trainingcourses/X11/*"
|
||||
RRECOMMENDS_${PN}-x11trainingcourses = "${PN}-x11wsegl"
|
||||
|
||||
# The libs need the kernel-modules
|
||||
RRECOMMENDS_${PN} += "omap3-sgx-modules"
|
||||
|
||||
# The initscript calls fbset, cputype calls devmem2
|
||||
RDEPENDS_${PN} += "fbset devmem2"
|
||||
|
||||
#HACK! These are binaries, so we can't guarantee that LDFLAGS match :(
|
||||
INSANE_SKIP_${PN} = "ldflags dev-so already-stripped"
|
||||
INSANE_SKIP_${PN}-es3 = "ldflags dev-so staticdev already-stripped"
|
||||
INSANE_SKIP_${PN}-es5 = "ldflags dev-so staticdev already-stripped"
|
||||
INSANE_SKIP_${PN}-es6 = "ldflags dev-so staticdev already-stripped"
|
||||
INSANE_SKIP_${PN}-es8 = "ldflags dev-so staticdev already-stripped"
|
||||
INSANE_SKIP_${PN}-rawdemos = "ldflags dev-so useless-rpaths already-stripped"
|
||||
INSANE_SKIP_${PN}-x11demos = "ldflags dev-so useless-rpaths already-stripped"
|
||||
INSANE_SKIP_${PN}-blitwsegl = "ldflags already-stripped"
|
||||
INSANE_SKIP_${PN}-blitwsegl-es3 = "ldflags already-stripped"
|
||||
INSANE_SKIP_${PN}-blitwsegl-es5 = "ldflags already-stripped"
|
||||
INSANE_SKIP_${PN}-blitwsegl-es6 = "ldflags already-stripped"
|
||||
INSANE_SKIP_${PN}-blitwsegl-es8 = "ldflags already-stripped"
|
||||
INSANE_SKIP_${PN}-flipwsegl = "ldflags already-stripped"
|
||||
INSANE_SKIP_${PN}-flipwsegl-es3 = "ldflags already-stripped"
|
||||
INSANE_SKIP_${PN}-flipwsegl-es5 = "ldflags already-stripped"
|
||||
INSANE_SKIP_${PN}-flipwsegl-es6 = "ldflags already-stripped"
|
||||
INSANE_SKIP_${PN}-flipwsegl-es8 = "ldflags already-stripped"
|
||||
INSANE_SKIP_${PN}-frontwsegl = "ldflags already-stripped"
|
||||
INSANE_SKIP_${PN}-frontwsegl-es3 = "ldflags already-stripped"
|
||||
INSANE_SKIP_${PN}-frontwsegl-es5 = "ldflags already-stripped"
|
||||
INSANE_SKIP_${PN}-frontwsegl-es6 = "ldflags already-stripped"
|
||||
INSANE_SKIP_${PN}-frontwsegl-es8 = "ldflags already-stripped"
|
||||
INSANE_SKIP_${PN}-linuxfbwsegl = "ldflags already-stripped"
|
||||
INSANE_SKIP_${PN}-linuxfbwsegl-es3 = "ldflags already-stripped"
|
||||
INSANE_SKIP_${PN}-linuxfbwsegl-es5 = "ldflags already-stripped"
|
||||
INSANE_SKIP_${PN}-linuxfbwsegl-es6 = "ldflags already-stripped"
|
||||
INSANE_SKIP_${PN}-linuxfbwsegl-es8 = "ldflags already-stripped"
|
||||
INSANE_SKIP_${PN}-x11wsegl = "ldflags dev-so already-stripped"
|
||||
INSANE_SKIP_${PN}-x11wsegl-es3 = "ldflags dev-so already-stripped"
|
||||
INSANE_SKIP_${PN}-x11wsegl-es5 = "ldflags dev-so already-stripped"
|
||||
INSANE_SKIP_${PN}-x11wsegl-es6 = "ldflags dev-so already-stripped"
|
||||
INSANE_SKIP_${PN}-x11wsegl-es8 = "ldflags dev-so already-stripped"
|
||||
INSANE_SKIP_${PN}-driwsegl = "ldflags dev-so already-stripped"
|
||||
INSANE_SKIP_${PN}-driwsegl-es3 = "ldflags dev-so already-stripped"
|
||||
INSANE_SKIP_${PN}-driwsegl-es5 = "ldflags dev-so already-stripped"
|
||||
INSANE_SKIP_${PN}-driwsegl-es6 = "ldflags dev-so already-stripped"
|
||||
INSANE_SKIP_${PN}-driwsegl-es8 = "ldflags dev-so already-stripped"
|
||||
INSANE_SKIP_${PN}-tests = "ldflags already-stripped"
|
||||
INSANE_SKIP_xserver-kdrive-powervrsgx = "ldflags already-stripped"
|
||||
|
||||
# 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 ."
|
||||
|
||||
# Append to update-rc.d postinst
|
||||
pkg_postinst_${PN}_append() {
|
||||
rm -f $D${sysconfdir}/powervr-esrev
|
||||
|
||||
if [ ${SUPPORT_XORG} -eq 1 ] ; then
|
||||
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
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
pkg_postinst_${PN}-blitwsegl() {
|
||||
rm -f $D${sysconfdir}/powervr-esrev
|
||||
}
|
||||
|
||||
pkg_postinst_${PN}-flipwsegl() {
|
||||
rm -f $D${sysconfdir}/powervr-esrev
|
||||
}
|
||||
|
||||
pkg_postinst_${PN}-frontwsegl() {
|
||||
rm -f $D${sysconfdir}/powervr-esrev
|
||||
}
|
||||
pkg_postinst_${PN}-linuxfbwsegl() {
|
||||
rm -f $D${sysconfdir}/powervr-esrev
|
||||
}
|
||||
|
||||
pkg_postinst_${PN}-x11wsegl() {
|
||||
rm -f $D${sysconfdir}/powervr-esrev
|
||||
|
||||
echo "[default]" > $D${sysconfdir}/powervr.ini
|
||||
echo "WindowSystem=libpvrPVR2D_X11WSEGL.so.1" >> $D${sysconfdir}/powervr.ini
|
||||
}
|
||||
|
||||
pkg_postinst_${PN}-driwsegl() {
|
||||
rm -f $D${sysconfdir}/powervr-esrev
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
# Give everyone access to bufferclass nodes and make a compatibility symlink for the first one
|
||||
SUBSYSTEM=="bccat", MODE="0666"
|
||||
KERNEL=="bccat0", SYMLINK+="bc_cat", MODE="0666"
|
||||
|
||||
# Give everyone access to v4l nodes
|
||||
SUBSYSTEM=="video4linux", MODE="0666"
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
legacy_machine_id() { # return the machine ID
|
||||
awk 'BEGIN { FS=": " } /Hardware/ \
|
||||
{ gsub(" ", "_", $2); print tolower($2) } ' </proc/cpuinfo
|
||||
}
|
||||
|
||||
machine_id() { # return the machine ID
|
||||
cat /proc/cpuinfo | grep Hardware | awk -F" " '{ print $4 }'
|
||||
}
|
||||
|
||||
if [ "$(machine_id)" = "ti8168evm" -o "$(legacy_machine_id)" = "ti8168evm" ] ; then
|
||||
echo TI816x
|
||||
elif [ "$(machine_id)" = "AM33XX" -o "$(legacy_machine_id)" = "am335xevm" ] ; then
|
||||
echo TI33XX
|
||||
elif [ "$(machine_id)" = "AM43" ] ; then
|
||||
echo TI43XX
|
||||
else
|
||||
devmem2 0x4800244c | \
|
||||
grep 'Read at address' | \
|
||||
sed -e 's/.*): //' | \
|
||||
sed -e 's/0x00005C00/OMAP3503/' -e 's/0x00001C00/OMAP3515/' -e 's/0x00004C00/OMAP3525/' -e 's/0x00000C00/OMAP3530/' \
|
||||
-e 's/0x00005E00/OMAP3503/' -e 's/0x00001E00/OMAP3515/' -e 's/0x00004E00/OMAP3525/' -e 's/0x00000E00/OMAP3530/' \
|
||||
-e 's/0x00000CC0/OMAP3530/'
|
||||
fi
|
||||
@@ -1,124 +0,0 @@
|
||||
#!/bin/sh
|
||||
PATH=$PATH:/usr/sbin
|
||||
|
||||
# Check if an fb device is available. If not then just go ahead and
|
||||
# exit because we have no display.
|
||||
fbset > /dev/null 2>&1
|
||||
if [ "$?" == "1" ]
|
||||
then
|
||||
# looks like there is no display, so let's exit
|
||||
exit 0
|
||||
fi
|
||||
|
||||
BITSPERPIXEL="$(fbset | grep geom | awk '{print $6}')"
|
||||
YRES="$(fbset | grep geom | awk '{print $3}')"
|
||||
|
||||
CPUTYPE="$(cputype)"
|
||||
|
||||
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 bufferclass_ti
|
||||
rmmod omaplfb 2>/dev/null
|
||||
rmmod pvrsrvkm 2>/dev/null
|
||||
fi
|
||||
|
||||
if [ "$1" = "stop" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# 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)
|
||||
|
||||
sgxprepare () {
|
||||
echo Starting PVR
|
||||
insmod $(busybox find /lib/modules/$(uname -r) -name "pvrsrvkm.ko")
|
||||
|
||||
if [ "$?" != "0" ]
|
||||
then
|
||||
echo "Could not find pvrsrvkm driver"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
modprobe omaplfb
|
||||
modprobe bufferclass_ti
|
||||
|
||||
pvr_maj=`grep "pvrsrvkm$" /proc/devices | cut -b1,2,3`
|
||||
bc_maj=`grep "bc" /proc/devices | cut -b1,2,3`
|
||||
|
||||
if [ -e /dev/pvrsrvkm ] ; then
|
||||
rm -f /dev/pvrsrvkm
|
||||
fi
|
||||
|
||||
mknod /dev/pvrsrvkm c $pvr_maj 0
|
||||
chmod 666 /dev/pvrsrvkm
|
||||
|
||||
touch /etc/powervr-esrev
|
||||
|
||||
SAVED_ESREVISION="$(cat /etc/powervr-esrev)"
|
||||
}
|
||||
|
||||
sgxfinish () {
|
||||
# Fix up a bug in opkg
|
||||
if [ $(readlink /usr/lib/libsrv_um.so) != $(readlink /usr/lib/libsrv_um.so.1) ] ; then
|
||||
cd /usr/lib
|
||||
ln -sf $(readlink /usr/lib/libsrv_um.so.1) libsrv_um.so
|
||||
fi
|
||||
|
||||
if [ "${ES_REVISION}" != "${SAVED_ESREVISION}" ] ; then
|
||||
echo -n "Starting SGX fixup for"
|
||||
echo " ES${ES_REVISION}.x"
|
||||
cp -a /usr/lib/ES${ES_REVISION}.0/* /usr/lib
|
||||
cp -a /usr/bin/ES${ES_REVISION}.0/* /usr/bin
|
||||
echo "${ES_REVISION}" > /etc/powervr-esrev
|
||||
fi
|
||||
|
||||
/usr/bin/pvrsrvinit
|
||||
}
|
||||
|
||||
case $CPUTYPE in
|
||||
"OMAP3530")
|
||||
sgxprepare
|
||||
|
||||
devmem2 0x48004B48 w 0x2 > /dev/null
|
||||
devmem2 0x48004B10 w 0x1 > /dev/null
|
||||
devmem2 0x48004B00 w 0x2 > /dev/null
|
||||
|
||||
ES_REVISION="$(devmem2 0x50000014 | sed -e s:0x00010205:5: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
|
||||
|
||||
sgxfinish
|
||||
;;
|
||||
"TI33XX")
|
||||
sgxprepare
|
||||
|
||||
devmem2 0x44e01104 w 0x0 > /dev/null
|
||||
devmem2 0x44e00904 w 0x2 > /dev/null
|
||||
|
||||
ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8: | tail -n1 | awk -F': ' '{print $2}')"
|
||||
|
||||
sgxfinish
|
||||
;;
|
||||
"TI816x")
|
||||
sgxprepare
|
||||
|
||||
devmem2 0x48180F04 w 0x0 > /dev/null
|
||||
devmem2 0x48180900 w 0x2 > /dev/null
|
||||
devmem2 0x48180920 w 0x2 > /dev/null
|
||||
|
||||
ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:6: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
|
||||
|
||||
sgxfinish
|
||||
;;
|
||||
*)
|
||||
echo No SGX hardware, not starting PVR
|
||||
;;
|
||||
esac
|
||||
@@ -1,8 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Name=NAME Demo
|
||||
Comment=OGLES Demo
|
||||
Exec=EXEC
|
||||
Icon=star
|
||||
Type=Application
|
||||
Categories=Graphics;
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
BINLOCATION_omap3 = "${S}/gfx_rel_es3.x"
|
||||
BINLOCATION_ti814x = "${S}/gfx_rel_es6.x"
|
||||
BINLOCATION_ti816x = "${S}/gfx_rel_es6.x"
|
||||
BINLOCATION_ti33x = "${S}/gfx_rel_es8.x"
|
||||
|
||||
require libgles-omap3.inc
|
||||
|
||||
DEFAULT_PREFERENCE_omap3 = "99"
|
||||
|
||||
# download required binary distribution from:
|
||||
# http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/latest/index_FDS.html
|
||||
# see libgles-omap3.inc for detailed installation instructions
|
||||
|
||||
SGXPV = "4_05_00_03"
|
||||
IMGPV = "1.6.16.4117"
|
||||
BINFILE := "Graphics_SDK_setuplinux_${SGXPV}.bin"
|
||||
TI_BIN_UNPK_WDEXT := "/Graphics_SDK_${SGXPV}"
|
||||
|
||||
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/${SGXPV}/exports/${BINFILE} \
|
||||
file://cputype \
|
||||
file://rc.pvr \
|
||||
file://sample.desktop \
|
||||
file://99-bufferclass.rules \
|
||||
"
|
||||
|
||||
SRC_URI[md5sum] = "0e651eaa92bb91760f0b40a17697a7dc"
|
||||
SRC_URI[sha256sum] = "bfe764a8959556195545d6fff76f63a489642f345c105bbbc309a3f243c2dd0e"
|
||||
|
||||
S = "${WORKDIR}/Graphics_SDK_${SGXPV}"
|
||||
@@ -1,46 +0,0 @@
|
||||
require libgles-omap3-no-x.inc
|
||||
|
||||
LICENSE = "TI-TSPA"
|
||||
|
||||
PR = "${INC_PR}.3"
|
||||
|
||||
BINLOCATION_omap3 = "${S}/gfx_rel_es3.x"
|
||||
BINLOCATION_ti816x = "${S}/gfx_rel_es6.x"
|
||||
BINLOCATION_ti814x = "${S}/gfx_rel_es6.x"
|
||||
BINLOCATION_ti33x = "${S}/gfx_rel_es8.x"
|
||||
|
||||
PLATFORM = "LinuxARMV7"
|
||||
PVR_INIT = "pvrsrvctl"
|
||||
|
||||
# download required binary distribution from:
|
||||
# http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/latest/index_FDS.html
|
||||
# see libgles-omap3.inc for detailed installation instructions
|
||||
|
||||
SGXPV = "4_09_00_01"
|
||||
IMGPV = "1.9.2188537"
|
||||
|
||||
TI_BIN_UNPK_WDEXT := "/Graphics_SDK_${SGXPV}"
|
||||
|
||||
# Select the corresponding hardfp/softfp filename and checksums based on tune flags
|
||||
BINFILE_SOFTFP = "Graphics_SDK_setuplinux_${SGXPV}_minimal_demos.bin"
|
||||
MD5SUM_SOFTFP = "bd35e9d8843aff3a2aca9d41e7db1c7d"
|
||||
SHA256SUM_SOFTFP = "eb37f75ddde4640b09e760fa86e689beb394330ecdf68786188c34f249247647"
|
||||
|
||||
BINFILE_HARDFP = "Graphics_SDK_setuplinux_${SGXPV}_hardfp_minimal_demos.bin"
|
||||
MD5SUM_HARDFP = "c9f656dce062d1ab10afffd4dfb71b67"
|
||||
SHA256SUM_HARDFP = "dbfeba8e1298f139495816334edec1455e6b49b1e11bd1b2aa0a888e5788bb6b"
|
||||
|
||||
BINFILE = "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${BINFILE_HARDFP}', '${BINFILE_SOFTFP}', d)}"
|
||||
|
||||
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/${SGXPV}/exports/${BINFILE} \
|
||||
file://cputype \
|
||||
file://rc.pvr \
|
||||
file://99-bufferclass.rules \
|
||||
"
|
||||
|
||||
SRC_URI[md5sum] := "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${MD5SUM_HARDFP}', '${MD5SUM_SOFTFP}', d)}"
|
||||
SRC_URI[sha256sum] := "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${SHA256SUM_HARDFP}', '${SHA256SUM_SOFTFP}', d)}"
|
||||
|
||||
S = "${WORKDIR}/Graphics_SDK_${SGXPV}"
|
||||
|
||||
LIBGLESWINDOWSYSTEM ?= "libpvrPVR2D_FRONTWSEGL.so.1"
|
||||
@@ -1,50 +0,0 @@
|
||||
require libgles-omap3-no-x.inc
|
||||
|
||||
LICENSE = "TI-TSPA"
|
||||
|
||||
PR = "${INC_PR}.1"
|
||||
|
||||
BINLOCATION_omap3 = "${S}/gfx_rel_es3.x"
|
||||
BINLOCATION_ti816x = "${S}/gfx_rel_es6.x"
|
||||
BINLOCATION_ti814x = "${S}/gfx_rel_es6.x"
|
||||
BINLOCATION_ti33x = "${S}/gfx_rel_es8.x"
|
||||
BINLOCATION_ti43x = "${S}/gfx_rel_es9.x"
|
||||
|
||||
PLATFORM = "LinuxARMV7"
|
||||
PVR_INIT = "pvrsrvctl"
|
||||
|
||||
SGXPV = "5_01_01_01"
|
||||
IMGPV = "1.10.2359475"
|
||||
|
||||
TI_BIN_UNPK_WDEXT := "/Graphics_SDK_${SGXPV}"
|
||||
|
||||
BINFILE_HARDFP = "Graphics_SDK_setuplinux_hardfp_${SGXPV}.bin"
|
||||
MD5SUM_HARDFP = "94acdbd20152c905939c2448d5e80a72"
|
||||
SHA256SUM_HARDFP = "7f647bf45a5ce8ba9aaa28c4afe85fced4275f9a4567a1886d4460b76c9051ae"
|
||||
|
||||
# For now we only have hardfp version
|
||||
python __anonymous() {
|
||||
tunes = bb.data.getVar("TUNE_FEATURES", d, 1)
|
||||
if not tunes:
|
||||
return
|
||||
pkgn = bb.data.getVar("PN", d, 1)
|
||||
pkgv = bb.data.getVar("PV", d, 1)
|
||||
if "callconvention-hard" not in tunes:
|
||||
bb.warn("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv))
|
||||
raise bb.parse.SkipPackage("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv))
|
||||
}
|
||||
|
||||
BINFILE := "${BINFILE_HARDFP}"
|
||||
|
||||
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/gfxsdk/${SGXPV}/exports/${BINFILE} \
|
||||
file://cputype \
|
||||
file://rc.pvr \
|
||||
file://99-bufferclass.rules \
|
||||
"
|
||||
|
||||
SRC_URI[md5sum] := "${MD5SUM_HARDFP}"
|
||||
SRC_URI[sha256sum] := "${SHA256SUM_HARDFP}"
|
||||
|
||||
S = "${WORKDIR}/Graphics_SDK_${SGXPV}"
|
||||
|
||||
LIBGLESWINDOWSYSTEM ?= "libpvrPVR2D_FRONTWSEGL.so.1"
|
||||
@@ -1,50 +0,0 @@
|
||||
require libgles-omap3-no-x.inc
|
||||
|
||||
LICENSE = "TI-TSPA"
|
||||
|
||||
PR = "${INC_PR}.1"
|
||||
|
||||
BINLOCATION_omap3 = "${S}/gfx_rel_es3.x"
|
||||
BINLOCATION_ti816x = "${S}/gfx_rel_es6.x"
|
||||
BINLOCATION_ti814x = "${S}/gfx_rel_es6.x"
|
||||
BINLOCATION_ti33x = "${S}/gfx_rel_es8.x"
|
||||
BINLOCATION_ti43x = "${S}/gfx_rel_es9.x"
|
||||
|
||||
PLATFORM = "LinuxARMV7"
|
||||
PVR_INIT = "pvrsrvctl"
|
||||
|
||||
SGXPV = "5_01_01_02"
|
||||
IMGPV = "1.10.2359475"
|
||||
|
||||
TI_BIN_UNPK_WDEXT := "/Graphics_SDK_${SGXPV}"
|
||||
|
||||
BINFILE_HARDFP = "Graphics_SDK_setuplinux_hardfp_${SGXPV}.bin"
|
||||
MD5SUM_HARDFP = "94bcb31ea7eb50df1dfa4037055b638e"
|
||||
SHA256SUM_HARDFP = "54641222cdb49b03f996cbd6412de227198d9e084f5647d706bbf4217e8cdb07"
|
||||
|
||||
# For now we only have hardfp version
|
||||
python __anonymous() {
|
||||
tunes = bb.data.getVar("TUNE_FEATURES", d, 1)
|
||||
if not tunes:
|
||||
return
|
||||
pkgn = bb.data.getVar("PN", d, 1)
|
||||
pkgv = bb.data.getVar("PV", d, 1)
|
||||
if "callconvention-hard" not in tunes:
|
||||
bb.warn("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv))
|
||||
raise bb.parse.SkipPackage("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv))
|
||||
}
|
||||
|
||||
BINFILE := "${BINFILE_HARDFP}"
|
||||
|
||||
SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/gfxsdk/${SGXPV}/exports/${BINFILE} \
|
||||
file://cputype \
|
||||
file://rc.pvr \
|
||||
file://99-bufferclass.rules \
|
||||
"
|
||||
|
||||
SRC_URI[md5sum] := "${MD5SUM_HARDFP}"
|
||||
SRC_URI[sha256sum] := "${SHA256SUM_HARDFP}"
|
||||
|
||||
S = "${WORKDIR}/Graphics_SDK_${SGXPV}"
|
||||
|
||||
LIBGLESWINDOWSYSTEM ?= "libpvrPVR2D_FRONTWSEGL.so.1"
|
||||
Reference in New Issue
Block a user