5 #ifndef FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_RENDER_PASS_BUILDER_VK_H_
6 #define FLUTTER_IMPELLER_RENDERER_BACKEND_VULKAN_RENDER_PASS_BUILDER_VK_H_
37 vk::ImageLayout current_layout = vk::ImageLayout::eUndefined,
38 bool is_swapchain =
false);
50 vk::UniqueRenderPass
Build(
const vk::Device& device)
const;
57 const std::map<size_t, vk::AttachmentDescription>&
GetResolves()
const;
60 const std::optional<vk::AttachmentDescription>&
GetDepthStencil()
const;
63 std::optional<vk::AttachmentDescription>
GetColor0()
const;
69 std::optional<vk::AttachmentDescription> color0_;
70 std::optional<vk::AttachmentDescription> color0_resolve_;
71 std::optional<vk::AttachmentDescription> depth_stencil_;
74 std::map<size_t, vk::AttachmentDescription> colors_;
75 std::map<size_t, vk::AttachmentDescription> resolves_;
94 const vk::Image& image);
std::optional< vk::AttachmentDescription > GetColor0() const
RenderPassBuilderVK & SetDepthStencilAttachment(PixelFormat format, SampleCount sample_count, LoadAction load_action, StoreAction store_action)
const std::map< size_t, vk::AttachmentDescription > & GetColorAttachments() const
const std::map< size_t, vk::AttachmentDescription > & GetResolves() const
RenderPassBuilderVK & SetStencilAttachment(PixelFormat format, SampleCount sample_count, LoadAction load_action, StoreAction store_action)
const std::optional< vk::AttachmentDescription > & GetDepthStencil() const
RenderPassBuilderVK & operator=(const RenderPassBuilderVK &)=delete
RenderPassBuilderVK & SetColorAttachment(size_t index, PixelFormat format, SampleCount sample_count, LoadAction load_action, StoreAction store_action, vk::ImageLayout current_layout=vk::ImageLayout::eUndefined, bool is_swapchain=false)
RenderPassBuilderVK(const RenderPassBuilderVK &)=delete
vk::UniqueRenderPass Build(const vk::Device &device) const
std::optional< vk::AttachmentDescription > GetColor0Resolve() const
PixelFormat
The Pixel formats supported by Impeller. The naming convention denotes the usage of the component,...
static constexpr size_t kMaxAttachments
void InsertBarrierForInputAttachmentRead(const vk::CommandBuffer &buffer, const vk::Image &image)
Inserts the appropriate barriers to ensure that subsequent commands can read from the specified image...
static constexpr size_t kMaxColorAttachments