Mercurial > hg > Members > kono > Cerium
diff TaskManager/Test/test_render/spe/DrawSpan.cpp @ 267:7f2b30acf311
merge
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 04 Jun 2009 00:01:11 +0900 |
parents | 52db409f255a 5c9dbd54cd51 |
children | 06d53c7b87c2 |
line wrap: on
line diff
--- a/TaskManager/Test/test_render/spe/DrawSpan.cpp Mon Jun 01 11:40:04 2009 +0900 +++ b/TaskManager/Test/test_render/spe/DrawSpan.cpp Thu Jun 04 00:01:11 2009 +0900 @@ -9,23 +9,42 @@ SchedDefineTask(DrawSpan); +<<<<<<< local #define TEX_LOAD1 0 #define TEX_LOAD2 1 #define SPAN_PACK_LOAD 2 #define FB_STORE 3 +======= +<<<<<<< local +static TileHashPtr hash; +======= +<<<<<<< local +static const int hashsize = 263; +>>>>>>> other +<<<<<<< local DrawSpan::~DrawSpan(void) { smanager->dma_wait(FB_STORE); free((void*)((int)linebuf*doneWrite)); } +======= +static TilePtr hash_table[hashsize] = {NULL}; +>>>>>>> other +<<<<<<< local inline vector float spu_re_nrm(vector float a) { vector float unit = (vector float){1.0, 1.0, 1.0, 1.0}; vector float approximation; +======= +unsigned short PRIME[8] = { + 0x002, 0x065, 0x0c7, 0x133, 0x191, 0x1f3, 0x259, 0x2bd, +}; +>>>>>>> other +<<<<<<< local approximation = spu_re(a); return spu_madd(spu_nmsub(approximation, a, unit), approximation, approximation); @@ -44,6 +63,10 @@ return getLocalPositionVec(x, split_screen_w); } +======= +>>>>>>> other +static TileListPtr tileList; +>>>>>>> other /** * テクスチャは、TEXTURE_SPLIT_PIXEL^2 のブロックに分割する @@ -102,6 +125,9 @@ int block = getTexBlock(tx, ty, tw); return tex_addr_top + block*TEXTURE_BLOCK_SIZE; } +======= +static unsigned char *tex; +>>>>>>> other /** * FrameBuffer に書き込む rgb の領域初期化 @@ -597,6 +623,26 @@ int tl_tag_flg1 = 0; int tl_tag_flg2 = 1; +<<<<<<< local +======= + float *zRow = (float*)smanager->get_input(1); + int **linebuf = (int**)smanager->allocate(sizeof(int*)*rangey); + + for (int i = 0; i < rangey; i++) { + linebuf[i] = (int*)smanager->get_output(i); +<<<<<<< local + linebuf_init(linebuf[i], rangex, 0xffffffff); +======= +<<<<<<< local + linebuf_init(linebuf[i], rangex, 0xffffff); +======= + //linebuf_init(linebuf[i], rangex, 0x00ff00ff); + linebuf_init(linebuf[i], rangex, 0); +>>>>>>> other +>>>>>>> other + } + +>>>>>>> other do { /** * SpanPack->next が存在する場合、 @@ -610,6 +656,7 @@ next_spack = NULL; } +<<<<<<< local SpanPtr resume_span = &nop_span; int resume_span_x = 0; @@ -617,6 +664,9 @@ SpanPtr next_span; int next_span_x; +======= + for (int t = spack->info.start; t < spack->info.size; t++) { +>>>>>>> other span = &spack->span[t]; /** @@ -666,5 +716,24 @@ */ free(free_spack); +<<<<<<< local +======= + free(linebuf); +<<<<<<< local +======= + free(zRow); +<<<<<<< local +======= +<<<<<<< local + free(tileList); + free(tilist); + free(next_tilist); +>>>>>>> other +>>>>>>> other + +======= + free(tex); +>>>>>>> other +>>>>>>> other return 0; }