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

Records