Struct ash::Device

source ·
pub struct Device { /* private fields */ }
Expand description

Implementations§

source§

impl Device

source

pub unsafe fn load(instance_fn: &InstanceFnV1_0, device: Device) -> Self

source

pub fn handle(&self) -> Device

source§

impl Device

Vulkan core 1.3

source

pub fn fp_v1_3(&self) -> &DeviceFnV1_3

source

pub unsafe fn create_private_data_slot( &self, create_info: &PrivateDataSlotCreateInfo, allocation_callbacks: Option<&AllocationCallbacks> ) -> VkResult<PrivateDataSlot>

source

pub unsafe fn destroy_private_data_slot( &self, private_data_slot: PrivateDataSlot, allocation_callbacks: Option<&AllocationCallbacks> )

source

pub unsafe fn set_private_data<T: Handle>( &self, object: T, private_data_slot: PrivateDataSlot, data: u64 ) -> VkResult<()>

source

pub unsafe fn get_private_data<T: Handle>( &self, object: T, private_data_slot: PrivateDataSlot ) -> u64

source

pub unsafe fn cmd_pipeline_barrier2( &self, command_buffer: CommandBuffer, dependency_info: &DependencyInfo )

source

pub unsafe fn cmd_reset_event2( &self, command_buffer: CommandBuffer, event: Event, stage_mask: PipelineStageFlags2 )

source

pub unsafe fn cmd_set_event2( &self, command_buffer: CommandBuffer, event: Event, dependency_info: &DependencyInfo )

source

pub unsafe fn cmd_wait_events2( &self, command_buffer: CommandBuffer, events: &[Event], dependency_infos: &[DependencyInfo] )

source

pub unsafe fn cmd_write_timestamp2( &self, command_buffer: CommandBuffer, stage: PipelineStageFlags2, query_pool: QueryPool, query: u32 )

source

pub unsafe fn queue_submit2( &self, queue: Queue, submits: &[SubmitInfo2], fence: Fence ) -> VkResult<()>

source

pub unsafe fn cmd_copy_buffer2( &self, command_buffer: CommandBuffer, copy_buffer_info: &CopyBufferInfo2 )

source

pub unsafe fn cmd_copy_image2( &self, command_buffer: CommandBuffer, copy_image_info: &CopyImageInfo2 )

source

pub unsafe fn cmd_copy_buffer_to_image2( &self, command_buffer: CommandBuffer, copy_buffer_to_image_info: &CopyBufferToImageInfo2 )

source

pub unsafe fn cmd_copy_image_to_buffer2( &self, command_buffer: CommandBuffer, copy_image_to_buffer_info: &CopyImageToBufferInfo2 )

source

pub unsafe fn cmd_blit_image2( &self, command_buffer: CommandBuffer, blit_image_info: &BlitImageInfo2 )

source

pub unsafe fn cmd_resolve_image2( &self, command_buffer: CommandBuffer, resolve_image_info: &ResolveImageInfo2 )

source

pub unsafe fn cmd_begin_rendering( &self, command_buffer: CommandBuffer, rendering_info: &RenderingInfo )

source

pub unsafe fn cmd_end_rendering(&self, command_buffer: CommandBuffer)

source

pub unsafe fn cmd_set_cull_mode( &self, command_buffer: CommandBuffer, cull_mode: CullModeFlags )

source

pub unsafe fn cmd_set_front_face( &self, command_buffer: CommandBuffer, front_face: FrontFace )

source

pub unsafe fn cmd_set_primitive_topology( &self, command_buffer: CommandBuffer, primitive_topology: PrimitiveTopology )

source

pub unsafe fn cmd_set_viewport_with_count( &self, command_buffer: CommandBuffer, viewports: &[Viewport] )

source

pub unsafe fn cmd_set_scissor_with_count( &self, command_buffer: CommandBuffer, scissors: &[Rect2D] )

source

pub unsafe fn cmd_bind_vertex_buffers2( &self, command_buffer: CommandBuffer, first_binding: u32, buffers: &[Buffer], offsets: &[DeviceSize], sizes: Option<&[DeviceSize]>, strides: Option<&[DeviceSize]> )

source

pub unsafe fn cmd_set_depth_test_enable( &self, command_buffer: CommandBuffer, depth_test_enable: bool )

source

pub unsafe fn cmd_set_depth_write_enable( &self, command_buffer: CommandBuffer, depth_write_enable: bool )

source

pub unsafe fn cmd_set_depth_compare_op( &self, command_buffer: CommandBuffer, depth_compare_op: CompareOp )

source

pub unsafe fn cmd_set_depth_bounds_test_enable( &self, command_buffer: CommandBuffer, depth_bounds_test_enable: bool )

source

pub unsafe fn cmd_set_stencil_test_enable( &self, command_buffer: CommandBuffer, stencil_test_enable: bool )

source

pub unsafe fn cmd_set_stencil_op( &self, command_buffer: CommandBuffer, face_mask: StencilFaceFlags, fail_op: StencilOp, pass_op: StencilOp, depth_fail_op: StencilOp, compare_op: CompareOp )

source

pub unsafe fn cmd_set_rasterizer_discard_enable( &self, command_buffer: CommandBuffer, rasterizer_discard_enable: bool )

source

pub unsafe fn cmd_set_depth_bias_enable( &self, command_buffer: CommandBuffer, depth_bias_enable: bool )

source

pub unsafe fn cmd_set_primitive_restart_enable( &self, command_buffer: CommandBuffer, primitive_restart_enable: bool )

source

pub unsafe fn get_device_buffer_memory_requirements( &self, memory_requirements: &DeviceBufferMemoryRequirements, out: &mut MemoryRequirements2 )

source

pub unsafe fn get_device_image_memory_requirements( &self, memory_requirements: &DeviceImageMemoryRequirements, out: &mut MemoryRequirements2 )

source

pub unsafe fn get_device_image_sparse_memory_requirements_len( &self, memory_requirements: &DeviceImageMemoryRequirements ) -> usize

Retrieve the number of elements to pass to get_device_image_sparse_memory_requirements()

source

pub unsafe fn get_device_image_sparse_memory_requirements( &self, memory_requirements: &DeviceImageMemoryRequirements, out: &mut [SparseImageMemoryRequirements2] )

https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkGetDeviceImageSparseMemoryRequirements.html

Call get_device_image_sparse_memory_requirements_len() to query the number of elements to pass to out. Be sure to Default::default()-initialize these elements and optionally set their p_next pointer.

source§

impl Device

Vulkan core 1.2

source

pub fn fp_v1_2(&self) -> &DeviceFnV1_2

source

pub unsafe fn cmd_draw_indirect_count( &self, command_buffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, count_buffer: Buffer, count_buffer_offset: DeviceSize, max_draw_count: u32, stride: u32 )

source

pub unsafe fn cmd_draw_indexed_indirect_count( &self, command_buffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, count_buffer: Buffer, count_buffer_offset: DeviceSize, max_draw_count: u32, stride: u32 )

source

pub unsafe fn create_render_pass2( &self, create_info: &RenderPassCreateInfo2, allocation_callbacks: Option<&AllocationCallbacks> ) -> VkResult<RenderPass>

source

pub unsafe fn cmd_begin_render_pass2( &self, command_buffer: CommandBuffer, render_pass_begin_info: &RenderPassBeginInfo, subpass_begin_info: &SubpassBeginInfo )

source

pub unsafe fn cmd_next_subpass2( &self, command_buffer: CommandBuffer, subpass_begin_info: &SubpassBeginInfo, subpass_end_info: &SubpassEndInfo )

source

pub unsafe fn cmd_end_render_pass2( &self, command_buffer: CommandBuffer, subpass_end_info: &SubpassEndInfo )

source

pub unsafe fn reset_query_pool( &self, query_pool: QueryPool, first_query: u32, query_count: u32 )

source

pub unsafe fn get_semaphore_counter_value( &self, semaphore: Semaphore ) -> VkResult<u64>

source

pub unsafe fn wait_semaphores( &self, wait_info: &SemaphoreWaitInfo, timeout: u64 ) -> VkResult<()>

source

pub unsafe fn signal_semaphore( &self, signal_info: &SemaphoreSignalInfo ) -> VkResult<()>

source

pub unsafe fn get_buffer_device_address( &self, info: &BufferDeviceAddressInfo ) -> DeviceAddress

source

pub unsafe fn get_buffer_opaque_capture_address( &self, info: &BufferDeviceAddressInfo ) -> u64

source

pub unsafe fn get_device_memory_opaque_capture_address( &self, info: &DeviceMemoryOpaqueCaptureAddressInfo ) -> u64

source§

impl Device

Vulkan core 1.1

source

pub fn fp_v1_1(&self) -> &DeviceFnV1_1

source

pub unsafe fn bind_buffer_memory2( &self, bind_infos: &[BindBufferMemoryInfo] ) -> VkResult<()>

source

pub unsafe fn bind_image_memory2( &self, bind_infos: &[BindImageMemoryInfo] ) -> VkResult<()>

source

pub unsafe fn get_device_group_peer_memory_features( &self, heap_index: u32, local_device_index: u32, remote_device_index: u32 ) -> PeerMemoryFeatureFlags

source

pub unsafe fn cmd_set_device_mask( &self, command_buffer: CommandBuffer, device_mask: u32 )

source

pub unsafe fn cmd_dispatch_base( &self, command_buffer: CommandBuffer, base_group_x: u32, base_group_y: u32, base_group_z: u32, group_count_x: u32, group_count_y: u32, group_count_z: u32 )

source

pub unsafe fn get_image_memory_requirements2( &self, info: &ImageMemoryRequirementsInfo2, out: &mut MemoryRequirements2 )

source

pub unsafe fn get_buffer_memory_requirements2( &self, info: &BufferMemoryRequirementsInfo2, out: &mut MemoryRequirements2 )

source

pub unsafe fn get_image_sparse_memory_requirements2_len( &self, info: &ImageSparseMemoryRequirementsInfo2 ) -> usize

Retrieve the number of elements to pass to get_image_sparse_memory_requirements2()

source

pub unsafe fn get_image_sparse_memory_requirements2( &self, info: &ImageSparseMemoryRequirementsInfo2, out: &mut [SparseImageMemoryRequirements2] )

https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkGetImageSparseMemoryRequirements2.html

Call get_image_sparse_memory_requirements2_len() to query the number of elements to pass to out. Be sure to Default::default()-initialize these elements and optionally set their p_next pointer.

source

pub unsafe fn trim_command_pool( &self, command_pool: CommandPool, flags: CommandPoolTrimFlags )

source

pub unsafe fn get_device_queue2(&self, queue_info: &DeviceQueueInfo2) -> Queue

source

pub unsafe fn create_sampler_ycbcr_conversion( &self, create_info: &SamplerYcbcrConversionCreateInfo, allocation_callbacks: Option<&AllocationCallbacks> ) -> VkResult<SamplerYcbcrConversion>

source

pub unsafe fn destroy_sampler_ycbcr_conversion( &self, ycbcr_conversion: SamplerYcbcrConversion, allocation_callbacks: Option<&AllocationCallbacks> )

source

pub unsafe fn create_descriptor_update_template( &self, create_info: &DescriptorUpdateTemplateCreateInfo, allocation_callbacks: Option<&AllocationCallbacks> ) -> VkResult<DescriptorUpdateTemplate>

source

pub unsafe fn destroy_descriptor_update_template( &self, descriptor_update_template: DescriptorUpdateTemplate, allocation_callbacks: Option<&AllocationCallbacks> )

source

pub unsafe fn update_descriptor_set_with_template( &self, descriptor_set: DescriptorSet, descriptor_update_template: DescriptorUpdateTemplate, data: *const c_void )

source

pub unsafe fn get_descriptor_set_layout_support( &self, create_info: &DescriptorSetLayoutCreateInfo, out: &mut DescriptorSetLayoutSupport )

source§

impl Device

Vulkan core 1.0

source

pub fn fp_v1_0(&self) -> &DeviceFnV1_0

source

pub unsafe fn destroy_device( &self, allocation_callbacks: Option<&AllocationCallbacks> )

source

pub unsafe fn destroy_sampler( &self, sampler: Sampler, allocation_callbacks: Option<&AllocationCallbacks> )

source

pub unsafe fn free_memory( &self, memory: DeviceMemory, allocation_callbacks: Option<&AllocationCallbacks> )

source

pub unsafe fn free_command_buffers( &self, command_pool: CommandPool, command_buffers: &[CommandBuffer] )

source

pub unsafe fn create_event( &self, create_info: &EventCreateInfo, allocation_callbacks: Option<&AllocationCallbacks> ) -> VkResult<Event>

source

pub unsafe fn get_event_status(&self, event: Event) -> VkResult<bool>

Returns true if the event was set, and false if the event was reset, otherwise it will return the error code. https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkGetEventStatus.html

source

pub unsafe fn set_event(&self, event: Event) -> VkResult<()>

source

pub unsafe fn reset_event(&self, event: Event) -> VkResult<()>

source

pub unsafe fn cmd_set_event( &self, command_buffer: CommandBuffer, event: Event, stage_mask: PipelineStageFlags )

source

pub unsafe fn cmd_reset_event( &self, command_buffer: CommandBuffer, event: Event, stage_mask: PipelineStageFlags )

source

pub unsafe fn cmd_wait_events( &self, command_buffer: CommandBuffer, events: &[Event], src_stage_mask: PipelineStageFlags, dst_stage_mask: PipelineStageFlags, memory_barriers: &[MemoryBarrier], buffer_memory_barriers: &[BufferMemoryBarrier], image_memory_barriers: &[ImageMemoryBarrier] )

source

pub unsafe fn destroy_fence( &self, fence: Fence, allocation_callbacks: Option<&AllocationCallbacks> )

source

pub unsafe fn destroy_event( &self, event: Event, allocation_callbacks: Option<&AllocationCallbacks> )

source

pub unsafe fn destroy_image( &self, image: Image, allocation_callbacks: Option<&AllocationCallbacks> )

source

pub unsafe fn destroy_command_pool( &self, pool: CommandPool, allocation_callbacks: Option<&AllocationCallbacks> )

source

pub unsafe fn destroy_image_view( &self, image_view: ImageView, allocation_callbacks: Option<&AllocationCallbacks> )

source

pub unsafe fn destroy_render_pass( &self, renderpass: RenderPass, allocation_callbacks: Option<&AllocationCallbacks> )

source

pub unsafe fn destroy_framebuffer( &self, framebuffer: Framebuffer, allocation_callbacks: Option<&AllocationCallbacks> )

source

pub unsafe fn destroy_pipeline_layout( &self, pipeline_layout: PipelineLayout, allocation_callbacks: Option<&AllocationCallbacks> )

source

pub unsafe fn destroy_pipeline_cache( &self, pipeline_cache: PipelineCache, allocation_callbacks: Option<&AllocationCallbacks> )

source

pub unsafe fn destroy_buffer( &self, buffer: Buffer, allocation_callbacks: Option<&AllocationCallbacks> )

source

pub unsafe fn destroy_shader_module( &self, shader: ShaderModule, allocation_callbacks: Option<&AllocationCallbacks> )

source

pub unsafe fn destroy_pipeline( &self, pipeline: Pipeline, allocation_callbacks: Option<&AllocationCallbacks> )

source

pub unsafe fn destroy_semaphore( &self, semaphore: Semaphore, allocation_callbacks: Option<&AllocationCallbacks> )

source

pub unsafe fn destroy_descriptor_pool( &self, pool: DescriptorPool, allocation_callbacks: Option<&AllocationCallbacks> )

source

pub unsafe fn destroy_query_pool( &self, pool: QueryPool, allocation_callbacks: Option<&AllocationCallbacks> )

source

pub unsafe fn destroy_descriptor_set_layout( &self, layout: DescriptorSetLayout, allocation_callbacks: Option<&AllocationCallbacks> )

source

pub unsafe fn free_descriptor_sets( &self, pool: DescriptorPool, descriptor_sets: &[DescriptorSet] ) -> VkResult<()>

source

pub unsafe fn update_descriptor_sets( &self, descriptor_writes: &[WriteDescriptorSet], descriptor_copies: &[CopyDescriptorSet] )

source

pub unsafe fn create_sampler( &self, create_info: &SamplerCreateInfo, allocation_callbacks: Option<&AllocationCallbacks> ) -> VkResult<Sampler>

source

pub unsafe fn cmd_blit_image( &self, command_buffer: CommandBuffer, src_image: Image, src_image_layout: ImageLayout, dst_image: Image, dst_image_layout: ImageLayout, regions: &[ImageBlit], filter: Filter )

source

pub unsafe fn cmd_resolve_image( &self, command_buffer: CommandBuffer, src_image: Image, src_image_layout: ImageLayout, dst_image: Image, dst_image_layout: ImageLayout, regions: &[ImageResolve] )

source

pub unsafe fn cmd_fill_buffer( &self, command_buffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, size: DeviceSize, data: u32 )

source

pub unsafe fn cmd_update_buffer( &self, command_buffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, data: &[u8] )

source

pub unsafe fn cmd_copy_buffer( &self, command_buffer: CommandBuffer, src_buffer: Buffer, dst_buffer: Buffer, regions: &[BufferCopy] )

source

pub unsafe fn cmd_copy_image_to_buffer( &self, command_buffer: CommandBuffer, src_image: Image, src_image_layout: ImageLayout, dst_buffer: Buffer, regions: &[BufferImageCopy] )

source

pub unsafe fn cmd_copy_buffer_to_image( &self, command_buffer: CommandBuffer, src_buffer: Buffer, dst_image: Image, dst_image_layout: ImageLayout, regions: &[BufferImageCopy] )

source

pub unsafe fn cmd_copy_image( &self, command_buffer: CommandBuffer, src_image: Image, src_image_layout: ImageLayout, dst_image: Image, dst_image_layout: ImageLayout, regions: &[ImageCopy] )

source

pub unsafe fn allocate_descriptor_sets( &self, allocate_info: &DescriptorSetAllocateInfo ) -> VkResult<Vec<DescriptorSet>>

source

pub unsafe fn create_descriptor_set_layout( &self, create_info: &DescriptorSetLayoutCreateInfo, allocation_callbacks: Option<&AllocationCallbacks> ) -> VkResult<DescriptorSetLayout>

source

pub unsafe fn device_wait_idle(&self) -> VkResult<()>

source

pub unsafe fn create_descriptor_pool( &self, create_info: &DescriptorPoolCreateInfo, allocation_callbacks: Option<&AllocationCallbacks> ) -> VkResult<DescriptorPool>

source

pub unsafe fn reset_descriptor_pool( &self, pool: DescriptorPool, flags: DescriptorPoolResetFlags ) -> VkResult<()>

source

pub unsafe fn reset_command_pool( &self, command_pool: CommandPool, flags: CommandPoolResetFlags ) -> VkResult<()>

source

pub unsafe fn reset_command_buffer( &self, command_buffer: CommandBuffer, flags: CommandBufferResetFlags ) -> VkResult<()>

source

pub unsafe fn reset_fences(&self, fences: &[Fence]) -> VkResult<()>

source

pub unsafe fn cmd_bind_index_buffer( &self, command_buffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, index_type: IndexType )

source

pub unsafe fn cmd_clear_color_image( &self, command_buffer: CommandBuffer, image: Image, image_layout: ImageLayout, clear_color_value: &ClearColorValue, ranges: &[ImageSubresourceRange] )

source

pub unsafe fn cmd_clear_depth_stencil_image( &self, command_buffer: CommandBuffer, image: Image, image_layout: ImageLayout, clear_depth_stencil_value: &ClearDepthStencilValue, ranges: &[ImageSubresourceRange] )

source

pub unsafe fn cmd_clear_attachments( &self, command_buffer: CommandBuffer, attachments: &[ClearAttachment], rects: &[ClearRect] )

source

pub unsafe fn cmd_draw_indexed( &self, command_buffer: CommandBuffer, index_count: u32, instance_count: u32, first_index: u32, vertex_offset: i32, first_instance: u32 )

source

pub unsafe fn cmd_draw_indexed_indirect( &self, command_buffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, draw_count: u32, stride: u32 )

source

pub unsafe fn cmd_execute_commands( &self, primary_command_buffer: CommandBuffer, secondary_command_buffers: &[CommandBuffer] )

source

pub unsafe fn cmd_bind_descriptor_sets( &self, command_buffer: CommandBuffer, pipeline_bind_point: PipelineBindPoint, layout: PipelineLayout, first_set: u32, descriptor_sets: &[DescriptorSet], dynamic_offsets: &[u32] )

source

pub unsafe fn cmd_copy_query_pool_results( &self, command_buffer: CommandBuffer, query_pool: QueryPool, first_query: u32, query_count: u32, dst_buffer: Buffer, dst_offset: DeviceSize, stride: DeviceSize, flags: QueryResultFlags )

source

pub unsafe fn cmd_push_constants( &self, command_buffer: CommandBuffer, layout: PipelineLayout, stage_flags: ShaderStageFlags, offset: u32, constants: &[u8] )

source

pub unsafe fn cmd_begin_render_pass( &self, command_buffer: CommandBuffer, render_pass_begin: &RenderPassBeginInfo, contents: SubpassContents )

source

pub unsafe fn cmd_next_subpass( &self, command_buffer: CommandBuffer, contents: SubpassContents )

source

pub unsafe fn cmd_bind_pipeline( &self, command_buffer: CommandBuffer, pipeline_bind_point: PipelineBindPoint, pipeline: Pipeline )

source

pub unsafe fn cmd_set_scissor( &self, command_buffer: CommandBuffer, first_scissor: u32, scissors: &[Rect2D] )

source

pub unsafe fn cmd_set_line_width( &self, command_buffer: CommandBuffer, line_width: f32 )

source

pub unsafe fn cmd_bind_vertex_buffers( &self, command_buffer: CommandBuffer, first_binding: u32, buffers: &[Buffer], offsets: &[DeviceSize] )

source

pub unsafe fn cmd_end_render_pass(&self, command_buffer: CommandBuffer)

source

pub unsafe fn cmd_draw( &self, command_buffer: CommandBuffer, vertex_count: u32, instance_count: u32, first_vertex: u32, first_instance: u32 )

source

pub unsafe fn cmd_draw_indirect( &self, command_buffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, draw_count: u32, stride: u32 )

source

pub unsafe fn cmd_dispatch( &self, command_buffer: CommandBuffer, group_count_x: u32, group_count_y: u32, group_count_z: u32 )

source

pub unsafe fn cmd_dispatch_indirect( &self, command_buffer: CommandBuffer, buffer: Buffer, offset: DeviceSize )

source

pub unsafe fn cmd_set_viewport( &self, command_buffer: CommandBuffer, first_viewport: u32, viewports: &[Viewport] )

source

pub unsafe fn cmd_set_depth_bias( &self, command_buffer: CommandBuffer, constant_factor: f32, clamp: f32, slope_factor: f32 )

source

pub unsafe fn cmd_set_blend_constants( &self, command_buffer: CommandBuffer, blend_constants: &[f32; 4] )

source

pub unsafe fn cmd_set_depth_bounds( &self, command_buffer: CommandBuffer, min_depth_bounds: f32, max_depth_bounds: f32 )

source

pub unsafe fn cmd_set_stencil_compare_mask( &self, command_buffer: CommandBuffer, face_mask: StencilFaceFlags, compare_mask: u32 )

source

pub unsafe fn cmd_set_stencil_write_mask( &self, command_buffer: CommandBuffer, face_mask: StencilFaceFlags, write_mask: u32 )

source

pub unsafe fn cmd_set_stencil_reference( &self, command_buffer: CommandBuffer, face_mask: StencilFaceFlags, reference: u32 )

source

pub unsafe fn get_query_pool_results<T>( &self, query_pool: QueryPool, first_query: u32, query_count: u32, data: &mut [T], flags: QueryResultFlags ) -> VkResult<()>

source

pub unsafe fn cmd_begin_query( &self, command_buffer: CommandBuffer, query_pool: QueryPool, query: u32, flags: QueryControlFlags )

source

pub unsafe fn cmd_end_query( &self, command_buffer: CommandBuffer, query_pool: QueryPool, query: u32 )

source

pub unsafe fn cmd_reset_query_pool( &self, command_buffer: CommandBuffer, pool: QueryPool, first_query: u32, query_count: u32 )

source

pub unsafe fn cmd_write_timestamp( &self, command_buffer: CommandBuffer, pipeline_stage: PipelineStageFlags, query_pool: QueryPool, query: u32 )

source

pub unsafe fn create_semaphore( &self, create_info: &SemaphoreCreateInfo, allocation_callbacks: Option<&AllocationCallbacks> ) -> VkResult<Semaphore>

source

pub unsafe fn create_graphics_pipelines( &self, pipeline_cache: PipelineCache, create_infos: &[GraphicsPipelineCreateInfo], allocation_callbacks: Option<&AllocationCallbacks> ) -> Result<Vec<Pipeline>, (Vec<Pipeline>, Result)>

source

pub unsafe fn create_compute_pipelines( &self, pipeline_cache: PipelineCache, create_infos: &[ComputePipelineCreateInfo], allocation_callbacks: Option<&AllocationCallbacks> ) -> Result<Vec<Pipeline>, (Vec<Pipeline>, Result)>

source

pub unsafe fn create_buffer( &self, create_info: &BufferCreateInfo, allocation_callbacks: Option<&AllocationCallbacks> ) -> VkResult<Buffer>

source

pub unsafe fn create_pipeline_layout( &self, create_info: &PipelineLayoutCreateInfo, allocation_callbacks: Option<&AllocationCallbacks> ) -> VkResult<PipelineLayout>

source

pub unsafe fn create_pipeline_cache( &self, create_info: &PipelineCacheCreateInfo, allocation_callbacks: Option<&AllocationCallbacks> ) -> VkResult<PipelineCache>

source

pub unsafe fn get_pipeline_cache_data( &self, pipeline_cache: PipelineCache ) -> VkResult<Vec<u8>>

source

pub unsafe fn merge_pipeline_caches( &self, dst_cache: PipelineCache, src_caches: &[PipelineCache] ) -> VkResult<()>

source

pub unsafe fn map_memory( &self, memory: DeviceMemory, offset: DeviceSize, size: DeviceSize, flags: MemoryMapFlags ) -> VkResult<*mut c_void>

source

pub unsafe fn unmap_memory(&self, memory: DeviceMemory)

source

pub unsafe fn invalidate_mapped_memory_ranges( &self, ranges: &[MappedMemoryRange] ) -> VkResult<()>

source

pub unsafe fn flush_mapped_memory_ranges( &self, ranges: &[MappedMemoryRange] ) -> VkResult<()>

source

pub unsafe fn create_framebuffer( &self, create_info: &FramebufferCreateInfo, allocation_callbacks: Option<&AllocationCallbacks> ) -> VkResult<Framebuffer>

source

pub unsafe fn get_device_queue( &self, queue_family_index: u32, queue_index: u32 ) -> Queue

source

pub unsafe fn cmd_pipeline_barrier( &self, command_buffer: CommandBuffer, src_stage_mask: PipelineStageFlags, dst_stage_mask: PipelineStageFlags, dependency_flags: DependencyFlags, memory_barriers: &[MemoryBarrier], buffer_memory_barriers: &[BufferMemoryBarrier], image_memory_barriers: &[ImageMemoryBarrier] )

source

pub unsafe fn create_render_pass( &self, create_info: &RenderPassCreateInfo, allocation_callbacks: Option<&AllocationCallbacks> ) -> VkResult<RenderPass>

source

pub unsafe fn begin_command_buffer( &self, command_buffer: CommandBuffer, begin_info: &CommandBufferBeginInfo ) -> VkResult<()>

source

pub unsafe fn end_command_buffer( &self, command_buffer: CommandBuffer ) -> VkResult<()>

source

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

source

pub unsafe fn get_fence_status(&self, fence: Fence) -> VkResult<bool>

source

pub unsafe fn queue_wait_idle(&self, queue: Queue) -> VkResult<()>

source

pub unsafe fn queue_submit( &self, queue: Queue, submits: &[SubmitInfo], fence: Fence ) -> VkResult<()>

source

pub unsafe fn queue_bind_sparse( &self, queue: Queue, bind_info: &[BindSparseInfo], fence: Fence ) -> VkResult<()>

source

pub unsafe fn create_buffer_view( &self, create_info: &BufferViewCreateInfo, allocation_callbacks: Option<&AllocationCallbacks> ) -> VkResult<BufferView>

source

pub unsafe fn destroy_buffer_view( &self, buffer_view: BufferView, allocation_callbacks: Option<&AllocationCallbacks> )

source

pub unsafe fn create_image_view( &self, create_info: &ImageViewCreateInfo, allocation_callbacks: Option<&AllocationCallbacks> ) -> VkResult<ImageView>

source

pub unsafe fn allocate_command_buffers( &self, allocate_info: &CommandBufferAllocateInfo ) -> VkResult<Vec<CommandBuffer>>

source

pub unsafe fn create_command_pool( &self, create_info: &CommandPoolCreateInfo, allocation_callbacks: Option<&AllocationCallbacks> ) -> VkResult<CommandPool>

source

pub unsafe fn create_query_pool( &self, create_info: &QueryPoolCreateInfo, allocation_callbacks: Option<&AllocationCallbacks> ) -> VkResult<QueryPool>

source

pub unsafe fn create_image( &self, create_info: &ImageCreateInfo, allocation_callbacks: Option<&AllocationCallbacks> ) -> VkResult<Image>

source

pub unsafe fn get_image_subresource_layout( &self, image: Image, subresource: ImageSubresource ) -> SubresourceLayout

source

pub unsafe fn get_image_memory_requirements( &self, image: Image ) -> MemoryRequirements

source

pub unsafe fn get_buffer_memory_requirements( &self, buffer: Buffer ) -> MemoryRequirements

source

pub unsafe fn allocate_memory( &self, allocate_info: &MemoryAllocateInfo, allocation_callbacks: Option<&AllocationCallbacks> ) -> VkResult<DeviceMemory>

source

pub unsafe fn create_shader_module( &self, create_info: &ShaderModuleCreateInfo, allocation_callbacks: Option<&AllocationCallbacks> ) -> VkResult<ShaderModule>

source

pub unsafe fn create_fence( &self, create_info: &FenceCreateInfo, allocation_callbacks: Option<&AllocationCallbacks> ) -> VkResult<Fence>

source

pub unsafe fn bind_buffer_memory( &self, buffer: Buffer, device_memory: DeviceMemory, offset: DeviceSize ) -> VkResult<()>

source

pub unsafe fn bind_image_memory( &self, image: Image, device_memory: DeviceMemory, offset: DeviceSize ) -> VkResult<()>

source

pub unsafe fn get_render_area_granularity( &self, render_pass: RenderPass ) -> Extent2D

source

pub unsafe fn get_device_memory_commitment( &self, memory: DeviceMemory ) -> DeviceSize

source

pub unsafe fn get_image_sparse_memory_requirements( &self, image: Image ) -> Vec<SparseImageMemoryRequirements>

Trait Implementations§

source§

impl Clone for Device

source§

fn clone(&self) -> Device

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

Auto Trait Implementations§

§

impl Freeze for Device

§

impl RefUnwindSafe for Device

§

impl Send for Device

§

impl Sync for Device

§

impl Unpin for Device

§

impl UnwindSafe for Device

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.