mesa: Emit full output write in st_pbo_create_vs().
authorEmma Anholt <emma@anholt.net>
Thu, 1 Jun 2023 19:35:09 +0000 (12:35 -0700)
committerMarge Bot <emma+marge@anholt.net>
Mon, 12 Jun 2023 17:37:54 +0000 (17:37 +0000)
commitd361655aae37ee204352f768282dae8c27b2847b
tree5350ccbc19b02db8f9434a4e8e24a32c8b6eff23
parent0cffef54e5dd99f25c6c17a968968f89104efb40
mesa: Emit full output write in st_pbo_create_vs().

In most VS creation paths in the frontend, nir_lower_io_to_temporaries()
is called, which ensures that all outputs have a single write to them
(with a full writemask).  The builtins don't, however, and this VS was an
oddball that overwrote one channel of an output that it had already
written.  We can avoid surprises for backends (such as d3d12 and v3d) by
emitting a single write per output here.

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23114>
src/mesa/state_tracker/st_pbo.c