Trait Device

Source
pub trait Device: VkHandle<Handle = VkDevice> + InstanceChild {
Show 54 methods // Required methods fn get_image_drm_format_modifier_properties_ext_fn( &self, ) -> PFN_vkGetImageDrmFormatModifierPropertiesEXT; fn get_fence_fd_khr_fn(&self) -> PFN_vkGetFenceFdKHR; fn import_fence_fd_khr_fn(&self) -> PFN_vkImportFenceFdKHR; fn get_memory_fd_khr_fn(&self) -> PFN_vkGetMemoryFdKHR; fn get_memory_fd_properties_khr_fn(&self) -> PFN_vkGetMemoryFdPropertiesKHR; fn get_memory_host_pointer_properties_ext_fn( &self, ) -> PFN_vkGetMemoryHostPointerPropertiesEXT; // Provided methods fn queue<'s>( &'s self, family_index: u32, queue_index: u32, ) -> QueueObject<&'s Self> { ... } fn new_fence_raw( &self, info: &FenceCreateInfo<'_>, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkFence> { ... } fn new_semaphore_raw( &self, info: &SemaphoreCreateInfo<'_>, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkSemaphore> { ... } fn new_event_raw( &self, info: &EventCreateInfo, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkEvent> { ... } fn allocate_memory( &self, info: &MemoryAllocateInfo<'_>, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkDeviceMemory> { ... } fn new_buffer_raw( &self, info: &BufferCreateInfo<'_>, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkBuffer> { ... } fn new_buffer_view_raw( &self, info: &BufferViewCreateInfo<'_>, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkBufferView> { ... } fn new_sampler_raw( &self, info: &SamplerCreateInfo, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkSampler> { ... } fn new_image_raw( &self, info: &ImageCreateInfo<'_>, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkImage> { ... } fn new_image_view_raw( &self, info: &ImageViewCreateInfo<'_>, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkImageView> { ... } fn new_render_pass( &self, info: &RenderPassCreateInfo<'_>, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkRenderPass> { ... } fn new_render_pass2( &self, info: &RenderPassCreateInfo2<'_>, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkRenderPass> { ... } fn new_framebuffer_raw( &self, info: &FramebufferCreateInfo<'_, '_>, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkFramebuffer> { ... } fn new_shader_module_raw( &self, info: &ShaderModuleCreateInfo<'_>, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkShaderModule> { ... } fn new_pipeline_cache_raw( &self, info: &PipelineCacheCreateInfo<'_>, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkPipelineCache> { ... } fn new_pipeline_layout_raw( &self, info: &PipelineLayoutCreateInfo<'_>, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkPipelineLayout> { ... } unsafe fn new_graphics_pipelines_raw( &self, infos: &[GraphicsPipelineCreateInfo<'_>], cache: Option<VkPipelineCache>, allocation_callbacks: Option<&VkAllocationCallbacks>, objects: &mut [VkPipeline], ) -> Result<()> { ... } fn new_graphics_pipelines<'s>( &'s self, infos: &[GraphicsPipelineCreateInfo<'_>], cache: Option<&(impl VkHandle<Handle = VkPipelineCache> + ?Sized)>, ) -> Result<Vec<PipelineObject<&'s Self>>> { ... } fn new_graphics_pipeline_array<'s, const N: usize>( &'s self, infos: &[GraphicsPipelineCreateInfo<'_>; N], cache: Option<&(impl VkHandle<Handle = VkPipelineCache> + ?Sized)>, ) -> Result<[PipelineObject<&'s Self>; N]> { ... } unsafe fn new_compute_pipelines_raw( &self, infos: &[ComputePipelineCreateInfo<'_>], cache: Option<VkPipelineCache>, allocation_callbacks: Option<&VkAllocationCallbacks>, objects: &mut [VkPipeline], ) -> Result<()> { ... } fn new_compute_pipelines<'s>( &'s self, infos: &[ComputePipelineCreateInfo<'_>], cache: Option<&(impl VkHandle<Handle = VkPipelineCache> + ?Sized)>, ) -> Result<Vec<PipelineObject<&'s Self>>> { ... } fn new_compute_pipeline_array<'s, const N: usize>( &'s self, infos: &[ComputePipelineCreateInfo<'_>; N], cache: Option<&(impl VkHandle<Handle = VkPipelineCache> + ?Sized)>, ) -> Result<[PipelineObject<&'s Self>; N]> { ... } fn new_command_pool_raw( &self, info: &CommandPoolCreateInfo, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkCommandPool> { ... } fn new_query_pool_raw( &self, info: &QueryPoolCreateInfo, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkQueryPool> { ... } unsafe fn allocate_command_buffers<'s>( &'s self, info: &CommandBufferAllocateInfo<'_>, sink: &mut [CommandBufferObject<&'s Self>], ) -> Result<()> { ... } unsafe fn allocate_command_buffers_alloc<'s>( &'s self, info: &CommandBufferAllocateInfo<'_>, ) -> Result<Vec<CommandBufferObject<&'s Self>>> { ... } unsafe fn allocate_command_buffer_array<'s, const N: usize>( &'s self, info: &CommandBufferFixedCountAllocateInfo<'_, N>, ) -> Result<[CommandBufferObject<&'s Self>; N]> { ... } unsafe fn invalidate_memory_range( &self, ranges: &[MappedMemoryRange<'_>], ) -> Result<()> { ... } unsafe fn flush_mapped_memory_ranges( &self, ranges: &[MappedMemoryRange<'_>], ) -> Result<()> { ... } unsafe fn update_descriptor_sets_raw( &self, writes: &[VkWriteDescriptorSet], copies: &[VkCopyDescriptorSet], ) { ... } fn update_descriptor_sets( &self, writes: &[DescriptorSetWriteInfo<'_>], copies: &[DescriptorSetCopyInfo], ) { ... } unsafe fn wait(&self) -> Result<()> { ... } unsafe fn get_image_sparse_memory_requirements2_count( &self, info: &ImageSparseMemoryRequirementsInfo2<'_>, count_sink: &mut MaybeUninit<u32>, sink_head_ptr: *mut VkSparseImageMemoryRequirements2KHR, ) { ... } unsafe fn bind_buffer_raw( &self, buffer: VkBuffer, memory: VkDeviceMemory, offset: VkDeviceSize, ) -> Result<()> { ... } unsafe fn bind_buffers_raw( &self, bounds: &[VkBindBufferMemoryInfoKHR], ) -> Result<()> { ... } unsafe fn bind_image_raw( &self, image: VkImage, memory: VkDeviceMemory, offset: VkDeviceSize, ) -> Result<()> { ... } unsafe fn bind_images_raw( &self, bounds: &[VkBindImageMemoryInfoKHR], ) -> Result<()> { ... } fn wait_multiple_fences( &self, objects: &[VkHandleRef<'_, VkFence>], wait_all: bool, timeout: Option<u64>, ) -> Result<bool> { ... } fn reset_multiple_fences( &self, objects: &[VkHandleRefMut<'_, VkFence>], ) -> Result<()> { ... } fn new_swapchain_raw( &self, info: &SwapchainCreateInfo<'_, '_>, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkSwapchainKHR> { ... } fn set_object_name(&self, info: &DebugUtilsObjectNameInfo<'_>) -> Result<()> where Self::ConcreteInstance: InstanceExtensions { ... } unsafe fn new_descriptor_update_template_raw( &self, info: &VkDescriptorUpdateTemplateCreateInfoKHR, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkDescriptorUpdateTemplateKHR> { ... } fn new_descriptor_update_template<'s>( &'s self, entries: &[VkDescriptorUpdateTemplateEntryKHR], dsl: Option<&impl DescriptorSetLayout>, ) -> Result<DescriptorUpdateTemplateObject<&'s Self>> { ... } unsafe fn memory_fd_properties( &self, handle_type: ExternalMemoryHandleTypeFd, handle: RawFd, sink: &mut MaybeUninit<VkMemoryFdPropertiesKHR>, ) -> Result<()> { ... } fn get_memory_fd(&self, info: &MemoryGetFdInfo<'_>) -> Result<RawFd> { ... } unsafe fn memory_host_pointer_properties( &self, handle_type: ExternalMemoryHandleTypeHost, ptr: *mut c_void, sink: &mut MaybeUninit<VkMemoryHostPointerPropertiesEXT>, ) -> Result<()> { ... } fn import_fence_fd(&self, info: &ImportFenceFdInfo<'_>) -> Result<()> { ... } fn get_fence_fd(&self, info: &FenceFdGetInfo<'_>) -> Result<RawFd> { ... }
}

Required Methods§

Source

fn get_image_drm_format_modifier_properties_ext_fn( &self, ) -> PFN_vkGetImageDrmFormatModifierPropertiesEXT

Available on crate features Implements and VK_EXT_image_drm_format_modifier only.
Source

fn get_fence_fd_khr_fn(&self) -> PFN_vkGetFenceFdKHR

Available on crate features Implements and VK_KHR_external_fence_fd only.
Source

fn import_fence_fd_khr_fn(&self) -> PFN_vkImportFenceFdKHR

Available on crate features Implements and VK_KHR_external_fence_fd only.
Source

fn get_memory_fd_khr_fn(&self) -> PFN_vkGetMemoryFdKHR

Available on crate features Implements and VK_KHR_external_memory_fd only.
Source

fn get_memory_fd_properties_khr_fn(&self) -> PFN_vkGetMemoryFdPropertiesKHR

Available on crate features Implements and VK_KHR_external_memory_fd only.
Source

fn get_memory_host_pointer_properties_ext_fn( &self, ) -> PFN_vkGetMemoryHostPointerPropertiesEXT

Available on crate features Implements and VK_EXT_external_memory_host only.

Provided Methods§

Source

fn queue<'s>( &'s self, family_index: u32, queue_index: u32, ) -> QueueObject<&'s Self>

Available on crate feature Implements only.

Get a queue handle from a device

Source

fn new_fence_raw( &self, info: &FenceCreateInfo<'_>, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkFence>

Available on crate feature Implements only.

Create a new fence object

§Failure

On failure, this command returns

Source

fn new_semaphore_raw( &self, info: &SemaphoreCreateInfo<'_>, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkSemaphore>

Available on crate feature Implements only.

Create a new queue semaphore object

§Failure

On failure, this command returns

Source

fn new_event_raw( &self, info: &EventCreateInfo, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkEvent>

Available on crate feature Implements only.

Create a new event object

§Failure

On failure, this command returns

Source

fn allocate_memory( &self, info: &MemoryAllocateInfo<'_>, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkDeviceMemory>

Available on crate feature Implements only.
Source

fn new_buffer_raw( &self, info: &BufferCreateInfo<'_>, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkBuffer>

Available on crate feature Implements only.

Create a new buffer object

§Failure

On failure, this command returns

Source

fn new_buffer_view_raw( &self, info: &BufferViewCreateInfo<'_>, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkBufferView>

Available on crate feature Implements only.

Create a new buffer view object

§Failure

On failure, this command returns

Source

fn new_sampler_raw( &self, info: &SamplerCreateInfo, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkSampler>

Available on crate feature Implements only.

Create a new sampler object

§Failures

On failure, this command returns

Source

fn new_image_raw( &self, info: &ImageCreateInfo<'_>, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkImage>

Available on crate feature Implements only.

Create a new image object

§Failure

On failure, this command returns

Source

fn new_image_view_raw( &self, info: &ImageViewCreateInfo<'_>, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkImageView>

Available on crate feature Implements only.

Create a new image view from an existing image

§Failure

On failure, this command returns

Source

fn new_render_pass( &self, info: &RenderPassCreateInfo<'_>, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkRenderPass>

Available on crate feature Implements only.

Create a new render pass object

§Failures

On failure, this command returns

Source

fn new_render_pass2( &self, info: &RenderPassCreateInfo2<'_>, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkRenderPass>

Available on crate features Implements and VK_KHR_create_renderpass2 only.

Create a new render pass object

§Failures

On failure, this command returns

Source

fn new_framebuffer_raw( &self, info: &FramebufferCreateInfo<'_, '_>, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkFramebuffer>

Available on crate feature Implements only.

Create a new framebuffer object

§Failures

On failure, this command returns

Source

fn new_shader_module_raw( &self, info: &ShaderModuleCreateInfo<'_>, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkShaderModule>

Available on crate feature Implements only.

Creates a new shader module object

§Failures

On failure, this command returns

Source

fn new_pipeline_cache_raw( &self, info: &PipelineCacheCreateInfo<'_>, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkPipelineCache>

Available on crate feature Implements only.

Create a new pipeline cache

§Failures

On failure, this command returns

Source

fn new_pipeline_layout_raw( &self, info: &PipelineLayoutCreateInfo<'_>, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkPipelineLayout>

Available on crate feature Implements only.

Create a new pipeline layout object

§Failures

On failure, this command returns

Source

unsafe fn new_graphics_pipelines_raw( &self, infos: &[GraphicsPipelineCreateInfo<'_>], cache: Option<VkPipelineCache>, allocation_callbacks: Option<&VkAllocationCallbacks>, objects: &mut [VkPipeline], ) -> Result<()>

Available on crate feature Implements only.

Create graphics pipelines

§Failures

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_OUT_OF_DEVICE_MEMORY
§Safety

no guarantees will be provided (simply calls under api)

Source

fn new_graphics_pipelines<'s>( &'s self, infos: &[GraphicsPipelineCreateInfo<'_>], cache: Option<&(impl VkHandle<Handle = VkPipelineCache> + ?Sized)>, ) -> Result<Vec<PipelineObject<&'s Self>>>

Available on crate features Implements and alloc only.

Create graphics pipelines

§Failures

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_OUT_OF_DEVICE_MEMORY
Source

fn new_graphics_pipeline_array<'s, const N: usize>( &'s self, infos: &[GraphicsPipelineCreateInfo<'_>; N], cache: Option<&(impl VkHandle<Handle = VkPipelineCache> + ?Sized)>, ) -> Result<[PipelineObject<&'s Self>; N]>

Available on crate feature Implements only.

Create graphics pipelines

§Failures

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_OUT_OF_DEVICE_MEMORY
Source

unsafe fn new_compute_pipelines_raw( &self, infos: &[ComputePipelineCreateInfo<'_>], cache: Option<VkPipelineCache>, allocation_callbacks: Option<&VkAllocationCallbacks>, objects: &mut [VkPipeline], ) -> Result<()>

Available on crate feature Implements only.

Create compute pipelines

§Failures

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_OUT_OF_DEVICE_MEMORY
§Safety

no guarantees will be provided (simply calls under api)

Source

fn new_compute_pipelines<'s>( &'s self, infos: &[ComputePipelineCreateInfo<'_>], cache: Option<&(impl VkHandle<Handle = VkPipelineCache> + ?Sized)>, ) -> Result<Vec<PipelineObject<&'s Self>>>

Available on crate features Implements and alloc only.

Create compute pipelines

§Failures

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_OUT_OF_DEVICE_MEMORY
Source

fn new_compute_pipeline_array<'s, const N: usize>( &'s self, infos: &[ComputePipelineCreateInfo<'_>; N], cache: Option<&(impl VkHandle<Handle = VkPipelineCache> + ?Sized)>, ) -> Result<[PipelineObject<&'s Self>; N]>

Available on crate feature Implements only.

Create compute pipelines

§Failures

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_OUT_OF_DEVICE_MEMORY
Source

fn new_command_pool_raw( &self, info: &CommandPoolCreateInfo, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkCommandPool>

Available on crate feature Implements only.

Create a new command pool object

§Failures

On failure, this command returns

Source

fn new_query_pool_raw( &self, info: &QueryPoolCreateInfo, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkQueryPool>

Available on crate feature Implements only.

Create a new query pool object

§Failures

On failure, this command returns

Source

unsafe fn allocate_command_buffers<'s>( &'s self, info: &CommandBufferAllocateInfo<'_>, sink: &mut [CommandBufferObject<&'s Self>], ) -> Result<()>

Available on crate feature Implements only.

Allocate command buffers from an existing command pool

§Failures

On failure, this command returns

§Safety

A VkCommandPool specified in the info argument must be created from this device

Source

unsafe fn allocate_command_buffers_alloc<'s>( &'s self, info: &CommandBufferAllocateInfo<'_>, ) -> Result<Vec<CommandBufferObject<&'s Self>>>

Available on crate features Implements and alloc only.

Allocate command buffers from an existing command pool

§Failures

On failure, this command returns

§Safety

A VkCommandPool specified in the info argument must be created from this device

Source

unsafe fn allocate_command_buffer_array<'s, const N: usize>( &'s self, info: &CommandBufferFixedCountAllocateInfo<'_, N>, ) -> Result<[CommandBufferObject<&'s Self>; N]>

Available on crate feature Implements only.

Allocate command buffers from an existing command pool

§Failures

On failure, this command returns

§Safety

A VkCommandPool specified in the info argument must be created from this device

Source

unsafe fn invalidate_memory_range( &self, ranges: &[MappedMemoryRange<'_>], ) -> Result<()>

Available on crate feature Implements only.

Invalidate MappedMemoryRanges Invalidating the memory range allows that device writes to the memory ranges which have been made visible to the VK_ACCESS_HOST_WRITE_BIT and VK_ACCESS_HOST_READ_BIT are made visible to the host

§Safety

Memory object in ranges must be currently host mapped

Source

unsafe fn flush_mapped_memory_ranges( &self, ranges: &[MappedMemoryRange<'_>], ) -> Result<()>

Available on crate feature Implements only.

Flush MappedMemoryRanges Flushing the memory range allows that host writes to the memory ranges can be made available to device access

§Safety

Memory object in ranges must be currently host mapped

Source

unsafe fn update_descriptor_sets_raw( &self, writes: &[VkWriteDescriptorSet], copies: &[VkCopyDescriptorSet], )

Available on crate feature Implements only.

Update the contents of descriptor set objects

Source

fn update_descriptor_sets( &self, writes: &[DescriptorSetWriteInfo<'_>], copies: &[DescriptorSetCopyInfo], )

Available on crate features Implements and alloc only.

Update the contents of descriptor set objects

Source

unsafe fn wait(&self) -> Result<()>

Available on crate feature Implements only.

Wait for a object to become idle

§Safety

All VkQueue objects created from this device must be externally synchronized.

Source

unsafe fn get_image_sparse_memory_requirements2_count( &self, info: &ImageSparseMemoryRequirementsInfo2<'_>, count_sink: &mut MaybeUninit<u32>, sink_head_ptr: *mut VkSparseImageMemoryRequirements2KHR, )

Available on crate features Implements and VK_KHR_get_memory_requirements2 only.

Query the memory requirements for a sparse image

§Safety

sink_head_ptr must be a valid pointer for read/write operations.

Source

unsafe fn bind_buffer_raw( &self, buffer: VkBuffer, memory: VkDeviceMemory, offset: VkDeviceSize, ) -> Result<()>

Available on crate feature Implements only.

Single binding for a buffer

§Safety

VkBuffer and VkDeviceMemory must be valid and created from this device object

Source

unsafe fn bind_buffers_raw( &self, bounds: &[VkBindBufferMemoryInfoKHR], ) -> Result<()>

Available on crate features Implements and VK_KHR_bind_memory2 only.

Multiple Binding for Buffers

Source

unsafe fn bind_image_raw( &self, image: VkImage, memory: VkDeviceMemory, offset: VkDeviceSize, ) -> Result<()>

Available on crate feature Implements only.

Single binding for an image

§Safety

VkImage and VkDeviceMemory must be valid and created from this device object

Source

unsafe fn bind_images_raw( &self, bounds: &[VkBindImageMemoryInfoKHR], ) -> Result<()>

Available on crate features Implements and VK_KHR_bind_memory2 only.

Multiple Binding for Images

Source

fn wait_multiple_fences( &self, objects: &[VkHandleRef<'_, VkFence>], wait_all: bool, timeout: Option<u64>, ) -> Result<bool>

Available on crate feature Implements only.

Wait for one or more fences to become signaled, returns Ok(true) if operation is timed out

§Failures

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_OUT_OF_DEVICE_MEMORY
  • VK_ERROR_DEVICE_LOST
Source

fn reset_multiple_fences( &self, objects: &[VkHandleRefMut<'_, VkFence>], ) -> Result<()>

Available on crate feature Implements only.

Resets one or more fence objects

§Failures

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_OUT_OF_DEVICE_MEMORY
Source

fn new_swapchain_raw( &self, info: &SwapchainCreateInfo<'_, '_>, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkSwapchainKHR>

Available on crate features Implements and VK_KHR_swapchain only.
Source

fn set_object_name(&self, info: &DebugUtilsObjectNameInfo<'_>) -> Result<()>

Available on crate features Implements and VK_EXT_debug_utils only.

Give a user-friendly name to an object.

§Failures

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_OUT_OF_DEVICE_MEMORY
Source

unsafe fn new_descriptor_update_template_raw( &self, info: &VkDescriptorUpdateTemplateCreateInfoKHR, allocation_callbacks: Option<&VkAllocationCallbacks>, ) -> Result<VkDescriptorUpdateTemplateKHR>

Available on crate features Implements and VK_KHR_descriptor_update_template only.

Create a new descriptor update template

§Failure

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_OUT_OF_DEVICE_MEMORY
§Safety

no guarantees will be provided (simply calls under api)

Source

fn new_descriptor_update_template<'s>( &'s self, entries: &[VkDescriptorUpdateTemplateEntryKHR], dsl: Option<&impl DescriptorSetLayout>, ) -> Result<DescriptorUpdateTemplateObject<&'s Self>>

Available on crate feature Implements only.

Create a new descriptor update template

§Bedrock extension

dsl: NoneにするとPushDescriptors向けのテンプレートを作成できる

§Failure

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_OUT_OF_DEVICE_MEMORY
Source

unsafe fn memory_fd_properties( &self, handle_type: ExternalMemoryHandleTypeFd, handle: RawFd, sink: &mut MaybeUninit<VkMemoryFdPropertiesKHR>, ) -> Result<()>

Available on crate features Implements and VK_KHR_external_memory_fd only.

Get Properties of External Memory File Descriptors

§Safety

sink must be constructed correctly

§Failures

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_INVALID_EXTERNAL_HANDLE
Source

fn get_memory_fd(&self, info: &MemoryGetFdInfo<'_>) -> Result<RawFd>

Available on crate features Implements and VK_KHR_external_memory_fd only.

Get a POSIX file descriptor for a memory object

§Failures

On failure, this command returns

  • VK_ERROR_TOO_MANY_OBJECTS
  • VK_ERROR_OUT_OF_HOST_MEMORY
Source

unsafe fn memory_host_pointer_properties( &self, handle_type: ExternalMemoryHandleTypeHost, ptr: *mut c_void, sink: &mut MaybeUninit<VkMemoryHostPointerPropertiesEXT>, ) -> Result<()>

Available on crate features Implements and VK_EXT_external_memory_host only.

Get Properties of external memory host pointer

§Safety

sink must be constructed correctly

§Failures

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_INVALID_EXTERNAL_HANDLE
Source

fn import_fence_fd(&self, info: &ImportFenceFdInfo<'_>) -> Result<()>

Available on crate features Implements and VK_KHR_external_fence_fd only.

Import a fence from a POSIX file descriptor

§Failures

On failure, this command returns

  • VK_ERROR_OUT_OF_HOST_MEMORY
  • VK_ERROR_INVALID_EXTERNAL_HANDLE
Source

fn get_fence_fd(&self, info: &FenceFdGetInfo<'_>) -> Result<RawFd>

Available on crate features Implements and VK_KHR_external_fence_fd only.

Get a POSIX file descriptor handle for a type

§Failures

On failure, this command returns

  • VK_ERROR_TOO_MANY_OBJECTS
  • VK_ERROR_OUT_OF_HOST_MEMORY

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> Device for &'s T
where T: Device + ?Sized,

Source§

fn get_image_drm_format_modifier_properties_ext_fn( &self, ) -> PFN_vkGetImageDrmFormatModifierPropertiesEXT

Available on crate features Implements and VK_EXT_image_drm_format_modifier only.
Source§

fn get_fence_fd_khr_fn(&self) -> PFN_vkGetFenceFdKHR

Available on crate features Implements and VK_KHR_external_fence_fd only.
Source§

fn import_fence_fd_khr_fn(&self) -> PFN_vkImportFenceFdKHR

Available on crate features Implements and VK_KHR_external_fence_fd only.
Source§

fn get_memory_fd_khr_fn(&self) -> PFN_vkGetMemoryFdKHR

Available on crate features Implements and VK_KHR_external_memory_fd only.
Source§

fn get_memory_fd_properties_khr_fn(&self) -> PFN_vkGetMemoryFdPropertiesKHR

Available on crate features Implements and VK_KHR_external_memory_fd only.
Source§

fn get_memory_host_pointer_properties_ext_fn( &self, ) -> PFN_vkGetMemoryHostPointerPropertiesEXT

Available on crate features Implements and VK_EXT_external_memory_host only.
Source§

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

Source§

fn get_image_drm_format_modifier_properties_ext_fn( &self, ) -> PFN_vkGetImageDrmFormatModifierPropertiesEXT

Available on crate features Implements and VK_EXT_image_drm_format_modifier only.
Source§

fn get_fence_fd_khr_fn(&self) -> PFN_vkGetFenceFdKHR

Available on crate features Implements and VK_KHR_external_fence_fd only.
Source§

fn import_fence_fd_khr_fn(&self) -> PFN_vkImportFenceFdKHR

Available on crate features Implements and VK_KHR_external_fence_fd only.
Source§

fn get_memory_fd_khr_fn(&self) -> PFN_vkGetMemoryFdKHR

Available on crate features Implements and VK_KHR_external_memory_fd only.
Source§

fn get_memory_fd_properties_khr_fn(&self) -> PFN_vkGetMemoryFdPropertiesKHR

Available on crate features Implements and VK_KHR_external_memory_fd only.
Source§

fn get_memory_host_pointer_properties_ext_fn( &self, ) -> PFN_vkGetMemoryHostPointerPropertiesEXT

Available on crate features Implements and VK_EXT_external_memory_host only.
Source§

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

Source§

fn get_image_drm_format_modifier_properties_ext_fn( &self, ) -> PFN_vkGetImageDrmFormatModifierPropertiesEXT

Available on crate features Implements and VK_EXT_image_drm_format_modifier only.
Source§

fn get_fence_fd_khr_fn(&self) -> PFN_vkGetFenceFdKHR

Available on crate features Implements and VK_KHR_external_fence_fd only.
Source§

fn import_fence_fd_khr_fn(&self) -> PFN_vkImportFenceFdKHR

Available on crate features Implements and VK_KHR_external_fence_fd only.
Source§

fn get_memory_fd_khr_fn(&self) -> PFN_vkGetMemoryFdKHR

Available on crate features Implements and VK_KHR_external_memory_fd only.
Source§

fn get_memory_fd_properties_khr_fn(&self) -> PFN_vkGetMemoryFdPropertiesKHR

Available on crate features Implements and VK_KHR_external_memory_fd only.
Source§

fn get_memory_host_pointer_properties_ext_fn( &self, ) -> PFN_vkGetMemoryHostPointerPropertiesEXT

Available on crate features Implements and VK_EXT_external_memory_host only.
Source§

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

Source§

fn get_image_drm_format_modifier_properties_ext_fn( &self, ) -> PFN_vkGetImageDrmFormatModifierPropertiesEXT

Available on crate features Implements and VK_EXT_image_drm_format_modifier only.
Source§

fn get_fence_fd_khr_fn(&self) -> PFN_vkGetFenceFdKHR

Available on crate features Implements and VK_KHR_external_fence_fd only.
Source§

fn import_fence_fd_khr_fn(&self) -> PFN_vkImportFenceFdKHR

Available on crate features Implements and VK_KHR_external_fence_fd only.
Source§

fn get_memory_fd_khr_fn(&self) -> PFN_vkGetMemoryFdKHR

Available on crate features Implements and VK_KHR_external_memory_fd only.
Source§

fn get_memory_fd_properties_khr_fn(&self) -> PFN_vkGetMemoryFdPropertiesKHR

Available on crate features Implements and VK_KHR_external_memory_fd only.
Source§

fn get_memory_host_pointer_properties_ext_fn( &self, ) -> PFN_vkGetMemoryHostPointerPropertiesEXT

Available on crate features Implements and VK_EXT_external_memory_host only.
Source§

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

Source§

fn get_image_drm_format_modifier_properties_ext_fn( &self, ) -> PFN_vkGetImageDrmFormatModifierPropertiesEXT

Available on crate features Implements and VK_EXT_image_drm_format_modifier only.
Source§

fn get_fence_fd_khr_fn(&self) -> PFN_vkGetFenceFdKHR

Available on crate features Implements and VK_KHR_external_fence_fd only.
Source§

fn import_fence_fd_khr_fn(&self) -> PFN_vkImportFenceFdKHR

Available on crate features Implements and VK_KHR_external_fence_fd only.
Source§

fn get_memory_fd_khr_fn(&self) -> PFN_vkGetMemoryFdKHR

Available on crate features Implements and VK_KHR_external_memory_fd only.
Source§

fn get_memory_fd_properties_khr_fn(&self) -> PFN_vkGetMemoryFdPropertiesKHR

Available on crate features Implements and VK_KHR_external_memory_fd only.
Source§

fn get_memory_host_pointer_properties_ext_fn( &self, ) -> PFN_vkGetMemoryHostPointerPropertiesEXT

Available on crate features Implements and VK_EXT_external_memory_host only.
Source§

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

Source§

fn get_image_drm_format_modifier_properties_ext_fn( &self, ) -> PFN_vkGetImageDrmFormatModifierPropertiesEXT

Available on crate features Implements and VK_EXT_image_drm_format_modifier only.
Source§

fn get_fence_fd_khr_fn(&self) -> PFN_vkGetFenceFdKHR

Available on crate features Implements and VK_KHR_external_fence_fd only.
Source§

fn import_fence_fd_khr_fn(&self) -> PFN_vkImportFenceFdKHR

Available on crate features Implements and VK_KHR_external_fence_fd only.
Source§

fn get_memory_fd_khr_fn(&self) -> PFN_vkGetMemoryFdKHR

Available on crate features Implements and VK_KHR_external_memory_fd only.
Source§

fn get_memory_fd_properties_khr_fn(&self) -> PFN_vkGetMemoryFdPropertiesKHR

Available on crate features Implements and VK_KHR_external_memory_fd only.
Source§

fn get_memory_host_pointer_properties_ext_fn( &self, ) -> PFN_vkGetMemoryHostPointerPropertiesEXT

Available on crate features Implements and VK_EXT_external_memory_host only.
Source§

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

Source§

fn get_image_drm_format_modifier_properties_ext_fn( &self, ) -> PFN_vkGetImageDrmFormatModifierPropertiesEXT

Available on crate features Implements and VK_EXT_image_drm_format_modifier only.
Source§

fn get_fence_fd_khr_fn(&self) -> PFN_vkGetFenceFdKHR

Available on crate features Implements and VK_KHR_external_fence_fd only.
Source§

fn import_fence_fd_khr_fn(&self) -> PFN_vkImportFenceFdKHR

Available on crate features Implements and VK_KHR_external_fence_fd only.
Source§

fn get_memory_fd_khr_fn(&self) -> PFN_vkGetMemoryFdKHR

Available on crate features Implements and VK_KHR_external_memory_fd only.
Source§

fn get_memory_fd_properties_khr_fn(&self) -> PFN_vkGetMemoryFdPropertiesKHR

Available on crate features Implements and VK_KHR_external_memory_fd only.
Source§

fn get_memory_host_pointer_properties_ext_fn( &self, ) -> PFN_vkGetMemoryHostPointerPropertiesEXT

Available on crate features Implements and VK_EXT_external_memory_host only.
Source§

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

Source§

fn get_image_drm_format_modifier_properties_ext_fn( &self, ) -> PFN_vkGetImageDrmFormatModifierPropertiesEXT

Available on crate features Implements and VK_EXT_image_drm_format_modifier only.
Source§

fn get_fence_fd_khr_fn(&self) -> PFN_vkGetFenceFdKHR

Available on crate features Implements and VK_KHR_external_fence_fd only.
Source§

fn import_fence_fd_khr_fn(&self) -> PFN_vkImportFenceFdKHR

Available on crate features Implements and VK_KHR_external_fence_fd only.
Source§

fn get_memory_fd_khr_fn(&self) -> PFN_vkGetMemoryFdKHR

Available on crate features Implements and VK_KHR_external_memory_fd only.
Source§

fn get_memory_fd_properties_khr_fn(&self) -> PFN_vkGetMemoryFdPropertiesKHR

Available on crate features Implements and VK_KHR_external_memory_fd only.
Source§

fn get_memory_host_pointer_properties_ext_fn( &self, ) -> PFN_vkGetMemoryHostPointerPropertiesEXT

Available on crate features Implements and VK_EXT_external_memory_host only.
Source§

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

Source§

fn get_image_drm_format_modifier_properties_ext_fn( &self, ) -> PFN_vkGetImageDrmFormatModifierPropertiesEXT

Available on crate features Implements and VK_EXT_image_drm_format_modifier only.
Source§

fn get_fence_fd_khr_fn(&self) -> PFN_vkGetFenceFdKHR

Available on crate features Implements and VK_KHR_external_fence_fd only.
Source§

fn import_fence_fd_khr_fn(&self) -> PFN_vkImportFenceFdKHR

Available on crate features Implements and VK_KHR_external_fence_fd only.
Source§

fn get_memory_fd_khr_fn(&self) -> PFN_vkGetMemoryFdKHR

Available on crate features Implements and VK_KHR_external_memory_fd only.
Source§

fn get_memory_fd_properties_khr_fn(&self) -> PFN_vkGetMemoryFdPropertiesKHR

Available on crate features Implements and VK_KHR_external_memory_fd only.
Source§

fn get_memory_host_pointer_properties_ext_fn( &self, ) -> PFN_vkGetMemoryHostPointerPropertiesEXT

Available on crate features Implements and VK_EXT_external_memory_host only.
Source§

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

Source§

fn get_image_drm_format_modifier_properties_ext_fn( &self, ) -> PFN_vkGetImageDrmFormatModifierPropertiesEXT

Available on crate features Implements and VK_EXT_image_drm_format_modifier only.
Source§

fn get_fence_fd_khr_fn(&self) -> PFN_vkGetFenceFdKHR

Available on crate features Implements and VK_KHR_external_fence_fd only.
Source§

fn import_fence_fd_khr_fn(&self) -> PFN_vkImportFenceFdKHR

Available on crate features Implements and VK_KHR_external_fence_fd only.
Source§

fn get_memory_fd_khr_fn(&self) -> PFN_vkGetMemoryFdKHR

Available on crate features Implements and VK_KHR_external_memory_fd only.
Source§

fn get_memory_fd_properties_khr_fn(&self) -> PFN_vkGetMemoryFdPropertiesKHR

Available on crate features Implements and VK_KHR_external_memory_fd only.
Source§

fn get_memory_host_pointer_properties_ext_fn( &self, ) -> PFN_vkGetMemoryHostPointerPropertiesEXT

Available on crate features Implements and VK_EXT_external_memory_host only.
Source§

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

Source§

fn get_image_drm_format_modifier_properties_ext_fn( &self, ) -> PFN_vkGetImageDrmFormatModifierPropertiesEXT

Available on crate features Implements and VK_EXT_image_drm_format_modifier only.
Source§

fn get_fence_fd_khr_fn(&self) -> PFN_vkGetFenceFdKHR

Available on crate features Implements and VK_KHR_external_fence_fd only.
Source§

fn import_fence_fd_khr_fn(&self) -> PFN_vkImportFenceFdKHR

Available on crate features Implements and VK_KHR_external_fence_fd only.
Source§

fn get_memory_fd_khr_fn(&self) -> PFN_vkGetMemoryFdKHR

Available on crate features Implements and VK_KHR_external_memory_fd only.
Source§

fn get_memory_fd_properties_khr_fn(&self) -> PFN_vkGetMemoryFdPropertiesKHR

Available on crate features Implements and VK_KHR_external_memory_fd only.
Source§

fn get_memory_host_pointer_properties_ext_fn( &self, ) -> PFN_vkGetMemoryHostPointerPropertiesEXT

Available on crate features Implements and VK_EXT_external_memory_host only.
Source§

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

Source§

fn get_image_drm_format_modifier_properties_ext_fn( &self, ) -> PFN_vkGetImageDrmFormatModifierPropertiesEXT

Available on crate features Implements and VK_EXT_image_drm_format_modifier only.
Source§

fn get_fence_fd_khr_fn(&self) -> PFN_vkGetFenceFdKHR

Available on crate features Implements and VK_KHR_external_fence_fd only.
Source§

fn import_fence_fd_khr_fn(&self) -> PFN_vkImportFenceFdKHR

Available on crate features Implements and VK_KHR_external_fence_fd only.
Source§

fn get_memory_fd_khr_fn(&self) -> PFN_vkGetMemoryFdKHR

Available on crate features Implements and VK_KHR_external_memory_fd only.
Source§

fn get_memory_fd_properties_khr_fn(&self) -> PFN_vkGetMemoryFdPropertiesKHR

Available on crate features Implements and VK_KHR_external_memory_fd only.
Source§

fn get_memory_host_pointer_properties_ext_fn( &self, ) -> PFN_vkGetMemoryHostPointerPropertiesEXT

Available on crate features Implements and VK_EXT_external_memory_host only.
Source§

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

Source§

fn get_image_drm_format_modifier_properties_ext_fn( &self, ) -> PFN_vkGetImageDrmFormatModifierPropertiesEXT

Available on crate features Implements and VK_EXT_image_drm_format_modifier only.
Source§

fn get_fence_fd_khr_fn(&self) -> PFN_vkGetFenceFdKHR

Available on crate features Implements and VK_KHR_external_fence_fd only.
Source§

fn import_fence_fd_khr_fn(&self) -> PFN_vkImportFenceFdKHR

Available on crate features Implements and VK_KHR_external_fence_fd only.
Source§

fn get_memory_fd_khr_fn(&self) -> PFN_vkGetMemoryFdKHR

Available on crate features Implements and VK_KHR_external_memory_fd only.
Source§

fn get_memory_fd_properties_khr_fn(&self) -> PFN_vkGetMemoryFdPropertiesKHR

Available on crate features Implements and VK_KHR_external_memory_fd only.
Source§

fn get_memory_host_pointer_properties_ext_fn( &self, ) -> PFN_vkGetMemoryHostPointerPropertiesEXT

Available on crate features Implements and VK_EXT_external_memory_host only.
Source§

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

Source§

fn get_image_drm_format_modifier_properties_ext_fn( &self, ) -> PFN_vkGetImageDrmFormatModifierPropertiesEXT

Available on crate features Implements and VK_EXT_image_drm_format_modifier only.
Source§

fn get_fence_fd_khr_fn(&self) -> PFN_vkGetFenceFdKHR

Available on crate features Implements and VK_KHR_external_fence_fd only.
Source§

fn import_fence_fd_khr_fn(&self) -> PFN_vkImportFenceFdKHR

Available on crate features Implements and VK_KHR_external_fence_fd only.
Source§

fn get_memory_fd_khr_fn(&self) -> PFN_vkGetMemoryFdKHR

Available on crate features Implements and VK_KHR_external_memory_fd only.
Source§

fn get_memory_fd_properties_khr_fn(&self) -> PFN_vkGetMemoryFdPropertiesKHR

Available on crate features Implements and VK_KHR_external_memory_fd only.
Source§

fn get_memory_host_pointer_properties_ext_fn( &self, ) -> PFN_vkGetMemoryHostPointerPropertiesEXT

Available on crate features Implements and VK_EXT_external_memory_host only.

Implementors§

Source§

impl<Instance: Instance> Device for DeviceObject<Instance>