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));