pub struct Device { /* private fields */ }
Implementations§
Source§impl Device
impl Device
pub unsafe fn load(instance: &Instance, device: Device) -> Result<Self, Error>
pub fn handle(&self) -> Device
pub fn fns(&self) -> &DeviceFunctions
Sourcepub unsafe fn destroy_device(&self)
pub unsafe fn destroy_device(&self)
Chapter: Devices and Queues
Description: Destroy a logical device
Provided by: VK_VERSION_1_0
Reference: vkDestroyDevice
Sourcepub unsafe fn get_device_queue2(
&self,
p_queue_info: *const DeviceQueueInfo2,
) -> Queue
pub unsafe fn get_device_queue2( &self, p_queue_info: *const DeviceQueueInfo2, ) -> Queue
Chapter: Devices and Queues
Description: Get a queue handle from a device
Provided by: VK_VERSION_1_1
Reference: vkGetDeviceQueue2
Sourcepub unsafe fn create_command_pool(
&self,
p_create_info: *const CommandPoolCreateInfo,
) -> Result<CommandPool, Error>
pub unsafe fn create_command_pool( &self, p_create_info: *const CommandPoolCreateInfo, ) -> Result<CommandPool, Error>
Chapter: Command Buffers
Description: Create a new command pool object
Provided by: VK_VERSION_1_0
Reference: vkCreateCommandPool
Sourcepub unsafe fn reset_command_pool(
&self,
command_pool: CommandPool,
flags: CommandPoolResetFlags,
) -> Result<(), Error>
pub unsafe fn reset_command_pool( &self, command_pool: CommandPool, flags: CommandPoolResetFlags, ) -> Result<(), Error>
Chapter: Command Buffers
Description: Reset a command pool
Provided by: VK_VERSION_1_0
Reference: vkResetCommandPool
Sourcepub unsafe fn destroy_command_pool(&self, command_pool: CommandPool)
pub unsafe fn destroy_command_pool(&self, command_pool: CommandPool)
Chapter: Command Buffers
Description: Destroy a command pool object
Provided by: VK_VERSION_1_0
Reference: vkDestroyCommandPool
Sourcepub unsafe fn allocate_command_buffers(
&self,
p_allocate_info: *const CommandBufferAllocateInfo,
p_command_buffers: *mut CommandBuffer,
) -> Result<(), Error>
pub unsafe fn allocate_command_buffers( &self, p_allocate_info: *const CommandBufferAllocateInfo, p_command_buffers: *mut CommandBuffer, ) -> Result<(), Error>
Chapter: Command Buffers
Description: Allocate command buffers from an existing command pool
Provided by: VK_VERSION_1_0
Reference: vkAllocateCommandBuffers
Sourcepub unsafe fn reset_command_buffer(
&self,
command_buffer: CommandBuffer,
flags: CommandBufferResetFlags,
) -> Result<(), Error>
pub unsafe fn reset_command_buffer( &self, command_buffer: CommandBuffer, flags: CommandBufferResetFlags, ) -> Result<(), Error>
Chapter: Command Buffers
Description: Reset a command buffer to the initial state
Provided by: VK_VERSION_1_0
Reference: vkResetCommandBuffer
Sourcepub unsafe fn free_command_buffers(
&self,
command_pool: CommandPool,
command_buffer_count: u32,
p_command_buffers: *const CommandBuffer,
)
pub unsafe fn free_command_buffers( &self, command_pool: CommandPool, command_buffer_count: u32, p_command_buffers: *const CommandBuffer, )
Chapter: Command Buffers
Description: Free command buffers
Provided by: VK_VERSION_1_0
Reference: vkFreeCommandBuffers
Sourcepub unsafe fn begin_command_buffer(
&self,
command_buffer: CommandBuffer,
p_begin_info: *const CommandBufferBeginInfo,
) -> Result<(), Error>
pub unsafe fn begin_command_buffer( &self, command_buffer: CommandBuffer, p_begin_info: *const CommandBufferBeginInfo, ) -> Result<(), Error>
Chapter: Command Buffers
Description: Start recording a command buffer
Provided by: VK_VERSION_1_0
Reference: vkBeginCommandBuffer
Sourcepub unsafe fn end_command_buffer(
&self,
command_buffer: CommandBuffer,
) -> Result<(), Error>
pub unsafe fn end_command_buffer( &self, command_buffer: CommandBuffer, ) -> Result<(), Error>
Chapter: Command Buffers
Description: Finish recording a command buffer
Provided by: VK_VERSION_1_0
Reference: vkEndCommandBuffer
Sourcepub unsafe fn queue_submit2(
&self,
queue: Queue,
submit_count: u32,
p_submits: *const SubmitInfo2,
fence: Fence,
) -> Result<(), Error>
pub unsafe fn queue_submit2( &self, queue: Queue, submit_count: u32, p_submits: *const SubmitInfo2, fence: Fence, ) -> Result<(), Error>
Chapter: Command Buffers
Description: Submits command buffers to a queue
Provided by: VK_VERSION_1_3
Reference: vkQueueSubmit2
Sourcepub unsafe fn create_semaphore(
&self,
p_create_info: *const SemaphoreCreateInfo,
) -> Result<Semaphore, Error>
pub unsafe fn create_semaphore( &self, p_create_info: *const SemaphoreCreateInfo, ) -> Result<Semaphore, Error>
Chapter: Synchronization and Cache Control
Description: Create a new queue semaphore object
Provided by: VK_VERSION_1_0
Reference: vkCreateSemaphore
Sourcepub unsafe fn destroy_semaphore(&self, semaphore: Semaphore)
pub unsafe fn destroy_semaphore(&self, semaphore: Semaphore)
Chapter: Synchronization and Cache Control
Description: Destroy a semaphore object
Provided by: VK_VERSION_1_0
Reference: vkDestroySemaphore
Sourcepub unsafe fn get_semaphore_counter_value(
&self,
semaphore: Semaphore,
) -> Result<u64, Error>
pub unsafe fn get_semaphore_counter_value( &self, semaphore: Semaphore, ) -> Result<u64, Error>
Chapter: Synchronization and Cache Control
Description: Query the current state of a timeline semaphore
Provided by: VK_VERSION_1_2
Reference: vkGetSemaphoreCounterValue
Sourcepub unsafe fn wait_semaphores(
&self,
p_wait_info: *const SemaphoreWaitInfo,
timeout: u64,
) -> Result<(), Error>
pub unsafe fn wait_semaphores( &self, p_wait_info: *const SemaphoreWaitInfo, timeout: u64, ) -> Result<(), Error>
Chapter: Synchronization and Cache Control
Description: Wait for timeline semaphores on the host
Provided by: VK_VERSION_1_2
Reference: vkWaitSemaphores
Sourcepub unsafe fn signal_semaphore(
&self,
p_signal_info: *const SemaphoreSignalInfo,
) -> Result<(), Error>
pub unsafe fn signal_semaphore( &self, p_signal_info: *const SemaphoreSignalInfo, ) -> Result<(), Error>
Chapter: Synchronization and Cache Control
Description: Signal a timeline semaphore on the host
Provided by: VK_VERSION_1_2
Reference: vkSignalSemaphore
Sourcepub unsafe fn cmd_pipeline_barrier2(
&self,
command_buffer: CommandBuffer,
p_dependency_info: *const DependencyInfo,
)
pub unsafe fn cmd_pipeline_barrier2( &self, command_buffer: CommandBuffer, p_dependency_info: *const DependencyInfo, )
Chapter: Synchronization and Cache Control
Description: Insert a memory dependency
Provided by: VK_VERSION_1_3
Reference: vkCmdPipelineBarrier2
Sourcepub unsafe fn queue_wait_idle(&self, queue: Queue) -> Result<(), Error>
pub unsafe fn queue_wait_idle(&self, queue: Queue) -> Result<(), Error>
Chapter: Synchronization and Cache Control
Description: Wait for a queue to become idle
Provided by: VK_VERSION_1_0
Reference: vkQueueWaitIdle
Sourcepub unsafe fn device_wait_idle(&self) -> Result<(), Error>
pub unsafe fn device_wait_idle(&self) -> Result<(), Error>
Chapter: Synchronization and Cache Control
Description: Wait for a device to become idle
Provided by: VK_VERSION_1_0
Reference: vkDeviceWaitIdle
Sourcepub unsafe fn get_calibrated_timestamps_ext(
&self,
timestamp_count: u32,
p_timestamp_infos: *const CalibratedTimestampInfoEXT,
p_timestamps: *mut u64,
p_max_deviation: *mut u64,
) -> Result<(), Error>
pub unsafe fn get_calibrated_timestamps_ext( &self, timestamp_count: u32, p_timestamp_infos: *const CalibratedTimestampInfoEXT, p_timestamps: *mut u64, p_max_deviation: *mut u64, ) -> Result<(), Error>
Chapter: Synchronization and Cache Control
Description: Query calibrated timestamps
Provided by: VK_EXT_calibrated_timestamps
Reference: vkGetCalibratedTimestampsEXT
Sourcepub unsafe fn cmd_begin_rendering(
&self,
command_buffer: CommandBuffer,
p_rendering_info: *const RenderingInfo,
)
pub unsafe fn cmd_begin_rendering( &self, command_buffer: CommandBuffer, p_rendering_info: *const RenderingInfo, )
Chapter: Render Pass
Description: Begin a dynamic render pass instance
Provided by: VK_VERSION_1_3
Reference: vkCmdBeginRendering
Sourcepub unsafe fn cmd_end_rendering(&self, command_buffer: CommandBuffer)
pub unsafe fn cmd_end_rendering(&self, command_buffer: CommandBuffer)
Chapter: Render Pass
Description: End a dynamic render pass instance
Provided by: VK_VERSION_1_3
Reference: vkCmdEndRendering
Sourcepub unsafe fn create_shaders_ext(
&self,
create_info_count: u32,
p_create_infos: *const ShaderCreateInfoEXT,
p_shaders: *mut ShaderEXT,
) -> Result<(), Error>
pub unsafe fn create_shaders_ext( &self, create_info_count: u32, p_create_infos: *const ShaderCreateInfoEXT, p_shaders: *mut ShaderEXT, ) -> Result<(), Error>
Chapter: Shaders
Description: Create one or more new shaders
Provided by: VK_EXT_shader_object
Reference: vkCreateShadersEXT
Sourcepub unsafe fn cmd_bind_shaders_ext(
&self,
command_buffer: CommandBuffer,
stage_count: u32,
p_stages: *const ShaderStageFlagBits,
p_shaders: *const ShaderEXT,
)
pub unsafe fn cmd_bind_shaders_ext( &self, command_buffer: CommandBuffer, stage_count: u32, p_stages: *const ShaderStageFlagBits, p_shaders: *const ShaderEXT, )
Chapter: Shaders
Description: Bind shader objects to a command buffer
Provided by: VK_EXT_shader_object
Reference: vkCmdBindShadersEXT
Sourcepub unsafe fn destroy_shader_ext(&self, shader: ShaderEXT)
pub unsafe fn destroy_shader_ext(&self, shader: ShaderEXT)
Chapter: Shaders
Description: Destroy a shader object
Provided by: VK_EXT_shader_object
Reference: vkDestroyShaderEXT
Sourcepub unsafe fn create_shader_module(
&self,
p_create_info: *const ShaderModuleCreateInfo,
) -> Result<ShaderModule, Error>
pub unsafe fn create_shader_module( &self, p_create_info: *const ShaderModuleCreateInfo, ) -> Result<ShaderModule, Error>
Chapter: Shaders
Description: Creates a new shader module object
Provided by: VK_VERSION_1_0
Reference: vkCreateShaderModule
Sourcepub unsafe fn destroy_shader_module(&self, shader_module: ShaderModule)
pub unsafe fn destroy_shader_module(&self, shader_module: ShaderModule)
Chapter: Shaders
Description: Destroy a shader module
Provided by: VK_VERSION_1_0
Reference: vkDestroyShaderModule
Sourcepub unsafe fn create_ray_tracing_pipelines_khr(
&self,
deferred_operation: DeferredOperationKHR,
pipeline_cache: PipelineCache,
create_info_count: u32,
p_create_infos: *const RayTracingPipelineCreateInfoKHR,
p_pipelines: *mut Pipeline,
) -> Result<(), Error>
pub unsafe fn create_ray_tracing_pipelines_khr( &self, deferred_operation: DeferredOperationKHR, pipeline_cache: PipelineCache, create_info_count: u32, p_create_infos: *const RayTracingPipelineCreateInfoKHR, p_pipelines: *mut Pipeline, ) -> Result<(), Error>
Chapter: Pipelines
Description: Creates a new ray tracing pipeline object
Provided by: VK_KHR_ray_tracing_pipeline
Reference: vkCreateRayTracingPipelinesKHR
Sourcepub unsafe fn get_ray_tracing_shader_group_handles_khr(
&self,
pipeline: Pipeline,
first_group: u32,
group_count: u32,
data_size: usize,
p_data: *mut c_void,
) -> Result<(), Error>
pub unsafe fn get_ray_tracing_shader_group_handles_khr( &self, pipeline: Pipeline, first_group: u32, group_count: u32, data_size: usize, p_data: *mut c_void, ) -> Result<(), Error>
Chapter: Pipelines
Description: Query ray tracing pipeline shader group handles
Provided by: VK_KHR_ray_tracing_pipeline
Reference: vkGetRayTracingShaderGroupHandlesKHR
Sourcepub unsafe fn destroy_pipeline(&self, pipeline: Pipeline)
pub unsafe fn destroy_pipeline(&self, pipeline: Pipeline)
Chapter: Pipelines
Description: Destroy a pipeline object
Provided by: VK_VERSION_1_0
Reference: vkDestroyPipeline
Sourcepub unsafe fn cmd_bind_pipeline(
&self,
command_buffer: CommandBuffer,
pipeline_bind_point: PipelineBindPoint,
pipeline: Pipeline,
)
pub unsafe fn cmd_bind_pipeline( &self, command_buffer: CommandBuffer, pipeline_bind_point: PipelineBindPoint, pipeline: Pipeline, )
Chapter: Pipelines
Description: Bind a pipeline object to a command buffer
Provided by: VK_VERSION_1_0
Reference: vkCmdBindPipeline
Sourcepub unsafe fn allocate_memory(
&self,
p_allocate_info: *const MemoryAllocateInfo,
) -> Result<DeviceMemory, Error>
pub unsafe fn allocate_memory( &self, p_allocate_info: *const MemoryAllocateInfo, ) -> Result<DeviceMemory, Error>
Chapter: Memory Allocation
Description: Allocate device memory
Provided by: VK_VERSION_1_0
Reference: vkAllocateMemory
Sourcepub unsafe fn free_memory(&self, memory: DeviceMemory)
pub unsafe fn free_memory(&self, memory: DeviceMemory)
Chapter: Memory Allocation
Description: Free device memory
Provided by: VK_VERSION_1_0
Reference: vkFreeMemory
Sourcepub unsafe fn map_memory2_khr(
&self,
p_memory_map_info: *const MemoryMapInfoKHR,
) -> Result<*mut c_void, Error>
pub unsafe fn map_memory2_khr( &self, p_memory_map_info: *const MemoryMapInfoKHR, ) -> Result<*mut c_void, Error>
Chapter: Memory Allocation
Description: Map a memory object into application address space
Provided by: VK_KHR_map_memory2
Reference: vkMapMemory2KHR
Sourcepub unsafe fn unmap_memory2_khr(
&self,
p_memory_unmap_info: *const MemoryUnmapInfoKHR,
) -> Result<(), Error>
pub unsafe fn unmap_memory2_khr( &self, p_memory_unmap_info: *const MemoryUnmapInfoKHR, ) -> Result<(), Error>
Chapter: Memory Allocation
Description: Unmap a previously mapped memory object
Provided by: VK_KHR_map_memory2
Reference: vkUnmapMemory2KHR
Sourcepub unsafe fn create_buffer(
&self,
p_create_info: *const BufferCreateInfo,
) -> Result<Buffer, Error>
pub unsafe fn create_buffer( &self, p_create_info: *const BufferCreateInfo, ) -> Result<Buffer, Error>
Chapter: Resource Creation
Description: Create a new buffer object
Provided by: VK_VERSION_1_0
Reference: vkCreateBuffer
Sourcepub unsafe fn destroy_buffer(&self, buffer: Buffer)
pub unsafe fn destroy_buffer(&self, buffer: Buffer)
Chapter: Resource Creation
Description: Destroy a buffer object
Provided by: VK_VERSION_1_0
Reference: vkDestroyBuffer
Sourcepub unsafe fn create_image(
&self,
p_create_info: *const ImageCreateInfo,
) -> Result<Image, Error>
pub unsafe fn create_image( &self, p_create_info: *const ImageCreateInfo, ) -> Result<Image, Error>
Chapter: Resource Creation
Description: Create a new image object
Provided by: VK_VERSION_1_0
Reference: vkCreateImage
Sourcepub unsafe fn destroy_image(&self, image: Image)
pub unsafe fn destroy_image(&self, image: Image)
Chapter: Resource Creation
Description: Destroy an image object
Provided by: VK_VERSION_1_0
Reference: vkDestroyImage
Sourcepub unsafe fn create_image_view(
&self,
p_create_info: *const ImageViewCreateInfo,
) -> Result<ImageView, Error>
pub unsafe fn create_image_view( &self, p_create_info: *const ImageViewCreateInfo, ) -> Result<ImageView, Error>
Chapter: Resource Creation
Description: Create an image view from an existing image
Provided by: VK_VERSION_1_0
Reference: vkCreateImageView
Sourcepub unsafe fn destroy_image_view(&self, image_view: ImageView)
pub unsafe fn destroy_image_view(&self, image_view: ImageView)
Chapter: Resource Creation
Description: Destroy an image view object
Provided by: VK_VERSION_1_0
Reference: vkDestroyImageView
Sourcepub unsafe fn create_acceleration_structure_khr(
&self,
p_create_info: *const AccelerationStructureCreateInfoKHR,
) -> Result<AccelerationStructureKHR, Error>
pub unsafe fn create_acceleration_structure_khr( &self, p_create_info: *const AccelerationStructureCreateInfoKHR, ) -> Result<AccelerationStructureKHR, Error>
Chapter: Resource Creation
Description: Create a new acceleration structure object
Provided by: VK_KHR_acceleration_structure
Reference: vkCreateAccelerationStructureKHR
Sourcepub unsafe fn get_acceleration_structure_build_sizes_khr(
&self,
build_type: AccelerationStructureBuildTypeKHR,
p_build_info: *const AccelerationStructureBuildGeometryInfoKHR,
p_max_primitive_counts: *const u32,
p_size_info: *mut AccelerationStructureBuildSizesInfoKHR,
)
pub unsafe fn get_acceleration_structure_build_sizes_khr( &self, build_type: AccelerationStructureBuildTypeKHR, p_build_info: *const AccelerationStructureBuildGeometryInfoKHR, p_max_primitive_counts: *const u32, p_size_info: *mut AccelerationStructureBuildSizesInfoKHR, )
Chapter: Resource Creation
Description: Retrieve the required size for an acceleration structure
Provided by: VK_KHR_acceleration_structure
Reference: vkGetAccelerationStructureBuildSizesKHR
Sourcepub unsafe fn destroy_acceleration_structure_khr(
&self,
acceleration_structure: AccelerationStructureKHR,
)
pub unsafe fn destroy_acceleration_structure_khr( &self, acceleration_structure: AccelerationStructureKHR, )
Chapter: Resource Creation
Description: Destroy an acceleration structure object
Provided by: VK_KHR_acceleration_structure
Reference: vkDestroyAccelerationStructureKHR
Sourcepub unsafe fn get_acceleration_structure_device_address_khr(
&self,
p_info: *const AccelerationStructureDeviceAddressInfoKHR,
) -> DeviceAddress
pub unsafe fn get_acceleration_structure_device_address_khr( &self, p_info: *const AccelerationStructureDeviceAddressInfoKHR, ) -> DeviceAddress
Chapter: Resource Creation
Description: Query an address of a acceleration structure
Provided by: VK_KHR_acceleration_structure
Reference: vkGetAccelerationStructureDeviceAddressKHR
Sourcepub unsafe fn get_device_buffer_memory_requirements(
&self,
p_info: *const DeviceBufferMemoryRequirements,
p_memory_requirements: *mut MemoryRequirements2,
)
pub unsafe fn get_device_buffer_memory_requirements( &self, p_info: *const DeviceBufferMemoryRequirements, p_memory_requirements: *mut MemoryRequirements2, )
Chapter: Resource Creation
Description: Returns the memory requirements for specified Vulkan object
Provided by: VK_VERSION_1_3
Reference: vkGetDeviceBufferMemoryRequirements
Sourcepub unsafe fn get_device_image_memory_requirements(
&self,
p_info: *const DeviceImageMemoryRequirements,
p_memory_requirements: *mut MemoryRequirements2,
)
pub unsafe fn get_device_image_memory_requirements( &self, p_info: *const DeviceImageMemoryRequirements, p_memory_requirements: *mut MemoryRequirements2, )
Chapter: Resource Creation
Description: Returns the memory requirements for specified Vulkan object
Provided by: VK_VERSION_1_3
Reference: vkGetDeviceImageMemoryRequirements
Sourcepub unsafe fn bind_buffer_memory2(
&self,
bind_info_count: u32,
p_bind_infos: *const BindBufferMemoryInfo,
) -> Result<(), Error>
pub unsafe fn bind_buffer_memory2( &self, bind_info_count: u32, p_bind_infos: *const BindBufferMemoryInfo, ) -> Result<(), Error>
Chapter: Resource Creation
Description: Bind device memory to buffer objects
Provided by: VK_VERSION_1_1
Reference: vkBindBufferMemory2
Sourcepub unsafe fn bind_image_memory2(
&self,
bind_info_count: u32,
p_bind_infos: *const BindImageMemoryInfo,
) -> Result<(), Error>
pub unsafe fn bind_image_memory2( &self, bind_info_count: u32, p_bind_infos: *const BindImageMemoryInfo, ) -> Result<(), Error>
Chapter: Resource Creation
Description: Bind device memory to image objects
Provided by: VK_VERSION_1_1
Reference: vkBindImageMemory2
Sourcepub unsafe fn create_sampler(
&self,
p_create_info: *const SamplerCreateInfo,
) -> Result<Sampler, Error>
pub unsafe fn create_sampler( &self, p_create_info: *const SamplerCreateInfo, ) -> Result<Sampler, Error>
Chapter: Samplers
Description: Create a new sampler object
Provided by: VK_VERSION_1_0
Reference: vkCreateSampler
Sourcepub unsafe fn destroy_sampler(&self, sampler: Sampler)
pub unsafe fn destroy_sampler(&self, sampler: Sampler)
Chapter: Samplers
Description: Destroy a sampler object
Provided by: VK_VERSION_1_0
Reference: vkDestroySampler
Sourcepub unsafe fn create_descriptor_set_layout(
&self,
p_create_info: *const DescriptorSetLayoutCreateInfo,
) -> Result<DescriptorSetLayout, Error>
pub unsafe fn create_descriptor_set_layout( &self, p_create_info: *const DescriptorSetLayoutCreateInfo, ) -> Result<DescriptorSetLayout, Error>
Chapter: Resource Descriptors
Description: Create a new descriptor set layout
Provided by: VK_VERSION_1_0
Reference: vkCreateDescriptorSetLayout
Sourcepub unsafe fn destroy_descriptor_set_layout(
&self,
descriptor_set_layout: DescriptorSetLayout,
)
pub unsafe fn destroy_descriptor_set_layout( &self, descriptor_set_layout: DescriptorSetLayout, )
Chapter: Resource Descriptors
Description: Destroy a descriptor set layout object
Provided by: VK_VERSION_1_0
Reference: vkDestroyDescriptorSetLayout
Sourcepub unsafe fn create_pipeline_layout(
&self,
p_create_info: *const PipelineLayoutCreateInfo,
) -> Result<PipelineLayout, Error>
pub unsafe fn create_pipeline_layout( &self, p_create_info: *const PipelineLayoutCreateInfo, ) -> Result<PipelineLayout, Error>
Chapter: Resource Descriptors
Description: Creates a new pipeline layout object
Provided by: VK_VERSION_1_0
Reference: vkCreatePipelineLayout
Sourcepub unsafe fn destroy_pipeline_layout(&self, pipeline_layout: PipelineLayout)
pub unsafe fn destroy_pipeline_layout(&self, pipeline_layout: PipelineLayout)
Chapter: Resource Descriptors
Description: Destroy a pipeline layout object
Provided by: VK_VERSION_1_0
Reference: vkDestroyPipelineLayout
Sourcepub unsafe fn cmd_push_constants(
&self,
command_buffer: CommandBuffer,
layout: PipelineLayout,
stage_flags: ShaderStageFlags,
offset: u32,
size: u32,
p_values: *const c_void,
)
pub unsafe fn cmd_push_constants( &self, command_buffer: CommandBuffer, layout: PipelineLayout, stage_flags: ShaderStageFlags, offset: u32, size: u32, p_values: *const c_void, )
Chapter: Resource Descriptors
Description: Update the values of push constants
Provided by: VK_VERSION_1_0
Reference: vkCmdPushConstants
Sourcepub unsafe fn get_buffer_device_address(
&self,
p_info: *const BufferDeviceAddressInfo,
) -> DeviceAddress
pub unsafe fn get_buffer_device_address( &self, p_info: *const BufferDeviceAddressInfo, ) -> DeviceAddress
Chapter: Resource Descriptors
Description: Query an address of a buffer
Provided by: VK_VERSION_1_2
Reference: vkGetBufferDeviceAddress
Sourcepub unsafe fn get_descriptor_set_layout_size_ext(
&self,
layout: DescriptorSetLayout,
) -> DeviceSize
pub unsafe fn get_descriptor_set_layout_size_ext( &self, layout: DescriptorSetLayout, ) -> DeviceSize
Chapter: Resource Descriptors
Description: Get the size of a descriptor set layout in memory
Provided by: VK_EXT_descriptor_buffer
Reference: vkGetDescriptorSetLayoutSizeEXT
Sourcepub unsafe fn get_descriptor_set_layout_binding_offset_ext(
&self,
layout: DescriptorSetLayout,
binding: u32,
) -> DeviceSize
pub unsafe fn get_descriptor_set_layout_binding_offset_ext( &self, layout: DescriptorSetLayout, binding: u32, ) -> DeviceSize
Chapter: Resource Descriptors
Description: Get the offset of a binding within a descriptor set layout
Provided by: VK_EXT_descriptor_buffer
Reference: vkGetDescriptorSetLayoutBindingOffsetEXT
Sourcepub unsafe fn get_descriptor_ext(
&self,
p_descriptor_info: *const DescriptorGetInfoEXT,
data_size: usize,
p_descriptor: *mut c_void,
)
pub unsafe fn get_descriptor_ext( &self, p_descriptor_info: *const DescriptorGetInfoEXT, data_size: usize, p_descriptor: *mut c_void, )
Chapter: Resource Descriptors
Description: To get a descriptor to place in a buffer
Provided by: VK_EXT_descriptor_buffer
Reference: vkGetDescriptorEXT
Sourcepub unsafe fn cmd_bind_descriptor_buffers_ext(
&self,
command_buffer: CommandBuffer,
buffer_count: u32,
p_binding_infos: *const DescriptorBufferBindingInfoEXT,
)
pub unsafe fn cmd_bind_descriptor_buffers_ext( &self, command_buffer: CommandBuffer, buffer_count: u32, p_binding_infos: *const DescriptorBufferBindingInfoEXT, )
Chapter: Resource Descriptors
Description: Binding descriptor buffers to a command buffer
Provided by: VK_EXT_descriptor_buffer
Reference: vkCmdBindDescriptorBuffersEXT
Sourcepub unsafe fn cmd_set_descriptor_buffer_offsets_ext(
&self,
command_buffer: CommandBuffer,
pipeline_bind_point: PipelineBindPoint,
layout: PipelineLayout,
first_set: u32,
set_count: u32,
p_buffer_indices: *const u32,
p_offsets: *const DeviceSize,
)
pub unsafe fn cmd_set_descriptor_buffer_offsets_ext( &self, command_buffer: CommandBuffer, pipeline_bind_point: PipelineBindPoint, layout: PipelineLayout, first_set: u32, set_count: u32, p_buffer_indices: *const u32, p_offsets: *const DeviceSize, )
Chapter: Resource Descriptors
Description: Setting descriptor buffer offsets in a command buffer
Provided by: VK_EXT_descriptor_buffer
Reference: vkCmdSetDescriptorBufferOffsetsEXT
Sourcepub unsafe fn create_query_pool(
&self,
p_create_info: *const QueryPoolCreateInfo,
) -> Result<QueryPool, Error>
pub unsafe fn create_query_pool( &self, p_create_info: *const QueryPoolCreateInfo, ) -> Result<QueryPool, Error>
Chapter: Queries
Description: Create a new query pool object
Provided by: VK_VERSION_1_0
Reference: vkCreateQueryPool
Sourcepub unsafe fn destroy_query_pool(&self, query_pool: QueryPool)
pub unsafe fn destroy_query_pool(&self, query_pool: QueryPool)
Chapter: Queries
Description: Destroy a query pool object
Provided by: VK_VERSION_1_0
Reference: vkDestroyQueryPool
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, )
Chapter: Queries
Description: Reset queries in a query pool
Provided by: VK_VERSION_1_2
Reference: vkResetQueryPool
Sourcepub unsafe fn cmd_begin_query(
&self,
command_buffer: CommandBuffer,
query_pool: QueryPool,
query: u32,
flags: QueryControlFlags,
)
pub unsafe fn cmd_begin_query( &self, command_buffer: CommandBuffer, query_pool: QueryPool, query: u32, flags: QueryControlFlags, )
Chapter: Queries
Description: Begin a query
Provided by: VK_VERSION_1_0
Reference: vkCmdBeginQuery
Sourcepub unsafe fn cmd_end_query(
&self,
command_buffer: CommandBuffer,
query_pool: QueryPool,
query: u32,
)
pub unsafe fn cmd_end_query( &self, command_buffer: CommandBuffer, query_pool: QueryPool, query: u32, )
Chapter: Queries
Description: Ends a query
Provided by: VK_VERSION_1_0
Reference: vkCmdEndQuery
Sourcepub unsafe fn get_query_pool_results(
&self,
query_pool: QueryPool,
first_query: u32,
query_count: u32,
data_size: usize,
p_data: *mut c_void,
stride: DeviceSize,
flags: QueryResultFlags,
) -> Result<(), Error>
pub unsafe fn get_query_pool_results( &self, query_pool: QueryPool, first_query: u32, query_count: u32, data_size: usize, p_data: *mut c_void, stride: DeviceSize, flags: QueryResultFlags, ) -> Result<(), Error>
Chapter: Queries
Description: Copy results of queries in a query pool to a host memory region
Provided by: VK_VERSION_1_0
Reference: vkGetQueryPoolResults
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, )
Chapter: Queries
Description: Write a device timestamp into a query object
Provided by: VK_VERSION_1_3
Reference: vkCmdWriteTimestamp2
Sourcepub unsafe fn cmd_copy_buffer2(
&self,
command_buffer: CommandBuffer,
p_copy_buffer_info: *const CopyBufferInfo2,
)
pub unsafe fn cmd_copy_buffer2( &self, command_buffer: CommandBuffer, p_copy_buffer_info: *const CopyBufferInfo2, )
Chapter: Copy Commands
Description: Copy data between buffer regions
Provided by: VK_VERSION_1_3
Reference: vkCmdCopyBuffer2
Sourcepub unsafe fn cmd_copy_image2(
&self,
command_buffer: CommandBuffer,
p_copy_image_info: *const CopyImageInfo2,
)
pub unsafe fn cmd_copy_image2( &self, command_buffer: CommandBuffer, p_copy_image_info: *const CopyImageInfo2, )
Chapter: Copy Commands
Description: Copy data between images
Provided by: VK_VERSION_1_3
Reference: vkCmdCopyImage2
Sourcepub unsafe fn cmd_copy_buffer_to_image2(
&self,
command_buffer: CommandBuffer,
p_copy_buffer_to_image_info: *const CopyBufferToImageInfo2,
)
pub unsafe fn cmd_copy_buffer_to_image2( &self, command_buffer: CommandBuffer, p_copy_buffer_to_image_info: *const CopyBufferToImageInfo2, )
Chapter: Copy Commands
Description: Copy data from a buffer into an image
Provided by: VK_VERSION_1_3
Reference: vkCmdCopyBufferToImage2
Sourcepub unsafe fn cmd_copy_image_to_buffer2(
&self,
command_buffer: CommandBuffer,
p_copy_image_to_buffer_info: *const CopyImageToBufferInfo2,
)
pub unsafe fn cmd_copy_image_to_buffer2( &self, command_buffer: CommandBuffer, p_copy_image_to_buffer_info: *const CopyImageToBufferInfo2, )
Chapter: Copy Commands
Description: Copy image data into a buffer
Provided by: VK_VERSION_1_3
Reference: vkCmdCopyImageToBuffer2
Sourcepub unsafe fn cmd_draw_mesh_tasks_ext(
&self,
command_buffer: CommandBuffer,
group_count_x: u32,
group_count_y: u32,
group_count_z: u32,
)
pub unsafe fn cmd_draw_mesh_tasks_ext( &self, command_buffer: CommandBuffer, group_count_x: u32, group_count_y: u32, group_count_z: u32, )
Chapter: Drawing Commands
Description: Draw mesh task work items
Provided by: VK_EXT_mesh_shader
Reference: vkCmdDrawMeshTasksEXT
Sourcepub unsafe fn cmd_draw_mesh_tasks_indirect_ext(
&self,
command_buffer: CommandBuffer,
buffer: Buffer,
offset: DeviceSize,
draw_count: u32,
stride: u32,
)
pub unsafe fn cmd_draw_mesh_tasks_indirect_ext( &self, command_buffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, draw_count: u32, stride: u32, )
Chapter: Drawing Commands
Description: Issue an indirect mesh tasks draw into a command buffer
Provided by: VK_EXT_mesh_shader
Reference: vkCmdDrawMeshTasksIndirectEXT
Sourcepub unsafe fn cmd_draw_mesh_tasks_indirect_count_ext(
&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_mesh_tasks_indirect_count_ext( &self, command_buffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, count_buffer: Buffer, count_buffer_offset: DeviceSize, max_draw_count: u32, stride: u32, )
Chapter: Drawing Commands
Description: Perform an indirect mesh tasks draw with the draw count sourced from a buffer
Provided by: VK_EXT_mesh_shader
Reference: vkCmdDrawMeshTasksIndirectCountEXT
Sourcepub unsafe fn cmd_set_viewport_with_count(
&self,
command_buffer: CommandBuffer,
viewport_count: u32,
p_viewports: *const Viewport,
)
pub unsafe fn cmd_set_viewport_with_count( &self, command_buffer: CommandBuffer, viewport_count: u32, p_viewports: *const Viewport, )
Chapter: Fixed-Function Vertex Post-Processing
Description: Set the viewport count and viewports dynamically for a command buffer
Provided by: VK_VERSION_1_3
Reference: vkCmdSetViewportWithCount
Sourcepub unsafe fn cmd_set_scissor_with_count(
&self,
command_buffer: CommandBuffer,
scissor_count: u32,
p_scissors: *const Rect2D,
)
pub unsafe fn cmd_set_scissor_with_count( &self, command_buffer: CommandBuffer, scissor_count: u32, p_scissors: *const Rect2D, )
Chapter: Fixed-Function Vertex Post-Processing
Description: Set the scissor count and scissor rectangular bounds dynamically for a command buffer
Provided by: VK_VERSION_1_3
Reference: vkCmdSetScissorWithCount
Sourcepub unsafe fn cmd_set_rasterization_samples_ext(
&self,
command_buffer: CommandBuffer,
rasterization_samples: SampleCountFlagBits,
)
pub unsafe fn cmd_set_rasterization_samples_ext( &self, command_buffer: CommandBuffer, rasterization_samples: SampleCountFlagBits, )
Chapter: Rasterization
Description: Specify the rasterization samples dynamically for a command buffer
Provided by: VK_EXT_extended_dynamic_state3
Reference: vkCmdSetRasterizationSamplesEXT
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, )
Chapter: Rasterization
Description: Set front face orientation dynamically for a command buffer
Provided by: VK_VERSION_1_3
Reference: vkCmdSetFrontFace
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, )
Chapter: Rasterization
Description: Set cull mode dynamically for a command buffer
Provided by: VK_VERSION_1_3
Reference: vkCmdSetCullMode
Sourcepub unsafe fn cmd_set_depth_test_enable(
&self,
command_buffer: CommandBuffer,
depth_test_enable: Bool32,
)
pub unsafe fn cmd_set_depth_test_enable( &self, command_buffer: CommandBuffer, depth_test_enable: Bool32, )
Chapter: Fragment Operations
Description: Set depth test enable dynamically for a command buffer
Provided by: VK_VERSION_1_3
Reference: vkCmdSetDepthTestEnable
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, )
Chapter: Fragment Operations
Description: Set depth comparison operator dynamically for a command buffer
Provided by: VK_VERSION_1_3
Reference: vkCmdSetDepthCompareOp
Sourcepub unsafe fn cmd_set_depth_write_enable(
&self,
command_buffer: CommandBuffer,
depth_write_enable: Bool32,
)
pub unsafe fn cmd_set_depth_write_enable( &self, command_buffer: CommandBuffer, depth_write_enable: Bool32, )
Chapter: Fragment Operations
Description: Set depth write enable dynamically for a command buffer
Provided by: VK_VERSION_1_3
Reference: vkCmdSetDepthWriteEnable
Sourcepub unsafe fn cmd_set_color_blend_enable_ext(
&self,
command_buffer: CommandBuffer,
first_attachment: u32,
attachment_count: u32,
p_color_blend_enables: *const Bool32,
)
pub unsafe fn cmd_set_color_blend_enable_ext( &self, command_buffer: CommandBuffer, first_attachment: u32, attachment_count: u32, p_color_blend_enables: *const Bool32, )
Chapter: The Framebuffer
Description: Specify the pname:blendEnable for each attachment dynamically for a command buffer
Provided by: VK_EXT_extended_dynamic_state3
Reference: vkCmdSetColorBlendEnableEXT
Sourcepub unsafe fn cmd_set_color_blend_equation_ext(
&self,
command_buffer: CommandBuffer,
first_attachment: u32,
attachment_count: u32,
p_color_blend_equations: *const ColorBlendEquationEXT,
)
pub unsafe fn cmd_set_color_blend_equation_ext( &self, command_buffer: CommandBuffer, first_attachment: u32, attachment_count: u32, p_color_blend_equations: *const ColorBlendEquationEXT, )
Chapter: The Framebuffer
Description: Specify the blend factors and operations dynamically for a command buffer
Provided by: VK_EXT_extended_dynamic_state3
Reference: vkCmdSetColorBlendEquationEXT
Sourcepub unsafe fn cmd_set_color_write_mask_ext(
&self,
command_buffer: CommandBuffer,
first_attachment: u32,
attachment_count: u32,
p_color_write_masks: *const ColorComponentFlags,
)
pub unsafe fn cmd_set_color_write_mask_ext( &self, command_buffer: CommandBuffer, first_attachment: u32, attachment_count: u32, p_color_write_masks: *const ColorComponentFlags, )
Chapter: The Framebuffer
Description: Specify the color write masks for each attachment dynamically for a command buffer
Provided by: VK_EXT_extended_dynamic_state3
Reference: vkCmdSetColorWriteMaskEXT
Sourcepub unsafe fn cmd_dispatch(
&self,
command_buffer: CommandBuffer,
group_count_x: u32,
group_count_y: u32,
group_count_z: u32,
)
pub unsafe fn cmd_dispatch( &self, command_buffer: CommandBuffer, group_count_x: u32, group_count_y: u32, group_count_z: u32, )
Chapter: Dispatching Commands
Description: Dispatch compute work items
Provided by: VK_VERSION_1_0
Reference: vkCmdDispatch
Sourcepub unsafe fn cmd_dispatch_indirect(
&self,
command_buffer: CommandBuffer,
buffer: Buffer,
offset: DeviceSize,
)
pub unsafe fn cmd_dispatch_indirect( &self, command_buffer: CommandBuffer, buffer: Buffer, offset: DeviceSize, )
Chapter: Dispatching Commands
Description: Dispatch compute work items with indirect parameters
Provided by: VK_VERSION_1_0
Reference: vkCmdDispatchIndirect
Sourcepub unsafe fn create_swapchain_khr(
&self,
p_create_info: *const SwapchainCreateInfoKHR,
) -> Result<SwapchainKHR, Error>
pub unsafe fn create_swapchain_khr( &self, p_create_info: *const SwapchainCreateInfoKHR, ) -> Result<SwapchainKHR, Error>
Chapter: Window System Integration (WSI)
Description: Create a swapchain
Provided by: VK_KHR_swapchain
Reference: vkCreateSwapchainKHR
Sourcepub unsafe fn destroy_swapchain_khr(&self, swapchain: SwapchainKHR)
pub unsafe fn destroy_swapchain_khr(&self, swapchain: SwapchainKHR)
Chapter: Window System Integration (WSI)
Description: Destroy a swapchain object
Provided by: VK_KHR_swapchain
Reference: vkDestroySwapchainKHR
Sourcepub unsafe fn get_swapchain_images_khr(
&self,
swapchain: SwapchainKHR,
p_swapchain_image_count: *mut u32,
p_swapchain_images: *mut Image,
) -> Result<(), Error>
pub unsafe fn get_swapchain_images_khr( &self, swapchain: SwapchainKHR, p_swapchain_image_count: *mut u32, p_swapchain_images: *mut Image, ) -> Result<(), Error>
Chapter: Window System Integration (WSI)
Description: Obtain the array of presentable images associated with a swapchain
Provided by: VK_KHR_swapchain
Reference: vkGetSwapchainImagesKHR
Sourcepub unsafe fn acquire_next_image2_khr(
&self,
p_acquire_info: *const AcquireNextImageInfoKHR,
) -> Result<u32, Error>
pub unsafe fn acquire_next_image2_khr( &self, p_acquire_info: *const AcquireNextImageInfoKHR, ) -> Result<u32, Error>
Chapter: Window System Integration (WSI)
Description: Retrieve the index of the next available presentable image
Provided by: VK_KHR_swapchain
Reference: vkAcquireNextImage2KHR
Sourcepub unsafe fn queue_present_khr(
&self,
queue: Queue,
p_present_info: *const PresentInfoKHR,
) -> Result<(), Error>
pub unsafe fn queue_present_khr( &self, queue: Queue, p_present_info: *const PresentInfoKHR, ) -> Result<(), Error>
Chapter: Window System Integration (WSI)
Description: Queue an image for presentation
Provided by: VK_KHR_swapchain
Reference: vkQueuePresentKHR
Sourcepub unsafe fn cmd_build_acceleration_structures_khr(
&self,
command_buffer: CommandBuffer,
info_count: u32,
p_infos: *const AccelerationStructureBuildGeometryInfoKHR,
pp_build_range_infos: *const *const AccelerationStructureBuildRangeInfoKHR,
)
pub unsafe fn cmd_build_acceleration_structures_khr( &self, command_buffer: CommandBuffer, info_count: u32, p_infos: *const AccelerationStructureBuildGeometryInfoKHR, pp_build_range_infos: *const *const AccelerationStructureBuildRangeInfoKHR, )
Chapter: Acceleration Structures
Description: Build an acceleration structure
Provided by: VK_KHR_acceleration_structure
Reference: vkCmdBuildAccelerationStructuresKHR
Sourcepub unsafe fn cmd_trace_rays_khr(
&self,
command_buffer: CommandBuffer,
p_raygen_shader_binding_table: *const StridedDeviceAddressRegionKHR,
p_miss_shader_binding_table: *const StridedDeviceAddressRegionKHR,
p_hit_shader_binding_table: *const StridedDeviceAddressRegionKHR,
p_callable_shader_binding_table: *const StridedDeviceAddressRegionKHR,
width: u32,
height: u32,
depth: u32,
)
pub unsafe fn cmd_trace_rays_khr( &self, command_buffer: CommandBuffer, p_raygen_shader_binding_table: *const StridedDeviceAddressRegionKHR, p_miss_shader_binding_table: *const StridedDeviceAddressRegionKHR, p_hit_shader_binding_table: *const StridedDeviceAddressRegionKHR, p_callable_shader_binding_table: *const StridedDeviceAddressRegionKHR, width: u32, height: u32, depth: u32, )
Chapter: Ray Tracing
Description: Initialize a ray tracing dispatch
Provided by: VK_KHR_ray_tracing_pipeline
Reference: vkCmdTraceRaysKHR
Sourcepub unsafe fn cmd_trace_rays_indirect2_khr(
&self,
command_buffer: CommandBuffer,
indirect_device_address: DeviceAddress,
)
pub unsafe fn cmd_trace_rays_indirect2_khr( &self, command_buffer: CommandBuffer, indirect_device_address: DeviceAddress, )
Chapter: Ray Tracing
Description: Initialize an indirect ray tracing dispatch with indirect shader binding tables
Provided by: VK_KHR_ray_tracing_maintenance1
Reference: vkCmdTraceRaysIndirect2KHR