vyre-spec 0.1.1

Frozen data contracts for vyre — OpSpec, AlgebraicLaw, Category, IntrinsicTable
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//! Frozen buffer-access tags used by operation and program metadata.

/// Buffer access mode in the frozen data contract.
///
/// Example: `BufferAccess::ReadWrite` records that a storage buffer may be
/// both read and written by a lowered operation.
#[derive(Debug, Clone, PartialEq, Eq, Hash, serde::Deserialize, serde::Serialize)]
pub enum BufferAccess {
    /// Read-only storage buffer.
    ReadOnly,
    /// Read-write storage buffer.
    ReadWrite,
    /// Uniform buffer: small, read-only, and fast path.
    Uniform,
    /// Workgroup-local shared memory.
    Workgroup,
}