pub struct DevicePointers { /* private fields */ }Expand description
Wrapper for vk::DevicePointers.
Implementations§
Source§impl DevicePointers
impl DevicePointers
Sourcepub fn new(ptr: DevicePointers) -> Self
pub fn new(ptr: DevicePointers) -> Self
Create new vk::DevicePointers wrapper.
Sourcepub fn into_inner(self) -> DevicePointers
pub fn into_inner(self) -> DevicePointers
Unwraps vk::DevicePointers.
Sourcepub fn destroy_device(&self, device: Device)
pub fn destroy_device(&self, device: Device)
Sourcepub fn get_device_queue(
&self,
device: Device,
queue_family_index: u32,
queue_index: u32,
) -> Queue
pub fn get_device_queue( &self, device: Device, queue_family_index: u32, queue_index: u32, ) -> Queue
Sourcepub unsafe fn queue_submit(
&self,
queue: Queue,
submits: &[SubmitInfo],
fence: Fence,
) -> Result<()>
pub unsafe fn queue_submit( &self, queue: Queue, submits: &[SubmitInfo], fence: Fence, ) -> Result<()>
https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkQueueSubmit.html
§Safety
submits should be valid regarding its containing pointers.
Sourcepub fn queue_wait_idle(&self, queue: Queue) -> Result<()>
pub fn queue_wait_idle(&self, queue: Queue) -> Result<()>
Sourcepub fn device_wait_idle(&self, device: Device) -> Result<()>
pub fn device_wait_idle(&self, device: Device) -> Result<()>
Sourcepub unsafe fn allocate_memory(
&self,
device: Device,
allocate_info: &MemoryAllocateInfo,
) -> Result<DeviceMemory>
pub unsafe fn allocate_memory( &self, device: Device, allocate_info: &MemoryAllocateInfo, ) -> Result<DeviceMemory>
https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkAllocateMemory.html
§Safety
allocate_info should be valid regarding its containing pointers.
Sourcepub fn free_memory(&self, device: Device, memory: DeviceMemory)
pub fn free_memory(&self, device: Device, memory: DeviceMemory)
Sourcepub fn map_memory(
&self,
device: Device,
memory: DeviceMemory,
offset: DeviceSize,
size: DeviceSize,
flags: MemoryMapFlags,
) -> Result<*mut c_void>
pub fn map_memory( &self, device: Device, memory: DeviceMemory, offset: DeviceSize, size: DeviceSize, flags: MemoryMapFlags, ) -> Result<*mut c_void>
Sourcepub fn unmap_memory(&self, device: Device, memory: DeviceMemory)
pub fn unmap_memory(&self, device: Device, memory: DeviceMemory)
Sourcepub fn bind_buffer_memory(
&self,
device: Device,
buffer: Buffer,
memory: DeviceMemory,
memory_offset: DeviceSize,
) -> Result<()>
pub fn bind_buffer_memory( &self, device: Device, buffer: Buffer, memory: DeviceMemory, memory_offset: DeviceSize, ) -> Result<()>
pub fn get_buffer_memory_requirements( &self, device: Device, buffer: Buffer, ) -> MemoryRequirements
Sourcepub unsafe fn create_fence(
&self,
device: Device,
create_info: &FenceCreateInfo,
) -> Result<Fence>
pub unsafe fn create_fence( &self, device: Device, create_info: &FenceCreateInfo, ) -> Result<Fence>
https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkCreateFence.html
§Safety
create_info should be valid regarding its containing pointers.
Sourcepub fn destroy_fence(&self, device: Device, fence: Fence)
pub fn destroy_fence(&self, device: Device, fence: Fence)
Sourcepub fn wait_for_fences(
&self,
device: Device,
fences: &[Fence],
wait_all: bool,
timeout: u64,
) -> Result<()>
pub fn wait_for_fences( &self, device: Device, fences: &[Fence], wait_all: bool, timeout: u64, ) -> Result<()>
Sourcepub unsafe fn create_semaphore(
&self,
device: Device,
create_info: &SemaphoreCreateInfo,
) -> Result<Semaphore>
pub unsafe fn create_semaphore( &self, device: Device, create_info: &SemaphoreCreateInfo, ) -> Result<Semaphore>
https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkCreateSemaphore.html
§Safety
create_info should be valid regarding its containing pointers.
Sourcepub fn destroy_semaphore(&self, device: Device, semaphore: Semaphore)
pub fn destroy_semaphore(&self, device: Device, semaphore: Semaphore)
Sourcepub unsafe fn create_buffer(
&self,
device: Device,
create_info: &BufferCreateInfo,
) -> Result<Buffer>
pub unsafe fn create_buffer( &self, device: Device, create_info: &BufferCreateInfo, ) -> Result<Buffer>
https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkCreateBuffer.html
§Safety
create_info should be valid regarding its containing pointers.
Sourcepub fn destroy_buffer(&self, device: Device, buffer: Buffer)
pub fn destroy_buffer(&self, device: Device, buffer: Buffer)
Sourcepub unsafe fn create_image_view(
&self,
device: Device,
create_info: &ImageViewCreateInfo,
) -> Result<ImageView>
pub unsafe fn create_image_view( &self, device: Device, create_info: &ImageViewCreateInfo, ) -> Result<ImageView>
https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkCreateImageView.html
§Safety
create_info should be valid regarding its containing pointers.
Sourcepub fn destroy_image_view(&self, device: Device, image_view: ImageView)
pub fn destroy_image_view(&self, device: Device, image_view: ImageView)
Sourcepub unsafe fn create_shader_module(
&self,
device: Device,
create_info: &ShaderModuleCreateInfo,
) -> Result<ShaderModule>
pub unsafe fn create_shader_module( &self, device: Device, create_info: &ShaderModuleCreateInfo, ) -> Result<ShaderModule>
https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkCreateShaderModule.html
§Safety
create_info should be valid regarding its containing pointers.
Sourcepub fn destroy_shader_module(&self, device: Device, shader_module: ShaderModule)
pub fn destroy_shader_module(&self, device: Device, shader_module: ShaderModule)
Sourcepub unsafe fn create_graphics_pipelines(
&self,
device: Device,
pipeline_cache: PipelineCache,
create_infos: &[GraphicsPipelineCreateInfo],
) -> Result<Vec<Pipeline>>
pub unsafe fn create_graphics_pipelines( &self, device: Device, pipeline_cache: PipelineCache, create_infos: &[GraphicsPipelineCreateInfo], ) -> Result<Vec<Pipeline>>
https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkCreateGraphicsPipelines.html
§Safety
create_infos should be valid regarding its containing pointers.
Sourcepub fn destroy_pipeline(&self, device: Device, pipeline: Pipeline)
pub fn destroy_pipeline(&self, device: Device, pipeline: Pipeline)
Sourcepub unsafe fn create_pipeline_layout(
&self,
device: Device,
create_info: &PipelineLayoutCreateInfo,
) -> Result<PipelineLayout>
pub unsafe fn create_pipeline_layout( &self, device: Device, create_info: &PipelineLayoutCreateInfo, ) -> Result<PipelineLayout>
https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkCreatePipelineLayout.html
§Safety
create_info should be valid regarding its containing pointers.
Sourcepub fn destroy_pipeline_layout(
&self,
device: Device,
pipeline_layout: PipelineLayout,
)
pub fn destroy_pipeline_layout( &self, device: Device, pipeline_layout: PipelineLayout, )
Sourcepub unsafe fn create_framebuffer(
&self,
device: Device,
create_info: &FramebufferCreateInfo,
) -> Result<Framebuffer>
pub unsafe fn create_framebuffer( &self, device: Device, create_info: &FramebufferCreateInfo, ) -> Result<Framebuffer>
https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkCreateFramebuffer.html
§Safety
create_info should be valid regarding its containing pointers.
Sourcepub fn destroy_framebuffer(&self, device: Device, framebuffer: Framebuffer)
pub fn destroy_framebuffer(&self, device: Device, framebuffer: Framebuffer)
Sourcepub unsafe fn create_render_pass(
&self,
device: Device,
create_info: &RenderPassCreateInfo,
) -> Result<RenderPass>
pub unsafe fn create_render_pass( &self, device: Device, create_info: &RenderPassCreateInfo, ) -> Result<RenderPass>
https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkCreateRenderPass.html
§Safety
create_info should be valid regarding its containing pointers.
Sourcepub fn destroy_render_pass(&self, device: Device, render_pass: RenderPass)
pub fn destroy_render_pass(&self, device: Device, render_pass: RenderPass)
Sourcepub unsafe fn create_command_pool(
&self,
device: Device,
create_info: &CommandPoolCreateInfo,
) -> Result<CommandPool>
pub unsafe fn create_command_pool( &self, device: Device, create_info: &CommandPoolCreateInfo, ) -> Result<CommandPool>
https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkCreateCommandPool.html
§Safety
create_info should be valid regarding its containing pointers.
Sourcepub fn destroy_command_pool(&self, device: Device, command_pool: CommandPool)
pub fn destroy_command_pool(&self, device: Device, command_pool: CommandPool)
Sourcepub unsafe fn allocate_command_buffers(
&self,
device: Device,
allocate_info: &CommandBufferAllocateInfo,
) -> Result<Vec<CommandBuffer>>
pub unsafe fn allocate_command_buffers( &self, device: Device, allocate_info: &CommandBufferAllocateInfo, ) -> Result<Vec<CommandBuffer>>
https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkAllocateCommandBuffers.html
Will read allocate_info.commandBufferCount for size of the return vector.
§Safety
allocate_info should be valid regarding its containing pointers.
Sourcepub fn free_command_buffers(
&self,
device: Device,
command_pool: CommandPool,
command_buffers: &[CommandBuffer],
)
pub fn free_command_buffers( &self, device: Device, command_pool: CommandPool, command_buffers: &[CommandBuffer], )
Sourcepub unsafe fn begin_command_buffer(
&self,
command_buffer: CommandBuffer,
begin_info: &CommandBufferBeginInfo,
) -> Result<()>
pub unsafe fn begin_command_buffer( &self, command_buffer: CommandBuffer, begin_info: &CommandBufferBeginInfo, ) -> Result<()>
https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkBeginCommandBuffer.html
§Safety
begin_info should be valid regarding its containing pointers.
Sourcepub fn end_command_buffer(&self, command_buffer: CommandBuffer) -> Result<()>
pub fn end_command_buffer(&self, command_buffer: CommandBuffer) -> Result<()>
Sourcepub fn reset_command_buffer(
&self,
command_buffer: CommandBuffer,
flags: CommandBufferResetFlags,
) -> Result<()>
pub fn reset_command_buffer( &self, command_buffer: CommandBuffer, flags: CommandBufferResetFlags, ) -> Result<()>
Sourcepub fn cmd_bind_pipeline(
&self,
command_buffer: CommandBuffer,
pipeline_bind_point: PipelineBindPoint,
pipeline: Pipeline,
)
pub fn cmd_bind_pipeline( &self, command_buffer: CommandBuffer, pipeline_bind_point: PipelineBindPoint, pipeline: Pipeline, )
Sourcepub fn cmd_bind_vertex_buffers(
&self,
command_buffer: CommandBuffer,
first_binding: u32,
buffers: &[Buffer],
offsets: &[DeviceSize],
)
pub fn cmd_bind_vertex_buffers( &self, command_buffer: CommandBuffer, first_binding: u32, buffers: &[Buffer], offsets: &[DeviceSize], )
Sourcepub fn cmd_draw(
&self,
command_buffer: CommandBuffer,
vertex_count: u32,
instance_count: u32,
first_vertex: u32,
first_instance: u32,
)
pub fn cmd_draw( &self, command_buffer: CommandBuffer, vertex_count: u32, instance_count: u32, first_vertex: u32, first_instance: u32, )
Sourcepub unsafe fn cmd_begin_render_pass(
&self,
command_buffer: CommandBuffer,
render_pass_begin: &RenderPassBeginInfo,
contents: SubpassContents,
)
pub unsafe fn cmd_begin_render_pass( &self, command_buffer: CommandBuffer, render_pass_begin: &RenderPassBeginInfo, contents: SubpassContents, )
https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkCmdBeginRenderPass.html
§Safety
render_pass_begin should be valid regarding its containing pointers.
Sourcepub fn cmd_end_render_pass(&self, command_buffer: CommandBuffer)
pub fn cmd_end_render_pass(&self, command_buffer: CommandBuffer)
Sourcepub unsafe fn create_swapchain_khr(
&self,
device: Device,
create_info: &SwapchainCreateInfoKHR,
) -> Result<SwapchainKHR>
pub unsafe fn create_swapchain_khr( &self, device: Device, create_info: &SwapchainCreateInfoKHR, ) -> Result<SwapchainKHR>
https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkCreateSwapchainKHR.html
§Safety
create_info should be valid regarding its containing pointers.
Sourcepub fn destroy_swapchain_khr(&self, device: Device, swapchain: SwapchainKHR)
pub fn destroy_swapchain_khr(&self, device: Device, swapchain: SwapchainKHR)
Sourcepub fn get_swapchain_images_khr(
&self,
device: Device,
swapchain: SwapchainKHR,
) -> Result<Vec<Image>>
pub fn get_swapchain_images_khr( &self, device: Device, swapchain: SwapchainKHR, ) -> Result<Vec<Image>>
Sourcepub fn acquire_next_image_khr(
&self,
device: Device,
swapchain: SwapchainKHR,
timeout: u64,
semaphore: Semaphore,
fence: Fence,
) -> Result<u32>
pub fn acquire_next_image_khr( &self, device: Device, swapchain: SwapchainKHR, timeout: u64, semaphore: Semaphore, fence: Fence, ) -> Result<u32>
Sourcepub unsafe fn queue_present_khr(
&self,
queue: Queue,
present_info: &PresentInfoKHR,
) -> Result<()>
pub unsafe fn queue_present_khr( &self, queue: Queue, present_info: &PresentInfoKHR, ) -> Result<()>
https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/vkQueuePresentKHR.html
§Safety
present_info should be valid regarding its containing pointers.