view Renderer/Engine/spe/AllocateSegment.cc @ 1164:d7637cb85bd8 draft

minor change
author yutaka@charles.cr.ie.u-ryukyu.ac.jp
date Mon, 09 May 2011 16:29:30 +0900
parents 8917aff8629c
children d8b5648668bb
line wrap: on
line source

#include <stdlib.h>
#include <string.h>
#include "AllocateSegment.h"
#include "task_texture.h"
#include "Func.h"
#include "Tapestry.h"
#include "polygon_pack.h"
#include "SpanPack.h"

SchedDefineTask(AllocateSegment);

/**
 * 各種 MemorySegment の用意はここでするのか?
 * いづれは、MemorySegment は大きく最初にガバっと領域を確保
 * MemorySegment は可変な大きさになって、要求したサイズだけ、poolから領域を与える。。
 * みたいな感じか。Cell以外のアーキテクチャではどうなんだろう。Segmentを管理ってのは必須なのか
 */

static int
run(SchedTask *smanager, void *rbuf , void *wbuf)
{
    MemList *ml = smanager->createMemList(sizeof(uint32) * TEXTURE_BLOCK_SIZE, MAX_TILE);
    smanager->global_set(GLOBAL_TILE_LIST, (void *)ml);

    /*LSに入らないみたい。Code Load やるか*/

#ifdef USE_SEGMENT

    ml = smanager->createMemList(sizeof(PolygonPack), POLYGONPACK_SEGMENT_NUM);
    smanager->global_set(GLOBAL_POLYGONPACK_LIST, (void *)ml);

    ml = smanager->createMemList(sizeof(SpanPack), SPANPACK_SEGMENT_NUM);
    smanager->global_set(GLOBAL_SPANPACK_LIST, (void *)ml);

#endif

    return 0;
}