|
Bicameral Engine
GPU-resident engine for a magic-research open-world game
|
#include <gpu_multires_implicit.h>
Public Member Functions | |
| void | RecordAdmit (ID3D12GraphicsCommandList10 *list, D3D12_GPU_VIRTUAL_ADDRESS debugRing, GpuMultires &multires, const MultiresStepOptions &options) |
| void | Record (ID3D12GraphicsCommandList10 *list, D3D12_GPU_VIRTUAL_ADDRESS debugRing, GpuMultires &multires, const MultiresStepOptions &options) |
| void | StampPhases (bool stamp) |
| bool | ReadCost (GpuImplicitCost &cost) const |
Static Public Member Functions | |
| static std::expected< GpuMultiresImplicit, std::string > | Create (ID3D12Device5 *device, const GpuMultires &multires, const MultiresCapacity &capacity, const GpuMultiresImplicitLimits &limits) |
Static Public Attributes | |
| static constexpr uint32_t | PHASE_STAMP_FIRST = 2 |
| static constexpr uint32_t | PHASE_STAMP_COUNT = 5 |
Private Member Functions | |
| GpuMultiresImplicit (GpuImplicitBuild build, GpuImplicitLevels levels, GpuImplicit implicit) | |
Private Attributes | |
| GpuImplicitBuild | m_build |
| GpuImplicitLevels | m_levels |
| GpuImplicit | m_implicit |
| bool | m_recorded = false |
| bool | m_stampPhases = false |
Definition at line 24 of file gpu_multires_implicit.h.
|
inlineprivate |
Definition at line 48 of file gpu_multires_implicit.h.
References m_build, m_implicit, and m_levels.
Referenced by Create().
|
staticnodiscard |
Definition at line 25 of file gpu_multires_implicit.cpp.
References bicameral::sim::MultiresImplicitBudget::cells, bicameral::sim::MultiresImplicitLimits::cells, bicameral::sim::GpuImplicit::Create(), bicameral::sim::GpuImplicitBuild::Create(), bicameral::sim::GpuImplicitLevels::Create(), GpuMultiresImplicit(), bicameral::sim::GpuImplicitLevelLimits::levels, bicameral::sim::GpuImplicitLevelLimits::links, bicameral::sim::MultiresImplicitLimits::links, bicameral::sim::MakeMultiresImplicitBudget(), bicameral::sim::GpuImplicitLevelLimits::nodes, bicameral::sim::MultiresImplicitLimits::nodes, bicameral::sim::MultiresImplicitBudget::unknowns, and bicameral::sim::MultiresImplicitLimits::unknowns.
Referenced by bicameral::sim::GpuMultires::EnableImplicitConduction().
|
inlinenodiscard |
Definition at line 45 of file gpu_multires_implicit.h.
References m_implicit.
| void bicameral::sim::GpuMultiresImplicit::Record | ( | ID3D12GraphicsCommandList10 * | list, |
| D3D12_GPU_VIRTUAL_ADDRESS | debugRing, | ||
| GpuMultires & | multires, | ||
| const MultiresStepOptions & | options ) |
Definition at line 64 of file gpu_multires_implicit.cpp.
References bicameral::sim::GpuImplicit::DEFAULT_MAX_LIMIT_ROUNDS, m_build, m_implicit, m_levels, m_recorded, m_stampPhases, PHASE_STAMP_FIRST, and bicameral::sim::GpuImplicit::ShapeFrom().
| void bicameral::sim::GpuMultiresImplicit::RecordAdmit | ( | ID3D12GraphicsCommandList10 * | list, |
| D3D12_GPU_VIRTUAL_ADDRESS | debugRing, | ||
| GpuMultires & | multires, | ||
| const MultiresStepOptions & | options ) |
Definition at line 58 of file gpu_multires_implicit.cpp.
References bicameral::sim::Explicit, bicameral::sim::MultiresStepOptions::implicitOverflow, and m_build.
|
inline |
Definition at line 40 of file gpu_multires_implicit.h.
References m_stampPhases.
|
private |
Definition at line 51 of file gpu_multires_implicit.h.
Referenced by GpuMultiresImplicit(), Record(), and RecordAdmit().
|
private |
Definition at line 53 of file gpu_multires_implicit.h.
Referenced by GpuMultiresImplicit(), ReadCost(), and Record().
|
private |
Definition at line 52 of file gpu_multires_implicit.h.
Referenced by GpuMultiresImplicit(), and Record().
|
private |
Definition at line 54 of file gpu_multires_implicit.h.
Referenced by Record().
|
private |
Definition at line 55 of file gpu_multires_implicit.h.
Referenced by Record(), and StampPhases().
|
staticconstexpr |
Definition at line 42 of file gpu_multires_implicit.h.
|
staticconstexpr |
Definition at line 41 of file gpu_multires_implicit.h.
Referenced by Record().