Mesa (master): llvmpipe: pass fewer parameters to rasterization functions

Brian Paul brianp at kemper.freedesktop.org
Wed Feb 24 20:57:58 UTC 2010


Module: Mesa
Branch: master
Commit: 1c9db3c57f1538e21b839df0989b958be3465a36
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1c9db3c57f1538e21b839df0989b958be3465a36

Author: Brian Paul <brianp at vmware.com>
Date:   Wed Feb 24 13:30:57 2010 -0700

llvmpipe: pass fewer parameters to rasterization functions

---

 src/gallium/drivers/llvmpipe/lp_rast.c      |    5 ++---
 src/gallium/drivers/llvmpipe/lp_rast_priv.h |   11 +++++------
 src/gallium/drivers/llvmpipe/lp_rast_tri.c  |    8 ++------
 3 files changed, 9 insertions(+), 15 deletions(-)

diff --git a/src/gallium/drivers/llvmpipe/lp_rast.c b/src/gallium/drivers/llvmpipe/lp_rast.c
index bbd63ae..159ef0d 100644
--- a/src/gallium/drivers/llvmpipe/lp_rast.c
+++ b/src/gallium/drivers/llvmpipe/lp_rast.c
@@ -396,14 +396,13 @@ void lp_rast_shade_tile( struct lp_rasterizer *rast,
  * Compute shading for a 4x4 block of pixels.
  * This is a bin command called during bin processing.
  */
-void lp_rast_shade_quads( struct lp_rasterizer *rast,
-                          unsigned thread_index,
+void lp_rast_shade_quads( struct lp_rasterizer_task *task,
                           const struct lp_rast_shader_inputs *inputs,
                           unsigned x, unsigned y,
                           int32_t c1, int32_t c2, int32_t c3)
 {
-   struct lp_rasterizer_task *task = &rast->tasks[thread_index];
    const struct lp_rast_state *state = task->current_state;
+   struct lp_rasterizer *rast = task->rast;
    struct lp_rast_tile *tile = &task->tile;
    uint8_t *color[PIPE_MAX_COLOR_BUFS];
    void *depth;
diff --git a/src/gallium/drivers/llvmpipe/lp_rast_priv.h b/src/gallium/drivers/llvmpipe/lp_rast_priv.h
index 5c5497e..382e169 100644
--- a/src/gallium/drivers/llvmpipe/lp_rast_priv.h
+++ b/src/gallium/drivers/llvmpipe/lp_rast_priv.h
@@ -121,8 +121,7 @@ struct lp_rasterizer
 };
 
 
-void lp_rast_shade_quads( struct lp_rasterizer *rast,
-                          unsigned thread_index,
+void lp_rast_shade_quads( struct lp_rasterizer_task *task,
                           const struct lp_rast_shader_inputs *inputs,
                           unsigned x, unsigned y,
                           int32_t c1, int32_t c2, int32_t c3);
@@ -159,13 +158,13 @@ lp_rast_depth_pointer( struct lp_rasterizer *rast,
  * \param x, y location of 4x4 block in window coords
  */
 static INLINE void
-lp_rast_shade_quads_all( struct lp_rasterizer *rast,
-                         unsigned thread_index,
+lp_rast_shade_quads_all( struct lp_rasterizer_task *task,
                          const struct lp_rast_shader_inputs *inputs,
                          unsigned x, unsigned y )
 {
-   const struct lp_rast_state *state = rast->tasks[thread_index].current_state;
-   struct lp_rast_tile *tile = &rast->tasks[thread_index].tile;
+   struct lp_rasterizer *rast = task->rast;
+   const struct lp_rast_state *state = task->current_state;
+   struct lp_rast_tile *tile = &task->tile;
    const unsigned ix = x % TILE_SIZE, iy = y % TILE_SIZE;
    uint8_t *color[PIPE_MAX_COLOR_BUFS];
    void *depth;
diff --git a/src/gallium/drivers/llvmpipe/lp_rast_tri.c b/src/gallium/drivers/llvmpipe/lp_rast_tri.c
index bbc95c3..90325ae 100644
--- a/src/gallium/drivers/llvmpipe/lp_rast_tri.c
+++ b/src/gallium/drivers/llvmpipe/lp_rast_tri.c
@@ -93,10 +93,7 @@ block_full_4( struct lp_rasterizer_task *rast_task,
               const struct lp_rast_triangle *tri,
               int x, int y )
 {
-   lp_rast_shade_quads_all(rast_task->rast,
-                           rast_task->thread_index,
-                           &tri->inputs, 
-                           x, y);
+   lp_rast_shade_quads_all(rast_task, &tri->inputs, x, y);
 }
 
 
@@ -133,8 +130,7 @@ do_block_4( struct lp_rasterizer_task *rast_task,
    assert(x >= 0);
    assert(y >= 0);
 
-   lp_rast_shade_quads(rast_task->rast,
-                       rast_task->thread_index,
+   lp_rast_shade_quads(rast_task,
                        &tri->inputs, 
                        x, y,
                        -c1, -c2, -c3);




More information about the mesa-commit mailing list