zink: advertise support for the quad primitive
authorantonino <antonino.maniscalco@collabora.com>
Mon, 13 Feb 2023 11:50:16 +0000 (12:50 +0100)
committerMarge Bot <emma+marge@anholt.net>
Wed, 29 Mar 2023 19:18:40 +0000 (19:18 +0000)
commit2748301a09dc2d5c9e31366bbc42335e49b56750
tree0537eea0c0b31a7ea8b764d2ae9cfb5e6b47a0d1
parent49329b890451297798f9ac9d44fa1fd063177e7e
zink: advertise support for the quad primitive

Zink now exposes the `PIPE_PRIM_QUADS` among supported primitives and
handles them with geometry shaders.

Previously, while not exposing this capability, gallium would internally
generate an index buffer to draw them with triangles.

However the information necessary to avoid drawing the diagonal line
when using the line primitive was not preserved.

fails are added for wireframe xfb quads tests

xfb is expected to output tessellatated quads while showing a quad
without a diagonal, however there is no sane way of achieving this.

As part of the test quads will be rendered with and without xfb and the
results compared.

Now to avoid breaking xfb zink has to always split quads into triangles
when xfb is enabled. This means that the test will fail.

Previously the diagonal was always present so the test passed

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21238>
src/gallium/drivers/zink/ci/zink-amdpro-fails.txt
src/gallium/drivers/zink/ci/zink-anv-icl-fails.txt
src/gallium/drivers/zink/ci/zink-anv-tgl-fails.txt
src/gallium/drivers/zink/ci/zink-freedreno-a618-fails.txt
src/gallium/drivers/zink/ci/zink-lvp-fails.txt
src/gallium/drivers/zink/ci/zink-nv-fails.txt
src/gallium/drivers/zink/ci/zink-radv-navi10-fails.txt
src/gallium/drivers/zink/ci/zink-radv-vangogh-fails.txt
src/gallium/drivers/zink/ci/zink-tu-a630-fails.txt
src/gallium/drivers/zink/zink_screen.c