v3dv: reset all state to dirty when we start a new job for a command buffer
authorIago Toral Quiroga <itoral@igalia.com>
Thu, 16 Apr 2020 06:48:22 +0000 (08:48 +0200)
committerMarge Bot <eric+marge@anholt.net>
Tue, 13 Oct 2020 21:21:29 +0000 (21:21 +0000)
commit8c093246e4c764ca7aac5c6e6a5f8360198506bc
tree1b7f02a7df78fe9c0c0a1e0b554db43c109cbd09
parent5c826568ab4ccfe05dcfcbf62bb1d648304aac67
v3dv: reset all state to dirty when we start a new job for a command buffer

Most of our state doesn't carry over across jobs, so it needs to be re-emitted.
For example, if we have two render passes running back to back using the
same pipeline, the application could decide to only bind the vertex buffer
or/and the pipeline just once, but as soon as we record the second render
pass and create a new job for it we will need to re-emit the shader state
record for it just because it is a new job.

We could probably only do this for jobs inside a render pass, since those
are the only ones that actually draw something and need to care about
dirty state, however, there is no harm in doing this for all jobs, for the
same reason.

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