Bicameral Engine
GPU-resident engine for a magic-research open-world game
Loading...
Searching...
No Matches
gpu_implicit_build.cpp File Reference
#include "sim/gpu_implicit_build.h"
#include <algorithm>
#include <cstring>
#include <format>
#include <span>
#include <string_view>
#include <utility>
#include "gpu/resources.h"
Include dependency graph for gpu_implicit_build.cpp:

Go to the source code of this file.

Namespaces

namespace  bicameral
namespace  bicameral::sim
namespace  bicameral::sim::anonymous_namespace{gpu_implicit_build.cpp}

Enumerations

enum  bicameral::sim::anonymous_namespace{gpu_implicit_build.cpp}::Pass : uint8_t {
  bicameral::sim::anonymous_namespace{gpu_implicit_build.cpp}::PassClear , bicameral::sim::anonymous_namespace{gpu_implicit_build.cpp}::PassCountBlocks , bicameral::sim::anonymous_namespace{gpu_implicit_build.cpp}::PassScanBlocks , bicameral::sim::anonymous_namespace{gpu_implicit_build.cpp}::PassNumberUnknowns ,
  bicameral::sim::anonymous_namespace{gpu_implicit_build.cpp}::PassFaceEntries , bicameral::sim::anonymous_namespace{gpu_implicit_build.cpp}::PassScanEntriesLocal , bicameral::sim::anonymous_namespace{gpu_implicit_build.cpp}::PassScanEntriesGroups , bicameral::sim::anonymous_namespace{gpu_implicit_build.cpp}::PassScanEntriesAdd ,
  bicameral::sim::anonymous_namespace{gpu_implicit_build.cpp}::PassBoundary , bicameral::sim::anonymous_namespace{gpu_implicit_build.cpp}::PassCells , bicameral::sim::anonymous_namespace{gpu_implicit_build.cpp}::PassFaces , bicameral::sim::anonymous_namespace{gpu_implicit_build.cpp}::PassScanCellsLocal ,
  bicameral::sim::anonymous_namespace{gpu_implicit_build.cpp}::PassScanCellsGroups , bicameral::sim::anonymous_namespace{gpu_implicit_build.cpp}::PassScanCellsAdd , bicameral::sim::anonymous_namespace{gpu_implicit_build.cpp}::PassFillLists , bicameral::sim::anonymous_namespace{gpu_implicit_build.cpp}::PassSortLists ,
  bicameral::sim::anonymous_namespace{gpu_implicit_build.cpp}::PassCount
}

Functions

std::string bicameral::sim::anonymous_namespace{gpu_implicit_build.cpp}::ShaderFile (std::string_view name)
uint32_t bicameral::sim::anonymous_namespace{gpu_implicit_build.cpp}::Groups (uint64_t threads)
void bicameral::sim::anonymous_namespace{gpu_implicit_build.cpp}::CopyToReadback (ID3D12GraphicsCommandList *list, ID3D12Resource *source, ID3D12Resource *readback, uint64_t bytes)
template<typename T>
std::vector< T > bicameral::sim::anonymous_namespace{gpu_implicit_build.cpp}::Slice (std::span< const std::byte > bytes, uint64_t offset, uint32_t count)

Variables

constexpr uint32_t bicameral::sim::anonymous_namespace{gpu_implicit_build.cpp}::THREADS = 64
constexpr uint32_t bicameral::sim::anonymous_namespace{gpu_implicit_build.cpp}::HEADER_WORDS = 16
constexpr uint32_t bicameral::sim::anonymous_namespace{gpu_implicit_build.cpp}::HEADER_UNKNOWNS = 0
constexpr uint32_t bicameral::sim::anonymous_namespace{gpu_implicit_build.cpp}::HEADER_BOUNDARY = 1
constexpr uint32_t bicameral::sim::anonymous_namespace{gpu_implicit_build.cpp}::HEADER_FACES = 2
constexpr uint32_t bicameral::sim::anonymous_namespace{gpu_implicit_build.cpp}::HEADER_OVERFLOW = 3
constexpr uint32_t bicameral::sim::anonymous_namespace{gpu_implicit_build.cpp}::ENTRY_WORDS = 4
constexpr uint32_t bicameral::sim::anonymous_namespace{gpu_implicit_build.cpp}::CELL_WORDS = 3
constexpr uint32_t bicameral::sim::anonymous_namespace{gpu_implicit_build.cpp}::KEY_WORDS = 8
constexpr uint32_t bicameral::sim::anonymous_namespace{gpu_implicit_build.cpp}::SCAN_THREADS = 1024
constexpr uint32_t bicameral::sim::anonymous_namespace{gpu_implicit_build.cpp}::FROZEN_MARKS_BIT = 1u << 24
constexpr std::array< const char *, PassCount > bicameral::sim::anonymous_namespace{gpu_implicit_build.cpp}::PASS_NAMES