summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Paul <brianp@vmware.com>2013-02-21 08:22:10 -0700
committerIan Romanick <ian.d.romanick@intel.com>2013-03-05 14:57:09 -0800
commitab883bb8a48c5e5c4f8750e6a02457b74917859d (patch)
treee08fb567b344dcb5a44018ac5239b309b7119b9e
parent2ac679bc87377c439d5144fc6c59d503aa79d2ae (diff)
llvmpipe: add missing checks for polygon offset point/line modes
The llvm pipeline handles regular filled triangle offsets, but it doesn't handle offsets for triangles drawn in point or line mode. Fixes failures found with new piglit polygon-mode-offset test. Note: This is a candidate for the stable branches. Reviewed-by: Jose Fonseca <jfonseca@vmware.com> (cherry picked from commit f93c5800637fd0967d53a4bc2b652d5f93d17d5d)
-rw-r--r--src/gallium/drivers/llvmpipe/lp_state_rasterizer.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_state_rasterizer.c b/src/gallium/drivers/llvmpipe/lp_state_rasterizer.c
index 40ccaf66eda..ca8df7149eb 100644
--- a/src/gallium/drivers/llvmpipe/lp_state_rasterizer.c
+++ b/src/gallium/drivers/llvmpipe/lp_state_rasterizer.c
@@ -46,6 +46,10 @@ clear_flags(struct pipe_rasterizer_state *rast)
{
rast->light_twoside = 0;
rast->offset_tri = 0;
+ rast->offset_line = 0;
+ rast->offset_point = 0;
+ rast->offset_units = 0.0f;
+ rast->offset_scale = 0.0f;
}
@@ -74,6 +78,8 @@ llvmpipe_create_rasterizer_state(struct pipe_context *pipe,
*/
need_pipeline = (rast->fill_front != PIPE_POLYGON_MODE_FILL ||
rast->fill_back != PIPE_POLYGON_MODE_FILL ||
+ rast->offset_point ||
+ rast->offset_line ||
rast->point_smooth ||
rast->line_smooth ||
rast->line_stipple_enable ||