zink: flag mesh pipeline_changed if switching from a shader object draw

this otherwise might fail to do some updates

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37466>
This commit is contained in:
Mike Blumenkrantz
2025-09-18 13:11:47 -04:00
committed by Marge Bot
parent 6f3d71f790
commit 9d35a006ba

View File

@@ -988,8 +988,8 @@ update_mesh_pipeline(struct zink_context *ctx, struct zink_batch_state *bs)
pipeline = zink_get_gfx_pipeline<ZINK_DYNAMIC_STATE3, false, true>(ctx, ctx->mesh_program, &ctx->gfx_pipeline_state, MESA_PRIM_COUNT);
}
if (pipeline) {
pipeline_changed = prev_pipeline != pipeline;
if (BATCH_CHANGED || pipeline_changed || ctx->shobj_draw)
pipeline_changed = prev_pipeline != pipeline || ctx->shobj_draw;
if (BATCH_CHANGED || pipeline_changed)
VKCTX(CmdBindPipeline)(bs->cmdbuf, VK_PIPELINE_BIND_POINT_GRAPHICS, pipeline);
ctx->shobj_draw = false;
} else {