Struct screen_13::driver::device::Device

source ·
pub struct Device {
    pub physical_device: PhysicalDevice,
    /* private fields */
}
Expand description

Opaque handle to a device object.

Fields§

§physical_device: PhysicalDevice

The physical device, which contains useful data about features, properties, and limits.

Implementations§

source§

impl Device

source

pub unsafe fn create_ash_device<F>( instance: &Instance, physical_device: &PhysicalDevice, display_window: bool, create_fn: F ) -> VkResult<Device>

Prepares device creation information and calls the provided callback to allow an application to control the device creation process.

§Safety

This is only required for interoperting with other libraries and comes with all the caveats of using ash builder types, which are inherently dangerous. Use with extreme caution.

source

pub fn create_headless(info: impl Into<DeviceInfo>) -> Result<Self, DriverError>

Constructs a new device using the given configuration.

source

pub fn create_display_window( info: impl Into<DeviceInfo>, display_window: &(impl HasRawDisplayHandle + HasRawWindowHandle) ) -> Result<Self, DriverError>

Constructs a new device using the given configuration.

source

pub fn load( instance: Instance, physical_device: PhysicalDevice, device: Device, display_window: bool ) -> Result<Self, DriverError>

Loads and existing ash Vulkan device that may have been created by other means.

source

pub fn format_properties(this: &Self, format: Format) -> FormatProperties

Lists the physical device’s format capabilities.

source

pub fn image_format_properties( this: &Self, format: Format, ty: ImageType, tiling: ImageTiling, usage: ImageUsageFlags, flags: ImageCreateFlags ) -> Result<Option<ImageFormatProperties>, DriverError>

Lists the physical device’s image format capabilities.

A result of None indicates the format is not supported.

source

pub fn instance(this: &Self) -> &Instance

Provides a reference to the Vulkan instance used by this device.

Methods from Deref<Target = Device>§

source

pub fn handle(&self) -> Device

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> ) -> Result<PrivateDataSlot, Result>

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>( &self, object: T, private_data_slot: PrivateDataSlot, data: u64 ) -> Result<(), Result>
where T: Handle,

source

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

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 ) -> Result<(), Result>

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: &[u64], sizes: Option<&[u64]>, strides: Option<&[u64]> )

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

pub fn fp_v1_2(&self) -> &DeviceFnV1_2

source

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

source

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

source

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

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 ) -> Result<u64, Result>

source

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

source

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

source

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

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

pub fn fp_v1_1(&self) -> &DeviceFnV1_1

source

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

source

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

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> ) -> Result<SamplerYcbcrConversion, Result>

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> ) -> Result<DescriptorUpdateTemplate, Result>

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

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> ) -> Result<Event, Result>

source

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

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) -> Result<(), Result>

source

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

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

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> ) -> Result<Sampler, Result>

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: u64, size: u64, data: u32 )

source

pub unsafe fn cmd_update_buffer( &self, command_buffer: CommandBuffer, buffer: Buffer, offset: u64, 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 ) -> Result<Vec<DescriptorSet>, Result>

source

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

source

pub unsafe fn device_wait_idle(&self) -> Result<(), Result>

source

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

source

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

source

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

source

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

source

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

source

pub unsafe fn cmd_bind_index_buffer( &self, command_buffer: CommandBuffer, buffer: Buffer, offset: u64, 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: u64, 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: u64, stride: u64, 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: &[u64] )

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: u64, 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: u64 )

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 ) -> Result<(), Result>

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> ) -> Result<Semaphore, Result>

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> ) -> Result<Buffer, Result>

source

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

source

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

source

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

source

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

source

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

source

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

source

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

source

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

source

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

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> ) -> Result<RenderPass, Result>

source

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

source

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

source

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

source

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

source

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

source

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

source

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

source

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

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> ) -> Result<ImageView, Result>

source

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

source

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

source

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

source

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

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> ) -> Result<DeviceMemory, Result>

source

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

source

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

source

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

source

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

source

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

source

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

source

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

Trait Implementations§

source§

impl Debug for Device

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Deref for Device

§

type Target = Device

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl Drop for Device

source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

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
§

impl<T> Downcast for T
where T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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, 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.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more