this lets us reuse the function for gfx and compute programs without much
churn, since in C we can use a pointer to the first member of a struct and
a pointer to the struct interchangeably
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8781>
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);
}
}
#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;
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,
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);