diff options
| -rw-r--r-- | src/mesa/pipe/draw/draw_context.c | 1 | ||||
| -rw-r--r-- | src/mesa/pipe/draw/draw_private.h | 2 | ||||
| -rw-r--r-- | src/mesa/pipe/draw/draw_validate.c | 6 | ||||
| -rw-r--r-- | src/mesa/sources | 3 | 
4 files changed, 11 insertions, 1 deletions
| diff --git a/src/mesa/pipe/draw/draw_context.c b/src/mesa/pipe/draw/draw_context.c index d2015bd514..544c423c2d 100644 --- a/src/mesa/pipe/draw/draw_context.c +++ b/src/mesa/pipe/draw/draw_context.c @@ -48,6 +48,7 @@ struct draw_context *draw_create( void )  #endif     /* create pipeline stages */ +   draw->pipeline.wide      = draw_wide_stage( draw );     draw->pipeline.unfilled  = draw_unfilled_stage( draw );     draw->pipeline.twoside   = draw_twoside_stage( draw );     draw->pipeline.offset    = draw_offset_stage( draw ); diff --git a/src/mesa/pipe/draw/draw_private.h b/src/mesa/pipe/draw/draw_private.h index 6aa4cd44a0..7e5d5db5ab 100644 --- a/src/mesa/pipe/draw/draw_private.h +++ b/src/mesa/pipe/draw/draw_private.h @@ -145,6 +145,7 @@ struct draw_context        struct draw_stage *twoside;        struct draw_stage *offset;        struct draw_stage *unfilled; +      struct draw_stage *wide;        struct draw_stage *rasterize;     } pipeline; @@ -233,6 +234,7 @@ extern struct draw_stage *draw_offset_stage( struct draw_context *context );  extern struct draw_stage *draw_clip_stage( struct draw_context *context );  extern struct draw_stage *draw_flatshade_stage( struct draw_context *context );  extern struct draw_stage *draw_cull_stage( struct draw_context *context ); +extern struct draw_stage *draw_wide_stage( struct draw_context *context );  extern struct draw_stage *draw_validate_stage( struct draw_context *context ); diff --git a/src/mesa/pipe/draw/draw_validate.c b/src/mesa/pipe/draw/draw_validate.c index 7c5a9dceca..5ec581d8b3 100644 --- a/src/mesa/pipe/draw/draw_validate.c +++ b/src/mesa/pipe/draw/draw_validate.c @@ -51,6 +51,12 @@ static void validate_begin( struct draw_stage *stage )      * shorter pipelines for lines & points.      */ +   if (draw->rasterizer->line_width != 1.0 || +       draw->rasterizer->point_size != 1.0) { +      draw->pipeline.wide->next = next; +      next = draw->pipeline.wide; +   } +     if (draw->rasterizer->fill_cw != PIPE_POLYGON_MODE_FILL ||         draw->rasterizer->fill_ccw != PIPE_POLYGON_MODE_FILL) {        draw->pipeline.unfilled->next = next; diff --git a/src/mesa/sources b/src/mesa/sources index d53e75c820..fea3234db3 100644 --- a/src/mesa/sources +++ b/src/mesa/sources @@ -166,12 +166,13 @@ DRAW_SOURCES = \  	pipe/draw/draw_offset.c \  	pipe/draw/draw_prim.c \  	pipe/draw/draw_twoside.c \ +	pipe/draw/draw_unfilled.c \  	pipe/draw/draw_validate.c \  	pipe/draw/draw_vertex.c \  	pipe/draw/draw_vertex_cache.c \  	pipe/draw/draw_vertex_fetch.c \  	pipe/draw/draw_vertex_shader.c \ -	pipe/draw/draw_unfilled.c +	pipe/draw/draw_wide_prims.c  TGSIEXEC_SOURCES = \  	pipe/tgsi/exec/tgsi_build.c \ | 
