|
Bicameral Engine
GPU-resident engine for a magic-research open-world game
|
Public Member Functions | |
| FrameLoop (const FrameLoopOptions &options, FrameLoopParts &&parts) | |
| bool | CreateFrameSlots () |
| bool | CreateEditor () |
| bool | CreateSavePoints () |
| int | Run () |
Private Member Functions | |
| bool | RecordRenderLists () |
| bool | HandleResize () |
| void | SubmitRender () |
| bool | WantsScreenshot () const |
| bool | SubmitScreenshot () |
| bool | WriteScreenshot () |
| bool | NeedsStopExtraction () const |
| void | CollectSimSubmissions () |
| void | ReportSimReadback (const sim::ProbeFrameReadback &readback) |
| void | ReportEvents (const sim::ProbeFrameReadback &readback) |
| void | CheckPhysics (const sim::ProbeTickHash &tickHash) |
| void | CollectFrameSlot (uint32_t slotIndex) |
| void | QueueClicks () |
| void | ApplyPeekChange () |
| void | QueuePushes () |
| std::vector< sim::ProbeCommand > | TakeCommands (SimCursor start) |
| std::vector< sim::ProbeCommand > | TakeClickCommands (uint64_t applyTick, uint32_t limit) |
| void | TakeTableSwaps (SimCursor start, uint32_t limit, std::vector< sim::ProbeCommand > &commands) |
| bool | FinishReplay () |
| bool | SubmitSim () |
| void | RequestTrace () |
| void | StartRequestedTrace (SimCursor start) |
| void | CollectTrace (const sim::ProbeFrameReadback &readback) |
| bool | FinishTrace () |
| bool | RunFrame (Clock::time_point frameStart) |
| int | Finish (bool failed, Clock::time_point start) |
| bool | IsDeviceLost () const |
| void | BuildEditor () |
| bool | SubmitEditor () |
| void | ApplyTimeRequest (const editor::TimeRequest &request) |
| void | CheckAutoTime () |
| void | FilterEditorInput (std::vector< InputEvent > &events) const |
| editor::EditorStatus | MakeEditorStatus () const |
| editor::GraphPanelStatus | MakeGraphPanelStatus () const |
| std::string | RewindUnavailableReason () const |
| std::vector< uint64_t > | SavePointTicks () const |
| void | RequestRewind (uint64_t tick) |
| uint32_t | PrepareRewind () |
| uint32_t | SaveSlotFor (SimCursor start, uint32_t unitCount, uint32_t restoreFrom) const |
| std::vector< sim::ProbeCommand > | TakeLiveCommands (uint64_t applyTick, uint64_t endApplyTick, uint32_t limit) |
| void | CheckAutoRewind () |
| void | LogStats (const Stats &stats, Clock::duration elapsed, std::string_view label) const |
| void | AddStats (const Stats &frame) |
Definition at line 199 of file frame_loop.cpp.
|
inline |
Definition at line 201 of file frame_loop.cpp.
References m_compute, m_device, m_direct, m_options, m_peek, m_replay, m_sim, m_swapChain, m_tableReload, m_view, m_viewController, m_window, and bicameral::frame::FrameLoopOptions::packageRoot.
|
private |
Definition at line 1396 of file frame_loop.cpp.
References bicameral::gpu::AccumulateGraphStats(), AddStats(), and m_total.
Referenced by AddStats(), Finish(), and Run().
|
private |
Definition at line 836 of file frame_loop.cpp.
References ApplyPeekChange(), bicameral::render::PeekView::cell, m_peek, m_viewController, bicameral::sim::PEEK_LEVEL_COUNT, bicameral::render::PEEK_MAX_DEPTH, bicameral::render::PeekView::peeking, bicameral::render::CellCoordinate::x, bicameral::render::CellCoordinate::y, and bicameral::render::CellCoordinate::z.
Referenced by ApplyPeekChange(), and QueueClicks().
|
private |
Definition at line 1141 of file frame_loop.cpp.
References bicameral::editor::TimeRequest::Any(), ApplyTimeRequest(), bicameral::Info, bicameral::Log(), m_scheduler, m_timeControl, bicameral::Sim, bicameral::frame::SimCursor::tick, and bicameral::frame::SimCursor::unit.
Referenced by ApplyTimeRequest(), and BuildEditor().
|
private |
Definition at line 1113 of file frame_loop.cpp.
References bicameral::editor::TimeRequest::Any(), ApplyTimeRequest(), bicameral::frame::anonymous_namespace{frame_loop.cpp}::AutoTimeRequest(), BuildEditor(), CheckAutoRewind(), CheckAutoTime(), m_editor, m_frameNumber, m_options, m_timeControl, MakeEditorStatus(), RequestRewind(), and bicameral::editor::TimeRequest::rewindTick.
Referenced by BuildEditor(), and RunFrame().
|
private |
Definition at line 1385 of file frame_loop.cpp.
References CheckAutoRewind(), m_options, m_rewindCount, m_rewindRequest, RequestRewind(), and SavePointTicks().
Referenced by BuildEditor(), and CheckAutoRewind().
|
private |
Definition at line 1153 of file frame_loop.cpp.
References bicameral::frame::anonymous_namespace{frame_loop.cpp}::AUTO_TIME_HOLD_CHECK_FRAME, bicameral::frame::anonymous_namespace{frame_loop.cpp}::AUTO_TIME_HOLD_FRAME, bicameral::frame::anonymous_namespace{frame_loop.cpp}::AUTO_TIME_STEP_CHECK_FRAME, bicameral::frame::anonymous_namespace{frame_loop.cpp}::AUTO_TIME_STEP_FRAMES, CheckAutoTime(), bicameral::Error, bicameral::Log(), m_autoTimeFailed, m_autoTimeHold, m_frameNumber, m_scheduler, bicameral::Sim, bicameral::frame::SimCursor::tick, and bicameral::frame::SimCursor::unit.
Referenced by BuildEditor(), and CheckAutoTime().
|
private |
Definition at line 675 of file frame_loop.cpp.
References bicameral::sim::ProbeTickHash::bodyHash, CheckPhysics(), bicameral::Error, bicameral::Log(), m_physicsCheck, m_physicsCheckMismatches, m_physicsCheckPushes, bicameral::frame::anonymous_namespace{frame_loop.cpp}::PushFromCommand(), bicameral::Sim, and bicameral::sim::ProbeTickHash::tick.
Referenced by CheckPhysics(), and ReportSimReadback().
|
private |
Definition at line 737 of file frame_loop.cpp.
References CollectFrameSlot(), bicameral::frame::anonymous_namespace{frame_loop.cpp}::FRAME_SLOT_COUNT, m_direct, m_directFrequency, m_frames, m_interval, m_renderTimestampReadback, m_scheduler, bicameral::gpu::ReadBuffer(), bicameral::frame::anonymous_namespace{frame_loop.cpp}::FrameSlot::renderFence, bicameral::frame::anonymous_namespace{frame_loop.cpp}::TimestampMilliseconds(), and bicameral::frame::anonymous_namespace{frame_loop.cpp}::TIMESTAMPS_PER_FRAME.
Referenced by CollectFrameSlot(), HandleResize(), and SubmitRender().
|
private |
Definition at line 609 of file frame_loop.cpp.
References CollectSimSubmissions(), bicameral::frame::anonymous_namespace{frame_loop.cpp}::SimSubmission::extraction, bicameral::frame::anonymous_namespace{frame_loop.cpp}::SimSubmission::extractionTick, bicameral::frame::anonymous_namespace{frame_loop.cpp}::SimSubmission::fence, m_completedExtraction, m_compute, m_sim, m_simSubmissionCount, m_simSubmissions, bicameral::frame::anonymous_namespace{frame_loop.cpp}::SimSubmission::read, ReportSimReadback(), and bicameral::frame::anonymous_namespace{frame_loop.cpp}::SIM_SLOT_COUNT.
Referenced by CollectSimSubmissions(), Finish(), HandleResize(), PrepareRewind(), and RunFrame().
|
private |
Definition at line 1642 of file frame_loop.cpp.
References bicameral::frame::TraceCapture::Add(), CollectTrace(), bicameral::sim::ProbeFrameReadback::droppedTraceCount, bicameral::Error, bicameral::frame::TraceCapture::IsComplete(), bicameral::Log(), m_latestHash, m_sim, m_traceCapture, m_traceWriteFailed, bicameral::Sim, bicameral::sim::ProbeFrameReadback::trace, and bicameral::frame::TraceCapture::Write().
Referenced by CollectTrace(), and ReportSimReadback().
|
nodiscard |
Definition at line 1079 of file frame_loop.cpp.
References bicameral::editor::EditorOverlay::Create(), CreateEditor(), bicameral::Error, bicameral::gpu::SwapChain::FORMAT, bicameral::frame::anonymous_namespace{frame_loop.cpp}::FRAME_SLOT_COUNT, bicameral::Log(), m_device, m_direct, m_editor, m_options, m_window, and bicameral::Render.
Referenced by CreateEditor().
|
nodiscard |
Definition at line 521 of file frame_loop.cpp.
References bicameral::frame::anonymous_namespace{frame_loop.cpp}::CONSTANTS_BYTES, bicameral::gpu::CreateBuffer(), CreateFrameSlots(), bicameral::frame::anonymous_namespace{frame_loop.cpp}::FRAME_SLOT_COUNT, m_device, m_frames, m_renderTimestampReadback, m_renderTimestamps, bicameral::gpu::Readback, RecordRenderLists(), bicameral::frame::anonymous_namespace{frame_loop.cpp}::TIMESTAMPS_PER_FRAME, and bicameral::gpu::Upload.
Referenced by CreateFrameSlots().
|
nodiscard |
Definition at line 1246 of file frame_loop.cpp.
References bicameral::frame::AUTO_SAVE_POINTS, CreateSavePoints(), bicameral::frame::DEFAULT_EDITOR_SAVE_POINTS, bicameral::Error, bicameral::Info, bicameral::Log(), m_device, m_options, m_savePointCount, m_scheduler, m_sim, bicameral::frame::MAX_SAVE_POINTS, and bicameral::Sim.
Referenced by CreateSavePoints().
|
private |
Definition at line 1098 of file frame_loop.cpp.
References bicameral::ButtonDown, FilterEditorInput(), bicameral::KeyDown, bicameral::InputEvent::kind, m_editor, and bicameral::Wheel.
Referenced by FilterEditorInput(), and QueueClicks().
|
private |
Definition at line 1544 of file frame_loop.cpp.
References AddStats(), CollectSimSubmissions(), bicameral::Core, bicameral::Error, Finish(), FinishReplay(), FinishTrace(), bicameral::Gpu, IsDeviceLost(), bicameral::Log(), bicameral::gpu::LogDeviceRemoved(), LogStats(), m_autoTimeFailed, m_compute, m_device, m_direct, m_editor, m_interval, m_options, m_rewindCount, m_screenshot, m_total, bicameral::Render, bicameral::Sim, and WriteScreenshot().
Referenced by Finish(), and Run().
|
nodiscardprivate |
Definition at line 1676 of file frame_loop.cpp.
References bicameral::save::ReplayFile::commands, bicameral::Error, bicameral::save::ReplayPlayer::Finished(), FinishReplay(), bicameral::save::ReplayPlayer::HashCount(), bicameral::Info, bicameral::save::ReplayPlayer::LateCommands(), bicameral::Log(), m_options, m_recorder, m_replay, bicameral::save::ReplayPlayer::Matches(), bicameral::save::ReplayPlayer::Mismatches(), bicameral::save::ReplayPlayer::Passed(), bicameral::Sim, bicameral::save::ReplayFile::tickHashes, bicameral::ToUtf8(), and bicameral::save::WriteReplayFile().
Referenced by Finish(), and FinishReplay().
|
nodiscardprivate |
Definition at line 1662 of file frame_loop.cpp.
References bicameral::Error, FinishTrace(), bicameral::Log(), m_traceCapture, m_traceWriteFailed, and bicameral::Sim.
Referenced by Finish(), and FinishTrace().
|
private |
Definition at line 585 of file frame_loop.cpp.
References CollectFrameSlot(), CollectSimSubmissions(), bicameral::frame::anonymous_namespace{frame_loop.cpp}::FRAME_SLOT_COUNT, HandleResize(), bicameral::Info, bicameral::Log(), m_compute, m_device, m_direct, m_swapChain, m_window, RecordRenderLists(), and bicameral::Render.
Referenced by HandleResize(), and Run().
|
nodiscardprivate |
Definition at line 1072 of file frame_loop.cpp.
References IsDeviceLost(), m_compute, m_device, and m_direct.
Referenced by Finish(), IsDeviceLost(), and RunFrame().
|
private |
Definition at line 1415 of file frame_loop.cpp.
References bicameral::frame::anonymous_namespace{frame_loop.cpp}::Stats::conductGraph, bicameral::Core, bicameral::frame::anonymous_namespace{frame_loop.cpp}::Stats::cpuMaxMilliseconds, bicameral::frame::anonymous_namespace{frame_loop.cpp}::Stats::cpuMilliseconds, bicameral::frame::anonymous_namespace{frame_loop.cpp}::Stats::cpuWaits, bicameral::frame::anonymous_namespace{frame_loop.cpp}::Stats::events, bicameral::gpu::FormatGraphStats(), bicameral::frame::anonymous_namespace{frame_loop.cpp}::Stats::frames, bicameral::Info, bicameral::Log(), LogStats(), m_latestHash, m_scheduler, m_sim, bicameral::gpu::GraphStatsSnapshot::nodes, bicameral::frame::anonymous_namespace{frame_loop.cpp}::Stats::presentMilliseconds, bicameral::frame::anonymous_namespace{frame_loop.cpp}::Stats::renderFramesMeasured, bicameral::frame::anonymous_namespace{frame_loop.cpp}::Stats::renderGpuMilliseconds, bicameral::frame::anonymous_namespace{frame_loop.cpp}::Stats::simGpuMilliseconds, bicameral::frame::anonymous_namespace{frame_loop.cpp}::Stats::simSubmissions, bicameral::frame::anonymous_namespace{frame_loop.cpp}::Stats::simSubmissionsMeasured, bicameral::frame::anonymous_namespace{frame_loop.cpp}::Stats::skippedExtractions, bicameral::frame::anonymous_namespace{frame_loop.cpp}::Stats::skippedSubmissions, bicameral::frame::anonymous_namespace{frame_loop.cpp}::Stats::ticks, bicameral::frame::anonymous_namespace{frame_loop.cpp}::Stats::units, and bicameral::WorkGraph.
Referenced by Finish(), LogStats(), and Run().
|
nodiscardprivate |
Definition at line 1170 of file frame_loop.cpp.
References bicameral::frame::anonymous_namespace{frame_loop.cpp}::Stats::cpuMilliseconds, bicameral::frame::anonymous_namespace{frame_loop.cpp}::Stats::frames, m_lastInterval, m_lastIntervalSeconds, m_latestHash, m_options, m_pendingCommands, m_replay, m_scheduler, m_tableReload, m_viewController, MakeEditorStatus(), MakeGraphPanelStatus(), bicameral::frame::anonymous_namespace{frame_loop.cpp}::Stats::renderFramesMeasured, bicameral::frame::anonymous_namespace{frame_loop.cpp}::Stats::renderGpuMilliseconds, RewindUnavailableReason(), SavePointTicks(), bicameral::frame::anonymous_namespace{frame_loop.cpp}::Stats::simGpuMilliseconds, bicameral::frame::anonymous_namespace{frame_loop.cpp}::Stats::simSubmissionsMeasured, bicameral::frame::SimCursor::tick, bicameral::frame::anonymous_namespace{frame_loop.cpp}::Stats::ticks, and bicameral::frame::SimCursor::unit.
Referenced by BuildEditor(), and MakeEditorStatus().
|
nodiscardprivate |
Definition at line 1216 of file frame_loop.cpp.
References bicameral::frame::anonymous_namespace{frame_loop.cpp}::Stats::conductGraph, m_lastInterval, m_sim, MakeGraphPanelStatus(), bicameral::frame::anonymous_namespace{frame_loop.cpp}::Stats::ticks, bicameral::frame::anonymous_namespace{frame_loop.cpp}::Stats::unitGpuMilliseconds, and bicameral::editor::GraphPanelStatus::units.
Referenced by MakeEditorStatus(), and MakeGraphPanelStatus().
|
nodiscardprivate |
Definition at line 1015 of file frame_loop.cpp.
References m_lastExtractionTick, m_options, m_scheduler, and NeedsStopExtraction().
Referenced by NeedsStopExtraction(), and SubmitSim().
|
nodiscardprivate |
Definition at line 1308 of file frame_loop.cpp.
References CollectSimSubmissions(), bicameral::Info, bicameral::Log(), m_commandHistory, m_compute, m_extractAfterRewind, m_replay, m_rewindCount, m_rewindFeed, m_rewindRequest, m_savePointCount, m_scheduler, m_sim, bicameral::sim::NO_SAVE_POINT, PrepareRewind(), bicameral::Sim, bicameral::sim::Command::targetTick, bicameral::frame::SimCursor::tick, and bicameral::frame::SimCursor::unit.
Referenced by PrepareRewind(), and SubmitSim().
|
private |
Definition at line 763 of file frame_loop.cpp.
References ApplyPeekChange(), bicameral::frame::anonymous_namespace{frame_loop.cpp}::AUTO_CLICK_INTERVAL_FRAMES, bicameral::frame::anonymous_namespace{frame_loop.cpp}::AUTO_TRACE_FRAME, bicameral::render::CellOnSlice(), FilterEditorInput(), bicameral::KeyDown, m_clicks, m_frameNumber, m_lastPokedCell, m_nextSequence, m_options, m_pendingCommands, m_replay, m_swapChain, m_viewController, m_window, bicameral::sim::MakePokeCommand(), QueueClicks(), QueuePushes(), and RequestTrace().
Referenced by QueueClicks(), and RunFrame().
|
private |
Definition at line 805 of file frame_loop.cpp.
References bicameral::frame::anonymous_namespace{frame_loop.cpp}::AUTO_PUSH_FRAME, m_frameNumber, m_nextSequence, m_options, m_pendingCommands, m_viewController, bicameral::sim::MakePushCommand(), bicameral::frame::anonymous_namespace{frame_loop.cpp}::PUSH_IMPULSE_MILLINEWTON_SECONDS, and QueuePushes().
Referenced by QueueClicks(), and QueuePushes().
|
private |
Definition at line 555 of file frame_loop.cpp.
References bicameral::frame::anonymous_namespace{frame_loop.cpp}::FrameSlot::allocator, bicameral::frame::anonymous_namespace{frame_loop.cpp}::FrameSlot::constants, bicameral::frame::anonymous_namespace{frame_loop.cpp}::FRAME_SLOT_COUNT, bicameral::frame::anonymous_namespace{frame_loop.cpp}::FrameSlot::list, m_frames, m_renderTimestampReadback, m_renderTimestamps, m_sim, m_swapChain, m_view, RecordRenderLists(), and bicameral::frame::anonymous_namespace{frame_loop.cpp}::TIMESTAMPS_PER_FRAME.
Referenced by CreateFrameSlots(), HandleResize(), and RecordRenderLists().
|
private |
Definition at line 696 of file frame_loop.cpp.
References bicameral::frame::anonymous_namespace{frame_loop.cpp}::PendingClick::cell, bicameral::sim::ProbeFrameReadback::droppedEventCount, bicameral::sim::ProbeFrameReadback::events, bicameral::Info, bicameral::Log(), m_clicks, m_interval, bicameral::frame::anonymous_namespace{frame_loop.cpp}::Milliseconds(), bicameral::sim::ProbeEvent::place, ReportEvents(), bicameral::Sim, bicameral::frame::anonymous_namespace{frame_loop.cpp}::PendingClick::tick, bicameral::sim::ProbeEvent::tick, bicameral::sim::ProbeEvent::type, bicameral::Warning, bicameral::render::CellCoordinate::x, bicameral::render::CellCoordinate::y, and bicameral::render::CellCoordinate::z.
Referenced by ReportEvents(), and ReportSimReadback().
|
private |
Definition at line 626 of file frame_loop.cpp.
References bicameral::gpu::AccumulateGraphStats(), CheckPhysics(), CollectTrace(), bicameral::sim::ProbeFrameReadback::firstUnit, bicameral::sim::ProbeFrameReadback::gpuBeginTimestamp, bicameral::sim::ProbeFrameReadback::gpuEndTimestamp, bicameral::sim::ProbeFrameReadback::graphStats, bicameral::sim::ProbeFrameReadback::hashes, m_computeFrequency, m_interval, m_latestHash, m_options, m_physicsCheck, m_recorder, m_replay, m_scheduler, m_sim, ReportEvents(), ReportSimReadback(), bicameral::sim::ProbeTickHash::tick, bicameral::frame::anonymous_namespace{frame_loop.cpp}::TimestampMilliseconds(), bicameral::sim::ProbeFrameReadback::unitGpuTicks, and bicameral::sim::ProbeTickHash::WorldHash().
Referenced by CollectSimSubmissions(), and ReportSimReadback().
|
private |
Definition at line 1296 of file frame_loop.cpp.
References bicameral::Log(), m_rewindRequest, RequestRewind(), RewindUnavailableReason(), SavePointTicks(), bicameral::Sim, and bicameral::Warning.
Referenced by BuildEditor(), CheckAutoRewind(), and RequestRewind().
|
private |
Definition at line 1602 of file frame_loop.cpp.
References bicameral::Log(), m_traceCapture, m_traceRequested, RequestTrace(), bicameral::Sim, bicameral::ToUtf8(), and bicameral::Warning.
Referenced by QueueClicks(), and RequestTrace().
|
nodiscardprivate |
Definition at line 1267 of file frame_loop.cpp.
References m_options, m_physicsCheck, m_savePointCount, m_traceCapture, and RewindUnavailableReason().
Referenced by MakeEditorStatus(), RequestRewind(), and RewindUnavailableReason().
|
nodiscard |
Definition at line 1477 of file frame_loop.cpp.
References AddStats(), bicameral::Core, bicameral::render::OrbitCameraState::distance, Finish(), bicameral::frame::anonymous_namespace{frame_loop.cpp}::FRAME_WAIT_TIMEOUT_MS, HandleResize(), bicameral::Info, bicameral::Log(), LogStats(), m_frameNumber, m_interval, m_lastInterval, m_lastIntervalSeconds, m_options, m_replay, m_scheduler, m_screenshot, m_sim, m_swapChain, m_timeControl, m_viewController, m_window, bicameral::frame::anonymous_namespace{frame_loop.cpp}::MINIMIZED_SLEEP, bicameral::render::OrbitCameraState::pitchDegrees, bicameral::Render, Run(), RunFrame(), bicameral::Sim, bicameral::frame::anonymous_namespace{frame_loop.cpp}::STATS_INTERVAL, bicameral::ToUtf8(), bicameral::Warning, and bicameral::render::OrbitCameraState::yawDegrees.
Referenced by Run().
|
private |
Definition at line 1450 of file frame_loop.cpp.
References BuildEditor(), CollectSimSubmissions(), IsDeviceLost(), m_frameNumber, m_interval, m_options, m_swapChain, m_tableReload, bicameral::frame::anonymous_namespace{frame_loop.cpp}::Milliseconds(), QueueClicks(), RunFrame(), SubmitEditor(), SubmitRender(), SubmitScreenshot(), and SubmitSim().
Referenced by Run(), and RunFrame().
|
nodiscardprivate |
Definition at line 1283 of file frame_loop.cpp.
References m_savePointCount, m_sim, and SavePointTicks().
Referenced by CheckAutoRewind(), MakeEditorStatus(), RequestRewind(), and SavePointTicks().
|
nodiscardprivate |
Definition at line 1347 of file frame_loop.cpp.
References m_options, m_savePointCount, m_simSubmissionCount, bicameral::sim::NO_SAVE_POINT, SaveSlotFor(), bicameral::frame::SimCursor::tick, and bicameral::frame::SimCursor::unit.
Referenced by SaveSlotFor(), and SubmitSim().
|
private |
Definition at line 1614 of file frame_loop.cpp.
References bicameral::Info, bicameral::Log(), m_lastPokedCell, m_options, m_sim, m_traceCapture, m_traceRequested, bicameral::sim::ProbeSim::NextApplyTick(), bicameral::sim::ProbeTraceFilterForCells(), bicameral::Sim, StartRequestedTrace(), bicameral::frame::SimCursor::tick, bicameral::ToUtf8(), bicameral::frame::TRACE_CAPACITY_PER_FRAME, bicameral::frame::anonymous_namespace{frame_loop.cpp}::TRACE_KEY_RADIUS_CELLS, bicameral::frame::anonymous_namespace{frame_loop.cpp}::TRACE_KEY_TICKS, bicameral::frame::SimCursor::unit, bicameral::render::CellCoordinate::x, bicameral::render::CellCoordinate::y, and bicameral::render::CellCoordinate::z.
Referenced by StartRequestedTrace(), and SubmitSim().
|
nodiscardprivate |
Definition at line 1132 of file frame_loop.cpp.
References m_direct, m_editor, m_swapChain, and SubmitEditor().
Referenced by RunFrame(), and SubmitEditor().
|
private |
Definition at line 1001 of file frame_loop.cpp.
References CollectFrameSlot(), bicameral::frame::anonymous_namespace{frame_loop.cpp}::FrameSlot::list, m_completedExtraction, m_compute, m_direct, m_frames, m_lastRenderReading, m_swapChain, m_viewController, bicameral::frame::anonymous_namespace{frame_loop.cpp}::FrameSlot::mappedConstants, bicameral::frame::anonymous_namespace{frame_loop.cpp}::FrameSlot::renderFence, and SubmitRender().
Referenced by RunFrame(), and SubmitRender().
|
nodiscardprivate |
Definition at line 1034 of file frame_loop.cpp.
References bicameral::render::ScreenshotCapture::Create(), bicameral::Error, bicameral::Log(), m_device, m_direct, m_screenshot, m_swapChain, bicameral::Render, SubmitScreenshot(), and WantsScreenshot().
Referenced by RunFrame(), and SubmitScreenshot().
|
private |
Definition at line 921 of file frame_loop.cpp.
References m_completedExtraction, m_compute, m_direct, m_extractAfterRewind, m_frameTableSwaps, m_interval, m_lastExtraction, m_lastExtractionTick, m_lastRenderReading, m_peek, m_rewindRequest, m_scheduler, m_sim, m_simSubmissionCount, m_simSubmissions, m_tableSwapFailed, NeedsStopExtraction(), bicameral::sim::NO_SAVE_POINT, PrepareRewind(), bicameral::frame::anonymous_namespace{frame_loop.cpp}::SimSubmission::read, SaveSlotFor(), bicameral::frame::anonymous_namespace{frame_loop.cpp}::SIM_SLOT_COUNT, StartRequestedTrace(), SubmitSim(), TakeCommands(), bicameral::frame::SimCursor::tick, and bicameral::frame::SimCursor::unit.
Referenced by RunFrame(), and SubmitSim().
|
nodiscardprivate |
Definition at line 893 of file frame_loop.cpp.
References bicameral::frame::anonymous_namespace{frame_loop.cpp}::PendingClick::cell, m_clicks, m_pendingCommands, TakeClickCommands(), and bicameral::frame::anonymous_namespace{frame_loop.cpp}::PendingClick::tick.
Referenced by TakeClickCommands(), and TakeLiveCommands().
|
nodiscardprivate |
Definition at line 851 of file frame_loop.cpp.
References m_options, m_physicsCheck, m_physicsCheckPushes, m_recorder, m_replay, m_scheduler, m_sim, bicameral::sim::ProbeSim::NextApplyTick(), TakeCommands(), TakeLiveCommands(), TakeTableSwaps(), bicameral::frame::SimCursor::tick, bicameral::sim::Command::type, and bicameral::frame::SimCursor::unit.
Referenced by SubmitSim(), and TakeCommands().
|
nodiscardprivate |
Definition at line 1359 of file frame_loop.cpp.
References bicameral::Error, bicameral::Log(), m_commandHistory, m_rewindFeed, bicameral::sim::Command::sequence, bicameral::Sim, TakeClickCommands(), TakeLiveCommands(), and bicameral::sim::Command::targetTick.
Referenced by TakeCommands(), and TakeLiveCommands().
|
private |
Definition at line 877 of file frame_loop.cpp.
References bicameral::Error, bicameral::Log(), m_frameTableSwaps, m_nextSequence, m_replay, m_scheduler, m_sim, m_tableReload, m_tableSwapFailed, bicameral::Sim, TakeTableSwaps(), bicameral::frame::SimCursor::tick, and bicameral::frame::SimCursor::unit.
Referenced by TakeCommands(), and TakeTableSwaps().
|
nodiscardprivate |
Definition at line 1022 of file frame_loop.cpp.
References m_completedExtraction, m_frameNumber, m_options, m_scheduler, m_screenshot, and WantsScreenshot().
Referenced by SubmitScreenshot(), and WantsScreenshot().
|
nodiscardprivate |
Definition at line 1056 of file frame_loop.cpp.
References bicameral::Error, bicameral::Info, bicameral::Log(), m_options, m_screenshot, bicameral::Render, bicameral::ToUtf8(), and WriteScreenshot().
Referenced by Finish(), and WriteScreenshot().
|
private |
Definition at line 367 of file frame_loop.cpp.
Referenced by CheckAutoTime(), and Finish().
|
private |
Definition at line 366 of file frame_loop.cpp.
Referenced by CheckAutoTime().
|
private |
Definition at line 360 of file frame_loop.cpp.
Referenced by QueueClicks(), ReportEvents(), and TakeClickCommands().
|
private |
Definition at line 375 of file frame_loop.cpp.
Referenced by PrepareRewind(), and TakeLiveCommands().
|
private |
Definition at line 347 of file frame_loop.cpp.
Referenced by CollectSimSubmissions(), SubmitRender(), SubmitSim(), and WantsScreenshot().
|
private |
Definition at line 309 of file frame_loop.cpp.
Referenced by CollectSimSubmissions(), Finish(), FrameLoop(), HandleResize(), IsDeviceLost(), PrepareRewind(), SubmitRender(), and SubmitSim().
|
private |
Definition at line 379 of file frame_loop.cpp.
Referenced by ReportSimReadback().
|
private |
Definition at line 307 of file frame_loop.cpp.
Referenced by CreateEditor(), CreateFrameSlots(), CreateSavePoints(), Finish(), FrameLoop(), HandleResize(), IsDeviceLost(), and SubmitScreenshot().
|
private |
Definition at line 308 of file frame_loop.cpp.
Referenced by CollectFrameSlot(), CreateEditor(), Finish(), FrameLoop(), HandleResize(), IsDeviceLost(), SubmitEditor(), SubmitRender(), SubmitScreenshot(), and SubmitSim().
|
private |
Definition at line 380 of file frame_loop.cpp.
Referenced by CollectFrameSlot().
|
private |
Definition at line 365 of file frame_loop.cpp.
Referenced by BuildEditor(), CreateEditor(), FilterEditorInput(), Finish(), and SubmitEditor().
|
private |
Definition at line 373 of file frame_loop.cpp.
Referenced by PrepareRewind(), and SubmitSim().
|
private |
Definition at line 339 of file frame_loop.cpp.
Referenced by BuildEditor(), CheckAutoTime(), QueueClicks(), QueuePushes(), Run(), RunFrame(), and WantsScreenshot().
|
private |
Definition at line 336 of file frame_loop.cpp.
Referenced by CollectFrameSlot(), CreateFrameSlots(), RecordRenderLists(), and SubmitRender().
|
private |
Definition at line 323 of file frame_loop.cpp.
Referenced by SubmitSim(), and TakeTableSwaps().
|
private |
Definition at line 381 of file frame_loop.cpp.
Referenced by CollectFrameSlot(), Finish(), ReportEvents(), ReportSimReadback(), Run(), RunFrame(), and SubmitSim().
|
private |
Definition at line 345 of file frame_loop.cpp.
Referenced by SubmitSim().
|
private |
Definition at line 346 of file frame_loop.cpp.
Referenced by NeedsStopExtraction(), and SubmitSim().
|
private |
Definition at line 382 of file frame_loop.cpp.
Referenced by MakeEditorStatus(), MakeGraphPanelStatus(), and Run().
|
private |
Definition at line 383 of file frame_loop.cpp.
Referenced by MakeEditorStatus(), and Run().
|
private |
Definition at line 331 of file frame_loop.cpp.
Referenced by QueueClicks(), and StartRequestedTrace().
|
private |
Definition at line 350 of file frame_loop.cpp.
Referenced by SubmitRender(), and SubmitSim().
|
private |
Definition at line 351 of file frame_loop.cpp.
Referenced by CollectTrace(), LogStats(), MakeEditorStatus(), and ReportSimReadback().
|
private |
Definition at line 361 of file frame_loop.cpp.
Referenced by QueueClicks(), QueuePushes(), and TakeTableSwaps().
|
private |
Definition at line 305 of file frame_loop.cpp.
Referenced by BuildEditor(), CheckAutoRewind(), CreateEditor(), CreateSavePoints(), Finish(), FinishReplay(), FrameLoop(), MakeEditorStatus(), NeedsStopExtraction(), QueueClicks(), QueuePushes(), ReportSimReadback(), RewindUnavailableReason(), Run(), RunFrame(), SaveSlotFor(), StartRequestedTrace(), TakeCommands(), WantsScreenshot(), and WriteScreenshot().
|
private |
Definition at line 314 of file frame_loop.cpp.
Referenced by ApplyPeekChange(), FrameLoop(), and SubmitSim().
|
private |
Definition at line 359 of file frame_loop.cpp.
Referenced by MakeEditorStatus(), QueueClicks(), QueuePushes(), and TakeClickCommands().
|
private |
Definition at line 354 of file frame_loop.cpp.
Referenced by CheckPhysics(), ReportSimReadback(), RewindUnavailableReason(), and TakeCommands().
|
private |
Definition at line 356 of file frame_loop.cpp.
Referenced by CheckPhysics().
|
private |
Definition at line 355 of file frame_loop.cpp.
Referenced by CheckPhysics(), and TakeCommands().
|
private |
Definition at line 320 of file frame_loop.cpp.
Referenced by FinishReplay(), ReportSimReadback(), and TakeCommands().
|
private |
Definition at line 338 of file frame_loop.cpp.
Referenced by CollectFrameSlot(), CreateFrameSlots(), and RecordRenderLists().
|
private |
Definition at line 337 of file frame_loop.cpp.
Referenced by CreateFrameSlots(), and RecordRenderLists().
|
private |
Definition at line 319 of file frame_loop.cpp.
Referenced by FinishReplay(), FrameLoop(), MakeEditorStatus(), PrepareRewind(), QueueClicks(), ReportSimReadback(), Run(), TakeCommands(), and TakeTableSwaps().
|
private |
Definition at line 372 of file frame_loop.cpp.
Referenced by CheckAutoRewind(), Finish(), and PrepareRewind().
|
private |
Definition at line 376 of file frame_loop.cpp.
Referenced by PrepareRewind(), and TakeLiveCommands().
|
private |
Definition at line 371 of file frame_loop.cpp.
Referenced by CheckAutoRewind(), PrepareRewind(), RequestRewind(), and SubmitSim().
|
private |
Definition at line 370 of file frame_loop.cpp.
Referenced by CreateSavePoints(), PrepareRewind(), RewindUnavailableReason(), SavePointTicks(), and SaveSlotFor().
|
private |
Definition at line 342 of file frame_loop.cpp.
Referenced by ApplyTimeRequest(), CheckAutoTime(), CollectFrameSlot(), CreateSavePoints(), LogStats(), MakeEditorStatus(), NeedsStopExtraction(), PrepareRewind(), ReportSimReadback(), Run(), SubmitSim(), TakeCommands(), TakeTableSwaps(), and WantsScreenshot().
|
private |
Definition at line 325 of file frame_loop.cpp.
Referenced by Finish(), Run(), SubmitScreenshot(), WantsScreenshot(), and WriteScreenshot().
|
private |
Definition at line 313 of file frame_loop.cpp.
Referenced by CollectSimSubmissions(), CollectTrace(), CreateSavePoints(), FrameLoop(), LogStats(), MakeGraphPanelStatus(), PrepareRewind(), RecordRenderLists(), ReportSimReadback(), Run(), SavePointTicks(), StartRequestedTrace(), SubmitSim(), TakeCommands(), and TakeTableSwaps().
|
private |
Definition at line 344 of file frame_loop.cpp.
Referenced by CollectSimSubmissions(), SaveSlotFor(), and SubmitSim().
|
private |
Definition at line 343 of file frame_loop.cpp.
Referenced by CollectSimSubmissions(), and SubmitSim().
|
private |
Definition at line 310 of file frame_loop.cpp.
Referenced by FrameLoop(), HandleResize(), QueueClicks(), RecordRenderLists(), Run(), RunFrame(), SubmitEditor(), SubmitRender(), and SubmitScreenshot().
|
private |
Definition at line 322 of file frame_loop.cpp.
Referenced by FrameLoop(), MakeEditorStatus(), RunFrame(), and TakeTableSwaps().
|
private |
Definition at line 324 of file frame_loop.cpp.
Referenced by SubmitSim(), and TakeTableSwaps().
|
private |
Definition at line 364 of file frame_loop.cpp.
Referenced by ApplyTimeRequest(), BuildEditor(), and Run().
|
private |
Definition at line 384 of file frame_loop.cpp.
Referenced by AddStats(), and Finish().
|
private |
Definition at line 328 of file frame_loop.cpp.
Referenced by CollectTrace(), FinishTrace(), RequestTrace(), RewindUnavailableReason(), and StartRequestedTrace().
|
private |
Definition at line 329 of file frame_loop.cpp.
Referenced by RequestTrace(), and StartRequestedTrace().
|
private |
Definition at line 330 of file frame_loop.cpp.
Referenced by CollectTrace(), and FinishTrace().
|
private |
Definition at line 315 of file frame_loop.cpp.
Referenced by FrameLoop(), and RecordRenderLists().
|
private |
Definition at line 316 of file frame_loop.cpp.
Referenced by ApplyPeekChange(), FrameLoop(), MakeEditorStatus(), QueueClicks(), QueuePushes(), Run(), and SubmitRender().
|
private |
Definition at line 306 of file frame_loop.cpp.
Referenced by CreateEditor(), FrameLoop(), HandleResize(), QueueClicks(), and Run().