svga: clamp device line width to at least 1 to fix HWv8 line stippling
authorBrian Paul <brianp@vmware.com>
Thu, 15 Jun 2017 17:31:53 +0000 (11:31 -0600)
committerBrian Paul <brianp@vmware.com>
Thu, 15 Jun 2017 19:53:00 +0000 (13:53 -0600)
commitc2b92dada076afc303e31e3d029256d234254c27
tree9234e7e912b1b3be63b239fbab2349f8bc4a5702
parentc9f4e069baf09db2858edf119d8ddf49cebddce2
svga: clamp device line width to at least 1 to fix HWv8 line stippling

The line stipple fallback code for virtual HW version 8 didn't work.

With HW version 8, we were getting zero when querying the max line
widths (AA and non-AA).  This means we were setting the draw module's
wide line threshold to zero.  This caused the wide line stage to always
get enabled.  That caused the line stipple module to fall because the
wide line stage was clobbering the rasterization state with a state
object setting the line stipple pattern to 0xffff.

Now the wide_lines variable in draw's validate_pipeline() will not
be incorrectly set.

Also improve debug output.

BTW, also this fixes several other piglit tests: polygon-mode,
primitive- restart-draw-mode, and line-flat-clip-color since they
all use the draw module fallback.

See VMware bug 1895811.

Reviewed-by: Charmaine Lee <charmainel@vmware.com>
src/gallium/drivers/svga/svga_screen.c