panvk: Emit fragment RSDs even with no shader
authorAlyssa Rosenzweig <alyssa@collabora.com>
Wed, 27 Apr 2022 22:57:04 +0000 (18:57 -0400)
committerMarge Bot <emma+marge@anholt.net>
Mon, 2 May 2022 13:12:31 +0000 (13:12 +0000)
commit7864f653ad480316d9b2966d843fa6b49ee110ec
treebb3ec273b93ddae16b8eb67bca2e7a5c6cfc9256
parentdcf8cdde68b14a9e5cd7b00296de19c62ac82c17
panvk: Emit fragment RSDs even with no shader

In Vulkan, it's possible to create a pipeline with no fragment shader that's
still expected to rasterize. This is useful for depth/stencil side effects, and
is closely related to the "fragment shader required" optimization we do in the
GLES driver. Refactor the RSD emit code to handle this case.

Fixes dEQP-VK.pipeline.stencil.nocolor.*

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16204>
src/panfrost/ci/deqp-panfrost-g52-vk.toml
src/panfrost/vulkan/panvk_vX_pipeline.c