rendy_chain/
lib.rs

1//! This crate can derive the synchronization required
2//! for the dependency chain of the whole execution graph.
3
4#![warn(
5    missing_debug_implementations,
6    missing_copy_implementations,
7    missing_docs,
8    trivial_casts,
9    trivial_numeric_casts,
10    unused_extern_crates,
11    unused_import_braces,
12    unused_qualifications
13)]
14
15/// Unique resource id.
16#[derive(Copy, Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
17pub struct Id(pub usize);
18
19mod chain;
20mod collect;
21mod node;
22mod resource;
23mod schedule;
24mod sync;
25
26pub use crate::{
27    chain::{Chain, Link, LinkNode},
28    collect::{collect, Chains, Unsynchronized},
29    node::{BufferState, ImageState, Node, State},
30    resource::{AccessFlags, Buffer, Image, Resource, UsageFlags},
31    schedule::{Family, Queue, QueueId, Schedule, Submission, SubmissionId},
32    sync::{sync, Barrier, Barriers, BufferBarriers, Guard, ImageBarriers, Signal, SyncData, Wait},
33};