Struct ash::device::Device

source ·
pub struct Device {
    pub(crate) handle: Device,
    pub(crate) device_fn_1_0: DeviceFnV1_0,
    pub(crate) device_fn_1_1: DeviceFnV1_1,
    pub(crate) device_fn_1_2: DeviceFnV1_2,
    pub(crate) device_fn_1_3: DeviceFnV1_3,
}
Expand description

Fields§

§handle: Device§device_fn_1_0: DeviceFnV1_0§device_fn_1_1: DeviceFnV1_1§device_fn_1_2: DeviceFnV1_2§device_fn_1_3: DeviceFnV1_3

Implementations§

source§

impl Device

source

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

source

pub unsafe fn load_with( load_fn: impl FnMut(&CStr) -> *const c_void, device: Device, ) -> Self

source

pub fn from_parts_1_3( handle: Device, device_fn_1_0: DeviceFnV1_0, device_fn_1_1: DeviceFnV1_1, device_fn_1_2: DeviceFnV1_2, device_fn_1_3: DeviceFnV1_3, ) -> 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://registry.khronos.org/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://registry.khronos.org/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://registry.khronos.org/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, 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> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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,

source§

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>,

source§

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>,

source§

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.