alpha2_native_gpu/sync.rs
1//! Synchronization values transferred with imported native images.
2
3/// Timeline synchronization point required before sampling an image.
4#[derive(Copy, Clone, Debug, Eq, PartialEq)]
5pub struct ExternalSyncPoint {
6 /// Backend-native semaphore or fence identity.
7 pub handle: u64,
8 /// Timeline value to wait for.
9 pub wait_value: u64,
10 /// Timeline value returned to the decoder after rendering.
11 pub signal_value: u64,
12}
13
14/// Native image state observed while the decoder surface is locked.
15#[derive(Copy, Clone, Debug, Eq, PartialEq)]
16pub struct NativeImageState {
17 /// Backend-native layout/state value.
18 pub layout: u32,
19 /// Backend-native access mask.
20 pub access: u32,
21 /// Current queue-family owner, when meaningful for the backend.
22 pub queue_family: u32,
23}