diff --git a/src/gallium/drivers/zink/zink_draw.c b/src/gallium/drivers/zink/zink_draw.c index 1936f4effb0..613fccd975b 100644 --- a/src/gallium/drivers/zink/zink_draw.c +++ b/src/gallium/drivers/zink/zink_draw.c @@ -434,6 +434,9 @@ zink_draw_vbo(struct pipe_context *pctx, ctx->gfx_prim_mode = dinfo->mode; update_gfx_program(ctx); + if (zink_program_has_descriptors(&ctx->curr_program->base)) + screen->descriptors_update(ctx, false); + if (ctx->gfx_pipeline_state.primitive_restart != dinfo->primitive_restart) ctx->gfx_pipeline_state.dirty = true; ctx->gfx_pipeline_state.primitive_restart = dinfo->primitive_restart; @@ -463,9 +466,6 @@ zink_draw_vbo(struct pipe_context *pctx, barrier_draw_buffers(ctx, dinfo, dindirect, index_buffer); - if (zink_program_has_descriptors(&ctx->curr_program->base)) - screen->descriptors_update(ctx, false); - if (ctx->descriptor_refs_dirty[0]) zink_update_descriptor_refs(ctx, false);