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

Functions

template<typename T>
ComPtr< ID3D12Resource > CreateUploadBuffer (ID3D12Device *device, std::span< const T > data)
uint32_t GroupsFor (uint32_t threadCount)

Variables

constexpr uint32_t THREADS_PER_GROUP = 64
constexpr uint32_t ROOT_CONSTANT_COUNT = 14
constexpr uint32_t STATS_BYTES = sizeof(GpuPhysicsStats)
constexpr gpu::RootSignatureLayout ROOT_LAYOUT
constexpr uint32_t COLOR_PREDICATE_UAV = 13
constexpr std::array< const char *, 13 > SHADER_NAMES
constexpr std::array< const char *, 15 > PASS_NAMES
constexpr auto COLOR_COUNT = (uint64_t)PX_GPU_MAX_COLORS
constexpr uint32_t BROADPHASE_THREADS = 16
constexpr uint32_t BROADPHASE_MAX_GROUPS = 1024
constexpr uint32_t MAX_TIMESTAMPS = 1u << 16
constexpr uint64_t MANIFOLD_HEADER_BYTES = 80

Function Documentation

◆ CreateUploadBuffer()

template<typename T>
ComPtr< ID3D12Resource > bicameral::sim::anonymous_namespace{gpu_physics.cpp}::CreateUploadBuffer ( ID3D12Device * device,
std::span< const T > data )

Definition at line 55 of file gpu_physics.cpp.

References bicameral::gpu::CreateBuffer(), CreateUploadBuffer(), and bicameral::gpu::Upload.

Referenced by CreateUploadBuffer().

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

◆ GroupsFor()

uint32_t bicameral::sim::anonymous_namespace{gpu_physics.cpp}::GroupsFor ( uint32_t threadCount)

Definition at line 69 of file gpu_physics.cpp.

References GroupsFor(), and THREADS_PER_GROUP.

Referenced by GroupsFor().

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

Variable Documentation

◆ BROADPHASE_MAX_GROUPS

uint32_t bicameral::sim::anonymous_namespace{gpu_physics.cpp}::BROADPHASE_MAX_GROUPS = 1024
constexpr

Definition at line 46 of file gpu_physics.cpp.

◆ BROADPHASE_THREADS

uint32_t bicameral::sim::anonymous_namespace{gpu_physics.cpp}::BROADPHASE_THREADS = 16
constexpr

Definition at line 45 of file gpu_physics.cpp.

◆ COLOR_COUNT

auto bicameral::sim::anonymous_namespace{gpu_physics.cpp}::COLOR_COUNT = (uint64_t)PX_GPU_MAX_COLORS
constexpr

Definition at line 39 of file gpu_physics.cpp.

◆ COLOR_PREDICATE_UAV

uint32_t bicameral::sim::anonymous_namespace{gpu_physics.cpp}::COLOR_PREDICATE_UAV = 13
constexpr

Definition at line 23 of file gpu_physics.cpp.

◆ MANIFOLD_HEADER_BYTES

uint64_t bicameral::sim::anonymous_namespace{gpu_physics.cpp}::MANIFOLD_HEADER_BYTES = 80
constexpr

Definition at line 52 of file gpu_physics.cpp.

◆ MAX_TIMESTAMPS

uint32_t bicameral::sim::anonymous_namespace{gpu_physics.cpp}::MAX_TIMESTAMPS = 1u << 16
constexpr

Definition at line 49 of file gpu_physics.cpp.

◆ PASS_NAMES

std::array<const char*, 15> bicameral::sim::anonymous_namespace{gpu_physics.cpp}::PASS_NAMES
constexpr
Initial value:
= {
"Initialize", "BeginSubstep", "Broadphase", "Narrowphase", "PrepareManifolds",
"ColorRound", "FinishColoring", "Recollide", "SolveColor", "UpdateDuals",
"UpdateVelocity", "Finish", "BuildManifolds", "BroadphaseGraph", "SolveColorGraph"}

Definition at line 34 of file gpu_physics.cpp.

◆ ROOT_CONSTANT_COUNT

uint32_t bicameral::sim::anonymous_namespace{gpu_physics.cpp}::ROOT_CONSTANT_COUNT = 14
constexpr

Definition at line 16 of file gpu_physics.cpp.

◆ ROOT_LAYOUT

gpu::RootSignatureLayout bicameral::sim::anonymous_namespace{gpu_physics.cpp}::ROOT_LAYOUT
constexpr
Initial value:
{
.uavCount = 14, .rootConstantCount = ROOT_CONSTANT_COUNT, .debugRing = true, .srvCount = 2}

Definition at line 20 of file gpu_physics.cpp.

◆ SHADER_NAMES

std::array<const char*, 13> bicameral::sim::anonymous_namespace{gpu_physics.cpp}::SHADER_NAMES
constexpr
Initial value:
= {
"sim/physics_initialize.cso", "sim/physics_begin_substep.cso", "sim/physics_broadphase.cso",
"sim/physics_narrowphase.cso", "sim/physics_prepare_manifolds.cso", "sim/physics_color_round.cso",
"sim/physics_finish_coloring.cso", "sim/physics_recollide.cso", "sim/physics_solve_color.cso",
"sim/physics_update_duals.cso", "sim/physics_update_velocity.cso", "sim/physics_finish.cso",
"sim/physics_build_manifolds.cso"}

Definition at line 26 of file gpu_physics.cpp.

◆ STATS_BYTES

uint32_t bicameral::sim::anonymous_namespace{gpu_physics.cpp}::STATS_BYTES = sizeof(GpuPhysicsStats)
constexpr

Definition at line 17 of file gpu_physics.cpp.

◆ THREADS_PER_GROUP

uint32_t bicameral::sim::anonymous_namespace{gpu_physics.cpp}::THREADS_PER_GROUP = 64
constexpr

Definition at line 15 of file gpu_physics.cpp.

Referenced by GroupsFor().