Bicameral Engine
GPU-resident engine for a magic-research open-world game
Loading...
Searching...
No Matches
probe_trace.h File Reference
#include <array>
#include <cstdint>
#include <expected>
#include <optional>
#include <span>
#include <string>
#include <vector>
#include "core/aliases.h"
#include "gpu/graph_trace.h"
#include "sim/probe_sim.h"
Include dependency graph for probe_trace.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  bicameral::sim::ProbeDivergence

Namespaces

namespace  bicameral
namespace  bicameral::sim

Functions

gpu::GraphTraceFilter bicameral::sim::ProbeTraceFilterForCells (uint64_t tickBegin, uint64_t tickEnd, std::array< uint32_t, 3 > cellMin, std::array< uint32_t, 3 > cellMax, uint32_t capacity)
std::string bicameral::sim::FormatProbeTrace (std::span< const gpu::GraphTraceRecord > sorted)
std::expected< void, std::string > bicameral::sim::WriteProbeTraceFile (const fs::path &path, std::vector< gpu::GraphTraceRecord > records, const gpu::GraphTraceFilter &filter, uint64_t droppedCount)
std::vector< gpu::GraphTraceRecord > bicameral::sim::UniqueProbeTrace (std::vector< gpu::GraphTraceRecord > records)
void bicameral::sim::AppendExpectedProbeTrace (const gpu::GraphTraceFilter &filter, uint64_t tick, std::span< const ProbeCommand > commands, std::span< const uint8_t > flagsBefore, std::span< const uint8_t > flagsAfter, std::vector< gpu::GraphTraceRecord > &expected)
std::optional< std::string > bicameral::sim::FirstProbeTraceMismatch (std::span< const gpu::GraphTraceRecord > gpu, std::span< const gpu::GraphTraceRecord > cpu)
std::optional< uint64_t > bicameral::sim::FirstDivergentTick (std::span< const ProbeTickHash > gpu, std::span< const ProbeTickHash > cpu)
std::optional< ProbeDivergence > bicameral::sim::FindCellDivergence (uint64_t tick, std::span< const uint32_t > gpuCells, std::span< const uint32_t > cpuCells)
std::string bicameral::sim::FormatProbeDivergence (const ProbeDivergence &divergence)