diff --git a/src/gallium/drivers/zink/zink_context.h b/src/gallium/drivers/zink/zink_context.h index e7de56188d9..f124731fd88 100644 --- a/src/gallium/drivers/zink/zink_context.h +++ b/src/gallium/drivers/zink/zink_context.h @@ -85,6 +85,33 @@ zink_is_zsbuf_write(const struct zink_context *ctx) ctx->dynamic_fb.tc_info.zsbuf_clear || ctx->dynamic_fb.tc_info.zsbuf_clear_partial; } +#define ALL_READ_ACCESS_FLAGS \ + (VK_ACCESS_INDIRECT_COMMAND_READ_BIT | \ + VK_ACCESS_INDEX_READ_BIT | \ + VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT | \ + VK_ACCESS_UNIFORM_READ_BIT | \ + VK_ACCESS_INPUT_ATTACHMENT_READ_BIT | \ + VK_ACCESS_SHADER_READ_BIT | \ + VK_ACCESS_COLOR_ATTACHMENT_READ_BIT | \ + VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT | \ + VK_ACCESS_TRANSFER_READ_BIT |\ + VK_ACCESS_HOST_READ_BIT |\ + VK_ACCESS_MEMORY_READ_BIT |\ + VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT |\ + VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT |\ + VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT |\ + VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR |\ + VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR |\ + VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT |\ + VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV |\ + VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR |\ + VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR) +static ALWAYS_INLINE bool +zink_resource_access_is_write(VkAccessFlags flags) +{ + return (flags & ~ALL_READ_ACCESS_FLAGS) > 0; +} + void zink_fence_wait(struct pipe_context *ctx); diff --git a/src/gallium/drivers/zink/zink_synchronization.cpp b/src/gallium/drivers/zink/zink_synchronization.cpp index 2ce672aa0e9..9317d33834e 100644 --- a/src/gallium/drivers/zink/zink_synchronization.cpp +++ b/src/gallium/drivers/zink/zink_synchronization.cpp @@ -30,34 +30,6 @@ #include "zink_resource.h" #include "zink_screen.h" -#define ALL_READ_ACCESS_FLAGS \ - (VK_ACCESS_INDIRECT_COMMAND_READ_BIT | \ - VK_ACCESS_INDEX_READ_BIT | \ - VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT | \ - VK_ACCESS_UNIFORM_READ_BIT | \ - VK_ACCESS_INPUT_ATTACHMENT_READ_BIT | \ - VK_ACCESS_SHADER_READ_BIT | \ - VK_ACCESS_COLOR_ATTACHMENT_READ_BIT | \ - VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT | \ - VK_ACCESS_TRANSFER_READ_BIT |\ - VK_ACCESS_HOST_READ_BIT |\ - VK_ACCESS_MEMORY_READ_BIT |\ - VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT |\ - VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT |\ - VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT |\ - VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR |\ - VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR |\ - VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT |\ - VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV |\ - VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR |\ - VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR) - - -bool -zink_resource_access_is_write(VkAccessFlags flags) -{ - return (flags & ~ALL_READ_ACCESS_FLAGS) > 0; -} static bool zink_resource_image_needs_barrier(struct zink_resource *res, VkImageLayout new_layout, VkAccessFlags flags, VkPipelineStageFlags pipeline)