From 683e3ea0af5dd0eddc767fba6e90e583137e53b7 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Wed, 3 Sep 2025 13:26:23 -0400 Subject: [PATCH] zink: fix edgeflags check on program creation can't check the shaders before the shaders are set Fixes: a93685ef557 ("zink: add `has_edgeflags` flag to zink_shader and zink_gfx_program") Part-of: --- src/gallium/drivers/zink/zink_program.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/zink/zink_program.c b/src/gallium/drivers/zink/zink_program.c index ccca663f1ae..d68e9d3ea5b 100644 --- a/src/gallium/drivers/zink/zink_program.c +++ b/src/gallium/drivers/zink/zink_program.c @@ -1109,8 +1109,6 @@ gfx_program_create(struct zink_context *ctx, prog->base.removed = true; prog->optimal_keys = screen->optimal_keys; - prog->has_edgeflags = prog->shaders[MESA_SHADER_VERTEX] && - prog->shaders[MESA_SHADER_VERTEX]->has_edgeflags; for (int i = 0; i < ZINK_GFX_SHADER_COUNT; ++i) { util_dynarray_init(&prog->shader_cache[i][0][0], prog->base.ralloc_ctx); util_dynarray_init(&prog->shader_cache[i][0][1], prog->base.ralloc_ctx); @@ -1148,6 +1146,8 @@ gfx_program_create(struct zink_context *ctx, prog->last_vertex_stage = stages[MESA_SHADER_TESS_EVAL]; else prog->last_vertex_stage = stages[MESA_SHADER_VERTEX]; + prog->has_edgeflags = prog->shaders[MESA_SHADER_VERTEX] && + prog->shaders[MESA_SHADER_VERTEX]->has_edgeflags; for (int i = 0; i < ARRAY_SIZE(prog->pipelines); ++i) { _mesa_hash_table_init(&prog->pipelines[i], prog->base.ralloc_ctx, NULL, zink_get_gfx_pipeline_eq_func(screen, prog));