From e46b0e87f226a778f5c0dafd98875eafc8f3aee4 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Thu, 21 Jan 2021 14:40:09 -0500 Subject: [PATCH] zink: mark some buffer barrier functions inline/static minor optimization Reviewed-by: Dave Airlie Part-of: --- src/gallium/drivers/zink/zink_context.c | 8 +++++--- src/gallium/drivers/zink/zink_context.h | 6 ------ 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/src/gallium/drivers/zink/zink_context.c b/src/gallium/drivers/zink/zink_context.c index c0ab856c2e5..e953a02ff08 100644 --- a/src/gallium/drivers/zink/zink_context.c +++ b/src/gallium/drivers/zink/zink_context.c @@ -2001,7 +2001,7 @@ zink_pipeline_flags_from_stage(VkShaderStageFlagBits stage) } } -static VkPipelineStageFlags +ALWAYS_INLINE static VkPipelineStageFlags pipeline_access_stage(VkAccessFlags flags) { if (flags & (VK_ACCESS_UNIFORM_READ_BIT | @@ -2019,9 +2019,11 @@ pipeline_access_stage(VkAccessFlags flags) return VK_PIPELINE_STAGE_TRANSFER_BIT; } -bool +ALWAYS_INLINE static bool zink_resource_buffer_needs_barrier(struct zink_resource *res, VkAccessFlags flags, VkPipelineStageFlags pipeline) { + if (!res->access || !res->access_stage) + return true; if (!pipeline) pipeline = pipeline_access_stage(flags); return (res->access_stage & pipeline) != pipeline || (res->access & flags) != flags || @@ -2029,7 +2031,7 @@ zink_resource_buffer_needs_barrier(struct zink_resource *res, VkAccessFlags flag zink_resource_access_is_write(flags); } -bool +ALWAYS_INLINE static bool zink_resource_buffer_barrier_init(VkBufferMemoryBarrier *bmb, struct zink_resource *res, VkAccessFlags flags, VkPipelineStageFlags pipeline) { if (!pipeline) diff --git a/src/gallium/drivers/zink/zink_context.h b/src/gallium/drivers/zink/zink_context.h index cf9e4bbe85f..edf2189b704 100644 --- a/src/gallium/drivers/zink/zink_context.h +++ b/src/gallium/drivers/zink/zink_context.h @@ -301,12 +301,6 @@ zink_maybe_flush_or_stall(struct zink_context *ctx); bool zink_resource_access_is_write(VkAccessFlags flags); -bool -zink_resource_buffer_needs_barrier(struct zink_resource *res, VkAccessFlags flags, VkPipelineStageFlags pipeline); - -bool -zink_resource_buffer_barrier_init(VkBufferMemoryBarrier *bmb, struct zink_resource *res, VkAccessFlags flags, VkPipelineStageFlags pipeline); - void zink_resource_buffer_barrier(struct zink_context *ctx, struct zink_batch *batch, struct zink_resource *res, VkAccessFlags flags, VkPipelineStageFlags pipeline);