Mesa (main): zink: flag pipeline for change more often when vbos change without dynamic state
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Fri May 7 02:09:29 UTC 2021
Module: Mesa
Branch: main
Commit: ce31c840b636fad3bf8df17b8a52d57abdba3649
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ce31c840b636fad3bf8df17b8a52d57abdba3649
Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date: Thu Apr 1 16:36:01 2021 -0400
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 at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10508>
---
src/gallium/drivers/zink/zink_context.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/gallium/drivers/zink/zink_context.c b/src/gallium/drivers/zink/zink_context.c
index 894a2355c8e..3e11ee6ef38 100644
--- a/src/gallium/drivers/zink/zink_context.c
+++ b/src/gallium/drivers/zink/zink_context.c
@@ -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);
More information about the mesa-commit
mailing list