|
Bicameral Engine
GPU-resident engine for a magic-research open-world game
|
Classes | |
| struct | TickTree |
| struct | GraphTraceFilter |
| struct | GraphTraceRecord |
Typedefs | |
| using | Coordinates = std::array<uint32_t, 3> |
Functions | |
| Coordinates | BlockCoordinates (uint32_t block) |
| Coordinates | CellCoordinates (uint32_t cell) |
| std::string | FormatCoordinates (const Coordinates &coordinates) |
| std::vector< uint32_t > | BlockAndNeighbors (uint32_t block) |
| bool | WantsTick (const GraphTraceFilter &filter, uint64_t tick) |
| bool | WantsBlock (const GraphTraceFilter &filter, uint32_t block) |
| void | BuildTickTree (std::span< const GraphTraceRecord > records, TickTree &tree) |
| std::string | FormatChild (const TickTree &tree, uint32_t block) |
| std::string | FormatRoot (const TickTree &tree, uint32_t root, uint64_t tick, const std::set< uint32_t > &changedBefore, bool previousTraced) |
| std::string | FormatTick (uint64_t tick, const TickTree &tree, const std::set< uint32_t > &changedBefore, bool previousTraced, size_t recordCount) |
| bool | SameCellWords (std::span< const uint32_t > gpuCells, std::span< const uint32_t > cpuCells, uint32_t index) |
| uint32_t | CountBlockDifferences (uint32_t block, std::span< const uint32_t > gpuCells, std::span< const uint32_t > cpuCells, Coordinates &first) |
| std::string | FormatRecord (const GraphTraceRecord &record) |
| using bicameral::sim::anonymous_namespace{probe_trace.cpp}::Coordinates = std::array<uint32_t, 3> |
Definition at line 17 of file probe_trace.cpp.
| std::vector< uint32_t > bicameral::sim::anonymous_namespace{probe_trace.cpp}::BlockAndNeighbors | ( | uint32_t | block | ) |
Definition at line 35 of file probe_trace.cpp.
References BlockAndNeighbors(), and BlockCoordinates().
Referenced by BlockAndNeighbors().
| Coordinates bicameral::sim::anonymous_namespace{probe_trace.cpp}::BlockCoordinates | ( | uint32_t | block | ) |
Definition at line 21 of file probe_trace.cpp.
References BlockCoordinates().
Referenced by BlockAndNeighbors(), BlockCoordinates(), CountBlockDifferences(), FormatChild(), FormatRoot(), and WantsBlock().
| void bicameral::sim::anonymous_namespace{probe_trace.cpp}::BuildTickTree | ( | std::span< const GraphTraceRecord > | records, |
| TickTree & | tree ) |
Definition at line 83 of file probe_trace.cpp.
References BuildTickTree(), bicameral::sim::anonymous_namespace{probe_trace.cpp}::TickTree::conducted, bicameral::sim::anonymous_namespace{probe_trace.cpp}::TickTree::parents, bicameral::sim::anonymous_namespace{probe_trace.cpp}::TickTree::pokes, bicameral::sim::anonymous_namespace{probe_trace.cpp}::TickTree::roots, and bicameral::sim::anonymous_namespace{probe_trace.cpp}::TickTree::selfWakes.
Referenced by BuildTickTree().
| Coordinates bicameral::sim::anonymous_namespace{probe_trace.cpp}::CellCoordinates | ( | uint32_t | cell | ) |
Definition at line 26 of file probe_trace.cpp.
References CellCoordinates().
Referenced by CellCoordinates(), and FormatRoot().
| uint32_t bicameral::sim::anonymous_namespace{probe_trace.cpp}::CountBlockDifferences | ( | uint32_t | block, |
| std::span< const uint32_t > | gpuCells, | ||
| std::span< const uint32_t > | cpuCells, | ||
| Coordinates & | first ) |
Definition at line 172 of file probe_trace.cpp.
References BlockCoordinates(), CountBlockDifferences(), and SameCellWords().
Referenced by CountBlockDifferences().
| std::string bicameral::sim::anonymous_namespace{probe_trace.cpp}::FormatChild | ( | const TickTree & | tree, |
| uint32_t | block ) |
Definition at line 101 of file probe_trace.cpp.
References BlockCoordinates(), bicameral::sim::anonymous_namespace{probe_trace.cpp}::TickTree::conducted, FormatChild(), and FormatCoordinates().
Referenced by FormatChild(), and FormatTick().
| std::string bicameral::sim::anonymous_namespace{probe_trace.cpp}::FormatCoordinates | ( | const Coordinates & | coordinates | ) |
Definition at line 30 of file probe_trace.cpp.
References FormatCoordinates().
Referenced by FormatChild(), FormatCoordinates(), and FormatRoot().
| std::string bicameral::sim::anonymous_namespace{probe_trace.cpp}::FormatRecord | ( | const GraphTraceRecord & | record | ) |
Definition at line 195 of file probe_trace.cpp.
References FormatRecord(), bicameral::gpu::GraphTraceRecord::kind, bicameral::gpu::GraphTraceRecord::object, bicameral::gpu::GraphTraceRecord::subject, and bicameral::gpu::GraphTraceRecord::tick.
Referenced by FormatRecord().
| std::string bicameral::sim::anonymous_namespace{probe_trace.cpp}::FormatRoot | ( | const TickTree & | tree, |
| uint32_t | root, | ||
| uint64_t | tick, | ||
| const std::set< uint32_t > & | changedBefore, | ||
| bool | previousTraced ) |
Definition at line 111 of file probe_trace.cpp.
References BlockCoordinates(), CellCoordinates(), FormatCoordinates(), FormatRoot(), bicameral::sim::anonymous_namespace{probe_trace.cpp}::TickTree::pokes, and bicameral::sim::anonymous_namespace{probe_trace.cpp}::TickTree::selfWakes.
Referenced by FormatRoot(), and FormatTick().
| std::string bicameral::sim::anonymous_namespace{probe_trace.cpp}::FormatTick | ( | uint64_t | tick, |
| const TickTree & | tree, | ||
| const std::set< uint32_t > & | changedBefore, | ||
| bool | previousTraced, | ||
| size_t | recordCount ) |
Definition at line 131 of file probe_trace.cpp.
References bicameral::sim::anonymous_namespace{probe_trace.cpp}::TickTree::conducted, FormatChild(), FormatRoot(), FormatTick(), bicameral::sim::anonymous_namespace{probe_trace.cpp}::TickTree::parents, and bicameral::sim::anonymous_namespace{probe_trace.cpp}::TickTree::roots.
Referenced by FormatTick().
| bool bicameral::sim::anonymous_namespace{probe_trace.cpp}::SameCellWords | ( | std::span< const uint32_t > | gpuCells, |
| std::span< const uint32_t > | cpuCells, | ||
| uint32_t | index ) |
Definition at line 165 of file probe_trace.cpp.
References SameCellWords().
Referenced by CountBlockDifferences(), and SameCellWords().
| bool bicameral::sim::anonymous_namespace{probe_trace.cpp}::WantsBlock | ( | const GraphTraceFilter & | filter, |
| uint32_t | block ) |
Definition at line 62 of file probe_trace.cpp.
References BlockCoordinates(), bicameral::gpu::GraphTraceFilter::boxMax, bicameral::gpu::GraphTraceFilter::boxMin, and WantsBlock().
Referenced by WantsBlock().
| bool bicameral::sim::anonymous_namespace{probe_trace.cpp}::WantsTick | ( | const GraphTraceFilter & | filter, |
| uint64_t | tick ) |
Definition at line 58 of file probe_trace.cpp.
References bicameral::gpu::GraphTraceFilter::enabled, bicameral::gpu::GraphTraceFilter::tickBegin, bicameral::gpu::GraphTraceFilter::tickEnd, and WantsTick().
Referenced by WantsTick().