From 9616489a31afd5f304ebaba02141ed6913a62437 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 21 Feb 2013 08:22:10 -0700 Subject: 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 (cherry picked from commit f93c5800637fd0967d53a4bc2b652d5f93d17d5d) --- src/gallium/drivers/llvmpipe/lp_state_rasterizer.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/gallium/drivers/llvmpipe/lp_state_rasterizer.c b/src/gallium/drivers/llvmpipe/lp_state_rasterizer.c index 574f9e940e..653a9934bb 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 || -- cgit v1.2.3