Struct screen_13::driver::Device

source ·
pub struct Device {
    pub accel_struct_properties: Option<PhysicalDeviceAccelerationStructureProperties>,
    pub depth_stencil_resolve_properties: PhysicalDeviceDepthStencilResolveProperties,
    pub descriptor_indexing_features: PhysicalDeviceDescriptorIndexingFeatures,
    pub instance: Arc<Instance>,
    pub physical_device: PhysicalDevice,
    pub ray_query_features: Option<PhysicalDeviceRayQueryFeatures>,
    pub ray_tracing_pipeline_features: Option<PhysicalDeviceRayTracingPipelineFeatures>,
    pub ray_tracing_pipeline_properties: Option<PhysicalDeviceRayTracePipelineProperties>,
    pub vulkan_1_1_features: PhysicalDeviceVulkan11Features,
    pub vulkan_1_1_properties: PhysicalDeviceVulkan11Properties,
    pub vulkan_1_2_features: PhysicalDeviceVulkan12Features,
    pub vulkan_1_2_properties: PhysicalDeviceVulkan12Properties,
    /* private fields */
}
Expand description

Opaque handle to a device object.

Fields§

§accel_struct_properties: Option<PhysicalDeviceAccelerationStructureProperties>

Describes the properties of the device which relate to acceleration structures, if available.

§depth_stencil_resolve_properties: PhysicalDeviceDepthStencilResolveProperties

Describes the properties of the device which relate to depth/stencil resolve operations.

§descriptor_indexing_features: PhysicalDeviceDescriptorIndexingFeatures
👎Deprecated since 0.8.1: use vulkan_1_2_features member instead

Describes the features of the device which relate to descriptor indexing.

§instance: Arc<Instance>

Vulkan instance pointer, which includes useful functions.

§physical_device: PhysicalDevice

The physical device, which contains useful property and limit data.

§ray_query_features: Option<PhysicalDeviceRayQueryFeatures>

Describes the features of the device which relate to ray query, if available.

§ray_tracing_pipeline_features: Option<PhysicalDeviceRayTracingPipelineFeatures>

Describes the features of the device which relate to ray tracing, if available.

§ray_tracing_pipeline_properties: Option<PhysicalDeviceRayTracePipelineProperties>

Describes the properties of the device which relate to ray tracing, if available.

§vulkan_1_1_features: PhysicalDeviceVulkan11Features

Describes the features of the device which are part of the Vulkan 1.1 base feature set.

§vulkan_1_1_properties: PhysicalDeviceVulkan11Properties

Describes the properties of the device which are part of the Vulkan 1.1 base feature set.

§vulkan_1_2_features: PhysicalDeviceVulkan12Features

Describes the features of the device which are part of the Vulkan 1.2 base feature set.

§vulkan_1_2_properties: PhysicalDeviceVulkan12Properties

Describes the properties of the device which are part of the Vulkan 1.2 base feature set.

Implementations§

source§

impl Device

source

pub fn new(cfg: DriverConfig) -> Result<Self, DriverError>

Constructs a new device using the given configuration.

source

pub fn queue_count(this: &Self) -> usize

Returns the count of available queues created by the device.

See [DriverConfig.desired_queue_count].

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 ) -> u64where 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, create_info: &DeviceBufferMemoryRequirements, out: &mut MemoryRequirements2 )

source

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

source

pub unsafe fn get_device_image_sparse_memory_requirements_len( &self, create_info: &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, create_info: &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 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, create_info: &DescriptorSetAllocateInfo ) -> Result<Vec<DescriptorSet, Global>, 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, create_info: &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, Global>, (Vec<Pipeline, Global>, Result)>

source

pub unsafe fn create_compute_pipelines( &self, pipeline_cache: PipelineCache, create_infos: &[ComputePipelineCreateInfo], allocation_callbacks: Option<&AllocationCallbacks> ) -> Result<Vec<Pipeline, Global>, (Vec<Pipeline, Global>, 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, Global>, 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, create_info: &CommandBufferAllocateInfo ) -> Result<Vec<CommandBuffer, Global>, 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, create_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, Global>

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§

§

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 Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

const: unstable · source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

const: unstable · 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 Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
source§

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

§

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

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.