From 2e83aed8b38d9cf20e01c696fb76e0a3d3ac46dc Mon Sep 17 00:00:00 2001 From: Connor Abbott Date: Fri, 26 May 2023 15:42:52 +0200 Subject: [PATCH] vk/graphics_state: Add vk_pipeline_flags_feedback_loops helper This will be useful for combining dynamic and static feedback loop state. Reviewed-by: Lionel Landwerlin Part-of: --- src/vulkan/runtime/vk_graphics_state.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/vulkan/runtime/vk_graphics_state.h b/src/vulkan/runtime/vk_graphics_state.h index c56366a9fbf..d6c8c68b020 100644 --- a/src/vulkan/runtime/vk_graphics_state.h +++ b/src/vulkan/runtime/vk_graphics_state.h @@ -694,6 +694,19 @@ struct vk_render_pass_state { uint8_t depth_stencil_attachment_samples; }; +static inline VkImageAspectFlags +vk_pipeline_flags_feedback_loops(VkPipelineCreateFlags2KHR flags) +{ + VkImageAspectFlags feedback_loops = 0; + if (flags & + VK_PIPELINE_CREATE_2_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT) + feedback_loops |= VK_IMAGE_ASPECT_COLOR_BIT; + if (flags & + VK_PIPELINE_CREATE_2_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT) + feedback_loops |= VK_IMAGE_ASPECT_DEPTH_BIT; + return feedback_loops; +} + /** Struct representing all dynamic graphics state * * Before invoking any core functions, the driver must properly populate