v3dv/cmd_buffer: allow return in the middle of variant update if needed
authorAlejandro Piñeiro <apinheiro@igalia.com>
Sun, 29 Mar 2020 15:07:43 +0000 (17:07 +0200)
committerMarge Bot <eric+marge@anholt.net>
Tue, 13 Oct 2020 21:21:29 +0000 (21:21 +0000)
commit6e39565e596812f76861b6ad1c6ceabd3eb60963
tree8d91cf02953213fca5a9ee43d7f157b1d303c496
parent07addb41835a556361515261ee27a095118fa63a
v3dv/cmd_buffer: allow return in the middle of variant update if needed

Right now shader variant update on the cmd_buffer is based on populate
a new key using the descriptor bounds, assuming that we would get one
final descriptor for any usage on the shader. But if the descriptors
are being bound with more that one call to CmdBindDescriptorSet, that
would not be true, as the first calls would not bind all the
descriptors. Right now this was raising an assert.

Now we allow that as possible, and for the case of checking variants,
we just stop it, and we don't clean up the SHADER_VARIANT flag.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6766>
src/broadcom/vulkan/v3dv_cmd_buffer.c
src/broadcom/vulkan/v3dv_descriptor_set.c