diff --git a/src/gallium/drivers/zink/zink_batch.c b/src/gallium/drivers/zink/zink_batch.c index ddc480d37e4..fc4f7f6daba 100644 --- a/src/gallium/drivers/zink/zink_batch.c +++ b/src/gallium/drivers/zink/zink_batch.c @@ -179,12 +179,12 @@ zink_batch_reference_sampler_view(struct zink_batch *batch, void zink_batch_reference_program(struct zink_batch *batch, - struct zink_gfx_program *prog) + struct pipe_reference *prog) { struct set_entry *entry = _mesa_set_search(batch->programs, prog); if (!entry) { entry = _mesa_set_add(batch->programs, prog); - pipe_reference(NULL, &prog->reference); + pipe_reference(NULL, prog); } } diff --git a/src/gallium/drivers/zink/zink_batch.h b/src/gallium/drivers/zink/zink_batch.h index a6e7fa19545..5b3577d2023 100644 --- a/src/gallium/drivers/zink/zink_batch.h +++ b/src/gallium/drivers/zink/zink_batch.h @@ -29,10 +29,11 @@ #include "util/list.h" #include "util/u_dynarray.h" +struct pipe_reference; + struct zink_context; struct zink_fence; struct zink_framebuffer; -struct zink_gfx_program; struct zink_render_pass; struct zink_resource; struct zink_screen; @@ -84,7 +85,7 @@ zink_batch_reference_sampler_view(struct zink_batch *batch, void zink_batch_reference_program(struct zink_batch *batch, - struct zink_gfx_program *prog); + struct pipe_reference *prog); void zink_batch_reference_surface(struct zink_batch *batch, diff --git a/src/gallium/drivers/zink/zink_draw.c b/src/gallium/drivers/zink/zink_draw.c index 90ec5317556..78ca00b0771 100644 --- a/src/gallium/drivers/zink/zink_draw.c +++ b/src/gallium/drivers/zink/zink_draw.c @@ -525,7 +525,7 @@ zink_draw_vbo(struct pipe_context *pctx, batch = zink_batch_rp(ctx); assert(batch->descs_left >= gfx_program->num_descriptors); } - zink_batch_reference_program(batch, ctx->curr_program); + zink_batch_reference_program(batch, &ctx->curr_program->reference); VkDescriptorSet desc_set = allocate_descriptor_set(screen, batch, gfx_program);