Trait PhysicalDevice

Source
pub trait PhysicalDevice: VkHandle<Handle = VkPhysicalDevice> + InstanceChild {
Show 54 methods // Provided methods fn layer_property_count(&self) -> Result<u32> { ... } fn enumerate_layer_properties( &self, sink: &mut [VkLayerProperties], ) -> Result<u32> { ... } fn enumerate_layer_properties_alloc(&self) -> Result<Vec<VkLayerProperties>> { ... } fn extension_property_count_cstr( &self, layer_name: Option<&CStr>, ) -> Result<u32> { ... } fn enumerate_extension_properties_cstr( &self, layer_name: Option<&CStr>, sink: &mut [VkExtensionProperties], ) -> Result<u32> { ... } fn enumerate_extension_properties_cstr_alloc( &self, layer_name: Option<&CStr>, ) -> Result<Vec<VkExtensionProperties>> { ... } fn enumerate_extension_properties( &self, layer_name: Option<&str>, ) -> Result<Vec<VkExtensionProperties>> { ... } fn features(&self) -> VkPhysicalDeviceFeatures { ... } fn format_properties(&self, format: VkFormat) -> VkFormatProperties { ... } unsafe fn format_properties2( &self, format: VkFormat, out: &mut VkFormatProperties2KHR, ) { ... } fn image_format_properties( &self, format: VkFormat, itype: VkImageType, tiling: VkImageTiling, usage: ImageUsageFlags, flags: ImageFlags, ) -> Result<VkImageFormatProperties> { ... } fn properties(&self) -> VkPhysicalDeviceProperties { ... } fn queue_family_property_count(&self) -> u32 { ... } fn queue_family_properties( &self, sink: &mut [VkQueueFamilyProperties], ) -> u32 { ... } fn queue_family_properties_alloc(&self) -> QueueFamilies { ... } fn memory_properties(&self) -> MemoryProperties { ... } fn sparse_image_format_property_count( &self, format: VkFormat, image_type: VkImageType, samples: VkSampleCountFlags, usage: ImageUsageFlags, tiling: VkImageTiling, ) -> u32 { ... } fn sparse_image_format_properties( &self, format: VkFormat, image_type: VkImageType, samples: VkSampleCountFlags, usage: ImageUsageFlags, tiling: VkImageTiling, sink: &mut [VkSparseImageFormatProperties], ) -> u32 { ... } fn sparse_image_format_properties_alloc( &self, format: VkFormat, itype: VkImageType, samples: VkSampleCountFlags, usage: ImageUsageFlags, tiling: VkImageTiling, ) -> Vec<VkSparseImageFormatProperties> { ... } unsafe fn multisample_properties( &self, samples: VkSampleCountFlags, sink: &mut MaybeUninit<VkMultisamplePropertiesEXT>, ) { ... } unsafe fn external_fence_properties( &self, info: &VkPhysicalDeviceExternalFenceInfoKHR, sink: &mut MaybeUninit<VkExternalFencePropertiesKHR>, ) where Self::ConcreteInstance: InstanceExtensions { ... } fn surface_support( &self, queue_family: u32, surface: &(impl Surface + ?Sized), ) -> Result<bool> { ... } fn surface_capabilities( &self, surface: &(impl Surface + ?Sized), ) -> Result<VkSurfaceCapabilitiesKHR> { ... } fn surface_format_count( &self, surface: &(impl VkHandle<Handle = VkSurfaceKHR> + ?Sized), ) -> Result<u32> { ... } fn surface_formats( &self, surface: &(impl VkHandle<Handle = VkSurfaceKHR> + ?Sized), sink: &mut [VkSurfaceFormatKHR], ) -> Result<u32> { ... } fn surface_formats_alloc( &self, surface: &(impl Surface + ?Sized), ) -> Result<Vec<VkSurfaceFormatKHR>> { ... } fn surface_present_mode_count( &self, surface: &(impl VkHandle<Handle = VkSurfaceKHR> + ?Sized), ) -> Result<u32> { ... } fn surface_present_modes( &self, surface: &(impl VkHandle<Handle = VkSurfaceKHR> + ?Sized), sink: &mut [PresentMode], ) -> Result<u32> { ... } fn surface_present_modes_alloc( &self, surface: &(impl Surface + ?Sized), ) -> Result<Vec<PresentMode>> { ... } unsafe fn xlib_presentation_support( &self, queue_family: u32, display: *mut Display, visual: VisualID, ) -> bool { ... } unsafe fn xcb_presentation_support( &self, queue_family: u32, connection: *mut xcb_connection_t, visual: Visualid, ) -> bool { ... } unsafe fn wayland_presentation_support( &self, queue_family: u32, display: *mut c_void, ) -> bool { ... } fn display_mode_property_count(&self, display: VkDisplayKHR) -> Result<u32> { ... } fn display_mode_properties( &self, display: VkDisplayKHR, sink: &mut [VkDisplayModePropertiesKHR], ) -> Result<u32> { ... } fn display_mode_properties_alloc( &self, display: VkDisplayKHR, ) -> Result<Vec<VkDisplayModePropertiesKHR>> { ... } unsafe fn new_display_mode_raw( &self, display: VkDisplayKHR, info: &VkDisplayModeCreateInfoKHR, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkDisplayModeKHR> { ... } fn display_plane_capabilities( &self, mode: VkDisplayModeKHR, plane_index: u32, ) -> Result<VkDisplayPlaneCapabilitiesKHR> { ... } fn display_property_count(&self) -> Result<u32> { ... } fn display_properties( &self, sink: &mut [VkDisplayPropertiesKHR], ) -> Result<u32> { ... } fn display_properties_alloc( &self, ) -> Result<Vec<DisplayPropertiesWithPhysicalDeviceRef<&Self>>> { ... } fn display_plane_property_count(&self) -> Result<u32> { ... } fn display_plane_properties( &self, sink: &mut [VkDisplayPlanePropertiesKHR], ) -> Result<u32> { ... } fn display_plane_properties_alloc( &self, ) -> Result<Vec<DisplayPlanePropertiesWithPhysicalDeviceRef<&Self>>> { ... } fn display_plane_supported_display_count( &self, plane_index: u32, ) -> Result<u32> { ... } fn display_plane_supported_displays( &self, plane_index: u32, sink: &mut [VkDisplayKHR], ) -> Result<u32> { ... } fn display_plane_supported_displays_alloc( &self, plane_index: u32, ) -> Result<Vec<Display<&Self>>> { ... } unsafe fn new_surface_for_display_plane_raw( &self, info: &VkDisplaySurfaceCreateInfoKHR, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkSurfaceKHR> { ... } unsafe fn get_randr_output_display( self, dpy: *mut Display, rr_output: RROutput, ) -> Result<Display<Self>> where Self: Sized, Self::ConcreteInstance: InstanceExtensions { ... } unsafe fn surface_capabilities2( &self, surface_info: &VkPhysicalDeviceSurfaceInfo2KHR, sink: &mut MaybeUninit<VkSurfaceCapabilities2KHR>, ) -> Result<()> where Self::ConcreteInstance: InstanceExtensions { ... } unsafe fn properties2( &self, sink: &mut MaybeUninit<VkPhysicalDeviceProperties2KHR>, ) { ... } unsafe fn features2( &self, sink: &mut MaybeUninit<VkPhysicalDeviceFeatures2KHR>, ) { ... } fn surface_present_mode2_count( &self, surface_info: &VkPhysicalDeviceSurfaceInfo2KHR, ) -> Result<u32> where Self::ConcreteInstance: InstanceExtensions { ... } fn surface_present_modes2( &self, surface_info: &VkPhysicalDeviceSurfaceInfo2KHR, sink: &mut [VkPresentModeKHR], ) -> Result<u32> where Self::ConcreteInstance: InstanceExtensions { ... } fn surface_present_modes2_alloc( &self, surface_info: &VkPhysicalDeviceSurfaceInfo2KHR, ) -> Result<Vec<VkPresentModeKHR>> where Self::ConcreteInstance: InstanceExtensions { ... }
}
Expand description

A PhysicalDevice interface

Provided Methods§

Source

fn layer_property_count(&self) -> Result<u32>

Available on crate feature Implements only.

Returns a count of properties of available physical device layers

§Failures

On failure, this command returns

Source

fn enumerate_layer_properties( &self, sink: &mut [VkLayerProperties], ) -> Result<u32>

Available on crate feature Implements only.

Returns properties of available physical device layers

§Failures

On failure, this command returns

Source

fn enumerate_layer_properties_alloc(&self) -> Result<Vec<VkLayerProperties>>

Available on crate features Implements and alloc only.

Returns properties of available physical device layers

§Failures

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_OUT_OF_DEVICE_MEMORY
Source

fn extension_property_count_cstr( &self, layer_name: Option<&CStr>, ) -> Result<u32>

Available on crate feature Implements only.

Returns a count of properties of available physical device extensions

§Failures

On failure, this command returns

Source

fn enumerate_extension_properties_cstr( &self, layer_name: Option<&CStr>, sink: &mut [VkExtensionProperties], ) -> Result<u32>

Available on crate feature Implements only.

Returns properties of available physical device extensions

§Failures

On failure, this command returns

Source

fn enumerate_extension_properties_cstr_alloc( &self, layer_name: Option<&CStr>, ) -> Result<Vec<VkExtensionProperties>>

Available on crate features Implements and alloc only.

Returns properties of available physical device extensions

§Failures

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_OUT_OF_DEVICE_MEMORY
  • VK_ERROR_LAYER_NOT_PRESENT
Source

fn enumerate_extension_properties( &self, layer_name: Option<&str>, ) -> Result<Vec<VkExtensionProperties>>

Available on crate features Implements and alloc only.

Returns properties of available physical device extensions

§Failures

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_OUT_OF_DEVICE_MEMORY
  • VK_ERROR_LAYER_NOT_PRESENT
Source

fn features(&self) -> VkPhysicalDeviceFeatures

Available on crate feature Implements only.

Reports capabilities of a physical device.

Source

fn format_properties(&self, format: VkFormat) -> VkFormatProperties

Available on crate feature Implements only.

Lists physical device’s format capabilities

Source

unsafe fn format_properties2( &self, format: VkFormat, out: &mut VkFormatProperties2KHR, )

Available on crate features Implements and Allow1_1APIs only.

Lists physical device’s format capabilities

§Safety

Caller must guarantee that all write operations to out are safe.

Source

fn image_format_properties( &self, format: VkFormat, itype: VkImageType, tiling: VkImageTiling, usage: ImageUsageFlags, flags: ImageFlags, ) -> Result<VkImageFormatProperties>

Available on crate feature Implements only.

Lists physical device’s image format capabilities

§Failures

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_OUT_OF_DEVICE_MEMORY
  • VK_ERROR_FORMAT_NOT_SUPPORTED
Source

fn properties(&self) -> VkPhysicalDeviceProperties

Available on crate feature Implements only.

Returns properties of a physical device

Source

fn queue_family_property_count(&self) -> u32

Available on crate feature Implements only.

Reports a count of properties of the queues of the specified physical device

Source

fn queue_family_properties(&self, sink: &mut [VkQueueFamilyProperties]) -> u32

Available on crate feature Implements only.

Reports properties of the queues of the specified physical device

Source

fn queue_family_properties_alloc(&self) -> QueueFamilies

Available on crate feature Implements only.

Reports properties of the queues of the specified physical device

Source

fn memory_properties(&self) -> MemoryProperties

Available on crate feature Implements only.

Reports memory information for the specified physical device

Source

fn sparse_image_format_property_count( &self, format: VkFormat, image_type: VkImageType, samples: VkSampleCountFlags, usage: ImageUsageFlags, tiling: VkImageTiling, ) -> u32

Available on crate feature Implements only.

Retrieve a count of properties of an image format spplied to sparse images

Source

fn sparse_image_format_properties( &self, format: VkFormat, image_type: VkImageType, samples: VkSampleCountFlags, usage: ImageUsageFlags, tiling: VkImageTiling, sink: &mut [VkSparseImageFormatProperties], ) -> u32

Available on crate feature Implements only.

Retrieve properties of an image format applied to sparse images

Source

fn sparse_image_format_properties_alloc( &self, format: VkFormat, itype: VkImageType, samples: VkSampleCountFlags, usage: ImageUsageFlags, tiling: VkImageTiling, ) -> Vec<VkSparseImageFormatProperties>

Available on crate feature Implements only.

Retrieve properties of an image format applied to sparse images

Source

unsafe fn multisample_properties( &self, samples: VkSampleCountFlags, sink: &mut MaybeUninit<VkMultisamplePropertiesEXT>, )

Available on crate features Implements and VK_EXT_sample_locations only.
§Safety

Caller must guarantee that all write operations to sink and its pNext fields are safe

Source

unsafe fn external_fence_properties( &self, info: &VkPhysicalDeviceExternalFenceInfoKHR, sink: &mut MaybeUninit<VkExternalFencePropertiesKHR>, )

Available on crate features Implements and VK_KHR_external_fence_capabilities only.

Function for querying external fence handle capabilities

§Safety

Caller must guarantee that all write operations to sink and its pNext fields are safe

Source

fn surface_support( &self, queue_family: u32, surface: &(impl Surface + ?Sized), ) -> Result<bool>

Available on crate features Implements and VK_KHR_surface only.

Query if presentation is supported

§Failures

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_OUT_OF_DEVICE_MEMORY
  • VK_ERROR_SURFACE_LOST_KHR
Source

fn surface_capabilities( &self, surface: &(impl Surface + ?Sized), ) -> Result<VkSurfaceCapabilitiesKHR>

Available on crate features Implements and VK_KHR_surface only.

Query surface capabilities

§Failures

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_OUT_OF_DEVICE_MEMORY
  • VK_ERROR_SURFACE_LOST_KHR
Source

fn surface_format_count( &self, surface: &(impl VkHandle<Handle = VkSurfaceKHR> + ?Sized), ) -> Result<u32>

Available on crate features Implements and VK_KHR_surface only.

Query a count of color formats supported by surface

§Failures

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_OUT_OF_DEVICE_MEMORY
  • VK_ERROR_SURFACE_LOST_KHR
Source

fn surface_formats( &self, surface: &(impl VkHandle<Handle = VkSurfaceKHR> + ?Sized), sink: &mut [VkSurfaceFormatKHR], ) -> Result<u32>

Available on crate features Implements and VK_KHR_surface only.

Query a count of color formats supported by surface

§Failures

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_OUT_OF_DEVICE_MEMORY
  • VK_ERROR_SURFACE_LOST_KHR
Source

fn surface_formats_alloc( &self, surface: &(impl Surface + ?Sized), ) -> Result<Vec<VkSurfaceFormatKHR>>

Available on crate features Implements and VK_KHR_surface and alloc only.

Query color formats supported by surface

§Failures

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_OUT_OF_DEVICE_MEMORY
  • VK_ERROR_SURFACE_LOST_KHR
Source

fn surface_present_mode_count( &self, surface: &(impl VkHandle<Handle = VkSurfaceKHR> + ?Sized), ) -> Result<u32>

Available on crate features Implements and VK_KHR_surface only.

Query a count of supported presentation modes

§Failures

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_OUT_OF_DEVICE_MEMORY
  • VK_ERROR_SURFACE_LOST_KHR
Source

fn surface_present_modes( &self, surface: &(impl VkHandle<Handle = VkSurfaceKHR> + ?Sized), sink: &mut [PresentMode], ) -> Result<u32>

Available on crate features Implements and VK_KHR_surface only.

Query supported presentation modes

§Failures

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_OUT_OF_DEVICE_MEMORY
  • VK_ERROR_SURFACE_LOST_KHR
Source

fn surface_present_modes_alloc( &self, surface: &(impl Surface + ?Sized), ) -> Result<Vec<PresentMode>>

Available on crate features Implements and VK_KHR_surface and alloc only.

Query supported presentation modes

§Failures

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_OUT_OF_DEVICE_MEMORY
  • VK_ERROR_SURFACE_LOST_KHR
Source

unsafe fn xlib_presentation_support( &self, queue_family: u32, display: *mut Display, visual: VisualID, ) -> bool

Available on crate features Implements and VK_KHR_xlib_surface only.

Query physical device for presentation to X11 server using Xlib

§Safety

Provided display must be a valid reference

Source

unsafe fn xcb_presentation_support( &self, queue_family: u32, connection: *mut xcb_connection_t, visual: Visualid, ) -> bool

Available on crate features Implements and VK_KHR_xcb_surface only.

Query physical device for presentation to X11 server using XCB

§Safety

Provided connection must be a valid reference

Source

unsafe fn wayland_presentation_support( &self, queue_family: u32, display: *mut c_void, ) -> bool

Available on crate features Implements and VK_KHR_wayland_surface only.

Query physical device for presentation to Wayland

§Safety

Provided display must be a valid reference

Source

fn display_mode_property_count(&self, display: VkDisplayKHR) -> Result<u32>

Available on crate features Implements and VK_KHR_display only.

Query a count of the set of mode properties supported by the display

§Failures

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_OUT_OF_DEVICE_MEMORY
Source

fn display_mode_properties( &self, display: VkDisplayKHR, sink: &mut [VkDisplayModePropertiesKHR], ) -> Result<u32>

Available on crate features Implements and VK_KHR_display only.

Query the set of mode properties supported by the display

§Failures

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_OUT_OF_DEVICE_MEMORY
Source

fn display_mode_properties_alloc( &self, display: VkDisplayKHR, ) -> Result<Vec<VkDisplayModePropertiesKHR>>

Available on crate features Implements and VK_KHR_display and alloc only.

Query the set of mode properties supported by the display

§Failures

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_OUT_OF_DEVICE_MEMORY
Source

unsafe fn new_display_mode_raw( &self, display: VkDisplayKHR, info: &VkDisplayModeCreateInfoKHR, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkDisplayModeKHR>

Available on crate features Implements and VK_KHR_display only.

Create a display mode

§Failures

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_OUT_OF_DEVICE_MEMORY
  • VK_ERROR_INITIALIZATION_FAILED
§Safety

no guarantee will be provided (simply calls under api)

Source

fn display_plane_capabilities( &self, mode: VkDisplayModeKHR, plane_index: u32, ) -> Result<VkDisplayPlaneCapabilitiesKHR>

Available on crate features Implements and VK_KHR_display only.

Query capabilities of a mode and plane combination

§Failures

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_OUT_OF_DEVICE_MEMORY
Source

fn display_property_count(&self) -> Result<u32>

Available on crate features Implements and VK_KHR_display only.

Query a count of information about the available displays

§Failures

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_OUT_OF_DEVICE_MEMORY
Source

fn display_properties(&self, sink: &mut [VkDisplayPropertiesKHR]) -> Result<u32>

Available on crate features Implements and VK_KHR_display only.

Query information about the available displays

§Failures

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_OUT_OF_DEVICE_MEMORY
Source

fn display_properties_alloc( &self, ) -> Result<Vec<DisplayPropertiesWithPhysicalDeviceRef<&Self>>>

Available on crate features Implements and VK_KHR_display and alloc only.

Query information about the available displays.

§Failures

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_OUT_OF_DEVICE_MEMORY
Source

fn display_plane_property_count(&self) -> Result<u32>

Available on crate features Implements and VK_KHR_display only.

Query a count of the plane properties

§Failures

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_OUT_OF_DEVICE_MEMORY
Source

fn display_plane_properties( &self, sink: &mut [VkDisplayPlanePropertiesKHR], ) -> Result<u32>

Available on crate features Implements and VK_KHR_display only.

Query the plane properties

§Failures

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_OUT_OF_DEVICE_MEMORY
Source

fn display_plane_properties_alloc( &self, ) -> Result<Vec<DisplayPlanePropertiesWithPhysicalDeviceRef<&Self>>>

Available on crate features Implements and VK_KHR_display and alloc only.

Query the plane properties.

§Failures

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_OUT_OF_DEVICE_MEMORY
Source

fn display_plane_supported_display_count(&self, plane_index: u32) -> Result<u32>

Available on crate features Implements and VK_KHR_display only.

Query a count of the list of displays a plane supports

§Failures

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_OUT_OF_DEVICE_MEMORY
Source

fn display_plane_supported_displays( &self, plane_index: u32, sink: &mut [VkDisplayKHR], ) -> Result<u32>

Available on crate features Implements and VK_KHR_display only.

Query the list of displays a plane supports

§Failures

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_OUT_OF_DEVICE_MEMORY
Source

fn display_plane_supported_displays_alloc( &self, plane_index: u32, ) -> Result<Vec<Display<&Self>>>

Available on crate features Implements and VK_KHR_display and alloc only.

Query the list of displays a plane supports.

§Failures

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_OUT_OF_DEVICE_MEMORY
Source

unsafe fn new_surface_for_display_plane_raw( &self, info: &VkDisplaySurfaceCreateInfoKHR, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkSurfaceKHR>

Available on crate features Implements and VK_KHR_display and VK_KHR_surface only.

Create a Surface object representing a display plane and mode

§Failures

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_OUT_OF_DEVICE_MEMORY
§Safety

no guarantee will be provided (simply calls under api)

Source

unsafe fn get_randr_output_display( self, dpy: *mut Display, rr_output: RROutput, ) -> Result<Display<Self>>

Available on crate features Implements and VK_EXT_acquire_xlib_display only.

Query the VkDisplayKHR corresponding to an X11 RandR Output

§Failures

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
§Safety

Provided dpy must be a valid reference

Source

unsafe fn surface_capabilities2( &self, surface_info: &VkPhysicalDeviceSurfaceInfo2KHR, sink: &mut MaybeUninit<VkSurfaceCapabilities2KHR>, ) -> Result<()>

Available on crate features Implements and VK_KHR_get_surface_capabilities2 only.

Reports capabilities of a surface on a physical device

§Failures

On failure, this command returns

§Safety

Caller must guarantee that all write operations to sink and its pNext fields are safe

Source

unsafe fn properties2( &self, sink: &mut MaybeUninit<VkPhysicalDeviceProperties2KHR>, )

Available on crate features Implements and Allow1_1APIs only.

Returns properties of a physical device

§Safety

Caller must guarantee that all write operations to sink and its pNext fields are safe

Source

unsafe fn features2(&self, sink: &mut MaybeUninit<VkPhysicalDeviceFeatures2KHR>)

Available on crate features Implements and Allow1_1APIs only.

Reports capabilities of a physical device

§Safety

Caller must guarantee that all write operations to sink and its pNext fields are safe

Source

fn surface_present_mode2_count( &self, surface_info: &VkPhysicalDeviceSurfaceInfo2KHR, ) -> Result<u32>

Available on crate features Implements and VK_EXT_full_screen_exclusive only.

Query a count of supported presentation modes

§Failures

On failure, this command returns

Source

fn surface_present_modes2( &self, surface_info: &VkPhysicalDeviceSurfaceInfo2KHR, sink: &mut [VkPresentModeKHR], ) -> Result<u32>

Available on crate features Implements and VK_EXT_full_screen_exclusive only.

Query supported presentation modes

§Failures

On failure, this command returns

Source

fn surface_present_modes2_alloc( &self, surface_info: &VkPhysicalDeviceSurfaceInfo2KHR, ) -> Result<Vec<VkPresentModeKHR>>

Available on crate features Implements and VK_EXT_full_screen_exclusive and alloc only.

Query supported presentation modes.

§Failures

On failure, this command returns

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.

Implementations on Foreign Types§

Source§

impl<'s, T> PhysicalDevice for &'s T
where T: PhysicalDevice + ?Sized,

Source§

impl<'s, T> PhysicalDevice for &'s mut T
where T: PhysicalDevice + ?Sized,

Source§

impl<T> PhysicalDevice for Box<T>
where T: PhysicalDevice + ?Sized,

Source§

impl<T> PhysicalDevice for Rc<T>
where T: PhysicalDevice + ?Sized,

Source§

impl<T> PhysicalDevice for Arc<T>
where T: PhysicalDevice + ?Sized,

Source§

impl<T> PhysicalDevice for Ref<'_, T>
where T: PhysicalDevice + ?Sized,

Source§

impl<T> PhysicalDevice for RefMut<'_, T>
where T: PhysicalDevice + ?Sized,

Source§

impl<T> PhysicalDevice for ManuallyDrop<T>
where T: PhysicalDevice,

Source§

impl<T> PhysicalDevice for MutexGuard<'_, T>
where T: PhysicalDevice + ?Sized,

Source§

impl<T> PhysicalDevice for RwLockReadGuard<'_, T>
where T: PhysicalDevice + ?Sized,

Source§

impl<T> PhysicalDevice for RwLockWriteGuard<'_, T>
where T: PhysicalDevice + ?Sized,

Source§

impl<T> PhysicalDevice for MutexGuard<'_, T>
where T: PhysicalDevice + ?Sized,

Source§

impl<T> PhysicalDevice for RwLockReadGuard<'_, T>
where T: PhysicalDevice + ?Sized,

Source§

impl<T> PhysicalDevice for RwLockWriteGuard<'_, T>
where T: PhysicalDevice + ?Sized,

Implementors§