Trait VkHandle

Source
pub trait VkHandle {
    type Handle;

    // Required method
    fn native_ptr(&self) -> Self::Handle;

    // Provided method
    fn as_transparent_ref(&self) -> VkHandleRef<'_, Self::Handle> { ... }
}
Expand description

Wrapping a Vulkan Dispatchable/Nondispatchable Handler

Required Associated Types§

Required Methods§

Source

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

Retrieve an underlying handle

Provided Methods§

Implementations on Foreign Types§

Source§

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

Source§

type Handle = <T as VkHandle>::Handle

Source§

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

Source§

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

Source§

type Handle = <T as VkHandle>::Handle

Source§

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

Source§

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

Source§

type Handle = <T as VkHandle>::Handle

Source§

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

Source§

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

Source§

type Handle = <T as VkHandle>::Handle

Source§

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

Source§

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

Source§

type Handle = <T as VkHandle>::Handle

Source§

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

Source§

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

Source§

type Handle = <T as VkHandle>::Handle

Source§

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

Source§

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

Source§

type Handle = <T as VkHandle>::Handle

Source§

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

Source§

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

Source§

type Handle = <T as VkHandle>::Handle

Source§

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

Source§

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

Source§

type Handle = <T as VkHandle>::Handle

Source§

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

Source§

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

Source§

type Handle = <T as VkHandle>::Handle

Source§

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

Source§

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

Source§

type Handle = <T as VkHandle>::Handle

Source§

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

Source§

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

Source§

type Handle = <T as VkHandle>::Handle

Source§

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

Source§

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

Source§

type Handle = <T as VkHandle>::Handle

Source§

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

Source§

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

Source§

type Handle = <T as VkHandle>::Handle

Source§

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

Implementors§

Source§

impl VkHandle for DisplayMode

Available on crate feature VK_KHR_display only.
Source§

impl VkHandle for InstanceObject

Source§

impl<'r, Device: VkHandle<Handle = VkDevice>> VkHandle for FramebufferObject<'r, Device>

Source§

impl<Buffer: DeviceChildHandle> VkHandle for BufferViewObject<Buffer>

Source§

impl<Device> VkHandle for CommandBufferObject<Device>

Source§

impl<Device> VkHandle for QueueObject<Device>

Source§

impl<Device: Device> VkHandle for DescriptorUpdateTemplateObject<Device>

Available on crate feature VK_KHR_descriptor_update_template only.
Source§

impl<Device: VkHandle<Handle = VkDevice>> VkHandle for BufferObject<Device>

Source§

impl<Device: VkHandle<Handle = VkDevice>> VkHandle for DeviceMemoryObject<Device>

Source§

impl<Device: VkHandle<Handle = VkDevice>> VkHandle for ImageObject<Device>

Source§

impl<Device: VkHandle<Handle = VkDevice>> VkHandle for SamplerObject<Device>

Source§

impl<Device: VkHandle<Handle = VkDevice>> VkHandle for CommandPoolObject<Device>

Source§

impl<Device: VkHandle<Handle = VkDevice>> VkHandle for DescriptorPoolObject<Device>

Source§

impl<Device: VkHandle<Handle = VkDevice>> VkHandle for DescriptorSetLayoutObject<Device>

Source§

impl<Device: VkHandle<Handle = VkDevice>> VkHandle for EventObject<Device>

Source§

impl<Device: VkHandle<Handle = VkDevice>> VkHandle for FenceObject<Device>

Source§

impl<Device: VkHandle<Handle = VkDevice>> VkHandle for PipelineCacheObject<Device>

Source§

impl<Device: VkHandle<Handle = VkDevice>> VkHandle for PipelineLayoutObject<Device>

Source§

impl<Device: VkHandle<Handle = VkDevice>> VkHandle for PipelineObject<Device>

Source§

impl<Device: VkHandle<Handle = VkDevice>> VkHandle for QueryPoolObject<Device>

Source§

impl<Device: VkHandle<Handle = VkDevice>> VkHandle for RenderPassObject<Device>

Source§

impl<Device: VkHandle<Handle = VkDevice>> VkHandle for SemaphoreObject<Device>

Source§

impl<Device: VkHandle<Handle = VkDevice>> VkHandle for ShaderModuleObject<Device>

Source§

impl<Device: VkHandle<Handle = VkDevice>, Surface: VkHandle<Handle = VkSurfaceKHR>> VkHandle for SurfaceSwapchainObject<Device, Surface>

Source§

impl<H: Copy> VkHandle for VkHandleRef<'_, H>

Source§

impl<H: Copy> VkHandle for VkHandleRefMut<'_, H>

Source§

impl<Image: DeviceChildHandle> VkHandle for ImageViewObject<Image>

Source§

impl<Instance> VkHandle for DeviceObject<Instance>

Source§

impl<Instance: Instance + InstanceExtensions> VkHandle for DebugReportCallbackObject<Instance>

Available on crate feature VK_EXT_debug_report only.
Source§

impl<Instance: Instance + InstanceExtensions> VkHandle for DebugUtilsMessengerObject<Instance>

Available on crate feature VK_EXT_debug_utils only.
Source§

impl<Instance: Instance> VkHandle for SurfaceObject<Instance>

Source§

impl<Owner: Instance> VkHandle for PhysicalDeviceObject<Owner>

Source§

impl<PhysicalDevice: PhysicalDevice> VkHandle for Display<PhysicalDevice>

Available on crate feature VK_KHR_display only.
Source§

impl<Swapchain> VkHandle for SwapchainImage<Swapchain>