|
Bicameral Engine
GPU-resident engine for a magic-research open-world game
|
Functions | |
| uint32_t | IndexMask (const MultiresNest &nest) |
| void | IndexInsert (MultiresNest &nest, uint32_t slot) |
| void | IndexRemove (MultiresNest &nest, uint32_t slot) |
| void | Release (MrRequestState &state, uint32_t fractionSlot) |
| uint32_t | PoppedBlock (const MultiresNest &nest, const MrRequestState &state, uint32_t i) |
| uint32_t | PoppedPage (MultiresNest &nest, const MrRequestState &state, uint32_t i) |
| uint32_t | PoppedFraction (const MultiresNest &nest, const MrRequestState &state, uint32_t i) |
| void | ResolveRefine (MultiresNest &nest, uint32_t i) |
| MrChildren | GatherChildren (const MultiresNest &nest, uint32_t childSlot, uint32_t fractionSlot, uint32_t local) |
| bool | CoarsenFits (const MultiresNest &nest, uint32_t childSlot) |
| void | ResolveCoarsen (MultiresNest &nest, uint32_t i) |
| void | Resolve (MultiresNest &nest, uint32_t i) |
| void | Settle (MultiresNest &nest, uint32_t i) |
| void | Allocate (MultiresNest &nest, uint32_t count) |
| void | RefineRequestLevel (MultiresNest &nest, uint32_t i, uint32_t depth, uint32_t parentSlot) |
| void | ApplyRefine (MultiresNest &nest, uint32_t i) |
| void | AddToLedger (MultiresNest &nest, int32_t level, uint32_t column, uint32_t lostBits) |
| void | RecordCoarsened (MultiresNest &nest, const MrCoarsened &result, int32_t childLevel) |
| void | ApplyCoarsen (MultiresNest &nest, uint32_t i) |
| void | ReleaseAll (MultiresNest &nest, uint32_t count) |
| reaction::RxCell & | CellAt (MultiresNest &nest, uint32_t slot, uint32_t index) |
| multires::MrFraction | FractionAt (const MultiresNest &nest, uint32_t fractionSlot, uint32_t index) |
| uint32_t & | FreePageAt (MultiresNest &nest, uint32_t position) |
| reaction::RxCell & | PageCellAt (MultiresNest &nest, uint32_t page, uint32_t index) |
| void | PokeBlock (MultiresNest &nest, uint32_t slot) |
| void | SetFraction (MultiresNest &nest, uint32_t fractionSlot, uint32_t index, const multires::MrFraction &fraction) |
| reaction::RxCell & | UniformAt (MultiresNest &nest, uint32_t slot) |
| void bicameral::sim::anonymous_namespace{multires_tree.cpp}::AddToLedger | ( | MultiresNest & | nest, |
| int32_t | level, | ||
| uint32_t | column, | ||
| uint32_t | lostBits ) |
Definition at line 346 of file multires_tree.cpp.
References AddToLedger(), bicameral::sim::MultiresNest::capacity, bicameral::sim::MultiresNest::counters, bicameral::sim::MultiresNest::ledger, and bicameral::sim::MultiresCapacity::ledgerColumns.
Referenced by AddToLedger(), and RecordCoarsened().
| void bicameral::sim::anonymous_namespace{multires_tree.cpp}::Allocate | ( | MultiresNest & | nest, |
| uint32_t | count ) |
Definition at line 227 of file multires_tree.cpp.
References Allocate(), bicameral::sim::MultiresNest::counters, and bicameral::sim::MultiresNest::states.
Referenced by Allocate().
| void bicameral::sim::anonymous_namespace{multires_tree.cpp}::ApplyCoarsen | ( | MultiresNest & | nest, |
| uint32_t | i ) |
Definition at line 366 of file multires_tree.cpp.
References ApplyCoarsen(), bicameral::sim::MultiresNest::blocks, CellAt(), FractionAt(), GatherChildren(), IndexRemove(), PageCellAt(), PokeBlock(), PoppedFraction(), PoppedPage(), RecordCoarsened(), Release(), SetFraction(), bicameral::sim::MultiresNest::states, and UniformAt().
Referenced by ApplyCoarsen().
| void bicameral::sim::anonymous_namespace{multires_tree.cpp}::ApplyRefine | ( | MultiresNest & | nest, |
| uint32_t | i ) |
Definition at line 336 of file multires_tree.cpp.
References ApplyRefine(), PoppedBlock(), RefineRequestLevel(), and bicameral::sim::MultiresNest::states.
Referenced by ApplyRefine().
|
inline |
Definition at line 40 of file multires_nest_internal.h.
Referenced by ApplyCoarsen(), and RefineRequestLevel().
| bool bicameral::sim::anonymous_namespace{multires_tree.cpp}::CoarsenFits | ( | const MultiresNest & | nest, |
| uint32_t | childSlot ) |
Definition at line 145 of file multires_tree.cpp.
References bicameral::sim::MultiresNest::blocks, CoarsenFits(), and GatherChildren().
Referenced by CoarsenFits(), and ResolveCoarsen().
|
inline |
Definition at line 59 of file multires_nest_internal.h.
Referenced by ApplyCoarsen(), GatherChildren(), and RefineRequestLevel().
|
inline |
Definition at line 47 of file multires_nest_internal.h.
Referenced by PoppedPage(), and ReleaseAll().
| MrChildren bicameral::sim::anonymous_namespace{multires_tree.cpp}::GatherChildren | ( | const MultiresNest & | nest, |
| uint32_t | childSlot, | ||
| uint32_t | fractionSlot, | ||
| uint32_t | local ) |
Definition at line 133 of file multires_tree.cpp.
References FractionAt(), GatherChildren(), and bicameral::sim::LoadNestCell().
Referenced by ApplyCoarsen(), CoarsenFits(), and GatherChildren().
| void bicameral::sim::anonymous_namespace{multires_tree.cpp}::IndexInsert | ( | MultiresNest & | nest, |
| uint32_t | slot ) |
Definition at line 35 of file multires_tree.cpp.
References bicameral::sim::MultiresNest::blocks, bicameral::sim::MultiresNest::capacity, bicameral::sim::MultiresNest::counters, bicameral::sim::MultiresNest::index, bicameral::sim::MultiresCapacity::indexEntries, IndexInsert(), and IndexMask().
Referenced by IndexInsert(), and RefineRequestLevel().
| uint32_t bicameral::sim::anonymous_namespace{multires_tree.cpp}::IndexMask | ( | const MultiresNest & | nest | ) |
Definition at line 31 of file multires_tree.cpp.
References bicameral::sim::MultiresNest::capacity, bicameral::sim::MultiresCapacity::indexEntries, and IndexMask().
Referenced by IndexInsert(), IndexMask(), and IndexRemove().
| void bicameral::sim::anonymous_namespace{multires_tree.cpp}::IndexRemove | ( | MultiresNest & | nest, |
| uint32_t | slot ) |
Definition at line 51 of file multires_tree.cpp.
References bicameral::sim::MultiresNest::blocks, bicameral::sim::MultiresNest::capacity, bicameral::sim::MultiresNest::counters, bicameral::sim::MultiresNest::index, bicameral::sim::MultiresCapacity::indexEntries, IndexMask(), and IndexRemove().
Referenced by ApplyCoarsen(), and IndexRemove().
|
inline |
Definition at line 35 of file multires_nest_internal.h.
Referenced by ApplyCoarsen(), and RefineRequestLevel().
|
inline |
Definition at line 171 of file multires_nest_internal.h.
Referenced by ApplyCoarsen(), and RefineRequestLevel().
| uint32_t bicameral::sim::anonymous_namespace{multires_tree.cpp}::PoppedBlock | ( | const MultiresNest & | nest, |
| const MrRequestState & | state, | ||
| uint32_t | i ) |
Definition at line 77 of file multires_tree.cpp.
References bicameral::sim::MultiresNest::freeBlocks, and PoppedBlock().
Referenced by ApplyRefine(), PoppedBlock(), and RefineRequestLevel().
| uint32_t bicameral::sim::anonymous_namespace{multires_tree.cpp}::PoppedFraction | ( | const MultiresNest & | nest, |
| const MrRequestState & | state, | ||
| uint32_t | i ) |
Definition at line 87 of file multires_tree.cpp.
References bicameral::sim::MultiresNest::freeFractions, and PoppedFraction().
Referenced by ApplyCoarsen(), PoppedFraction(), and RefineRequestLevel().
| uint32_t bicameral::sim::anonymous_namespace{multires_tree.cpp}::PoppedPage | ( | MultiresNest & | nest, |
| const MrRequestState & | state, | ||
| uint32_t | i ) |
Definition at line 81 of file multires_tree.cpp.
References FreePageAt(), and PoppedPage().
Referenced by ApplyCoarsen(), PoppedPage(), and RefineRequestLevel().
| void bicameral::sim::anonymous_namespace{multires_tree.cpp}::RecordCoarsened | ( | MultiresNest & | nest, |
| const MrCoarsened & | result, | ||
| int32_t | childLevel ) |
Definition at line 356 of file multires_tree.cpp.
References AddToLedger(), bicameral::sim::MultiresNest::counters, and RecordCoarsened().
Referenced by ApplyCoarsen(), and RecordCoarsened().
| void bicameral::sim::anonymous_namespace{multires_tree.cpp}::RefineRequestLevel | ( | MultiresNest & | nest, |
| uint32_t | i, | ||
| uint32_t | depth, | ||
| uint32_t | parentSlot ) |
Definition at line 269 of file multires_tree.cpp.
References bicameral::sim::MultiresNest::blocks, CellAt(), FractionAt(), IndexInsert(), PageCellAt(), PokeBlock(), PoppedBlock(), PoppedFraction(), PoppedPage(), RefineRequestLevel(), Release(), bicameral::sim::MultiresNest::requests, SetFraction(), bicameral::sim::MultiresNest::states, and UniformAt().
Referenced by ApplyRefine(), and RefineRequestLevel().
| void bicameral::sim::anonymous_namespace{multires_tree.cpp}::Release | ( | MrRequestState & | state, |
| uint32_t | fractionSlot ) |
Definition at line 71 of file multires_tree.cpp.
References Release().
Referenced by ApplyCoarsen(), RefineRequestLevel(), and Release().
| void bicameral::sim::anonymous_namespace{multires_tree.cpp}::ReleaseAll | ( | MultiresNest & | nest, |
| uint32_t | count ) |
Definition at line 433 of file multires_tree.cpp.
References bicameral::sim::MultiresNest::capacity, bicameral::sim::MultiresNest::claims, bicameral::sim::MultiresNest::counters, bicameral::sim::MultiresNest::freeBlocks, bicameral::sim::MultiresNest::freeFractions, FreePageAt(), bicameral::sim::MultiresCapacity::indexEntries, ReleaseAll(), and bicameral::sim::MultiresNest::states.
Referenced by ReleaseAll().
| void bicameral::sim::anonymous_namespace{multires_tree.cpp}::Resolve | ( | MultiresNest & | nest, |
| uint32_t | i ) |
Definition at line 179 of file multires_tree.cpp.
References bicameral::sim::MultiresNest::capacity, bicameral::sim::MultiresNest::requests, Resolve(), ResolveCoarsen(), ResolveRefine(), bicameral::sim::MultiresCapacity::rootLevel, and bicameral::sim::MultiresNest::states.
Referenced by Resolve().
| void bicameral::sim::anonymous_namespace{multires_tree.cpp}::ResolveCoarsen | ( | MultiresNest & | nest, |
| uint32_t | i ) |
Definition at line 155 of file multires_tree.cpp.
References bicameral::sim::MultiresNest::blocks, bicameral::sim::MultiresNest::claims, CoarsenFits(), bicameral::sim::LookupBlock(), bicameral::sim::MultiresNest::requests, ResolveCoarsen(), and bicameral::sim::MultiresNest::states.
Referenced by Resolve(), and ResolveCoarsen().
| void bicameral::sim::anonymous_namespace{multires_tree.cpp}::ResolveRefine | ( | MultiresNest & | nest, |
| uint32_t | i ) |
Definition at line 96 of file multires_tree.cpp.
References bicameral::sim::MultiresNest::blocks, bicameral::sim::MultiresNest::capacity, bicameral::sim::MultiresNest::claims, bicameral::sim::LookupBlock(), bicameral::sim::MultiresNest::requests, ResolveRefine(), bicameral::sim::MultiresCapacity::rootLevel, and bicameral::sim::MultiresNest::states.
Referenced by Resolve(), and ResolveRefine().
|
inline |
Definition at line 66 of file multires_nest_internal.h.
Referenced by ApplyCoarsen(), and RefineRequestLevel().
| void bicameral::sim::anonymous_namespace{multires_tree.cpp}::Settle | ( | MultiresNest & | nest, |
| uint32_t | i ) |
Definition at line 198 of file multires_tree.cpp.
References bicameral::sim::MultiresNest::blocks, bicameral::sim::MultiresNest::claims, bicameral::sim::MultiresNest::requests, Settle(), bicameral::sim::MultiresNest::states, and UniformAt().
Referenced by Settle().
|
inline |
Definition at line 27 of file multires_nest_internal.h.
Referenced by ApplyCoarsen(), RefineRequestLevel(), and Settle().