zink: edge flags, stipple lines fixes and other improvements
This MR contains the following improvements to zink:
- implements edge flags emulation
- fixes some existing bugs with stipple lines emulation
- fixes quad rendering when using the line raster primitive (a diagonal line was previously rendered)
- as a side effect of the previous point zink now handles quads in a geometry shader
The last commit still needs some work as it uses specialization constants. nir_variable
is used to access them in nir shaders and the nir_to_spirv
translator was hacked to not emit a load when nir_load_variable
is used on a specialization constant.
Closes: #3180 (closed) Closes: #2995 (closed)
Edited by Antonino Maniscalco