class UniformBufferPool

Defined at line 24 of file ../../src/ui/lib/escher/impl/uniform_buffer_pool.h

Vends host-accessible Buffers whose resources are automatically returned

to the pool upon destruction. If necessary, it will grow by creating new

buffers (and allocating backing memory for them). |additional_flags| allows

the user to customize the memory that is allocated by the pool; by default,

only eHostVisible is used. Not thread-safe.

Public Methods

void UniformBufferPool (EscherWeakPtr escher, size_t ring_size, GpuAllocator * allocator, vk::MemoryPropertyFlags additional_flags)

Defined at line 18 of file ../../src/ui/lib/escher/impl/uniform_buffer_pool.cc

void ~UniformBufferPool ()

Defined at line 30 of file ../../src/ui/lib/escher/impl/uniform_buffer_pool.cc

UniformBufferPoolWeakPtr GetWeakPtr ()

Defined at line 32 of file ../../src/ui/lib/escher/impl/uniform_buffer_pool.h

BufferPtr Allocate ()

Allocate a buffer that will be returned to this pool when the last

reference to it is dropped.

Defined at line 32 of file ../../src/ui/lib/escher/impl/uniform_buffer_pool.cc

vk::DeviceSize buffer_size ()

Return the size of buffers allocated by this allocator; constant over the

allocator's lifetime.

NOTE: this value is currently always 64kB, which is a typical max-size for

Vulkan uniform buffers.

Defined at line 47 of file ../../src/ui/lib/escher/impl/uniform_buffer_pool.h

void BeginFrame ()

Rotate the ring buffer so that buffers freed in previous frames are moved

toward the front.

Defined at line 96 of file ../../src/ui/lib/escher/impl/uniform_buffer_pool.cc