class Frame
Defined at line 33 of file ../../src/ui/lib/escher/renderer/frame.h
Represents a single render pass on a command queue. There may be multiple
frames issuing commands per render draw call. Frame is passed into a
Renderer, which uses it to obtain command buffers, submit partial frames, do
profiling, etc.
Public Members
static const ResourceTypeInfo kTypeInfo
Public Methods
const ResourceTypeInfo & type_info ()
Defined at line 36 of file ../../src/ui/lib/escher/renderer/frame.h
void ~Frame ()
Defined at line 48 of file ../../src/ui/lib/escher/renderer/frame.cc
uint64_t frame_number ()
Defined at line 61 of file ../../src/ui/lib/escher/renderer/frame.h
CommandBuffer * cmds ()
Defined at line 63 of file ../../src/ui/lib/escher/renderer/frame.h
void SubmitPartialFrame (const SemaphorePtr & partial_frame_done)
Submit the current CommandBuffer, and obtain a new CommandBuffer for subsequent commands. If
|partial_frame_done| is not null, it will be signaled when the submitted CommandBuffer is
finished.
Defined at line 84 of file ../../src/ui/lib/escher/renderer/frame.cc
void EndFrame (const SemaphorePtr & frame_done, FrameRetiredCallback frame_retired_callback)
Submit the frame's final CommandBuffer. When it is finished, |frame_done| will be signaled and
|frame_retired_callback| will be invoked; the latter occurs when the command-buffer is cleaned
up in Escher::Cleanup(), perhaps more than a millisecond later.
Defined at line 104 of file ../../src/ui/lib/escher/renderer/frame.cc
void EndFrame (const std::vector<SemaphorePtr> & semaphores, FrameRetiredCallback frame_retired_callback)
Submit the frame's final CommandBuffer. When it is finished, all of the semaphores in the
vector |semaphores| will signaled and |frame_retired_callback| will be invoked; the latter
occurs when the the command-buffer is cleaned up in Escher::Cleanup(), perhaps more than a
millisecond later.
Defined at line 109 of file ../../src/ui/lib/escher/renderer/frame.cc
void DisableLazyPipelineCreation ()
See |CommandBuffer::DisableLazyPipelineCreation()|. Disables lazy pipeline creation on the
frame's current and subsequent CommandBuffers.
Defined at line 175 of file ../../src/ui/lib/escher/renderer/frame.cc
vk::CommandBuffer vk_command_buffer ()
Defined at line 59 of file ../../src/ui/lib/escher/renderer/frame.cc
uint64_t command_buffer_sequence_number ()
Defined at line 65 of file ../../src/ui/lib/escher/renderer/frame.h
BlockAllocator * host_allocator ()
Defined at line 67 of file ../../src/ui/lib/escher/renderer/frame.h
template <typename T>
T * Allocate ()
Allocate temporary CPU memory that is valid until EndFrame() is called.
Defined at line 71 of file ../../src/ui/lib/escher/renderer/frame.h
template <typename T>
T * AllocateMany (size_t count)
Allocate temporary CPU memory that is valid until EndFrame() is called.
Defined at line 77 of file ../../src/ui/lib/escher/renderer/frame.h
UniformAllocation AllocateUniform (size_t size, size_t alignment)
Allocate temporary GPU uniform buffer memory that is valid until the frame is finished
rendering (after EndFrame() is called).
Defined at line 83 of file ../../src/ui/lib/escher/renderer/frame.h
bool use_protected_memory ()
Defined at line 87 of file ../../src/ui/lib/escher/renderer/frame.h
GpuAllocator * gpu_allocator ()
Defined at line 173 of file ../../src/ui/lib/escher/renderer/frame.cc
Friends
class BatchGpuDownloader
class BatchGpuUploader
class FrameManager