pub struct QueueFamily<'a> { /* private fields */ }
Expand description
Represents a queue family in a physical device.
A queue family is group of one or multiple queues. All queues of one family have the same characteristics.
Implementations
sourceimpl<'a> QueueFamily<'a>
impl<'a> QueueFamily<'a>
sourcepub fn physical_device(&self) -> PhysicalDevice<'a>
pub fn physical_device(&self) -> PhysicalDevice<'a>
Returns the physical device associated to this queue family.
sourcepub fn id(&self) -> u32
pub fn id(&self) -> u32
Returns the identifier of this queue family within the physical device.
sourcepub fn queues_count(&self) -> usize
pub fn queues_count(&self) -> usize
Returns the number of queues that belong to this family.
Guaranteed to be at least 1 (or else that family wouldn’t exist).
sourcepub fn timestamp_valid_bits(&self) -> Option<u32>
pub fn timestamp_valid_bits(&self) -> Option<u32>
If timestamps are supported, returns the number of bits supported by timestamp operations. The returned value will be in the range 36..64. If timestamps are not supported, returns None.
sourcepub fn min_image_transfer_granularity(&self) -> [u32; 3]
pub fn min_image_transfer_granularity(&self) -> [u32; 3]
Returns the minimum granularity supported for image transfers in terms
of [width, height, depth]
sourcepub fn supports_graphics(&self) -> bool
pub fn supports_graphics(&self) -> bool
Returns true
if queues of this family can execute graphics operations.
sourcepub fn supports_compute(&self) -> bool
pub fn supports_compute(&self) -> bool
Returns true
if queues of this family can execute compute operations.
sourcepub fn explicitly_supports_transfers(&self) -> bool
pub fn explicitly_supports_transfers(&self) -> bool
Returns true
if queues of this family can execute transfer operations.
Note: While all queues that can perform graphics or compute operations can implicitly perform transfer operations, graphics & compute queues only optionally indicate support for tranfers. Many discrete cards will have one queue family that exclusively sets the VK_QUEUE_TRANSFER_BIT to indicate a special relationship with the DMA module and more efficient transfers.
sourcepub fn supports_sparse_binding(&self) -> bool
pub fn supports_sparse_binding(&self) -> bool
Returns true
if queues of this family can execute sparse resources binding operations.
sourcepub fn supports_stage(&self, stage: PipelineStage) -> bool
pub fn supports_stage(&self, stage: PipelineStage) -> bool
Returns true
if the queues of this family support a particular pipeline stage.
sourcepub fn supports_surface<W>(
&self,
surface: &Surface<W>
) -> Result<bool, SurfacePropertiesError>
pub fn supports_surface<W>(
&self,
surface: &Surface<W>
) -> Result<bool, SurfacePropertiesError>
Returns whether queues of this family can draw on the given surface.
Trait Implementations
sourceimpl<'a> Clone for QueueFamily<'a>
impl<'a> Clone for QueueFamily<'a>
sourcefn clone(&self) -> QueueFamily<'a>
fn clone(&self) -> QueueFamily<'a>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl<'a> Debug for QueueFamily<'a>
impl<'a> Debug for QueueFamily<'a>
sourceimpl<'a> PartialEq<QueueFamily<'a>> for QueueFamily<'a>
impl<'a> PartialEq<QueueFamily<'a>> for QueueFamily<'a>
impl<'a> Copy for QueueFamily<'a>
impl<'a> Eq for QueueFamily<'a>
Auto Trait Implementations
impl<'a> RefUnwindSafe for QueueFamily<'a>
impl<'a> Send for QueueFamily<'a>
impl<'a> Sync for QueueFamily<'a>
impl<'a> Unpin for QueueFamily<'a>
impl<'a> UnwindSafe for QueueFamily<'a>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more