Bicameral Engine
GPU-resident engine for a magic-research open-world game
Loading...
Searching...
No Matches
bicameral::sim::MultiresNest Struct Reference

#include <multires_nest.h>

Collaboration diagram for bicameral::sim::MultiresNest:
[legend]

Public Attributes

MultiresCapacity capacity
std::vector< multires::MrBlock > blocks
std::vector< reaction::RxCell > cells
std::vector< multires::MrFraction > fractions
std::vector< uint32_t > freeBlocks
std::vector< uint32_t > freeFractions
std::vector< uint64_t > ledger
std::array< uint32_t, multires::MR_COUNTER_COUNT > counters {}
std::vector< uint8_t > seeds
std::vector< uint32_t > index
std::vector< multires::MrRequest > requests
std::vector< multires::MrRequestState > states
std::vector< uint32_t > claims
ImplicitCost implicitCost
uint32_t implicitCells = 0
uint32_t implicitDeferredBlocks = 0
std::vector< std::array< uint32_t, 2 > > implicitLevels
bool captureImplicitGrid = false
ImplicitGrid implicitGrid
bool captureImplicitNest = false
std::shared_ptr< const MultiresNest > implicitNest
std::vector< uint8_t > implicitFrozen

Detailed Description

Definition at line 43 of file multires_nest.h.

Member Data Documentation

◆ blocks

std::vector<multires::MrBlock> bicameral::sim::MultiresNest::blocks

Definition at line 47 of file multires_nest.h.

Referenced by bicameral::sim::anonymous_namespace{multires_implicit_conduction.cpp}::AddCell(), bicameral::sim::anonymous_namespace{multires_implicit_conduction.cpp}::AddCellFaces(), bicameral::sim::anonymous_namespace{multires_conduction.cpp}::AddCellFlows(), bicameral::sim::nest_detail::AddImplicitConduction(), bicameral::sim::anonymous_namespace{multires_conduction.cpp}::AllocateConductionFractions(), bicameral::sim::anonymous_namespace{multires_tree.cpp}::ApplyCoarsen(), bicameral::sim::anonymous_namespace{multires_conduction.cpp}::ApplyEndingDeltas(), bicameral::sim::nest_detail::ApplyEnergyDelta(), bicameral::sim::ApplyLabCommands(), bicameral::sim::anonymous_namespace{multires_implicit_conduction.cpp}::CanJoin(), bicameral::sim::nest_detail::CellAt(), bicameral::sim::anonymous_namespace{multires_activity.cpp}::CheckQuietLeaves(), bicameral::sim::anonymous_namespace{multires_tree.cpp}::CoarsenFits(), bicameral::sim::anonymous_namespace{multires_conduction.cpp}::CollectCellFaces(), bicameral::sim::CollectFoldStats(), bicameral::sim::nest_detail::ComputeConduction(), bicameral::sim::ComputeConservedTotals(), bicameral::sim::anonymous_namespace{multires_implicit_conduction.cpp}::CountUnknowns(), bicameral::sim::anonymous_namespace{multires_activity.cpp}::ExactFoldValue(), bicameral::sim::nest_detail::ExpandForStep(), bicameral::sim::nest_detail::ExpandWantedPages(), bicameral::sim::FindLabMismatch(), bicameral::sim::anonymous_namespace{multires_activity.cpp}::FoldPage(), bicameral::sim::FoldQuietPages(), bicameral::sim::FoldQuietPages(), bicameral::sim::HashRealLeaves(), bicameral::sim::HashWholeNest(), bicameral::sim::anonymous_namespace{multires_tree.cpp}::IndexInsert(), bicameral::sim::anonymous_namespace{multires_tree.cpp}::IndexRemove(), bicameral::sim::nest_detail::InImplicitConduction(), bicameral::sim::anonymous_namespace{multires_nest.cpp}::IsObserverSlot(), bicameral::sim::anonymous_namespace{multires_activity.cpp}::LeafCoarsenable(), bicameral::sim::LoadNestCell(), bicameral::sim::LookupBlock(), bicameral::sim::MakeLabBoxNest(), bicameral::sim::MakeMultiresNest(), bicameral::sim::anonymous_namespace{multires_implicit_conduction.cpp}::MakeSystem(), bicameral::sim::anonymous_namespace{multires_conduction.cpp}::MarkBlockWants(), bicameral::sim::nest_detail::MarkConductionWants(), bicameral::sim::anonymous_namespace{multires_conduction.cpp}::MarkCrossSends(), bicameral::sim::nest_detail::MarkImplicitBlocks(), bicameral::sim::anonymous_namespace{multires_conduction.cpp}::MarkSubstepBlocks(), bicameral::sim::nest_detail::PageCellAddress(), bicameral::sim::nest_detail::PageCellAt(), bicameral::sim::PlaceMirrorBlock(), bicameral::sim::PlaceRootBlock(), bicameral::sim::nest_detail::PokeBlock(), bicameral::sim::anonymous_namespace{multires_nest.cpp}::PullBackLevel(), bicameral::sim::GpuMultires::Read(), bicameral::sim::RebuildIndex(), bicameral::sim::GpuMultires::RecordUpload(), bicameral::sim::nest_detail::RecordWaitResults(), bicameral::sim::anonymous_namespace{multires_tree.cpp}::RefineRequestLevel(), bicameral::sim::anonymous_namespace{multires_nest.cpp}::RefineShadowLevel(), bicameral::sim::RemoveShadowChain(), bicameral::sim::anonymous_namespace{multires_tree.cpp}::ResolveCoarsen(), bicameral::sim::nest_detail::ResolvePokes(), bicameral::sim::anonymous_namespace{multires_tree.cpp}::ResolveRefine(), bicameral::sim::anonymous_namespace{multires_activity.cpp}::ReturnFractionsToLedger(), bicameral::sim::anonymous_namespace{multires_activity.cpp}::Schedule(), bicameral::sim::anonymous_namespace{multires_tree.cpp}::Settle(), bicameral::sim::StepActive(), bicameral::sim::nest_detail::StepBlocks(), bicameral::sim::nest_detail::StepConduction(), bicameral::sim::StepNest(), bicameral::sim::anonymous_namespace{multires_nest.cpp}::StepPagedBlock(), bicameral::sim::anonymous_namespace{multires_activity.cpp}::SubmitQuietRequests(), bicameral::sim::WaitSeedSlots(), bicameral::sim::nest_detail::WakeAround(), bicameral::sim::anonymous_namespace{multires_conduction.cpp}::WakeChangedBlocks(), and bicameral::sim::anonymous_namespace{multires_activity.cpp}::WakeFace().

◆ capacity

MultiresCapacity bicameral::sim::MultiresNest::capacity

Definition at line 44 of file multires_nest.h.

Referenced by bicameral::sim::anonymous_namespace{multires_implicit_conduction.cpp}::AddCellFaces(), bicameral::sim::anonymous_namespace{multires_activity.cpp}::AddLedgerBits(), bicameral::sim::anonymous_namespace{multires_nest.cpp}::AddLedgerTotals(), bicameral::sim::anonymous_namespace{multires_tree.cpp}::AddToLedger(), bicameral::sim::anonymous_namespace{multires_conduction.cpp}::AllocateConductionFractions(), bicameral::sim::anonymous_namespace{multires_implicit_conduction.cpp}::CanJoin(), bicameral::sim::anonymous_namespace{multires_activity.cpp}::CheckQuietLeaves(), bicameral::sim::anonymous_namespace{multires_conduction.cpp}::CollectCellFaces(), bicameral::sim::nest_detail::ExpandWantedPages(), bicameral::sim::FoldQuietPages(), bicameral::sim::FoldQuietPages(), bicameral::sim::nest_detail::FreePageAt(), bicameral::sim::anonymous_namespace{multires_tree.cpp}::IndexInsert(), bicameral::sim::anonymous_namespace{multires_tree.cpp}::IndexMask(), bicameral::sim::anonymous_namespace{multires_tree.cpp}::IndexRemove(), bicameral::sim::nest_detail::InImplicitConduction(), bicameral::sim::anonymous_namespace{multires_nest.cpp}::IsObserverSlot(), bicameral::sim::LookupBlock(), bicameral::sim::MakeMultiresNest(), bicameral::sim::anonymous_namespace{multires_implicit_conduction.cpp}::MakeSystem(), bicameral::sim::nest_detail::MarkImplicitBlocks(), bicameral::sim::PlaceMirrorBlock(), bicameral::sim::PlaceRootBlock(), bicameral::sim::RebuildIndex(), bicameral::sim::anonymous_namespace{multires_nest.cpp}::RefineShadowLevel(), bicameral::sim::anonymous_namespace{multires_tree.cpp}::ReleaseAll(), bicameral::sim::anonymous_namespace{multires_tree.cpp}::Resolve(), bicameral::sim::anonymous_namespace{multires_tree.cpp}::ResolveRefine(), bicameral::sim::StepActive(), bicameral::sim::anonymous_namespace{multires_activity.cpp}::SubmitQuietRequests(), bicameral::sim::UsedWorldPages(), bicameral::sim::WaitSeedSlots(), bicameral::sim::nest_detail::WakeAround(), and bicameral::sim::anonymous_namespace{multires_conduction.cpp}::WakeChangedBlocks().

◆ captureImplicitGrid

bool bicameral::sim::MultiresNest::captureImplicitGrid = false

Definition at line 76 of file multires_nest.h.

Referenced by bicameral::sim::nest_detail::AddImplicitConduction().

◆ captureImplicitNest

bool bicameral::sim::MultiresNest::captureImplicitNest = false

Definition at line 80 of file multires_nest.h.

Referenced by bicameral::sim::nest_detail::AddImplicitConduction().

◆ cells

◆ claims

◆ counters

std::array<uint32_t, multires::MR_COUNTER_COUNT> bicameral::sim::MultiresNest::counters {}

Definition at line 54 of file multires_nest.h.

Referenced by bicameral::sim::anonymous_namespace{multires_activity.cpp}::AddLedgerBits(), bicameral::sim::anonymous_namespace{multires_tree.cpp}::AddToLedger(), bicameral::sim::anonymous_namespace{multires_tree.cpp}::Allocate(), bicameral::sim::anonymous_namespace{multires_conduction.cpp}::AllocateConductionFractions(), bicameral::sim::nest_detail::ExpandWantedPages(), bicameral::sim::FindLabMismatch(), bicameral::sim::anonymous_namespace{multires_activity.cpp}::FoldPage(), bicameral::sim::HashWholeNest(), bicameral::sim::anonymous_namespace{multires_tree.cpp}::IndexInsert(), bicameral::sim::anonymous_namespace{multires_tree.cpp}::IndexRemove(), bicameral::sim::MakeMultiresNest(), bicameral::sim::PlaceRootBlock(), bicameral::sim::nest_detail::PopPage(), bicameral::sim::ProcessRequests(), bicameral::sim::anonymous_namespace{multires_nest.cpp}::PullBackLevel(), bicameral::sim::GpuMultires::Read(), bicameral::sim::anonymous_namespace{multires_tree.cpp}::RecordCoarsened(), bicameral::sim::GpuMultires::RecordUpload(), bicameral::sim::anonymous_namespace{multires_tree.cpp}::ReleaseAll(), bicameral::sim::anonymous_namespace{multires_activity.cpp}::ReturnFractionsToLedger(), bicameral::sim::anonymous_namespace{multires_activity.cpp}::Schedule(), bicameral::sim::anonymous_namespace{multires_nest.cpp}::StepPagedBlock(), bicameral::sim::anonymous_namespace{multires_activity.cpp}::SubmitQuietRequests(), bicameral::sim::SubmitRequests(), bicameral::sim::UsedWorldPages(), and bicameral::sim::anonymous_namespace{multires_activity.cpp}::WakeFace().

◆ fractions

◆ freeBlocks

◆ freeFractions

◆ implicitCells

uint32_t bicameral::sim::MultiresNest::implicitCells = 0

Definition at line 70 of file multires_nest.h.

Referenced by bicameral::sim::nest_detail::AddImplicitConduction().

◆ implicitCost

ImplicitCost bicameral::sim::MultiresNest::implicitCost

Definition at line 69 of file multires_nest.h.

Referenced by bicameral::sim::nest_detail::AddImplicitConduction().

◆ implicitDeferredBlocks

uint32_t bicameral::sim::MultiresNest::implicitDeferredBlocks = 0

Definition at line 71 of file multires_nest.h.

Referenced by bicameral::sim::nest_detail::MarkImplicitBlocks().

◆ implicitFrozen

std::vector<uint8_t> bicameral::sim::MultiresNest::implicitFrozen

◆ implicitGrid

ImplicitGrid bicameral::sim::MultiresNest::implicitGrid

Definition at line 77 of file multires_nest.h.

Referenced by bicameral::sim::nest_detail::AddImplicitConduction().

◆ implicitLevels

std::vector<std::array<uint32_t, 2> > bicameral::sim::MultiresNest::implicitLevels

◆ implicitNest

std::shared_ptr<const MultiresNest> bicameral::sim::MultiresNest::implicitNest

◆ index

◆ ledger

◆ requests

◆ seeds

◆ states


The documentation for this struct was generated from the following file: