[][src]Struct lava::VkDevice

pub struct VkDevice { /* fields omitted */ }

Wrapper for VkDevice.

Methods

impl VkDevice[src]

pub fn vk_handle(&self) -> u64[src]

Returns the internal Vulkan handle for the object.

pub fn is_null(&self) -> bool[src]

Indicates if the Vulkan internal handle for this object is 0.

pub fn null() -> Self[src]

Creates an object with a null Vulkan internal handle.

Calling a method with a null handle will most likely result in a crash.

pub fn destroy(&self)[src]

Wrapper for vkDestroyDevice.

pub fn get_queue(
    &self,
    queue_family_index: usize,
    queue_index: usize
) -> VkQueue
[src]

Wrapper for vkGetDeviceQueue.

pub fn wait_idle(&self) -> LavaResult<()>[src]

Wrapper for vkDeviceWaitIdle.

pub fn allocate_memory(
    &self,
    allocate_info: VkMemoryAllocateInfo
) -> LavaResult<VkDeviceMemory>
[src]

Wrapper for vkAllocateMemory.

pub fn flush_mapped_memory_ranges(
    &self,
    memory_ranges: Vec<VkMappedMemoryRange>
) -> LavaResult<()>
[src]

pub fn invalidate_mapped_memory_ranges(
    &self,
    memory_ranges: Vec<VkMappedMemoryRange>
) -> LavaResult<()>
[src]

pub fn create_fence(
    &self,
    create_info: VkFenceCreateInfo
) -> LavaResult<VkFence>
[src]

Wrapper for vkCreateFence.

pub fn reset_fences(&self, fences: Vec<VkFence>) -> LavaResult<()>[src]

Wrapper for vkResetFences.

pub fn wait_for_fences(
    &self,
    fences: Vec<VkFence>,
    wait_all: bool,
    timeout: u64
) -> LavaResult<()>
[src]

Wrapper for vkWaitForFences.

pub fn create_semaphore(
    &self,
    create_info: VkSemaphoreCreateInfo
) -> LavaResult<VkSemaphore>
[src]

Wrapper for vkCreateSemaphore.

pub fn create_event(
    &self,
    create_info: VkEventCreateInfo
) -> LavaResult<VkEvent>
[src]

Wrapper for vkCreateEvent.

pub fn create_query_pool(
    &self,
    create_info: VkQueryPoolCreateInfo
) -> LavaResult<VkQueryPool>
[src]

Wrapper for vkCreateQueryPool.

pub fn create_buffer(
    &self,
    create_info: VkBufferCreateInfo
) -> LavaResult<VkBuffer>
[src]

Wrapper for vkCreateBuffer.

pub fn create_buffer_view(
    &self,
    create_info: VkBufferViewCreateInfo
) -> LavaResult<VkBufferView>
[src]

Wrapper for vkCreateBufferView.

pub fn create_image(
    &self,
    create_info: VkImageCreateInfo
) -> LavaResult<VkImage>
[src]

Wrapper for vkCreateImage.

pub fn create_image_view(
    &self,
    create_info: VkImageViewCreateInfo
) -> LavaResult<VkImageView>
[src]

Wrapper for vkCreateImageView.

pub fn create_shader_module(
    &self,
    create_info: VkShaderModuleCreateInfo
) -> LavaResult<VkShaderModule>
[src]

Wrapper for vkCreateShaderModule.

pub fn create_pipeline_cache(
    &self,
    create_info: VkPipelineCacheCreateInfo
) -> LavaResult<VkPipelineCache>
[src]

Wrapper for vkCreatePipelineCache.

pub fn create_graphics_pipelines(
    &self,
    pipeline_cache: Option<VkPipelineCache>,
    create_infos: Vec<VkGraphicsPipelineCreateInfo>
) -> LavaResult<Vec<VkPipeline>>
[src]

pub fn create_compute_pipelines(
    &self,
    pipeline_cache: Option<VkPipelineCache>,
    create_infos: Vec<VkComputePipelineCreateInfo>
) -> LavaResult<Vec<VkPipeline>>
[src]

pub fn create_pipeline_layout(
    &self,
    create_info: VkPipelineLayoutCreateInfo
) -> LavaResult<VkPipelineLayout>
[src]

pub fn create_sampler(
    &self,
    create_info: VkSamplerCreateInfo
) -> LavaResult<VkSampler>
[src]

Wrapper for vkCreateSampler.

pub fn create_descriptor_set_layout(
    &self,
    create_info: VkDescriptorSetLayoutCreateInfo
) -> LavaResult<VkDescriptorSetLayout>
[src]

pub fn create_descriptor_pool(
    &self,
    create_info: VkDescriptorPoolCreateInfo
) -> LavaResult<VkDescriptorPool>
[src]

pub fn allocate_descriptor_sets(
    &self,
    allocate_info: VkDescriptorSetAllocateInfo
) -> LavaResult<Vec<VkDescriptorSet>>
[src]

pub fn update_descriptor_sets(
    &self,
    descriptor_writes: Vec<VkWriteDescriptorSet>,
    descriptor_copies: Vec<VkCopyDescriptorSet>
)
[src]

pub fn create_framebuffer(
    &self,
    create_info: VkFramebufferCreateInfo
) -> LavaResult<VkFramebuffer>
[src]

Wrapper for vkCreateFramebuffer.

pub fn create_render_pass(
    &self,
    create_info: VkRenderPassCreateInfo
) -> LavaResult<VkRenderPass>
[src]

Wrapper for vkCreateRenderPass.

pub fn create_command_pool(
    &self,
    create_info: VkCommandPoolCreateInfo
) -> LavaResult<VkCommandPool>
[src]

Wrapper for vkCreateCommandPool.

pub fn allocate_command_buffers(
    &self,
    allocate_info: VkCommandBufferAllocateInfo
) -> LavaResult<Vec<VkCommandBuffer>>
[src]

pub fn bind_buffer_memory_2(
    &self,
    bind_infos: Vec<VkBindBufferMemoryInfo>
) -> LavaResult<()>
[src]

Wrapper for vkBindBufferMemory2.

pub fn bind_image_memory_2(
    &self,
    bind_infos: Vec<VkBindImageMemoryInfo>
) -> LavaResult<()>
[src]

Wrapper for vkBindImageMemory2.

pub fn get_group_peer_memory_features(
    &self,
    heap_index: usize,
    local_device_index: usize,
    remote_device_index: usize
) -> VkPeerMemoryFeatureFlags
[src]

pub fn get_image_memory_requirements_2(
    &self,
    info: VkImageMemoryRequirementsInfo2
) -> VkMemoryRequirements2
[src]

pub fn get_buffer_memory_requirements_2(
    &self,
    info: VkBufferMemoryRequirementsInfo2
) -> VkMemoryRequirements2
[src]

pub fn get_image_sparse_memory_requirements_2(
    &self,
    info: VkImageSparseMemoryRequirementsInfo2
) -> Vec<VkSparseImageMemoryRequirements2>
[src]

pub fn get_queue_2(&self, queue_info: VkDeviceQueueInfo2) -> VkQueue[src]

Wrapper for vkGetDeviceQueue2.

pub fn create_sampler_ycbcr_conversion(
    &self,
    create_info: VkSamplerYcbcrConversionCreateInfo
) -> LavaResult<VkSamplerYcbcrConversion>
[src]

pub fn create_descriptor_update_template(
    &self,
    create_info: VkDescriptorUpdateTemplateCreateInfo
) -> LavaResult<VkDescriptorUpdateTemplate>
[src]

pub fn update_descriptor_set_with_template(
    &self,
    descriptor_set: VkDescriptorSet,
    descriptor_update_template: VkDescriptorUpdateTemplate,
    data: *mut u8
)
[src]

pub fn get_descriptor_set_layout_support(
    &self,
    create_info: VkDescriptorSetLayoutCreateInfo
) -> VkDescriptorSetLayoutSupport
[src]

pub fn create_swapchain(
    &self,
    create_info: VkSwapchainCreateInfo
) -> LavaResult<VkSwapchain>
[src]

Wrapper for vkCreateSwapchainKHR.

pub fn get_group_present_capabilities(
    &self
) -> LavaResult<VkDeviceGroupPresentCapabilities>
[src]

pub fn get_group_surface_present_modes(
    &self,
    surface: VkSurface
) -> LavaResult<VkDeviceGroupPresentModeFlags>
[src]

pub fn acquire_next_image_2(
    &self,
    acquire_info: VkAcquireNextImageInfo
) -> LavaResult<usize>
[src]

pub fn create_shared_swapchains(
    &self,
    create_infos: Vec<VkSwapchainCreateInfo>
) -> LavaResult<Vec<VkSwapchain>>
[src]

pub fn get_group_surface_present_modes_2(
    &self,
    surface_info: VkPhysicalDeviceSurfaceInfo2
) -> LavaResult<VkDeviceGroupPresentModeFlags>
[src]

pub fn get_memory_fd(&self, get_fd_info: VkMemoryGetFdInfo) -> LavaResult<i32>[src]

Wrapper for vkGetMemoryFdKHR.

pub fn get_memory_fd_properties(
    &self,
    handle_type: VkExternalMemoryHandleTypeFlags,
    fd: i32
) -> LavaResult<VkMemoryFdProperties>
[src]

pub fn import_semaphore_fd(
    &self,
    import_semaphore_fd_info: VkImportSemaphoreFdInfo
) -> LavaResult<()>
[src]

pub fn get_semaphore_fd(
    &self,
    get_fd_info: VkSemaphoreGetFdInfo
) -> LavaResult<i32>
[src]

Wrapper for vkGetSemaphoreFdKHR.

pub fn create_render_pass_2(
    &self,
    create_info: VkRenderPassCreateInfo2
) -> LavaResult<VkRenderPass>
[src]

pub fn import_fence_fd(
    &self,
    import_fence_fd_info: VkImportFenceFdInfo
) -> LavaResult<()>
[src]

Wrapper for vkImportFenceFdKHR.

pub fn get_fence_fd(&self, get_fd_info: VkFenceGetFdInfo) -> LavaResult<i32>[src]

Wrapper for vkGetFenceFdKHR.

pub fn debug_marker_set_object_tag(
    &self,
    tag_info: VkDebugMarkerObjectTagInfo
) -> LavaResult<()>
[src]

pub fn debug_marker_set_object_name(
    &self,
    name_info: VkDebugMarkerObjectNameInfo
) -> LavaResult<()>
[src]

pub fn create_indirect_commands_layout(
    &self,
    create_info: VkIndirectCommandsLayoutCreateInfo
) -> LavaResult<VkIndirectCommandsLayout>
[src]

pub fn create_object_table(
    &self,
    create_info: VkObjectTableCreateInfo
) -> LavaResult<VkObjectTable>
[src]

pub fn display_power_control(
    &self,
    display: VkDisplay,
    display_power_info: VkDisplayPowerInfo
) -> LavaResult<()>
[src]

pub fn register_event(
    &self,
    device_event_info: VkDeviceEventInfo
) -> LavaResult<VkFence>
[src]

pub fn register_display_event(
    &self,
    display: VkDisplay,
    display_event_info: VkDisplayEventInfo
) -> LavaResult<VkFence>
[src]

pub fn set_hdr_metadata(
    &self,
    swapchains: Vec<VkSwapchain>,
    metadata: Vec<VkHdrMetadata>
)
[src]

Wrapper for vkSetHdrMetadataEXT.

pub fn set_debug_utils_object_name(
    &self,
    name_info: VkDebugUtilsObjectNameInfo
) -> LavaResult<()>
[src]

pub fn set_debug_utils_object_tag(
    &self,
    tag_info: VkDebugUtilsObjectTagInfo
) -> LavaResult<()>
[src]

pub fn create_validation_cache(
    &self,
    create_info: VkValidationCacheCreateInfo
) -> LavaResult<VkValidationCache>
[src]

pub fn create_acceleration_structure(
    &self,
    create_info: VkAccelerationStructureCreateInfo
) -> LavaResult<VkAccelerationStructure>
[src]

pub fn get_acceleration_structure_memory_requirements(
    &self,
    info: VkAccelerationStructureMemoryRequirementsInfo
) -> VkMemoryRequirements2
[src]

pub fn bind_acceleration_structure_memory(
    &self,
    bind_infos: Vec<VkBindAccelerationStructureMemoryInfo>
) -> LavaResult<()>
[src]

pub fn create_ray_tracing_pipelines(
    &self,
    pipeline_cache: Option<VkPipelineCache>,
    create_infos: Vec<VkRayTracingPipelineCreateInfo>
) -> LavaResult<Vec<VkPipeline>>
[src]

pub fn get_memory_host_pointer_properties(
    &self,
    handle_type: VkExternalMemoryHandleTypeFlags,
    host_pointer: *mut u8
) -> LavaResult<VkMemoryHostPointerProperties>
[src]

pub fn get_calibrated_timestamps(
    &self,
    timestamp_infos: Vec<VkCalibratedTimestampInfo>,
    timestamps: Vec<usize>
) -> LavaResult<usize>
[src]

Trait Implementations

impl Copy for VkDevice[src]

impl PartialEq<VkDevice> for VkDevice[src]

#[must_use]
fn ne(&self, other: &Rhs) -> bool
1.0.0
[src]

This method tests for !=.

impl Default for VkDevice[src]

impl Clone for VkDevice[src]

fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

impl Debug for VkDevice[src]

Auto Trait Implementations

impl !Send for VkDevice

impl !Sync for VkDevice

Blanket Implementations

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> From for T[src]

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]