aboutsummaryrefslogtreecommitdiffstats
path: root/meta-agl-profile-core/recipes-test/blobsallad
diff options
context:
space:
mode:
authorJan-Simon Möller <jsmoeller@linuxfoundation.org>2018-04-16 22:14:52 +0200
committerJan-Simon Möller <jsmoeller@linuxfoundation.org>2018-04-20 17:07:06 +0200
commitbb0882c5dad030f676e424265ebcd869bb3ff899 (patch)
treed95bb2d7ad6b5ac47427f73babe015b0ade02342 /meta-agl-profile-core/recipes-test/blobsallad
parent97e5e76efa44f55ee9aaf3998bb3df38b829706c (diff)
Introduce meta-agl-profile-core and meta-agl-profile-graphics
Rework towards agl profiles. This change is part of a series of changes to create the AGL profiles. This set will mainly introduce the 'core' profile. It is setup to be a drop-in change, thus some files were kept in (dummy) locations for now. However, they'll be taken care of in the next changes in this series. The main target of the meta-agl-profile-core layer is to host: - a minimal, bootable image with network and package management enabled -- agl-image-boot - a minimal image with network and packagemanagement and the AGL APIs -- agl-image-minimal The layer meta-agl-profile-graphical is used as superset of these and includes support for egl+wayland+weston. All recipes concerning graphics were moved there. This is not a full profile as we still have to migrate some parts of meta-agl-demo in a follow-up changeset. The roadmap as discussed during the F2F session in Karlsruhe is: - week 16 : core profile and profiles w/o graphics - week 17 : graphical profiles - week 18 : final conversion of the demo image v2: moved agl-login-manager from -graphics to -core (see Jose's comment) v3: moved back after discussion - follow-up in separate changeset Change-Id: Idacb0d1274baac1f63f8d1b850d4b1104ac33918 Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
Diffstat (limited to 'meta-agl-profile-core/recipes-test/blobsallad')
-rw-r--r--meta-agl-profile-core/recipes-test/blobsallad/blobsallad/0001-Makefile.patch53
-rw-r--r--meta-agl-profile-core/recipes-test/blobsallad/blobsallad/0002-auto.patch95
-rw-r--r--meta-agl-profile-core/recipes-test/blobsallad/blobsallad/0003-printcleanup.patch11
-rw-r--r--meta-agl-profile-core/recipes-test/blobsallad/blobsallad/0004-bs_main.c.patch15
-rw-r--r--meta-agl-profile-core/recipes-test/blobsallad/blobsallad_2006-11-14-23-57.bb36
5 files changed, 210 insertions, 0 deletions
diff --git a/meta-agl-profile-core/recipes-test/blobsallad/blobsallad/0001-Makefile.patch b/meta-agl-profile-core/recipes-test/blobsallad/blobsallad/0001-Makefile.patch
new file mode 100644
index 000000000..0ae56cee1
--- /dev/null
+++ b/meta-agl-profile-core/recipes-test/blobsallad/blobsallad/0001-Makefile.patch
@@ -0,0 +1,53 @@
+--- a/Makefile.orig 2016-04-01 15:50:20.636358716 +0200
++++ b/Makefile 2016-04-01 15:51:58.916361191 +0200
+@@ -1,3 +1,9 @@
++INCDIR = $(SDKROOT)/usr/include
++LIBDIR = $(SDKROOT)/usr/lib
++
++EXTRA_CFLAGS=-I$(INCDIR)
++EXTRA_LDFLAGS=-Wl,-rpath-link=$(LIBDIR) -L$(LIBDIR)
++
+ OBJECTS = bs_main.o \
+ bs_vector.o \
+ bs_pointmass.o \
+@@ -15,21 +21,21 @@
+ bs_profiler.o \
+ bs_rubberband.o
+
+-CC = gcc
++#CC = gcc
+
+ DISTDIR = blobsallad-src
+
+-CFLAGS = `pkg-config --cflags cairo; sdl-config --cflags`
+-LIBS = `pkg-config --libs cairo; sdl-config --libs` -lm -lGL -lGLU
++EXTRA_CFLAGS += -I$(INCDIR)/cairo -I$(INCDIR)/SDL -D_GNU_SOURCE=1 -D_REENTRANT
++EXTRA_LDFLAGS += -lcairo -lSDL -lpthread -lm
+
+ all: $(OBJECTS)
+- $(CC) -g -o blobsallad $(OBJECTS) $(LIBS)
++ $(CC) -g -o blobsallad $(OBJECTS) $(EXTRA_LDFLAGS)
+
+ map:
+- gcc -o createmap create_testdata.c -Wall -g -lm
++ $(CC) -o createmap create_testdata.c -Wall -g -lm
+
+ octree:
+- gcc -o test_octree test_octree.c bs_octree.c bs_list.c bs_vector.c bs_vector_util.c bs_timer.c bs_array.c -Wall -O2 $(LIBS) $(CFLAGS)
++ $(CC) -o test_octree test_octree.c bs_octree.c bs_list.c bs_vector.c bs_vector_util.c bs_timer.c bs_array.c -Wall -O2 $(EXTRA_LDFLAGS) $(EXTRA_CFLAGS)
+
+ GFX_OBJECTS = gfx_main.o \
+ bs_gfx.o \
+@@ -41,10 +47,10 @@
+ bs_list.o
+
+ gfx: $(GFX_OBJECTS)
+- gcc -o gfx_main -Wall -g $(GFX_OBJECTS) $(LIBS)
++ $(CC) -o gfx_main -Wall -g $(GFX_OBJECTS) $(EXTRA_LDFLAGS)
+
+ .c.o:
+- $(CC) -g -Wall $(CFLAGS) $ -c $<
++ $(CC) -g -Wall $(EXTRA_CFLAGS) $ -c $<
+
+ clean:
+ rm -f *.o; rm -f blobsallad;
diff --git a/meta-agl-profile-core/recipes-test/blobsallad/blobsallad/0002-auto.patch b/meta-agl-profile-core/recipes-test/blobsallad/blobsallad/0002-auto.patch
new file mode 100644
index 000000000..b61da2c1f
--- /dev/null
+++ b/meta-agl-profile-core/recipes-test/blobsallad/blobsallad/0002-auto.patch
@@ -0,0 +1,95 @@
+--- a/bs_main.c
++++ b/bs_main.c
+@@ -11,6 +11,9 @@
+ #include "bs_profiler.h"
+ #include "bs_rubberband.h"
+
++static struct timeval beginTime; /* Time of the benchmark start */
++static int cur_step; /* Current benchmark phase. Used to subsequently increase number of objects each 10 seconds */
++
+ typedef struct bs_main_data_st
+ {
+ bs_cairo_sdl_t *pCairoSdl;
+@@ -113,7 +116,9 @@
+ SDL_Event event;
+ SDL_UserEvent userevent;
+ bs_main_data_t *pMainData;
+-
++ struct timeval curTime;
++ int hunsec;
++
+ pMainData = (bs_main_data_t*) pUserData;
+
+ userevent.type = SDL_USEREVENT;
+@@ -121,6 +126,20 @@
+ userevent.data1 = NULL;
+ userevent.data2 = NULL;
+
++ gettimeofday(&curTime, NULL);
++ hunsec = curTime.tv_sec - beginTime.tv_sec;
++
++ /* increase cur_step each 10 seconds */
++ if (cur_step < hunsec / 10) {
++ printf("%d objects = %.2f fps\n", 1 << (cur_step + 1), pMainData->fps);
++ userevent.code = 2; /* add more objects */
++ cur_step++;
++ }
++
++ /* exit if requested number of objects is reached */
++ if (cur_step == 4)
++ userevent.code = 3;
++
+ event.type = SDL_USEREVENT;
+ event.user = userevent;
+
+@@ -152,14 +171,19 @@
+ pMainData->newTimerInterval = 50;
+ pMainData->fps = 20.0;
+ pMainData->running = TRUE;
+-
++
++ cur_step = 0;
++
+ bs_profiler_init();
+
++ gettimeofday(&beginTime, NULL);
+ gettimeofday(&startTime, NULL);
+ pMainData->lastFrameTimeStamp = startTime.tv_sec * 1000 + startTime.tv_usec / 1000;
+
+ SDL_AddTimer(50, bs_main_sdl_timer_callback, pMainData);
+
++ bs_blob_collective_split(pMainData->pCollective);
++
+ for(;;)
+ {
+ SDL_WaitEvent(&event);
+@@ -253,8 +277,7 @@
+ break;
+
+ case SDL_USEREVENT:
+- if(event.user.code == 1)
+- {
++ if (event.user.code == 1) {
+ gettimeofday(&startTime, NULL);
+ bs_main_update_simulation(pMainData);
+ bs_main_redraw(pMainData);
+@@ -268,10 +291,15 @@
+ usedTime = 50;
+ }
+
+- pMainData->newTimerInterval = usedTime;
+- }
+- break;
+-
++ pMainData->newTimerInterval = usedTime;
++ } else if (event.user.code == 2) {
++ int i;
++ for (i = 0; i < (1 << cur_step); i++)
++ bs_blob_collective_split(pMainData->pCollective);
++ } else if (event.user.code == 3) {
++ exit(0);
++ }
++ break;
+ case SDL_QUIT:
+ exit(0);
+ break;
diff --git a/meta-agl-profile-core/recipes-test/blobsallad/blobsallad/0003-printcleanup.patch b/meta-agl-profile-core/recipes-test/blobsallad/blobsallad/0003-printcleanup.patch
new file mode 100644
index 000000000..630871dfd
--- /dev/null
+++ b/meta-agl-profile-core/recipes-test/blobsallad/blobsallad/0003-printcleanup.patch
@@ -0,0 +1,11 @@
+--- a/bs_blob_collective.c
++++ b/bs_blob_collective.c
+@@ -152,7 +152,7 @@
+
+ bs_list_unlink_p_cont(pCollective->pBlobs, bs_blob_collective_remove_blob_cb, findData.pMotherBlob);
+
+- printf("number of blobs: %d\n", bs_list_get_length(pCollective->pBlobs));
++/* printf("number of blobs: %d\n", bs_list_get_length(pCollective->pBlobs)); */
+ }
+
+ typedef struct bs_blob_collective_join_find_smallest_st
diff --git a/meta-agl-profile-core/recipes-test/blobsallad/blobsallad/0004-bs_main.c.patch b/meta-agl-profile-core/recipes-test/blobsallad/blobsallad/0004-bs_main.c.patch
new file mode 100644
index 000000000..ae15408de
--- /dev/null
+++ b/meta-agl-profile-core/recipes-test/blobsallad/blobsallad/0004-bs_main.c.patch
@@ -0,0 +1,15 @@
+--- a/bs_main.c
++++ b/bs_main.c
+@@ -165,9 +165,9 @@
+ //pMainData->pRubberband = bs_rubberband_create(2.5f, 3.0f);
+ pMainData->pEnv = bs_env_create(0.0f, 0.0f, 6.0f, 4.0f);
+ pMainData->pGravity = bs_vector_create(0.0f, 10.0f);
+- pMainData->pCairoSdl = bs_cairo_sdl_create(600, 400);
+- pMainData->width = 600.0;
+- pMainData->height = 400.0;
++ pMainData->pCairoSdl = bs_cairo_sdl_create(1600, 1024);
++ pMainData->width = 1600.0;
++ pMainData->height = 1024.0;
+ pMainData->newTimerInterval = 50;
+ pMainData->fps = 20.0;
+ pMainData->running = TRUE;
diff --git a/meta-agl-profile-core/recipes-test/blobsallad/blobsallad_2006-11-14-23-57.bb b/meta-agl-profile-core/recipes-test/blobsallad/blobsallad_2006-11-14-23-57.bb
new file mode 100644
index 000000000..373d4ddc6
--- /dev/null
+++ b/meta-agl-profile-core/recipes-test/blobsallad/blobsallad_2006-11-14-23-57.bb
@@ -0,0 +1,36 @@
+DESCRIPTION = ""
+HOMEPAGE = "http://blobsallad.se/"
+LICENSE = "CLOSED"
+LIC_FILES_CHKSUM = ""
+
+SRC_URI = " \
+ http://blobsallad.se/src/blobsallad-src-${PV}.tar.gz \
+ file://0001-Makefile.patch \
+ file://0002-auto.patch \
+ file://0003-printcleanup.patch \
+ file://0004-bs_main.c.patch"
+
+SRC_URI[md5sum] = "a2e3342cbf0f3a4a9b110af2663bed36"
+SRC_URI[sha256sum] = "cd6309df1929d3e6b7bce1dbecc751849aeaafe17c01e05fd2567dc4267faaa2"
+
+DEPENDS = "cairo virtual/libsdl"
+
+INSANE_SKIP_${PN} = "ldflags"
+
+S = "${WORKDIR}/blobsallad-src"
+
+do_configure () {
+ # Specify any needed configure commands here
+ :
+}
+
+do_compile () {
+ # You will almost certainly need to add additional arguments here
+ oe_runmake SDKROOT=${STAGING_DIR_HOST}
+}
+
+do_install () {
+ install -d ${D}${bindir}
+ install -m 0755 blobsallad ${D}${bindir}
+}
+