Add recipe for blobsallad package (JTA QA requirement)
[AGL/meta-agl.git] / meta-ivi-common / recipes-test / blobsallad / blobsallad / 0002-auto.patch
1 --- a/bs_main.c
2 +++ b/bs_main.c
3 @@ -11,6 +11,9 @@
4  #include "bs_profiler.h"
5  #include "bs_rubberband.h"
6  
7 +static struct timeval beginTime; /* Time of the benchmark start */
8 +static int cur_step; /* Current benchmark phase. Used to subsequently increase number of objects each 10 seconds */
9 +
10  typedef struct bs_main_data_st 
11  {
12    bs_cairo_sdl_t *pCairoSdl; 
13 @@ -113,7 +116,9 @@
14    SDL_Event event;
15    SDL_UserEvent userevent;
16    bs_main_data_t *pMainData; 
17 -  
18 +  struct timeval curTime;
19 +  int hunsec;
20 +
21    pMainData = (bs_main_data_t*) pUserData; 
22    
23    userevent.type = SDL_USEREVENT;
24 @@ -121,6 +126,20 @@
25    userevent.data1 = NULL;
26    userevent.data2 = NULL;
27  
28 +  gettimeofday(&curTime, NULL);
29 +  hunsec = curTime.tv_sec - beginTime.tv_sec;
30 +
31 +  /* increase cur_step each 10 seconds */
32 +  if (cur_step < hunsec / 10) {
33 +       printf("%d objects = %.2f fps\n", 1 << (cur_step + 1), pMainData->fps);
34 +       userevent.code = 2; /* add more objects */
35 +       cur_step++;
36 +  }
37 +
38 +  /* exit if requested number of objects is reached */
39 +  if (cur_step == 4)
40 +       userevent.code = 3;
41 +
42    event.type = SDL_USEREVENT;
43    event.user = userevent;
44  
45 @@ -152,14 +171,19 @@
46    pMainData->newTimerInterval = 50; 
47    pMainData->fps = 20.0; 
48    pMainData->running = TRUE; 
49 -  
50
51 +  cur_step = 0;
52
53    bs_profiler_init();
54    
55 +  gettimeofday(&beginTime, NULL); 
56    gettimeofday(&startTime, NULL); 
57    pMainData->lastFrameTimeStamp = startTime.tv_sec * 1000 + startTime.tv_usec / 1000; 
58    
59    SDL_AddTimer(50, bs_main_sdl_timer_callback, pMainData); 
60    
61 +  bs_blob_collective_split(pMainData->pCollective); 
62 +
63    for(;;)
64    {
65      SDL_WaitEvent(&event); 
66 @@ -253,8 +277,7 @@
67          break; 
68        
69        case SDL_USEREVENT:
70 -        if(event.user.code == 1)
71 -        {
72 +        if (event.user.code == 1) {
73            gettimeofday(&startTime, NULL); 
74            bs_main_update_simulation(pMainData);
75            bs_main_redraw(pMainData);       
76 @@ -268,10 +291,15 @@
77              usedTime = 50; 
78            }
79              
80 -          pMainData->newTimerInterval = usedTime;                        
81 -        }          
82 -        break; 
83 -      
84 +          pMainData->newTimerInterval = usedTime;
85 +       } else if (event.user.code == 2) {
86 +               int i;
87 +               for (i = 0; i < (1 << cur_step); i++)
88 +                       bs_blob_collective_split(pMainData->pCollective);
89 +       } else if (event.user.code == 3) {
90 +               exit(0);
91 +        }
92 +       break;
93        case SDL_QUIT: 
94          exit(0); 
95          break;