diff options
author | Roland Scheidegger <sroland@vmware.com> | 2009-12-19 00:18:43 +0100 |
---|---|---|
committer | Roland Scheidegger <sroland@vmware.com> | 2009-12-19 00:18:43 +0100 |
commit | 429f0e3b37e33a33289f8488369474b20bfd5247 (patch) | |
tree | 83cec063382ea0fee1876a07225edb81342d52bc /src/gallium/drivers/svga/svga_state_need_swtnl.c | |
parent | ff5b0c72db20be099f9fc7dee22aeebbda75ab42 (diff) |
gallium: fix up drivers for edgeflag changes
several drivers which chose to ignore edgeflags might require some more work,
while edgeflags never worked there they might now crash.
Diffstat (limited to 'src/gallium/drivers/svga/svga_state_need_swtnl.c')
-rw-r--r-- | src/gallium/drivers/svga/svga_state_need_swtnl.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/gallium/drivers/svga/svga_state_need_swtnl.c b/src/gallium/drivers/svga/svga_state_need_swtnl.c index 00201b8091..3c35a8579f 100644 --- a/src/gallium/drivers/svga/svga_state_need_swtnl.c +++ b/src/gallium/drivers/svga/svga_state_need_swtnl.c @@ -108,6 +108,7 @@ static int update_need_pipeline( struct svga_context *svga, { boolean need_pipeline = FALSE; + struct svga_vertex_shader *vs = svga->curr.vs; /* SVGA_NEW_RAST, SVGA_NEW_REDUCED_PRIMITIVE */ @@ -119,11 +120,9 @@ static int update_need_pipeline( struct svga_context *svga, need_pipeline = TRUE; } - /* SVGA_NEW_EDGEFLAGS + /* EDGEFLAGS */ - if (svga->curr.rast->hw_unfilled != PIPE_POLYGON_MODE_FILL && - svga->curr.reduced_prim == PIPE_PRIM_TRIANGLES && - svga->curr.edgeflags != NULL) { + if (vs->base.info.writes_edgeflag) { SVGA_DBG(DEBUG_SWTNL, "%s: edgeflags\n", __FUNCTION__); need_pipeline = TRUE; } @@ -150,6 +149,7 @@ struct svga_tracked_state svga_update_need_pipeline = "need pipeline", (SVGA_NEW_RAST | SVGA_NEW_CLIP | + SVGA_NEW_VS | SVGA_NEW_REDUCED_PRIMITIVE), update_need_pipeline }; |