molgfx-render 0.3.4

The render graph, passes and the engine that drives a frame.
Documentation
use super::VisualParameterTable;
use crate::testing::MockDevice;

#[test]
fn parameter_ranges_are_fixed_width_and_growth_is_reused() {
    let device = MockDevice::default();
    let mut table = VisualParameterTable::<MockDevice>::new();

    assert!(
        table
            .reserve(&device, 1_000)
            .unwrap_or_else(|error| panic!("parameter arena should reserve: {error}"))
    );
    let revision = table.binding_revision();
    assert!(
        !table
            .reserve(&device, 900)
            .unwrap_or_else(|error| panic!("smaller resident count should reuse storage: {error}"))
    );

    assert_eq!(VisualParameterTable::<MockDevice>::offset(0), 0);
    assert_eq!(VisualParameterTable::<MockDevice>::offset(7), 112);
    assert_eq!(table.binding_revision(), revision);
}