|
Bicameral Engine
GPU-resident engine for a magic-research open-world game
|
#include <gpu_lab_box.h>
Public Member Functions | |
| bool | RecordUpload (ID3D12GraphicsCommandList10 *list, const MultiresNest &nest) |
| bool | RecordTick (ID3D12GraphicsCommandList10 *list, D3D12_GPU_VIRTUAL_ADDRESS debugRing, uint64_t tick, std::span< const Command > commands) |
| void | RecordReadback (ID3D12GraphicsCommandList10 *list) |
| bool | Read (MultiresNest &nest) const |
Static Public Member Functions | |
| static std::expected< GpuLabBox, std::string > | Create (ID3D12Device5 *device, const BakedReactionTable &table) |
Private Member Functions | |
| GpuLabBox (GpuMultires nest) | |
| bool | RecordCommandUpload (ID3D12GraphicsCommandList10 *list, std::span< const Command > commands) |
Private Attributes | |
| GpuMultires | m_nest |
| ComPtr< ID3D12PipelineState > | m_applyPipeline |
| ComPtr< ID3D12Resource > | m_commands |
| ComPtr< ID3D12Resource > | m_commandUpload |
| uint32_t | m_speciesCount = 0 |
Definition at line 23 of file gpu_lab_box.h.
|
inlineexplicitprivate |
Definition at line 39 of file gpu_lab_box.h.
References m_nest.
Referenced by Create().
|
staticnodiscard |
Definition at line 10 of file gpu_lab_box.cpp.
References bicameral::sim::COMMAND_BYTES, bicameral::sim::GpuMultires::Create(), bicameral::gpu::CreateBuffer(), bicameral::gpu::CreateComputePipeline(), GpuLabBox(), bicameral::sim::LAB_MAX_COMMANDS_PER_TICK, bicameral::sim::LabBoxCapacity(), bicameral::gpu::LoadShader(), m_applyPipeline, m_commands, m_commandUpload, m_nest, m_speciesCount, bicameral::sim::GpuMultires::RootSignature(), bicameral::sim::BakedReactionTable::species, bicameral::gpu::UnorderedAccess, and bicameral::gpu::Upload.
Referenced by bicameral::sim::LabSession::Create().
|
inlinenodiscard |
Definition at line 36 of file gpu_lab_box.h.
References m_nest.
|
nodiscardprivate |
Definition at line 40 of file gpu_lab_box.cpp.
References m_commands, m_commandUpload, and bicameral::gpu::Transition().
Referenced by RecordTick().
|
inline |
Definition at line 35 of file gpu_lab_box.h.
References m_nest.
|
nodiscard |
Definition at line 58 of file gpu_lab_box.cpp.
References bicameral::sim::LAB_MAX_COMMANDS_PER_TICK, bicameral::sim::LAB_STEP_OPTIONS, bicameral::sim::LAB_WORLD_SEED, m_applyPipeline, m_commands, m_nest, and RecordCommandUpload().
|
nodiscard |
Definition at line 36 of file gpu_lab_box.cpp.
References m_nest.
|
private |
Definition at line 44 of file gpu_lab_box.h.
Referenced by Create(), and RecordTick().
|
private |
Definition at line 45 of file gpu_lab_box.h.
Referenced by Create(), RecordCommandUpload(), and RecordTick().
|
private |
Definition at line 46 of file gpu_lab_box.h.
Referenced by Create(), and RecordCommandUpload().
|
private |
Definition at line 43 of file gpu_lab_box.h.
Referenced by Create(), GpuLabBox(), Read(), RecordReadback(), RecordTick(), and RecordUpload().
|
private |
Definition at line 47 of file gpu_lab_box.h.
Referenced by Create().