From 1287fbdb3a0e2348e7dadbc3cca78cb8fb200469 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Tue, 8 Aug 2023 16:57:07 -0400 Subject: [PATCH] zink: explicitly set non-optimal last_vertex_stage shader key on ctx create this otherwise results in generated gs not having the flag set, which breaks various things cc: mesa-stable Reviewed-by: Dave Airlie Part-of: (cherry picked from commit ccc195c3a32535de20127c43d0644174af8eaf6b) --- .pick_status.json | 2 +- src/gallium/drivers/zink/zink_context.c | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.pick_status.json b/.pick_status.json index 2371fe7b0d5..b5aa01bc495 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -8514,7 +8514,7 @@ "description": "zink: explicitly set non-optimal last_vertex_stage shader key on ctx create", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null, "notes": null diff --git a/src/gallium/drivers/zink/zink_context.c b/src/gallium/drivers/zink/zink_context.c index de679be9743..89c73220788 100644 --- a/src/gallium/drivers/zink/zink_context.c +++ b/src/gallium/drivers/zink/zink_context.c @@ -5195,6 +5195,7 @@ zink_context_create(struct pipe_screen *pscreen, void *priv, unsigned flags) } zink_set_last_vertex_key(ctx)->last_vertex_stage = true; + ctx->gfx_pipeline_state.shader_keys.last_vertex.key.vs_base.last_vertex_stage = true; zink_set_tcs_key_patches(ctx, 1); if (!screen->optimal_keys) { ctx->gfx_pipeline_state.shader_keys.key[MESA_SHADER_VERTEX].size = sizeof(struct zink_vs_key_base);