mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-26 23:18:12 +02:00
zink: track image binds
track all the things Acked-by: Dave Airlie <airlied@redhat.com> Reviewed-By: Tatsuyuki Ishi <ishitatsuyuki@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17111>
This commit is contained in:
parent
f5e59958a9
commit
566aaed094
2 changed files with 3 additions and 0 deletions
|
|
@ -1371,6 +1371,7 @@ unbind_shader_image(struct zink_context *ctx, enum pipe_shader_type stage, unsig
|
|||
return;
|
||||
|
||||
struct zink_resource *res = zink_resource(image_view->base.resource);
|
||||
res->image_binds[stage] &= ~BITFIELD_BIT(slot);
|
||||
unbind_shader_image_counts(ctx, res, is_compute, image_view->base.access & PIPE_IMAGE_ACCESS_WRITE);
|
||||
|
||||
if (image_view->base.resource->target == PIPE_BUFFER) {
|
||||
|
|
@ -1505,6 +1506,7 @@ zink_set_shader_images(struct pipe_context *pctx,
|
|||
zink_resource_access_is_write(access));
|
||||
update = true;
|
||||
update_descriptor_state_image(ctx, p_stage, start_slot + i, res);
|
||||
res->image_binds[p_stage] |= BITFIELD_BIT(start_slot + i);
|
||||
} else if (image_view->base.resource) {
|
||||
update = true;
|
||||
|
||||
|
|
|
|||
|
|
@ -136,6 +136,7 @@ struct zink_resource {
|
|||
};
|
||||
};
|
||||
uint32_t sampler_binds[PIPE_SHADER_TYPES];
|
||||
uint32_t image_binds[PIPE_SHADER_TYPES];
|
||||
uint16_t image_bind_count[2]; //gfx, compute
|
||||
uint16_t write_bind_count[2]; //gfx, compute
|
||||
uint16_t bindless[2]; //tex, img
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue