zink: flag pipeline for change more often when vbos change without dynamic state

this is always going to be bad for perf, but we still need to force updates anytime
we know for sure they'll be needed

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10508>
This commit is contained in:
Mike Blumenkrantz 2021-04-01 16:36:01 -04:00 committed by Marge Bot
parent ff1941aa08
commit ce31c840b6

View file

@ -714,6 +714,9 @@ zink_set_vertex_buffers(struct pipe_context *pctx,
{
struct zink_context *ctx = zink_context(pctx);
if (!zink_screen(pctx->screen)->info.have_EXT_extended_dynamic_state &&
(num_buffers || (!buffers && ctx->gfx_pipeline_state.vertex_buffers_enabled_mask)))
ctx->gfx_pipeline_state.vertex_state_dirty = true;
util_set_vertex_buffers_mask(ctx->vertex_buffers, &ctx->gfx_pipeline_state.vertex_buffers_enabled_mask,
buffers, start_slot, num_buffers,
unbind_num_trailing_slots, take_ownership);