radv: fix re-emitting streamout descriptors for NGG streamout
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Tue, 19 Sep 2023 13:47:34 +0000 (15:47 +0200)
committerMarge Bot <emma+marge@anholt.net>
Fri, 6 Oct 2023 22:51:31 +0000 (22:51 +0000)
commit3c61fd029b0ff9c4604a66b891794ae9b697cc5f
tree75afb9677ee4716128859f375adbfb69c1f73271
parent3a33e5959669500de41550f850b1059d352a5432
radv: fix re-emitting streamout descriptors for NGG streamout

In a scenario like:
CmdBindTransformFeedbackBuffers()
BeginTransformFeedback()
CmdDraw() --> streamout descriptors emitted
EndTransformFeedback() --> streamout descriptors emitted as 0 (disabled)
CmdDraw()
BeginTransformFeedback()
CmdDraw() --> streamout descriptor not re-emitted
EndTransformFeedback()

Fix this by re-emitting streamout descriptors when streamout is
enabled/disabled because a buffer size of 0 acts like a disable bit.

This fixes dEQP-VK.transform_feedback.simple.backward_dependency_indirect*
on NAVI31.

Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25583>
src/amd/vulkan/radv_cmd_buffer.c