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§

Required Methods§

source

fn enqueue(&self, cmds: Vec<Command>) -> Result<(), Error>

source

fn present( &self, presentation_time: u64, acquire_fences: Vec<Event>, release_fences: Vec<Event> ) -> Self::PresentResponseFut

source

fn present2(&self, args: Present2Args) -> Self::Present2ResponseFut

source

fn request_presentation_times( &self, requested_prediction_span: i64 ) -> Self::RequestPresentationTimesResponseFut

source

fn register_buffer_collection( &self, buffer_id: u32, token: ClientEnd<BufferCollectionTokenMarker> ) -> Result<(), Error>

source

fn deregister_buffer_collection(&self, buffer_id: u32) -> Result<(), Error>

source

fn set_debug_name(&self, debug_name: &str) -> Result<(), Error>

Implementors§