concinnity-core 0.18.69

Runtime vocabulary for the Concinnity engine: GPU layouts, ECS components, registry, CPU kernels
Documentation
//! Backend-agnostic render graph. Types, builder, and compile pass with
//! unit tests; the per-backend executors live alongside each backend
//! (`metal/graph_exec.rs`, `vulkan/graph_exec.rs`, `directx/graph_exec.rs`)
//! and consume the `CompiledGraph` this module produces.
//!
//! The graph deliberately stops short of allocating GPU resources; that
//! stays backend-owned. The graph's job is to:
//!
//!   * give every pass a stable identity ([`PassId`]),
//!   * track read / write declarations so the compile pass can derive
//!     pass order, transient resource lifetimes, and per-pass barriers,
//!   * surface a `CompiledGraph` the per-backend executor consumes.

mod alias;
mod builder;
mod compile;
mod frame;
mod passes;
mod transient;
mod types;
mod validate;
mod view_mask;

pub(crate) use builder::GraphBuilder;
pub(crate) use compile::GraphError;
pub use compile::{CompiledGraph, CompiledPass, CompiledResource};
pub use frame::{FOG_FROXEL_X, FOG_FROXEL_Y, FOG_FROXEL_Z, FrameGraphInputs, build_frame_graph};
pub use passes::{PASS_COUNT, PASS_NAMES, PassId};
pub use transient::{
    PoolGates, TransientSlot, TransientTexture, assert_slot_aliasing_sound, plan_pool_slots, pooled,
};
pub use types::{
    BarrierOp, BufferUsage, ClearValue, GraphResourceClass, PassKind, PixelFormat, ReadStages,
    ResourceId, ResourceState, TextureDesc, TextureHandle, TextureUsage,
};
pub(crate) use types::{BufferDesc, TextureSize, full_mip_levels};
pub use validate::{barrier_coverage_gaps_for_driven, final_states};
pub use view_mask::apply_view;