diff options
author | Brian Paul <brianp@vmware.com> | 2016-05-25 12:42:55 -0600 |
---|---|---|
committer | Brian Paul <brianp@vmware.com> | 2016-05-26 17:44:17 -0600 |
commit | 90afd7b7ef897f7ba126006d866d1e726235b974 (patch) | |
tree | c892bd2d76f487f0917ccebbb632fc8bcd2cfab8 /src/gallium/drivers/svga/svga_draw_arrays.c | |
parent | 2c07c40d2f65e3c7ac25db21b247e647c846edcf (diff) |
svga: fix test for unfilled triangles fallback
VGPU10 actually supports line-mode triangles. We failed to make use of
that before.
Reviewed-by: Charmaine Lee <charmainel@vmware.com>
Diffstat (limited to 'src/gallium/drivers/svga/svga_draw_arrays.c')
-rw-r--r-- | src/gallium/drivers/svga/svga_draw_arrays.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/gallium/drivers/svga/svga_draw_arrays.c b/src/gallium/drivers/svga/svga_draw_arrays.c index c0567728e92..43d7a975695 100644 --- a/src/gallium/drivers/svga/svga_draw_arrays.c +++ b/src/gallium/drivers/svga/svga_draw_arrays.c @@ -212,6 +212,11 @@ svga_hwtnl_draw_arrays(struct svga_hwtnl *hwtnl, unsigned api_pv = hwtnl->api_pv; struct svga_context *svga = hwtnl->svga; + if (svga->curr.rast->templ.fill_front != + svga->curr.rast->templ.fill_back) { + assert(hwtnl->api_fillmode == PIPE_POLYGON_MODE_FILL); + } + if (svga->curr.rast->templ.flatshade && svga->state.hw_draw.fs->constant_color_output) { /* The fragment color is a constant, not per-vertex so the whole @@ -236,8 +241,7 @@ svga_hwtnl_draw_arrays(struct svga_hwtnl *hwtnl, } } - if (hwtnl->api_fillmode != PIPE_POLYGON_MODE_FILL && - u_reduced_prim(prim) == PIPE_PRIM_TRIANGLES) { + if (svga_need_unfilled_fallback(hwtnl, prim)) { /* Convert unfilled polygons into points, lines, triangles */ gen_type = u_unfilled_generator(prim, start, |