view TaskManager/Test/test_render/spe/ChainInit.cc @ 528:541013f7015c

Application ander constructing
author game@henri.cr.ie.u-ryukyu.ac.jp
date Tue, 20 Oct 2009 23:25:22 +0900
parents 699ee087234e
children
line wrap: on
line source

#include <stdio.h>
#include <string.h>
#include "ChainInit.h"
#include "Func.h"

/* これは必須 */
SchedDefineTask(ChainInit);

/*
  spe の global 領域に MemList を生成する
 */

typedef struct {
    double x, y, next_x, next_y;
    double vx, vy, next_vx, next_vy;
    int can_move;
    uint32 parent;
} CHAIN_VARS;


static int
run(SchedTask *s,void *rbuf, void *wbuf)
{
    CHAIN_VARS* idata = (CHAIN_VARS*)s->get_input(rbuf, 0);
    uint32 chain_len = s->get_param(0);

    // property は spe 上で allocate している(global)
    CHAIN_VARS *property = (CHAIN_VARS*)s->global_alloc(DATA_ID, sizeof(CHAIN_VARS)*chain_len);
    memcpy(property, idata, sizeof(CHAIN_VARS)*chain_len);
    
    return 0;
}