summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/draw/draw_validate.c
diff options
context:
space:
mode:
authorMichal Krol <michal@tungstengraphics.com>2008-03-30 23:21:20 +0200
committerMichal Krol <michal@tungstengraphics.com>2008-03-30 23:21:20 +0200
commit63950b11b6060e4e0d06e0d14548ff132a295067 (patch)
tree53848ae0dff0734a18f5c094aa892491f9429bd7 /src/gallium/auxiliary/draw/draw_validate.c
parentfc9888014470286d8d651c569aaadf9cd69d8282 (diff)
draw: Do not run full pipeline when flatshade_first for point primitives.
Diffstat (limited to 'src/gallium/auxiliary/draw/draw_validate.c')
-rw-r--r--src/gallium/auxiliary/draw/draw_validate.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/draw/draw_validate.c b/src/gallium/auxiliary/draw/draw_validate.c
index e163e078f0..ad43f06f73 100644
--- a/src/gallium/auxiliary/draw/draw_validate.c
+++ b/src/gallium/auxiliary/draw/draw_validate.c
@@ -76,6 +76,10 @@ draw_need_pipeline(const struct draw_context *draw,
/* AA lines */
if (draw->rasterizer->line_smooth && draw->pipeline.aaline)
return TRUE;
+
+ /* first-vertex driven flatshading */
+ if (draw->rasterizer->flatshade && draw->rasterizer->flatshade_first)
+ return TRUE;
}
if (points(prim))
@@ -112,6 +116,10 @@ draw_need_pipeline(const struct draw_context *draw,
/* two-side lighting */
if (draw->rasterizer->light_twoside)
return TRUE;
+
+ /* first-vertex driven flatshading */
+ if (draw->rasterizer->flatshade && draw->rasterizer->flatshade_first)
+ return TRUE;
}
/* polygon cull - this is difficult - hardware can cull just fine