pub trait SessionProxyInterface: Send + Sync {
type PresentResponseFut: Future<Output = Result<PresentationInfo, Error>> + Send;
type Present2ResponseFut: Future<Output = Result<FuturePresentationTimes, Error>> + Send;
type RequestPresentationTimesResponseFut: Future<Output = Result<FuturePresentationTimes, Error>> + Send;
// Required methods
fn enqueue(&self, cmds: Vec<Command>) -> Result<(), Error>;
fn present(
&self,
presentation_time: u64,
acquire_fences: Vec<Event>,
release_fences: Vec<Event>,
) -> Self::PresentResponseFut;
fn present2(&self, args: Present2Args) -> Self::Present2ResponseFut;
fn request_presentation_times(
&self,
requested_prediction_span: i64,
) -> Self::RequestPresentationTimesResponseFut;
fn register_buffer_collection(
&self,
buffer_id: u32,
token: ClientEnd<BufferCollectionTokenMarker>,
) -> Result<(), Error>;
fn deregister_buffer_collection(&self, buffer_id: u32) -> Result<(), Error>;
fn set_debug_name(&self, debug_name: &str) -> Result<(), Error>;
}Required Associated Types§
type PresentResponseFut: Future<Output = Result<PresentationInfo, Error>> + Send
type Present2ResponseFut: Future<Output = Result<FuturePresentationTimes, Error>> + Send
type RequestPresentationTimesResponseFut: Future<Output = Result<FuturePresentationTimes, Error>> + Send
Required Methods§
fn enqueue(&self, cmds: Vec<Command>) -> Result<(), Error>
fn present( &self, presentation_time: u64, acquire_fences: Vec<Event>, release_fences: Vec<Event>, ) -> Self::PresentResponseFut
fn present2(&self, args: Present2Args) -> Self::Present2ResponseFut
fn request_presentation_times( &self, requested_prediction_span: i64, ) -> Self::RequestPresentationTimesResponseFut
fn register_buffer_collection( &self, buffer_id: u32, token: ClientEnd<BufferCollectionTokenMarker>, ) -> Result<(), Error>
fn deregister_buffer_collection(&self, buffer_id: u32) -> Result<(), Error>
fn set_debug_name(&self, debug_name: &str) -> Result<(), Error>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".