Mercurial > hg > Members > kono > Cerium
diff Renderer/Engine/spe/DrawSpan.h @ 507:735f76483bb2
Reorganization..
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 12 Oct 2009 09:39:35 +0900 |
parents | Renderer/test_render/spe/DrawSpan.h@55ea4465b1a2 |
children | 20166ecb1a78 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Renderer/Engine/spe/DrawSpan.h Mon Oct 12 09:39:35 2009 +0900 @@ -0,0 +1,45 @@ +#ifndef INCLUDED_TASK_DRAW_SPAN +#define INCLUDED_TASK_DRAW_SPAN + +#include "SchedTask.h" +#include "Tapestry.h" +#include "SpanPack.h" + +typedef struct g { + int *linebuf; + float *zRow; + TileListPtr tileList; + int doneWrite; +} G, *Gptr ; + + +static int run(SchedTask *smanager, void *rbuf, void *wbuf); + +static int* linebuf_init(SchedTask *s, int width, int height, int rgb); +static float* zRow_init(SchedTask *s, int width, int height); +static uint32 get_rgb(int tx, int ty, TilePtr tile); +static memaddr getTile(int tx, int ty, int tw, memaddr tex_addr_top); +static int getTexBlock(int tx, int ty, int twidth); +static void writebuffer(SchedTask *s, Gptr g, unsigned int display, int width, int height, + int screen_width); +static void updateBuffer(Gptr g, float zpos, int rangex, int x, int y, + int tex_x, int tex_y, TilePtr tile); + +#if 0 +static void reboot(SpanPackPtr spack, int cur_span_x); +#endif + +static int drawDot1(SchedTask *s, Gptr g, SpanPtr span, int startx, int endx, int wait_tag); +//static void drawDot2(SpanPtr span, int startx, int endx, int js, int wait_tag); +static int drawLine1(SchedTask *s, Gptr g, SpanPtr span, int startx, int endx, int wait_tag); +//static void drawLine2(SpanPtr span, int startx, int endx, int js, int wait_tag); + +typedef struct { + uint32 display; + int screen_width; + int rangex_start; + int rangex_end; + int rangey; +} DrawSpanArg, *DrawSpanArgPtr; + +#endif