summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/svga/svga_draw_arrays.c
diff options
context:
space:
mode:
authorBrian Paul <brianp@vmware.com>2016-05-25 12:42:55 -0600
committerBrian Paul <brianp@vmware.com>2016-05-26 17:44:17 -0600
commit90afd7b7ef897f7ba126006d866d1e726235b974 (patch)
treec892bd2d76f487f0917ccebbb632fc8bcd2cfab8 /src/gallium/drivers/svga/svga_draw_arrays.c
parent2c07c40d2f65e3c7ac25db21b247e647c846edcf (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.c8
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,