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

#include <gpu_multires_implicit.h>

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

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

Detailed Description

Definition at line 24 of file gpu_multires_implicit.h.

Constructor & Destructor Documentation

◆ GpuMultiresImplicit()

bicameral::sim::GpuMultiresImplicit::GpuMultiresImplicit ( GpuImplicitBuild build,
GpuImplicitLevels levels,
GpuImplicit implicit )
inlineprivate

Definition at line 48 of file gpu_multires_implicit.h.

References m_build, m_implicit, and m_levels.

Referenced by Create().

Here is the caller graph for this function:

Member Function Documentation

◆ Create()

std::expected< GpuMultiresImplicit, std::string > bicameral::sim::GpuMultiresImplicit::Create ( ID3D12Device5 * device,
const GpuMultires & multires,
const MultiresCapacity & capacity,
const GpuMultiresImplicitLimits & limits )
staticnodiscard

◆ ReadCost()

bool bicameral::sim::GpuMultiresImplicit::ReadCost ( GpuImplicitCost & cost) const
inlinenodiscard

Definition at line 45 of file gpu_multires_implicit.h.

References m_implicit.

◆ Record()

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().

Here is the call graph for this function:

◆ RecordAdmit()

void bicameral::sim::GpuMultiresImplicit::RecordAdmit ( ID3D12GraphicsCommandList10 * list,
D3D12_GPU_VIRTUAL_ADDRESS debugRing,
GpuMultires & multires,
const MultiresStepOptions & options )

◆ StampPhases()

void bicameral::sim::GpuMultiresImplicit::StampPhases ( bool stamp)
inline

Definition at line 40 of file gpu_multires_implicit.h.

References m_stampPhases.

Member Data Documentation

◆ m_build

GpuImplicitBuild bicameral::sim::GpuMultiresImplicit::m_build
private

Definition at line 51 of file gpu_multires_implicit.h.

Referenced by GpuMultiresImplicit(), Record(), and RecordAdmit().

◆ m_implicit

GpuImplicit bicameral::sim::GpuMultiresImplicit::m_implicit
private

Definition at line 53 of file gpu_multires_implicit.h.

Referenced by GpuMultiresImplicit(), ReadCost(), and Record().

◆ m_levels

GpuImplicitLevels bicameral::sim::GpuMultiresImplicit::m_levels
private

Definition at line 52 of file gpu_multires_implicit.h.

Referenced by GpuMultiresImplicit(), and Record().

◆ m_recorded

bool bicameral::sim::GpuMultiresImplicit::m_recorded = false
private

Definition at line 54 of file gpu_multires_implicit.h.

Referenced by Record().

◆ m_stampPhases

bool bicameral::sim::GpuMultiresImplicit::m_stampPhases = false
private

Definition at line 55 of file gpu_multires_implicit.h.

Referenced by Record(), and StampPhases().

◆ PHASE_STAMP_COUNT

uint32_t bicameral::sim::GpuMultiresImplicit::PHASE_STAMP_COUNT = 5
staticconstexpr

Definition at line 42 of file gpu_multires_implicit.h.

◆ PHASE_STAMP_FIRST

uint32_t bicameral::sim::GpuMultiresImplicit::PHASE_STAMP_FIRST = 2
staticconstexpr

Definition at line 41 of file gpu_multires_implicit.h.

Referenced by Record().


The documentation for this class was generated from the following files: