Mercurial > hg > Game > Cerium
changeset 1167:d8b5648668bb draft
max_tile 64
author | yutaka@charles |
---|---|
date | Sat, 21 May 2011 19:21:41 +0900 |
parents | 38111db531e0 |
children | f308a6bd5479 |
files | Renderer/Engine/Makefile.def Renderer/Engine/Tapestry.h Renderer/Engine/spe/AllocateSegment.cc Renderer/Engine/task/AllocateSegment.cc |
diffstat | 4 files changed, 25 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/Renderer/Engine/Makefile.def Sat May 21 22:03:31 2011 +0900 +++ b/Renderer/Engine/Makefile.def Sat May 21 19:21:41 2011 +0900 @@ -5,8 +5,8 @@ ABIBIT = 64 ABI = -m$(ABIBIT) CC = g++ -OPT = -g -DUSE_TASKARRAY -DUSE_PIPELINE -DUSE_SEGMENT -# OPT = -O9 -DUSE_TASKARRAY -DUSE_PIPELINE #-DUSE_SEGMENT +#OPT = -g -DUSE_TASKARRAY -DUSE_PIPELINE -DUSE_SEGMENT + OPT = -O9 -DUSE_TASKARRAY -DUSE_PIPELINE #-DUSE_SEGMENT CFLAGS = -Wall $(ABI) $(OPT) # -DDEBUG
--- a/Renderer/Engine/Tapestry.h Sat May 21 22:03:31 2011 +0900 +++ b/Renderer/Engine/Tapestry.h Sat May 21 19:21:41 2011 +0900 @@ -73,7 +73,7 @@ typedef MemorySegment Tile, *TilePtr; -#define MAX_TILE 128 +#define MAX_TILE 64 /**
--- a/Renderer/Engine/spe/AllocateSegment.cc Sat May 21 22:03:31 2011 +0900 +++ b/Renderer/Engine/spe/AllocateSegment.cc Sat May 21 19:21:41 2011 +0900 @@ -19,6 +19,17 @@ static int run(SchedTask *smanager, void *rbuf , void *wbuf) { + + /* + * texture tile size 32768 + * PolygonPack size 14384 + * SpanPack size 3888 + * + * texture tile の size 内でやりくりすれば、問題なく動くのだが、、 + *p 32768 - (14384 * 2) - (3888 * 2) = -3776 、でマイナス。 + * MAX_TILE を 128 から 64 に落としたら動いた。 + */ + MemList *ml = smanager->createMemList(sizeof(uint32) * TEXTURE_BLOCK_SIZE, MAX_TILE); smanager->global_set(GLOBAL_TILE_LIST, (void *)ml);
--- a/Renderer/Engine/task/AllocateSegment.cc Sat May 21 22:03:31 2011 +0900 +++ b/Renderer/Engine/task/AllocateSegment.cc Sat May 21 19:21:41 2011 +0900 @@ -19,6 +19,17 @@ static int run(SchedTask *smanager, void *rbuf , void *wbuf) { + + /* + * texture tile size 32768 + * PolygonPack size 14384 + * SpanPack size 3888 + * + * texture tile の size 内でやりくりすれば、問題なく動くのだが、、 + * 32768 - (14384 * 2) - (3888 * 2) = -3776 、でマイナス。 + * MAX_TILE を 128 から 64 に落としたら動いた。 + */ + MemList *ml = smanager->createMemList(sizeof(uint32) * TEXTURE_BLOCK_SIZE, MAX_TILE); smanager->global_set(GLOBAL_TILE_LIST, (void *)ml);