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

this otherwise might fail to do some updates

cc: mesa-stable

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 951767ce36
commit 6f3d71f790

View file

@ -272,8 +272,8 @@ update_gfx_pipeline(struct zink_context *ctx, struct zink_batch_state *bs, enum
pipeline = zink_get_gfx_pipeline<DYNAMIC_STATE, false, false>(ctx, ctx->curr_program, &ctx->gfx_pipeline_state, mode);
}
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 {