llvmpipe: pass fewer parameters to rasterization functions

This commit is contained in:
Brian Paul 2010-02-24 13:30:57 -07:00
parent ab71a5e4c9
commit 1c9db3c57f
3 changed files with 9 additions and 15 deletions

View file

@ -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;

View file

@ -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;

View file

@ -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);