[][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 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) -> Result<(), VkResult>[src]

Wrapper for vkDeviceWaitIdle

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

Wrapper for vkAllocateMemory

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

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

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

Wrapper for vkCreateFence

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

Wrapper for vkResetFences

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

Wrapper for vkWaitForFences

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

Wrapper for vkCreateSemaphore

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

Wrapper for vkCreateEvent

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

Wrapper for vkCreateQueryPool

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

Wrapper for vkCreateBuffer

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

Wrapper for vkCreateBufferView

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

Wrapper for vkCreateImage

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

Wrapper for vkCreateImageView

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

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

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

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

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

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

Wrapper for vkCreateSampler

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

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

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

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

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

Wrapper for vkCreateFramebuffer

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

Wrapper for vkCreateRenderPass

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

Wrapper for vkCreateCommandPool

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

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

Wrapper for vkBindBufferMemory2

pub fn bind_image_memory_2(
    &self,
    bind_infos: &[VkBindImageMemoryInfo]
) -> Result<(), VkResult>
[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
) -> Result<VkSamplerYcbcrConversion, (VkResult, VkSamplerYcbcrConversion)>
[src]

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

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

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

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

pub fn get_group_present_capabilities(
    &self
) -> Result<VkDeviceGroupPresentCapabilities, (VkResult, VkDeviceGroupPresentCapabilities)>
[src]

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

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

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

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

Wrapper for vkGetMemoryFdKHR

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

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

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

Wrapper for vkGetSemaphoreFdKHR

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

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

Wrapper for vkImportFenceFdKHR

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

Wrapper for vkGetFenceFdKHR

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

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

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

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

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

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

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

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

Wrapper for vkSetHdrMetadataEXT

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

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

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

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

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

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

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

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

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

Trait Implementations

impl Clone for VkDevice[src]

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

Performs copy-assignment from source. Read more

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 Debug for VkDevice[src]

Auto Trait Implementations

impl !Send for VkDevice

impl !Sync for VkDevice

Blanket Implementations

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

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

type Owned = T

impl<T> From for T[src]

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

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

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

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

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

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

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

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