mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-04 20:38:06 +02:00
zink: add general zink_resource_barrier() wrapper
this simplifies a bit of code where we may want to be throwing in barriers regardless of the resource type Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8945>
This commit is contained in:
parent
6cbd25c04b
commit
466efcb247
3 changed files with 13 additions and 6 deletions
|
|
@ -1223,6 +1223,15 @@ zink_resource_needs_barrier(struct zink_resource *res, VkImageLayout layout, VkA
|
|||
return zink_resource_image_needs_barrier(res, layout, flags, pipeline);
|
||||
}
|
||||
|
||||
void
|
||||
zink_resource_barrier(struct zink_batch *batch, struct zink_resource *res, VkImageLayout layout, VkAccessFlags flags, VkPipelineStageFlags pipeline)
|
||||
{
|
||||
if (res->base.target == PIPE_BUFFER)
|
||||
zink_resource_buffer_barrier(batch, res, flags, pipeline);
|
||||
else
|
||||
zink_resource_image_barrier(batch, res, layout, flags, pipeline);
|
||||
}
|
||||
|
||||
VkShaderStageFlagBits
|
||||
zink_shader_stage(enum pipe_shader_type type)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -225,6 +225,8 @@ zink_resource_image_barrier(struct zink_batch *batch, struct zink_resource *res,
|
|||
|
||||
bool
|
||||
zink_resource_needs_barrier(struct zink_resource *res, VkImageLayout layout, VkAccessFlags flags, VkPipelineStageFlags pipeline);
|
||||
void
|
||||
zink_resource_barrier(struct zink_batch *batch, struct zink_resource *res, VkImageLayout layout, VkAccessFlags flags, VkPipelineStageFlags pipeline);
|
||||
|
||||
void
|
||||
zink_begin_render_pass(struct zink_context *ctx,
|
||||
|
|
|
|||
|
|
@ -497,12 +497,8 @@ update_descriptors(struct zink_context *ctx, struct zink_screen *screen, bool is
|
|||
else
|
||||
batch = zink_batch_no_rp(ctx);
|
||||
|
||||
if (transitions[i].res->base.target == PIPE_BUFFER)
|
||||
zink_resource_buffer_barrier(batch, transitions[i].res,
|
||||
transitions[i].access, transitions[i].stage);
|
||||
else
|
||||
zink_resource_image_barrier(batch, transitions[i].res,
|
||||
transitions[i].layout, transitions[i].access, transitions[i].stage);
|
||||
zink_resource_barrier(batch, transitions[i].res,
|
||||
transitions[i].layout, transitions[i].access, transitions[i].stage);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue