VulkanOperationExt

Trait VulkanOperationExt 

Source
pub trait VulkanOperationExt: IsA<VulkanOperation> + 'static {
    // Provided methods
    fn add_dependency_frame(
        &self,
        frame: &Buffer,
        wait_stage: u64,
        signal_stage: u64,
    ) -> bool { ... }
    fn discard_dependencies(&self) { ... }
    fn end_query(&self, id: u32) -> bool { ... }
    fn reset(&self) { ... }
    fn use_sync2(&self) -> bool { ... }
    fn wait(&self) -> bool { ... }
    fn command_pool(&self) -> Option<VulkanCommandPool> { ... }
}
Expand description

Trait containing all VulkanOperation methods.

§Implementors

VulkanOperation

Provided Methods§

Source

fn add_dependency_frame( &self, frame: &Buffer, wait_stage: u64, signal_stage: u64, ) -> bool

Add frame as an operation dependency by adding the timeline semaphores in each memory of frame into either the wait semaphore array. The signal array hold the same semaphores but increasing their current value.

§frame

a Vulkan Image gst::Buffer

§wait_stage

pipeline stage to wait (VkPipelineStageFlags or VkPipelineStageFlags2)

§signal_stage

pipeline stage to signal (VkPipelineStageFlags or VkPipelineStageFlags2)

§Returns

whether the frame was added as dependency.

Source

fn discard_dependencies(&self)

Discards barriers, and all the semaphore arrays populated by add_dependency_frame().

Source

fn end_query(&self, id: u32) -> bool

Ends a query operation with id in the current command buffer. A query with id has had started with gst_vulkan_operation_begin_query()

§id

query id

§Returns

whether the end command was set

Source

fn reset(&self)

Resets the operation to a clean state.

Source

fn use_sync2(&self) -> bool

§Returns

whether the operations are using synchronization2 extension.

Source

fn wait(&self) -> bool

Waits for the operation’s fence to signal.

§Returns

whether the operation succeed.

Source

fn command_pool(&self) -> Option<VulkanCommandPool>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§