class RenderFuncs

Defined at line 20 of file ../../src/ui/lib/escher/renderer/render_funcs.h

Public Methods

RenderFuncs::VertexAttributeBinding * NewVertexAttributeBindings (const MeshAttributeBindingLocations & attribute_binding_locations, BlockAllocator * allocator, const MeshSpec & mesh_spec, uint32_t total_attribute_count)

Allocates and initializes a temporary array of VertexAttributeBindings, one for each attribute

defined by |mesh_spec|. This array is valid until the next time that |allocator| is reset.

The caller must ensure that |mesh_spec.total_attribute_count()| == |total_attribute_count|.

This is passed as an arg because:

- it involves non-negligible bit-shifting to compute

- high-frequency callers will already know the count, e.g. |PaperRenderFuncs::MeshData()|.

Defined at line 69 of file ../../src/ui/lib/escher/renderer/render_funcs.cc

void ObtainDepthAndMsaaTextures (Escher * escher, const FramePtr & frame, uint32_t width, uint32_t height, uint32_t sample_count, bool use_transient_attachment, vk::Format depth_stencil_format, vk::Format msaa_format, TexturePtr & depth_texture_inout, TexturePtr & msaa_texture_inout)

Called in PaperRenderer::BeginFrame() to obtain suitable render targets.

Defined at line 90 of file ../../src/ui/lib/escher/renderer/render_funcs.cc

void ObtainDepthTexture (Escher * escher, const bool use_protected_memory, const ImageInfo & info, vk::Format depth_stencil_format, TexturePtr & depth_texture_in_out)

Updates or replaces the passed in depth texture (depth_texture_in_out) based on the provided

ImageInfo and vk::Format. If the texture pointer is null, a new texture will be allocated.

Defined at line 154 of file ../../src/ui/lib/escher/renderer/render_funcs.cc

Records