Bicameral Engine
GPU-resident engine for a magic-research open-world game
Loading...
Searching...
No Matches
bicameral::sim::anonymous_namespace{multires_activity.cpp} Namespace Reference

Classes

struct  QuietLeafCells
struct  CpuTree

Functions

std::optional< RxCell > ExactFoldValue (MultiresNest &nest, uint32_t slot)
void FoldPage (MultiresNest &nest, uint32_t slot, const RxCell &value)
void AddLedgerBits (MultiresNest &nest, int32_t ledgerLevel, uint32_t column, uint64_t bits)
void AddFoldRemainder (MultiresNest &nest, int32_t level, uint32_t column, uint64_t units)
void ReturnFractionsToLedger (MultiresNest &nest, uint32_t slot)
void Schedule (MultiresNest &nest, uint32_t slot, uint32_t mark)
void WakeFace (MultiresNest &nest, uint32_t slot, uint32_t face, uint32_t remaining, uint32_t mark)
bool LeafCoarsenable (const MultiresNest &nest, const ReactionTableView *table, uint32_t slot, const MrFoldTolerance &tolerance)
void CheckQuietLeaves (MultiresNest &nest, const ReactionTableView *table, uint64_t tick, const MrFoldTolerance &tolerance)
void SubmitQuietRequests (MultiresNest &nest, const ReactionTableView *table, uint64_t tick, const MrFoldTolerance &tolerance)
reaction::RxCell & CellAt (MultiresNest &nest, uint32_t slot, uint32_t index)
uint32_t & FreePageAt (MultiresNest &nest, uint32_t position)
reaction::RxCell & UniformAt (MultiresNest &nest, uint32_t slot)

Function Documentation

◆ AddFoldRemainder()

void bicameral::sim::anonymous_namespace{multires_activity.cpp}::AddFoldRemainder ( MultiresNest & nest,
int32_t level,
uint32_t column,
uint64_t units )

Definition at line 73 of file multires_activity.cpp.

References AddFoldRemainder(), and AddLedgerBits().

Referenced by AddFoldRemainder().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AddLedgerBits()

void bicameral::sim::anonymous_namespace{multires_activity.cpp}::AddLedgerBits ( MultiresNest & nest,
int32_t ledgerLevel,
uint32_t column,
uint64_t bits )

Definition at line 58 of file multires_activity.cpp.

References AddLedgerBits(), bicameral::sim::MultiresNest::capacity, bicameral::sim::MultiresNest::counters, bicameral::sim::MultiresNest::ledger, and bicameral::sim::MultiresCapacity::ledgerColumns.

Referenced by AddFoldRemainder(), AddLedgerBits(), and ReturnFractionsToLedger().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CellAt()

reaction::RxCell & bicameral::sim::nest_detail::CellAt ( MultiresNest & nest,
uint32_t slot,
uint32_t index )
inline

Definition at line 40 of file multires_nest_internal.h.

Referenced by ExactFoldValue().

Here is the caller graph for this function:

◆ CheckQuietLeaves()

void bicameral::sim::anonymous_namespace{multires_activity.cpp}::CheckQuietLeaves ( MultiresNest & nest,
const ReactionTableView * table,
uint64_t tick,
const MrFoldTolerance & tolerance )

Definition at line 151 of file multires_activity.cpp.

References bicameral::sim::MultiresNest::blocks, bicameral::sim::MultiresNest::capacity, CheckQuietLeaves(), LeafCoarsenable(), and bicameral::sim::MultiresCapacity::worldBlocks.

Referenced by CheckQuietLeaves(), and SubmitQuietRequests().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ExactFoldValue()

std::optional< RxCell > bicameral::sim::anonymous_namespace{multires_activity.cpp}::ExactFoldValue ( MultiresNest & nest,
uint32_t slot )

Definition at line 36 of file multires_activity.cpp.

References bicameral::sim::MultiresNest::blocks, CellAt(), and ExactFoldValue().

Referenced by ExactFoldValue().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FoldPage()

void bicameral::sim::anonymous_namespace{multires_activity.cpp}::FoldPage ( MultiresNest & nest,
uint32_t slot,
const RxCell & value )

Definition at line 49 of file multires_activity.cpp.

References bicameral::sim::MultiresNest::blocks, bicameral::sim::MultiresNest::counters, FoldPage(), FreePageAt(), and UniformAt().

Referenced by FoldPage().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FreePageAt()

uint32_t & bicameral::sim::nest_detail::FreePageAt ( MultiresNest & nest,
uint32_t position )
inline

Definition at line 47 of file multires_nest_internal.h.

Referenced by FoldPage().

Here is the caller graph for this function:

◆ LeafCoarsenable()

bool bicameral::sim::anonymous_namespace{multires_activity.cpp}::LeafCoarsenable ( const MultiresNest & nest,
const ReactionTableView * table,
uint32_t slot,
const MrFoldTolerance & tolerance )

Definition at line 136 of file multires_activity.cpp.

References bicameral::sim::MultiresNest::blocks, and LeafCoarsenable().

Referenced by CheckQuietLeaves(), and LeafCoarsenable().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ReturnFractionsToLedger()

void bicameral::sim::anonymous_namespace{multires_activity.cpp}::ReturnFractionsToLedger ( MultiresNest & nest,
uint32_t slot )

Definition at line 79 of file multires_activity.cpp.

References AddLedgerBits(), bicameral::sim::MultiresNest::blocks, bicameral::sim::MultiresNest::counters, bicameral::sim::nest_detail::FractionAt(), bicameral::sim::MultiresNest::freeFractions, and ReturnFractionsToLedger().

Referenced by ReturnFractionsToLedger().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Schedule()

void bicameral::sim::anonymous_namespace{multires_activity.cpp}::Schedule ( MultiresNest & nest,
uint32_t slot,
uint32_t mark )

Definition at line 93 of file multires_activity.cpp.

References bicameral::sim::MultiresNest::blocks, bicameral::sim::MultiresNest::counters, and Schedule().

Referenced by Schedule(), and WakeFace().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SubmitQuietRequests()

void bicameral::sim::anonymous_namespace{multires_activity.cpp}::SubmitQuietRequests ( MultiresNest & nest,
const ReactionTableView * table,
uint64_t tick,
const MrFoldTolerance & tolerance )

Definition at line 162 of file multires_activity.cpp.

References bicameral::sim::MultiresNest::blocks, bicameral::sim::MultiresNest::capacity, CheckQuietLeaves(), bicameral::sim::MultiresNest::counters, bicameral::sim::MultiresNest::requests, SubmitQuietRequests(), and bicameral::sim::MultiresCapacity::worldBlocks.

Referenced by SubmitQuietRequests().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ UniformAt()

reaction::RxCell & bicameral::sim::nest_detail::UniformAt ( MultiresNest & nest,
uint32_t slot )
inline

Definition at line 27 of file multires_nest_internal.h.

Referenced by FoldPage().

Here is the caller graph for this function:

◆ WakeFace()

void bicameral::sim::anonymous_namespace{multires_activity.cpp}::WakeFace ( MultiresNest & nest,
uint32_t slot,
uint32_t face,
uint32_t remaining,
uint32_t mark )

Definition at line 103 of file multires_activity.cpp.

References bicameral::sim::MultiresNest::blocks, bicameral::sim::MultiresNest::counters, Schedule(), and WakeFace().

Referenced by WakeFace().

Here is the call graph for this function:
Here is the caller graph for this function: