class FlatlandPresenterImpl

Defined at line 21 of file ../../src/ui/scenic/lib/flatland/flatland_presenter_impl.h

Public Methods

void FlatlandPresenterImpl (async_dispatcher_t * main_dispatcher, scheduling::FrameScheduler & frame_scheduler)

The |main_dispatcher| must be the dispatcher that GFX sessions run and update on. That thread

is typically refered to as the "main thread" or "render thread".

FrameScheduler is what FlatlandPresenterImpl will use for frame scheduling calls.

Defined at line 18 of file ../../src/ui/scenic/lib/flatland/flatland_presenter_impl.cc

std::vector<zx::event> TakeReleaseFences ()

Return all release fences that were accumulated during calls to UpdateSessions(). The caller

takes responsibility for signaling these fences when it is safe for clients to reuse the

associated resources.

Defined at line 42 of file ../../src/ui/scenic/lib/flatland/flatland_presenter_impl.cc

void ScheduleUpdateForSession (zx::time requested_presentation_time, scheduling::SchedulingIdPair id_pair, bool unsquashable, std::vector<zx::event> release_fences, bool schedule_asap)

|FlatlandPresenter|

Defined at line 51 of file ../../src/ui/scenic/lib/flatland/flatland_presenter_impl.cc

std::vector<scheduling::FuturePresentationInfo> GetFuturePresentationInfos ()

|FlatlandPresenter|.

Defined at line 73 of file ../../src/ui/scenic/lib/flatland/flatland_presenter_impl.cc

void RemoveSession (scheduling::SessionId session_id, std::optional<zx::event> release_fence)

|FlatlandPresenter|

Defined at line 79 of file ../../src/ui/scenic/lib/flatland/flatland_presenter_impl.cc

void AccumulateReleaseFences (const std::unordered_map<scheduling::SessionId, scheduling::PresentId> & sessions_to_update)

Called at FrameScheduler's UpdateSessions() time.

Takes the release fences up to the corresponding PresentId for each SessionId in

|sessions_to_update| and moves them to the set of fences to be returned by the next call to

TakeReleaseFences().

This way the caller can get all fences accumulated since the last call to

TakeReleaseFences(), i.e. the complete set of fences for one frame (allowing for multiple

UpdateSessions() calls per frame).

Defined at line 22 of file ../../src/ui/scenic/lib/flatland/flatland_presenter_impl.cc