diff options
author | Brian <brian.paul@tungstengraphics.com> | 2008-02-29 10:07:44 -0700 |
---|---|---|
committer | Brian <brian.paul@tungstengraphics.com> | 2008-02-29 10:08:16 -0700 |
commit | 78220aea864c36038f8425ad9d8467d2a2bdea58 (patch) | |
tree | 8bfeccb26d8c1ca588fd6f6343ea82037af703a2 /src/gallium/auxiliary/draw/draw_aaline.c | |
parent | ebe3b34ad225e320a09bb4069ce4d24808386327 (diff) |
gallium: remove the ugly pipe->draw stage lookup code in aaline/point/pstipple stages
Added a void *draw ptr to pipe_context. Probably look for a better solution someday.
Diffstat (limited to 'src/gallium/auxiliary/draw/draw_aaline.c')
-rw-r--r-- | src/gallium/auxiliary/draw/draw_aaline.c | 32 |
1 files changed, 4 insertions, 28 deletions
diff --git a/src/gallium/auxiliary/draw/draw_aaline.c b/src/gallium/auxiliary/draw/draw_aaline.c index 51140388f0..7660e56fe6 100644 --- a/src/gallium/auxiliary/draw/draw_aaline.c +++ b/src/gallium/auxiliary/draw/draw_aaline.c @@ -691,35 +691,11 @@ draw_aaline_stage(struct draw_context *draw) } -/* - * XXX temporary? solution to mapping a pipe_context to a aaline_stage. - */ - -#define MAX_CONTEXTS 10 - -static struct pipe_context *Pipe[MAX_CONTEXTS]; -static struct aaline_stage *Stage[MAX_CONTEXTS]; -static uint NumContexts; - -static void -add_aa_pipe_context(struct pipe_context *pipe, struct aaline_stage *aa) -{ - assert(NumContexts < MAX_CONTEXTS); - Pipe[NumContexts] = pipe; - Stage[NumContexts] = aa; - NumContexts++; -} - static struct aaline_stage * aaline_stage_from_pipe(struct pipe_context *pipe) { - uint i; - for (i = 0; i < NumContexts; i++) { - if (Pipe[i] == pipe) - return Stage[i]; - } - assert(0); - return NULL; + struct draw_context *draw = (struct draw_context *) pipe->draw; + return aaline_stage(draw->pipeline.aaline); } @@ -802,6 +778,8 @@ draw_install_aaline_stage(struct draw_context *draw, struct pipe_context *pipe) { struct aaline_stage *aaline; + pipe->draw = (void *) draw; + /* * Create / install AA line drawing / prim stage */ @@ -830,6 +808,4 @@ draw_install_aaline_stage(struct draw_context *draw, struct pipe_context *pipe) pipe->bind_sampler_state = aaline_bind_sampler_state; pipe->set_sampler_texture = aaline_set_sampler_texture; - - add_aa_pipe_context(pipe, aaline); } |