Struct Device

Source
pub struct Device { /* private fields */ }

Implementations§

Source§

impl Device

Source

pub unsafe fn load(instance: &Instance, device: Device) -> Result<Self, Error>

Source

pub fn handle(&self) -> Device

Source

pub fn fns(&self) -> &DeviceFunctions

Source

pub unsafe fn destroy_device(&self)

Chapter: Devices and Queues
Description: Destroy a logical device
Provided by: VK_VERSION_1_0
Reference: vkDestroyDevice

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

pub unsafe fn destroy_shader_ext(&self, shader: ShaderEXT)

Chapter: Shaders
Description: Destroy a shader object
Provided by: VK_EXT_shader_object
Reference: vkDestroyShaderEXT

Source

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

Source

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

Source

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

Source

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

Source

pub unsafe fn destroy_pipeline(&self, pipeline: Pipeline)

Chapter: Pipelines
Description: Destroy a pipeline object
Provided by: VK_VERSION_1_0
Reference: vkDestroyPipeline

Source

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

Source

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

Source

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

Chapter: Memory Allocation
Description: Free device memory
Provided by: VK_VERSION_1_0
Reference: vkFreeMemory

Source

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

Source

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

Source

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

Source

pub unsafe fn destroy_buffer(&self, buffer: Buffer)

Chapter: Resource Creation
Description: Destroy a buffer object
Provided by: VK_VERSION_1_0
Reference: vkDestroyBuffer

Source

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

Source

pub unsafe fn destroy_image(&self, image: Image)

Chapter: Resource Creation
Description: Destroy an image object
Provided by: VK_VERSION_1_0
Reference: vkDestroyImage

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

pub unsafe fn destroy_sampler(&self, sampler: Sampler)

Chapter: Samplers
Description: Destroy a sampler object
Provided by: VK_VERSION_1_0
Reference: vkDestroySampler

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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

Auto Trait Implementations§

§

impl Freeze for Device

§

impl RefUnwindSafe for Device

§

impl Send for Device

§

impl Sync for Device

§

impl Unpin for Device

§

impl UnwindSafe for Device

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

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

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.
Source§

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

Source§

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

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.