Struct vulkano::sync::event::Event

source ·
pub struct Event { /* private fields */ }
Expand description

Used to block the GPU execution until an event on the CPU occurs.

Note that Vulkan implementations may have limits on how long a command buffer will wait for an event to be signaled, in order to avoid interfering with progress of other clients of the GPU. If the event isn’t signaled within these limits, results are undefined and may include device loss.

Implementations§

source§

impl Event

source

pub fn new( device: Arc<Device>, create_info: EventCreateInfo ) -> Result<Event, Validated<VulkanError>>

Creates a new Event.

On portability subset devices, the events feature must be enabled on the device.

source

pub fn from_pool(device: Arc<Device>) -> Result<Event, VulkanError>

Takes an event from the vulkano-provided event pool. If the pool is empty, a new event will be allocated. Upon drop, the event is put back into the pool.

For most applications, using the event pool should be preferred, in order to avoid creating new events every frame.

source

pub unsafe fn from_handle( device: Arc<Device>, handle: Event, create_info: EventCreateInfo ) -> Event

Creates a new Event from a raw object handle.

Safety
  • handle must be a valid Vulkan object handle created from device.
  • create_info must match the info used to create the object.
source

pub fn flags(&self) -> EventCreateFlags

Returns the flags that the event was created with.

source

pub fn is_signaled(&self) -> Result<bool, Validated<VulkanError>>

Returns true if the event is signaled.

source

pub fn set(&mut self) -> Result<(), Validated<VulkanError>>

Changes the Event to the signaled state.

If a command buffer is waiting on this event, it is then unblocked.

source

pub unsafe fn reset(&mut self) -> Result<(), Validated<VulkanError>>

Changes the Event to the unsignaled state.

Safety
  • There must be an execution dependency between reset and the execution of any
    wait_events command that includes this event in its events parameter.

Trait Implementations§

source§

impl Debug for Event

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl DeviceOwned for Event

source§

fn device(&self) -> &Arc<Device>

Returns the device that owns self.
source§

impl Drop for Event

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
source§

impl Hash for Event

source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for Event

source§

fn eq(&self, other: &Self) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl VulkanObject for Event

§

type Handle = Event

The type of the object.
source§

fn handle(&self) -> Self::Handle

Returns the raw Vulkan handle of the object.
source§

impl Eq for Event

Auto Trait Implementations§

§

impl !RefUnwindSafe for Event

§

impl Send for Event

§

impl Sync for Event

§

impl Unpin for Event

§

impl !UnwindSafe for Event

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> DeviceOwnedVulkanObject for Twhere T: DeviceOwned + VulkanObject,

source§

fn set_debug_utils_object_name( &self, object_name: Option<&str> ) -> Result<(), VulkanError>

Assigns a human-readable name to the object for debugging purposes. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.