bc-cube: add recipe for 0.1.0 + patch to build it against the 3.01.00.05 SGX SDK
authorKoen Kooi <k-kooi@ti.com>
Fri, 19 Mar 2010 14:41:46 +0000 (15:41 +0100)
committerKoen Kooi <koen@openembedded.org>
Mon, 12 Apr 2010 17:43:27 +0000 (19:43 +0200)
recipes/powervr-drivers/bc-cube/bc-cat-0.1.0-BC_PIX_FMT_.patch [new file with mode: 0755]
recipes/powervr-drivers/bc-cube_0.1.0.bb [new file with mode: 0644]

diff --git a/recipes/powervr-drivers/bc-cube/bc-cat-0.1.0-BC_PIX_FMT_.patch b/recipes/powervr-drivers/bc-cube/bc-cat-0.1.0-BC_PIX_FMT_.patch
new file mode 100755 (executable)
index 0000000..0d94a1b
--- /dev/null
@@ -0,0 +1,57 @@
+--- test/main.c.0.1.0  2009-10-26 11:26:30.000000000 -0500
++++ test/main.c        2010-03-15 11:30:18.000000000 -0500
+@@ -580,15 +580,15 @@
+     if (frame_init(&buf_param))
+         return -1;
+-    if ((bcfd = open("/dev/bc_cat", O_RDWR|O_NDELAY)) == -1) {
+-        printf("ERROR: open '/dev/bc_cat' failed\n");
++    if ((bcfd = open("/dev/bccat0", O_RDWR|O_NDELAY)) == -1) {
++        printf("ERROR: open '/dev/bccat0' failed\n");
+         goto err_ret;
+     }
+     frame_w = buf_param.width;
+     frame_h = buf_param.height;
+-    if (min_w > 0 && !(min_w % 32))
++    if (min_w > 0 && !(min_w % 8))
+         buf_param.width = min_w;
+     if (min_h > 0)
+--- test/capture.c.0.1.0       2009-10-26 11:26:30.000000000 -0500
++++ test/capture.c     2010-03-15 11:32:54.000000000 -0500
+@@ -43,8 +43,6 @@
+ #include <sys/mman.h>
+ #include <linux/videodev2.h>
+ #include <errno.h>
+-#include <img_defs.h>
+-#include <servicesext.h>
+ #include <bc_cat.h>
+@@ -58,13 +56,13 @@
+ #define FALSE               0
+ #define NUM_BUFFERS         3
+-#define CAPTURE_DEVICE      "/dev/video0"
++#define CAPTURE_DEVICE      "/dev/video0"
+ #define CAPTURE_NAME        "Capture"
+ #define USBCAM_WIDTH        320
+ #define USBCAM_HEIGHT       240
+ #define USBCAM_DEF_PIX_FMT  V4L2_PIX_FMT_YUYV
+-#define YUV_PIXEL_FMT       PVRSRV_PIXEL_FORMAT_FOURCC_ORG_YUYV
++#define YUV_PIXEL_FMT       BC_PIX_FMT_YUYV
+ #define CLEAR(x)            memset(&(x), 0, sizeof(x))
+@@ -218,7 +216,7 @@
+         p->count = 1;
+         p->width = USBCAM_WIDTH;
+         p->height = USBCAM_HEIGHT;
+-        p->pixel_fmt = YUV_PIXEL_FMT;
++        p->fourcc = YUV_PIXEL_FMT;
+         p->type = BC_MEMORY_MMAP;      
+     }
+     return 0;
diff --git a/recipes/powervr-drivers/bc-cube_0.1.0.bb b/recipes/powervr-drivers/bc-cube_0.1.0.bb
new file mode 100644 (file)
index 0000000..1ea5dcc
--- /dev/null
@@ -0,0 +1,42 @@
+DESCRIPTION = "TI Texture streaming using bufferclass API demo (spinning video cube)"
+LICENSE = "TI-BSD/GPLv2"
+DEPENDS = "virtual/egl"
+
+SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/apps_processors/OMAP35x_AM35x_Video_Texture_Streaming/1_0/exports/bc-cat-${PV}.tar.gz \
+           file://bc-cat-0.1.0-BC_PIX_FMT_.patch;patch=1;pnum=0"
+
+S = "${WORKDIR}/bc-cat-${PV}"
+
+CFLAGS += " -DLINUX -I../include -I${STAGING_INCDIR}/services4/3rdparty/bufferclass_ti/ -I${STAGING_INCDIR}/include4"
+LDFLAGS += "-lGLES_CM -lEGL"
+
+do_configure() {
+       cd test
+       sed -i -e s:pixel_fmt:fourcc:g *.c
+}
+
+# build both fb and x11 version
+do_compile() {
+       cd test
+       oe_runmake -e clean
+       oe_runmake -e
+       mv gles1_bc_mmap gles1_bc_mmap-fb
+       mv gles1_bc_webcam gles1_bc_webcam-fb
+
+       oe_runmake -e clean
+       CFLAGS="${CFLAGS} -DX11" oe_runmake -e X11BUILD=1
+       mv gles1_bc_mmap gles1_bc_mmap-x11
+       mv gles1_bc_webcam gles1_bc_webcam-x11
+
+}
+
+do_install() {
+       install -d ${D}${bindir}
+       install -m 0755 ${S}/test/gles1_bc_mmap-* ${D}${bindir}
+       install -m 0755 ${S}/test/gles1_bc_webcam-* ${D}${bindir}
+}
+
+PACKAGES =+ "${PN}-fb ${PN}-x11"
+FILES_${PN}-x11 = "${bindir}/*x11"
+FILES_${PN}-fb = "${bindir}/*fb"
+