pub struct Device { /* private fields */ }
Expand description
Implementations§
source§impl Device
impl Device
Vulkan core 1.3
pub fn fp_v1_3(&self) -> &DeviceFnV1_3
sourcepub unsafe fn create_private_data_slot(
&self,
create_info: &PrivateDataSlotCreateInfo,
allocation_callbacks: Option<&AllocationCallbacks>
) -> VkResult<PrivateDataSlot>
pub unsafe fn create_private_data_slot( &self, create_info: &PrivateDataSlotCreateInfo, allocation_callbacks: Option<&AllocationCallbacks> ) -> VkResult<PrivateDataSlot>
sourcepub unsafe fn destroy_private_data_slot(
&self,
private_data_slot: PrivateDataSlot,
allocation_callbacks: Option<&AllocationCallbacks>
)
pub unsafe fn destroy_private_data_slot( &self, private_data_slot: PrivateDataSlot, allocation_callbacks: Option<&AllocationCallbacks> )
sourcepub unsafe fn set_private_data<T: Handle>(
&self,
object: T,
private_data_slot: PrivateDataSlot,
data: u64
) -> VkResult<()>
pub unsafe fn set_private_data<T: Handle>( &self, object: T, private_data_slot: PrivateDataSlot, data: u64 ) -> VkResult<()>
sourcepub unsafe fn get_private_data<T: Handle>(
&self,
object: T,
private_data_slot: PrivateDataSlot
) -> u64
pub unsafe fn get_private_data<T: Handle>( &self, object: T, private_data_slot: PrivateDataSlot ) -> u64
sourcepub unsafe fn cmd_pipeline_barrier2(
&self,
command_buffer: CommandBuffer,
dependency_info: &DependencyInfo
)
pub unsafe fn cmd_pipeline_barrier2( &self, command_buffer: CommandBuffer, dependency_info: &DependencyInfo )
sourcepub unsafe fn cmd_reset_event2(
&self,
command_buffer: CommandBuffer,
event: Event,
stage_mask: PipelineStageFlags2
)
pub unsafe fn cmd_reset_event2( &self, command_buffer: CommandBuffer, event: Event, stage_mask: PipelineStageFlags2 )
sourcepub unsafe fn cmd_set_event2(
&self,
command_buffer: CommandBuffer,
event: Event,
dependency_info: &DependencyInfo
)
pub unsafe fn cmd_set_event2( &self, command_buffer: CommandBuffer, event: Event, dependency_info: &DependencyInfo )
sourcepub unsafe fn cmd_wait_events2(
&self,
command_buffer: CommandBuffer,
events: &[Event],
dependency_infos: &[DependencyInfo]
)
pub unsafe fn cmd_wait_events2( &self, command_buffer: CommandBuffer, events: &[Event], dependency_infos: &[DependencyInfo] )
sourcepub unsafe fn cmd_write_timestamp2(
&self,
command_buffer: CommandBuffer,
stage: PipelineStageFlags2,
query_pool: QueryPool,
query: u32
)
pub unsafe fn cmd_write_timestamp2( &self, command_buffer: CommandBuffer, stage: PipelineStageFlags2, query_pool: QueryPool, query: u32 )
sourcepub unsafe fn queue_submit2(
&self,
queue: Queue,
submits: &[SubmitInfo2],
fence: Fence
) -> VkResult<()>
pub unsafe fn queue_submit2( &self, queue: Queue, submits: &[SubmitInfo2], fence: Fence ) -> VkResult<()>
sourcepub unsafe fn cmd_copy_buffer2(
&self,
command_buffer: CommandBuffer,
copy_buffer_info: &CopyBufferInfo2
)
pub unsafe fn cmd_copy_buffer2( &self, command_buffer: CommandBuffer, copy_buffer_info: &CopyBufferInfo2 )
sourcepub unsafe fn cmd_copy_image2(
&self,
command_buffer: CommandBuffer,
copy_image_info: &CopyImageInfo2
)
pub unsafe fn cmd_copy_image2( &self, command_buffer: CommandBuffer, copy_image_info: &CopyImageInfo2 )
sourcepub unsafe fn cmd_copy_buffer_to_image2(
&self,
command_buffer: CommandBuffer,
copy_buffer_to_image_info: &CopyBufferToImageInfo2
)
pub unsafe fn cmd_copy_buffer_to_image2( &self, command_buffer: CommandBuffer, copy_buffer_to_image_info: &CopyBufferToImageInfo2 )
sourcepub unsafe fn cmd_copy_image_to_buffer2(
&self,
command_buffer: CommandBuffer,
copy_image_to_buffer_info: &CopyImageToBufferInfo2
)
pub unsafe fn cmd_copy_image_to_buffer2( &self, command_buffer: CommandBuffer, copy_image_to_buffer_info: &CopyImageToBufferInfo2 )
sourcepub unsafe fn cmd_blit_image2(
&self,
command_buffer: CommandBuffer,
blit_image_info: &BlitImageInfo2
)
pub unsafe fn cmd_blit_image2( &self, command_buffer: CommandBuffer, blit_image_info: &BlitImageInfo2 )
sourcepub unsafe fn cmd_resolve_image2(
&self,
command_buffer: CommandBuffer,
resolve_image_info: &ResolveImageInfo2
)
pub unsafe fn cmd_resolve_image2( &self, command_buffer: CommandBuffer, resolve_image_info: &ResolveImageInfo2 )
sourcepub unsafe fn cmd_begin_rendering(
&self,
command_buffer: CommandBuffer,
rendering_info: &RenderingInfo
)
pub unsafe fn cmd_begin_rendering( &self, command_buffer: CommandBuffer, rendering_info: &RenderingInfo )
sourcepub unsafe fn cmd_end_rendering(&self, command_buffer: CommandBuffer)
pub unsafe fn cmd_end_rendering(&self, command_buffer: CommandBuffer)
sourcepub unsafe fn cmd_set_cull_mode(
&self,
command_buffer: CommandBuffer,
cull_mode: CullModeFlags
)
pub unsafe fn cmd_set_cull_mode( &self, command_buffer: CommandBuffer, cull_mode: CullModeFlags )
sourcepub unsafe fn cmd_set_front_face(
&self,
command_buffer: CommandBuffer,
front_face: FrontFace
)
pub unsafe fn cmd_set_front_face( &self, command_buffer: CommandBuffer, front_face: FrontFace )
sourcepub unsafe fn cmd_set_primitive_topology(
&self,
command_buffer: CommandBuffer,
primitive_topology: PrimitiveTopology
)
pub unsafe fn cmd_set_primitive_topology( &self, command_buffer: CommandBuffer, primitive_topology: PrimitiveTopology )
sourcepub unsafe fn cmd_set_viewport_with_count(
&self,
command_buffer: CommandBuffer,
viewports: &[Viewport]
)
pub unsafe fn cmd_set_viewport_with_count( &self, command_buffer: CommandBuffer, viewports: &[Viewport] )
sourcepub unsafe fn cmd_set_scissor_with_count(
&self,
command_buffer: CommandBuffer,
scissors: &[Rect2D]
)
pub unsafe fn cmd_set_scissor_with_count( &self, command_buffer: CommandBuffer, scissors: &[Rect2D] )
sourcepub unsafe fn cmd_bind_vertex_buffers2(
&self,
command_buffer: CommandBuffer,
first_binding: u32,
buffers: &[Buffer],
offsets: &[DeviceSize],
sizes: Option<&[DeviceSize]>,
strides: Option<&[DeviceSize]>
)
pub unsafe fn cmd_bind_vertex_buffers2( &self, command_buffer: CommandBuffer, first_binding: u32, buffers: &[Buffer], offsets: &[DeviceSize], sizes: Option<&[DeviceSize]>, strides: Option<&[DeviceSize]> )
sourcepub unsafe fn cmd_set_depth_test_enable(
&self,
command_buffer: CommandBuffer,
depth_test_enable: bool
)
pub unsafe fn cmd_set_depth_test_enable( &self, command_buffer: CommandBuffer, depth_test_enable: bool )
sourcepub unsafe fn cmd_set_depth_write_enable(
&self,
command_buffer: CommandBuffer,
depth_write_enable: bool
)
pub unsafe fn cmd_set_depth_write_enable( &self, command_buffer: CommandBuffer, depth_write_enable: bool )
sourcepub unsafe fn cmd_set_depth_compare_op(
&self,
command_buffer: CommandBuffer,
depth_compare_op: CompareOp
)
pub unsafe fn cmd_set_depth_compare_op( &self, command_buffer: CommandBuffer, depth_compare_op: CompareOp )
sourcepub unsafe fn cmd_set_depth_bounds_test_enable(
&self,
command_buffer: CommandBuffer,
depth_bounds_test_enable: bool
)
pub unsafe fn cmd_set_depth_bounds_test_enable( &self, command_buffer: CommandBuffer, depth_bounds_test_enable: bool )
sourcepub unsafe fn cmd_set_stencil_test_enable(
&self,
command_buffer: CommandBuffer,
stencil_test_enable: bool
)
pub unsafe fn cmd_set_stencil_test_enable( &self, command_buffer: CommandBuffer, stencil_test_enable: bool )
sourcepub 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
)
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 )
sourcepub unsafe fn cmd_set_rasterizer_discard_enable(
&self,
command_buffer: CommandBuffer,
rasterizer_discard_enable: bool
)
pub unsafe fn cmd_set_rasterizer_discard_enable( &self, command_buffer: CommandBuffer, rasterizer_discard_enable: bool )
sourcepub unsafe fn cmd_set_depth_bias_enable(
&self,
command_buffer: CommandBuffer,
depth_bias_enable: bool
)
pub unsafe fn cmd_set_depth_bias_enable( &self, command_buffer: CommandBuffer, depth_bias_enable: bool )
sourcepub unsafe fn cmd_set_primitive_restart_enable(
&self,
command_buffer: CommandBuffer,
primitive_restart_enable: bool
)
pub unsafe fn cmd_set_primitive_restart_enable( &self, command_buffer: CommandBuffer, primitive_restart_enable: bool )
sourcepub unsafe fn get_device_buffer_memory_requirements(
&self,
memory_requirements: &DeviceBufferMemoryRequirements,
out: &mut MemoryRequirements2
)
pub unsafe fn get_device_buffer_memory_requirements( &self, memory_requirements: &DeviceBufferMemoryRequirements, out: &mut MemoryRequirements2 )
sourcepub unsafe fn get_device_image_memory_requirements(
&self,
memory_requirements: &DeviceImageMemoryRequirements,
out: &mut MemoryRequirements2
)
pub unsafe fn get_device_image_memory_requirements( &self, memory_requirements: &DeviceImageMemoryRequirements, out: &mut MemoryRequirements2 )
sourcepub unsafe fn get_device_image_sparse_memory_requirements_len(
&self,
memory_requirements: &DeviceImageMemoryRequirements
) -> usize
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()
sourcepub unsafe fn get_device_image_sparse_memory_requirements(
&self,
memory_requirements: &DeviceImageMemoryRequirements,
out: &mut [SparseImageMemoryRequirements2]
)
pub unsafe fn get_device_image_sparse_memory_requirements( &self, memory_requirements: &DeviceImageMemoryRequirements, out: &mut [SparseImageMemoryRequirements2] )
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
impl Device
Vulkan core 1.2
pub fn fp_v1_2(&self) -> &DeviceFnV1_2
sourcepub 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
)
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 )
sourcepub 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
)
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 )
sourcepub unsafe fn create_render_pass2(
&self,
create_info: &RenderPassCreateInfo2,
allocation_callbacks: Option<&AllocationCallbacks>
) -> VkResult<RenderPass>
pub unsafe fn create_render_pass2( &self, create_info: &RenderPassCreateInfo2, allocation_callbacks: Option<&AllocationCallbacks> ) -> VkResult<RenderPass>
sourcepub unsafe fn cmd_begin_render_pass2(
&self,
command_buffer: CommandBuffer,
render_pass_begin_info: &RenderPassBeginInfo,
subpass_begin_info: &SubpassBeginInfo
)
pub unsafe fn cmd_begin_render_pass2( &self, command_buffer: CommandBuffer, render_pass_begin_info: &RenderPassBeginInfo, subpass_begin_info: &SubpassBeginInfo )
sourcepub unsafe fn cmd_next_subpass2(
&self,
command_buffer: CommandBuffer,
subpass_begin_info: &SubpassBeginInfo,
subpass_end_info: &SubpassEndInfo
)
pub unsafe fn cmd_next_subpass2( &self, command_buffer: CommandBuffer, subpass_begin_info: &SubpassBeginInfo, subpass_end_info: &SubpassEndInfo )
sourcepub unsafe fn cmd_end_render_pass2(
&self,
command_buffer: CommandBuffer,
subpass_end_info: &SubpassEndInfo
)
pub unsafe fn cmd_end_render_pass2( &self, command_buffer: CommandBuffer, subpass_end_info: &SubpassEndInfo )
sourcepub unsafe fn reset_query_pool(
&self,
query_pool: QueryPool,
first_query: u32,
query_count: u32
)
pub unsafe fn reset_query_pool( &self, query_pool: QueryPool, first_query: u32, query_count: u32 )
sourcepub unsafe fn get_semaphore_counter_value(
&self,
semaphore: Semaphore
) -> VkResult<u64>
pub unsafe fn get_semaphore_counter_value( &self, semaphore: Semaphore ) -> VkResult<u64>
sourcepub unsafe fn wait_semaphores(
&self,
wait_info: &SemaphoreWaitInfo,
timeout: u64
) -> VkResult<()>
pub unsafe fn wait_semaphores( &self, wait_info: &SemaphoreWaitInfo, timeout: u64 ) -> VkResult<()>
sourcepub unsafe fn signal_semaphore(
&self,
signal_info: &SemaphoreSignalInfo
) -> VkResult<()>
pub unsafe fn signal_semaphore( &self, signal_info: &SemaphoreSignalInfo ) -> VkResult<()>
sourcepub unsafe fn get_buffer_device_address(
&self,
info: &BufferDeviceAddressInfo
) -> DeviceAddress
pub unsafe fn get_buffer_device_address( &self, info: &BufferDeviceAddressInfo ) -> DeviceAddress
sourcepub unsafe fn get_buffer_opaque_capture_address(
&self,
info: &BufferDeviceAddressInfo
) -> u64
pub unsafe fn get_buffer_opaque_capture_address( &self, info: &BufferDeviceAddressInfo ) -> u64
source§impl Device
impl Device
Vulkan core 1.1
pub fn fp_v1_1(&self) -> &DeviceFnV1_1
sourcepub unsafe fn bind_buffer_memory2(
&self,
bind_infos: &[BindBufferMemoryInfo]
) -> VkResult<()>
pub unsafe fn bind_buffer_memory2( &self, bind_infos: &[BindBufferMemoryInfo] ) -> VkResult<()>
sourcepub unsafe fn bind_image_memory2(
&self,
bind_infos: &[BindImageMemoryInfo]
) -> VkResult<()>
pub unsafe fn bind_image_memory2( &self, bind_infos: &[BindImageMemoryInfo] ) -> VkResult<()>
sourcepub unsafe fn get_device_group_peer_memory_features(
&self,
heap_index: u32,
local_device_index: u32,
remote_device_index: u32
) -> PeerMemoryFeatureFlags
pub unsafe fn get_device_group_peer_memory_features( &self, heap_index: u32, local_device_index: u32, remote_device_index: u32 ) -> PeerMemoryFeatureFlags
sourcepub unsafe fn cmd_set_device_mask(
&self,
command_buffer: CommandBuffer,
device_mask: u32
)
pub unsafe fn cmd_set_device_mask( &self, command_buffer: CommandBuffer, device_mask: u32 )
sourcepub 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
)
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 )
sourcepub unsafe fn get_image_memory_requirements2(
&self,
info: &ImageMemoryRequirementsInfo2,
out: &mut MemoryRequirements2
)
pub unsafe fn get_image_memory_requirements2( &self, info: &ImageMemoryRequirementsInfo2, out: &mut MemoryRequirements2 )
sourcepub unsafe fn get_buffer_memory_requirements2(
&self,
info: &BufferMemoryRequirementsInfo2,
out: &mut MemoryRequirements2
)
pub unsafe fn get_buffer_memory_requirements2( &self, info: &BufferMemoryRequirementsInfo2, out: &mut MemoryRequirements2 )
sourcepub unsafe fn get_image_sparse_memory_requirements2_len(
&self,
info: &ImageSparseMemoryRequirementsInfo2
) -> usize
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()
sourcepub unsafe fn get_image_sparse_memory_requirements2(
&self,
info: &ImageSparseMemoryRequirementsInfo2,
out: &mut [SparseImageMemoryRequirements2]
)
pub unsafe fn get_image_sparse_memory_requirements2( &self, info: &ImageSparseMemoryRequirementsInfo2, out: &mut [SparseImageMemoryRequirements2] )
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.
sourcepub unsafe fn trim_command_pool(
&self,
command_pool: CommandPool,
flags: CommandPoolTrimFlags
)
pub unsafe fn trim_command_pool( &self, command_pool: CommandPool, flags: CommandPoolTrimFlags )
sourcepub unsafe fn get_device_queue2(&self, queue_info: &DeviceQueueInfo2) -> Queue
pub unsafe fn get_device_queue2(&self, queue_info: &DeviceQueueInfo2) -> Queue
sourcepub unsafe fn create_sampler_ycbcr_conversion(
&self,
create_info: &SamplerYcbcrConversionCreateInfo,
allocation_callbacks: Option<&AllocationCallbacks>
) -> VkResult<SamplerYcbcrConversion>
pub unsafe fn create_sampler_ycbcr_conversion( &self, create_info: &SamplerYcbcrConversionCreateInfo, allocation_callbacks: Option<&AllocationCallbacks> ) -> VkResult<SamplerYcbcrConversion>
sourcepub unsafe fn destroy_sampler_ycbcr_conversion(
&self,
ycbcr_conversion: SamplerYcbcrConversion,
allocation_callbacks: Option<&AllocationCallbacks>
)
pub unsafe fn destroy_sampler_ycbcr_conversion( &self, ycbcr_conversion: SamplerYcbcrConversion, allocation_callbacks: Option<&AllocationCallbacks> )
sourcepub unsafe fn create_descriptor_update_template(
&self,
create_info: &DescriptorUpdateTemplateCreateInfo,
allocation_callbacks: Option<&AllocationCallbacks>
) -> VkResult<DescriptorUpdateTemplate>
pub unsafe fn create_descriptor_update_template( &self, create_info: &DescriptorUpdateTemplateCreateInfo, allocation_callbacks: Option<&AllocationCallbacks> ) -> VkResult<DescriptorUpdateTemplate>
sourcepub unsafe fn destroy_descriptor_update_template(
&self,
descriptor_update_template: DescriptorUpdateTemplate,
allocation_callbacks: Option<&AllocationCallbacks>
)
pub unsafe fn destroy_descriptor_update_template( &self, descriptor_update_template: DescriptorUpdateTemplate, allocation_callbacks: Option<&AllocationCallbacks> )
sourcepub unsafe fn update_descriptor_set_with_template(
&self,
descriptor_set: DescriptorSet,
descriptor_update_template: DescriptorUpdateTemplate,
data: *const c_void
)
pub unsafe fn update_descriptor_set_with_template( &self, descriptor_set: DescriptorSet, descriptor_update_template: DescriptorUpdateTemplate, data: *const c_void )
sourcepub unsafe fn get_descriptor_set_layout_support(
&self,
create_info: &DescriptorSetLayoutCreateInfo,
out: &mut DescriptorSetLayoutSupport
)
pub unsafe fn get_descriptor_set_layout_support( &self, create_info: &DescriptorSetLayoutCreateInfo, out: &mut DescriptorSetLayoutSupport )
source§impl Device
impl Device
Vulkan core 1.0
pub fn fp_v1_0(&self) -> &DeviceFnV1_0
sourcepub unsafe fn destroy_device(
&self,
allocation_callbacks: Option<&AllocationCallbacks>
)
pub unsafe fn destroy_device( &self, allocation_callbacks: Option<&AllocationCallbacks> )
sourcepub unsafe fn destroy_sampler(
&self,
sampler: Sampler,
allocation_callbacks: Option<&AllocationCallbacks>
)
pub unsafe fn destroy_sampler( &self, sampler: Sampler, allocation_callbacks: Option<&AllocationCallbacks> )
sourcepub unsafe fn free_memory(
&self,
memory: DeviceMemory,
allocation_callbacks: Option<&AllocationCallbacks>
)
pub unsafe fn free_memory( &self, memory: DeviceMemory, allocation_callbacks: Option<&AllocationCallbacks> )
sourcepub unsafe fn free_command_buffers(
&self,
command_pool: CommandPool,
command_buffers: &[CommandBuffer]
)
pub unsafe fn free_command_buffers( &self, command_pool: CommandPool, command_buffers: &[CommandBuffer] )
sourcepub unsafe fn create_event(
&self,
create_info: &EventCreateInfo,
allocation_callbacks: Option<&AllocationCallbacks>
) -> VkResult<Event>
pub unsafe fn create_event( &self, create_info: &EventCreateInfo, allocation_callbacks: Option<&AllocationCallbacks> ) -> VkResult<Event>
sourcepub unsafe fn get_event_status(&self, event: Event) -> VkResult<bool>
pub unsafe fn get_event_status(&self, event: Event) -> VkResult<bool>
Returns true
if the event was set, and false
if the event was reset, otherwise it will
return the error code.
https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkGetEventStatus.html