class RenderPass
Defined at line 53 of file ../../src/ui/lib/escher/third_party/granite/vk/render_pass.h
RenderPass encapsulates a Vulkan render pass. Once constructed, it behaves
as a simple container. However, the construction process is fairly involved,
due to the boilerplate required by Vulkan. See the constructor comment for
additional details, as well as the RenderPassInfo documentation.
NOTE: this class is an implementation detail of CommandBuffer; Escher clients
are never directly exposed to it. Instead, they use RenderPassInfo.
TODO(https://fxbug.dev/42151081): RenderPass and Framebuffer are deprecated, to be replaced by
impl::RenderPass and impl::Framebuffer. The latter two aren't visible to
Escher clients; they are an implementation detail of escher::CommandBuffer
(NOTE: NOT escher::impl::CommandBuffer, which is also deprecated).
Public Members
static TypeInfo kTypeInfo
Public Methods
const ResourceTypeInfo & type_info ()
Defined at line 56 of file ../../src/ui/lib/escher/third_party/granite/vk/render_pass.h
uint32_t num_subpasses ()
Defined at line 78 of file ../../src/ui/lib/escher/third_party/granite/vk/render_pass.h
uint32_t num_color_attachments ()
Defined at line 79 of file ../../src/ui/lib/escher/third_party/granite/vk/render_pass.h
vk::RenderPass vk ()
Defined at line 81 of file ../../src/ui/lib/escher/third_party/granite/vk/render_pass.h
vk::ImageLayout GetColorAttachmentFinalLayout (size_t index)
Defined at line 83 of file ../../src/ui/lib/escher/third_party/granite/vk/render_pass.h
vk::ImageLayout GetDepthStencilAttachmentFinalLayout ()
Defined at line 88 of file ../../src/ui/lib/escher/third_party/granite/vk/render_pass.h
void RenderPass (ResourceRecycler * recycler, const RenderPassInfo & info)
In order to create a VkRenderPass, Vulkan requires explicit info about e.g.
which attachments are used in which subpasses, which subpasses are depended
upon by other subpasses, which image layouts should be used by for each
image in each subpass, etc. This constructor takes a RenderPassInfo as
input, from which it generates a VkRenderPassCreateInfo containing the
explicit specification required by Vulkan. See RenderPassInfo for more
details.
Defined at line 246 of file ../../src/ui/lib/escher/third_party/granite/vk/render_pass.cc
void ~RenderPass ()
Defined at line 753 of file ../../src/ui/lib/escher/third_party/granite/vk/render_pass.cc
vk::SampleCountFlagBits SubpassSamples (uint32_t subpass)
Inline method definitions.
Defined at line 121 of file ../../src/ui/lib/escher/third_party/granite/vk/render_pass.h
uint32_t GetColorAttachmentCountForSubpass (uint32_t subpass)
Defined at line 126 of file ../../src/ui/lib/escher/third_party/granite/vk/render_pass.h
uint32_t GetInputAttachmentCountForSubpass (uint32_t subpass)
Defined at line 131 of file ../../src/ui/lib/escher/third_party/granite/vk/render_pass.h
const vk::AttachmentReference & GetColorAttachmentForSubpass (uint32_t subpass, uint32_t index)
Defined at line 136 of file ../../src/ui/lib/escher/third_party/granite/vk/render_pass.h
const vk::AttachmentReference & GetInputAttachmentForSubpass (uint32_t subpass, uint32_t index)
Defined at line 143 of file ../../src/ui/lib/escher/third_party/granite/vk/render_pass.h
bool SubpassHasDepth (uint32_t subpass_index)
Defined at line 741 of file ../../src/ui/lib/escher/third_party/granite/vk/render_pass.cc
bool SubpassHasStencil (uint32_t subpass_index)
Defined at line 747 of file ../../src/ui/lib/escher/third_party/granite/vk/render_pass.cc