panvk: Fix varying linking
Since 2316b80d77 ("panfrost: Don't use nir_variable to link varyings"), we can
only get correct type information from the fragment shader inputs (not the
vertex shader output). Fixes piles of CTS regressions.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21257>
This commit is contained in:
committed by
Marge Bot
parent
1ba20868c4
commit
6142d50375
@@ -772,6 +772,14 @@ panvk_pipeline_update_varying_slot(struct panvk_varyings_info *varyings,
|
||||
if (old_size < new_size)
|
||||
varyings->varying[loc].format = new_fmt;
|
||||
|
||||
/* Type (float or not) information is only known in the fragment shader, so
|
||||
* override for that
|
||||
*/
|
||||
if (input) {
|
||||
assert(stage == MESA_SHADER_FRAGMENT && "no geom/tess on Bifrost");
|
||||
varyings->varying[loc].format = new_fmt;
|
||||
}
|
||||
|
||||
varyings->buf_mask |= 1 << buf_id;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user