summaryrefslogtreecommitdiffstats
path: root/meta-agl-profile-core/recipes-test/blobsallad/blobsallad/0002-auto.patch
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/blobsallad/0002-auto.patch
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/blobsallad/0002-auto.patch')
-rw-r--r--meta-agl-profile-core/recipes-test/blobsallad/blobsallad/0002-auto.patch95
1 files changed, 95 insertions, 0 deletions
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;