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