Trait vulkanalia::vk::DeviceV1_0
source · pub trait DeviceV1_0 {
Show 122 methods
// Required methods
fn commands(&self) -> &DeviceCommands;
fn handle(&self) -> Device;
// Provided methods
unsafe fn allocate_command_buffers(
&self,
allocate_info: &CommandBufferAllocateInfo
) -> VkResult<Vec<CommandBuffer>> { ... }
unsafe fn allocate_descriptor_sets(
&self,
allocate_info: &DescriptorSetAllocateInfo
) -> VkResult<Vec<DescriptorSet>> { ... }
unsafe fn allocate_memory(
&self,
allocate_info: &MemoryAllocateInfo,
allocator: Option<&AllocationCallbacks>
) -> VkResult<DeviceMemory> { ... }
unsafe fn begin_command_buffer(
&self,
command_buffer: CommandBuffer,
begin_info: &CommandBufferBeginInfo
) -> VkResult<()> { ... }
unsafe fn bind_buffer_memory(
&self,
buffer: Buffer,
memory: DeviceMemory,
memory_offset: DeviceSize
) -> VkResult<()> { ... }
unsafe fn bind_image_memory(
&self,
image: Image,
memory: DeviceMemory,
memory_offset: DeviceSize
) -> VkResult<()> { ... }
unsafe fn cmd_begin_query(
&self,
command_buffer: CommandBuffer,
query_pool: QueryPool,
query: u32,
flags: QueryControlFlags
) { ... }
unsafe fn cmd_begin_render_pass(
&self,
command_buffer: CommandBuffer,
render_pass_begin: &RenderPassBeginInfo,
contents: SubpassContents
) { ... }
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]
) { ... }
unsafe fn cmd_bind_index_buffer(
&self,
command_buffer: CommandBuffer,
buffer: Buffer,
offset: DeviceSize,
index_type: IndexType
) { ... }
unsafe fn cmd_bind_pipeline(
&self,
command_buffer: CommandBuffer,
pipeline_bind_point: PipelineBindPoint,
pipeline: Pipeline
) { ... }
unsafe fn cmd_bind_vertex_buffers(
&self,
command_buffer: CommandBuffer,
first_binding: u32,
buffers: &[Buffer],
offsets: &[DeviceSize]
) { ... }
unsafe fn cmd_blit_image(
&self,
command_buffer: CommandBuffer,
src_image: Image,
src_image_layout: ImageLayout,
dst_image: Image,
dst_image_layout: ImageLayout,
regions: &[impl Cast<Target = ImageBlit>],
filter: Filter
) { ... }
unsafe fn cmd_clear_attachments(
&self,
command_buffer: CommandBuffer,
attachments: &[impl Cast<Target = ClearAttachment>],
rects: &[impl Cast<Target = ClearRect>]
) { ... }
unsafe fn cmd_clear_color_image(
&self,
command_buffer: CommandBuffer,
image: Image,
image_layout: ImageLayout,
color: &ClearColorValue,
ranges: &[impl Cast<Target = ImageSubresourceRange>]
) { ... }
unsafe fn cmd_clear_depth_stencil_image(
&self,
command_buffer: CommandBuffer,
image: Image,
image_layout: ImageLayout,
depth_stencil: &ClearDepthStencilValue,
ranges: &[impl Cast<Target = ImageSubresourceRange>]
) { ... }
unsafe fn cmd_copy_buffer(
&self,
command_buffer: CommandBuffer,
src_buffer: Buffer,
dst_buffer: Buffer,
regions: &[impl Cast<Target = BufferCopy>]
) { ... }
unsafe fn cmd_copy_buffer_to_image(
&self,
command_buffer: CommandBuffer,
src_buffer: Buffer,
dst_image: Image,
dst_image_layout: ImageLayout,
regions: &[impl Cast<Target = BufferImageCopy>]
) { ... }
unsafe fn cmd_copy_image(
&self,
command_buffer: CommandBuffer,
src_image: Image,
src_image_layout: ImageLayout,
dst_image: Image,
dst_image_layout: ImageLayout,
regions: &[impl Cast<Target = ImageCopy>]
) { ... }
unsafe fn cmd_copy_image_to_buffer(
&self,
command_buffer: CommandBuffer,
src_image: Image,
src_image_layout: ImageLayout,
dst_buffer: Buffer,
regions: &[impl Cast<Target = BufferImageCopy>]
) { ... }
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: DeviceSize,
stride: DeviceSize,
flags: QueryResultFlags
) { ... }
unsafe fn cmd_dispatch(
&self,
command_buffer: CommandBuffer,
group_count_x: u32,
group_count_y: u32,
group_count_z: u32
) { ... }
unsafe fn cmd_dispatch_indirect(
&self,
command_buffer: CommandBuffer,
buffer: Buffer,
offset: DeviceSize
) { ... }
unsafe fn cmd_draw(
&self,
command_buffer: CommandBuffer,
vertex_count: u32,
instance_count: u32,
first_vertex: u32,
first_instance: u32
) { ... }
unsafe fn cmd_draw_indexed(
&self,
command_buffer: CommandBuffer,
index_count: u32,
instance_count: u32,
first_index: u32,
vertex_offset: i32,
first_instance: u32
) { ... }
unsafe fn cmd_draw_indexed_indirect(
&self,
command_buffer: CommandBuffer,
buffer: Buffer,
offset: DeviceSize,
draw_count: u32,
stride: u32
) { ... }
unsafe fn cmd_draw_indirect(
&self,
command_buffer: CommandBuffer,
buffer: Buffer,
offset: DeviceSize,
draw_count: u32,
stride: u32
) { ... }
unsafe fn cmd_end_query(
&self,
command_buffer: CommandBuffer,
query_pool: QueryPool,
query: u32
) { ... }
unsafe fn cmd_end_render_pass(&self, command_buffer: CommandBuffer) { ... }
unsafe fn cmd_execute_commands(
&self,
command_buffer: CommandBuffer,
command_buffers: &[CommandBuffer]
) { ... }
unsafe fn cmd_fill_buffer(
&self,
command_buffer: CommandBuffer,
dst_buffer: Buffer,
dst_offset: DeviceSize,
size: DeviceSize,
data: u32
) { ... }
unsafe fn cmd_next_subpass(
&self,
command_buffer: CommandBuffer,
contents: SubpassContents
) { ... }
unsafe fn cmd_pipeline_barrier(
&self,
command_buffer: CommandBuffer,
src_stage_mask: PipelineStageFlags,
dst_stage_mask: PipelineStageFlags,
dependency_flags: DependencyFlags,
memory_barriers: &[impl Cast<Target = MemoryBarrier>],
buffer_memory_barriers: &[impl Cast<Target = BufferMemoryBarrier>],
image_memory_barriers: &[impl Cast<Target = ImageMemoryBarrier>]
) { ... }
unsafe fn cmd_push_constants(
&self,
command_buffer: CommandBuffer,
layout: PipelineLayout,
stage_flags: ShaderStageFlags,
offset: u32,
values: &[u8]
) { ... }
unsafe fn cmd_reset_event(
&self,
command_buffer: CommandBuffer,
event: Event,
stage_mask: PipelineStageFlags
) { ... }
unsafe fn cmd_reset_query_pool(
&self,
command_buffer: CommandBuffer,
query_pool: QueryPool,
first_query: u32,
query_count: u32
) { ... }
unsafe fn cmd_resolve_image(
&self,
command_buffer: CommandBuffer,
src_image: Image,
src_image_layout: ImageLayout,
dst_image: Image,
dst_image_layout: ImageLayout,
regions: &[impl Cast<Target = ImageResolve>]
) { ... }
unsafe fn cmd_set_blend_constants(
&self,
command_buffer: CommandBuffer,
blend_constants: [f32; 4]
) { ... }
unsafe fn cmd_set_depth_bias(
&self,
command_buffer: CommandBuffer,
depth_bias_constant_factor: f32,
depth_bias_clamp: f32,
depth_bias_slope_factor: f32
) { ... }
unsafe fn cmd_set_depth_bounds(
&self,
command_buffer: CommandBuffer,
min_depth_bounds: f32,
max_depth_bounds: f32
) { ... }
unsafe fn cmd_set_event(
&self,
command_buffer: CommandBuffer,
event: Event,
stage_mask: PipelineStageFlags
) { ... }
unsafe fn cmd_set_line_width(
&self,
command_buffer: CommandBuffer,
line_width: f32
) { ... }
unsafe fn cmd_set_scissor(
&self,
command_buffer: CommandBuffer,
first_scissor: u32,
scissors: &[impl Cast<Target = Rect2D>]
) { ... }
unsafe fn cmd_set_stencil_compare_mask(
&self,
command_buffer: CommandBuffer,
face_mask: StencilFaceFlags,
compare_mask: u32
) { ... }
unsafe fn cmd_set_stencil_reference(
&self,
command_buffer: CommandBuffer,
face_mask: StencilFaceFlags,
reference: u32
) { ... }
unsafe fn cmd_set_stencil_write_mask(
&self,
command_buffer: CommandBuffer,
face_mask: StencilFaceFlags,
write_mask: u32
) { ... }
unsafe fn cmd_set_viewport(
&self,
command_buffer: CommandBuffer,
first_viewport: u32,
viewports: &[impl Cast<Target = Viewport>]
) { ... }
unsafe fn cmd_update_buffer(
&self,
command_buffer: CommandBuffer,
dst_buffer: Buffer,
dst_offset: DeviceSize,
data: &[u8]
) { ... }
unsafe fn cmd_wait_events(
&self,
command_buffer: CommandBuffer,
events: &[Event],
src_stage_mask: PipelineStageFlags,
dst_stage_mask: PipelineStageFlags,
memory_barriers: &[impl Cast<Target = MemoryBarrier>],
buffer_memory_barriers: &[impl Cast<Target = BufferMemoryBarrier>],
image_memory_barriers: &[impl Cast<Target = ImageMemoryBarrier>]
) { ... }
unsafe fn cmd_write_timestamp(
&self,
command_buffer: CommandBuffer,
pipeline_stage: PipelineStageFlags,
query_pool: QueryPool,
query: u32
) { ... }
unsafe fn create_buffer(
&self,
create_info: &BufferCreateInfo,
allocator: Option<&AllocationCallbacks>
) -> VkResult<Buffer> { ... }
unsafe fn create_buffer_view(
&self,
create_info: &BufferViewCreateInfo,
allocator: Option<&AllocationCallbacks>
) -> VkResult<BufferView> { ... }
unsafe fn create_command_pool(
&self,
create_info: &CommandPoolCreateInfo,
allocator: Option<&AllocationCallbacks>
) -> VkResult<CommandPool> { ... }
unsafe fn create_compute_pipelines(
&self,
pipeline_cache: PipelineCache,
create_infos: &[impl Cast<Target = ComputePipelineCreateInfo>],
allocator: Option<&AllocationCallbacks>
) -> VkSuccessResult<Vec<Pipeline>> { ... }
unsafe fn create_descriptor_pool(
&self,
create_info: &DescriptorPoolCreateInfo,
allocator: Option<&AllocationCallbacks>
) -> VkResult<DescriptorPool> { ... }
unsafe fn create_descriptor_set_layout(
&self,
create_info: &DescriptorSetLayoutCreateInfo,
allocator: Option<&AllocationCallbacks>
) -> VkResult<DescriptorSetLayout> { ... }
unsafe fn create_event(
&self,
create_info: &EventCreateInfo,
allocator: Option<&AllocationCallbacks>
) -> VkResult<Event> { ... }
unsafe fn create_fence(
&self,
create_info: &FenceCreateInfo,
allocator: Option<&AllocationCallbacks>
) -> VkResult<Fence> { ... }
unsafe fn create_framebuffer(
&self,
create_info: &FramebufferCreateInfo,
allocator: Option<&AllocationCallbacks>
) -> VkResult<Framebuffer> { ... }
unsafe fn create_graphics_pipelines(
&self,
pipeline_cache: PipelineCache,
create_infos: &[impl Cast<Target = GraphicsPipelineCreateInfo>],
allocator: Option<&AllocationCallbacks>
) -> VkSuccessResult<Vec<Pipeline>> { ... }
unsafe fn create_image(
&self,
create_info: &ImageCreateInfo,
allocator: Option<&AllocationCallbacks>
) -> VkResult<Image> { ... }
unsafe fn create_image_view(
&self,
create_info: &ImageViewCreateInfo,
allocator: Option<&AllocationCallbacks>
) -> VkResult<ImageView> { ... }
unsafe fn create_pipeline_cache(
&self,
create_info: &PipelineCacheCreateInfo,
allocator: Option<&AllocationCallbacks>
) -> VkResult<PipelineCache> { ... }
unsafe fn create_pipeline_layout(
&self,
create_info: &PipelineLayoutCreateInfo,
allocator: Option<&AllocationCallbacks>
) -> VkResult<PipelineLayout> { ... }
unsafe fn create_query_pool(
&self,
create_info: &QueryPoolCreateInfo,
allocator: Option<&AllocationCallbacks>
) -> VkResult<QueryPool> { ... }
unsafe fn create_render_pass(
&self,
create_info: &RenderPassCreateInfo,
allocator: Option<&AllocationCallbacks>
) -> VkResult<RenderPass> { ... }
unsafe fn create_sampler(
&self,
create_info: &SamplerCreateInfo,
allocator: Option<&AllocationCallbacks>
) -> VkResult<Sampler> { ... }
unsafe fn create_semaphore(
&self,
create_info: &SemaphoreCreateInfo,
allocator: Option<&AllocationCallbacks>
) -> VkResult<Semaphore> { ... }
unsafe fn create_shader_module(
&self,
create_info: &ShaderModuleCreateInfo,
allocator: Option<&AllocationCallbacks>
) -> VkResult<ShaderModule> { ... }
unsafe fn destroy_buffer(
&self,
buffer: Buffer,
allocator: Option<&AllocationCallbacks>
) { ... }
unsafe fn destroy_buffer_view(
&self,
buffer_view: BufferView,
allocator: Option<&AllocationCallbacks>
) { ... }
unsafe fn destroy_command_pool(
&self,
command_pool: CommandPool,
allocator: Option<&AllocationCallbacks>
) { ... }
unsafe fn destroy_descriptor_pool(
&self,
descriptor_pool: DescriptorPool,
allocator: Option<&AllocationCallbacks>
) { ... }
unsafe fn destroy_descriptor_set_layout(
&self,
descriptor_set_layout: DescriptorSetLayout,
allocator: Option<&AllocationCallbacks>
) { ... }
unsafe fn destroy_device(&self, allocator: Option<&AllocationCallbacks>) { ... }
unsafe fn destroy_event(
&self,
event: Event,
allocator: Option<&AllocationCallbacks>
) { ... }
unsafe fn destroy_fence(
&self,
fence: Fence,
allocator: Option<&AllocationCallbacks>
) { ... }
unsafe fn destroy_framebuffer(
&self,
framebuffer: Framebuffer,
allocator: Option<&AllocationCallbacks>
) { ... }
unsafe fn destroy_image(
&self,
image: Image,
allocator: Option<&AllocationCallbacks>
) { ... }
unsafe fn destroy_image_view(
&self,
image_view: ImageView,
allocator: Option<&AllocationCallbacks>
) { ... }
unsafe fn destroy_pipeline(
&self,
pipeline: Pipeline,
allocator: Option<&AllocationCallbacks>
) { ... }
unsafe fn destroy_pipeline_cache(
&self,
pipeline_cache: PipelineCache,
allocator: Option<&AllocationCallbacks>
) { ... }
unsafe fn destroy_pipeline_layout(
&self,
pipeline_layout: PipelineLayout,
allocator: Option<&AllocationCallbacks>
) { ... }
unsafe fn destroy_query_pool(
&self,
query_pool: QueryPool,
allocator: Option<&AllocationCallbacks>
) { ... }
unsafe fn destroy_render_pass(
&self,
render_pass: RenderPass,
allocator: Option<&AllocationCallbacks>
) { ... }
unsafe fn destroy_sampler(
&self,
sampler: Sampler,
allocator: Option<&AllocationCallbacks>
) { ... }
unsafe fn destroy_semaphore(
&self,
semaphore: Semaphore,
allocator: Option<&AllocationCallbacks>
) { ... }
unsafe fn destroy_shader_module(
&self,
shader_module: ShaderModule,
allocator: Option<&AllocationCallbacks>
) { ... }
unsafe fn device_wait_idle(&self) -> VkResult<()> { ... }
unsafe fn end_command_buffer(
&self,
command_buffer: CommandBuffer
) -> VkResult<()> { ... }
unsafe fn flush_mapped_memory_ranges(
&self,
memory_ranges: &[impl Cast<Target = MappedMemoryRange>]
) -> VkResult<()> { ... }
unsafe fn free_command_buffers(
&self,
command_pool: CommandPool,
command_buffers: &[CommandBuffer]
) { ... }
unsafe fn free_descriptor_sets(
&self,
descriptor_pool: DescriptorPool,
descriptor_sets: &[DescriptorSet]
) -> VkResult<()> { ... }
unsafe fn free_memory(
&self,
memory: DeviceMemory,
allocator: Option<&AllocationCallbacks>
) { ... }
unsafe fn get_buffer_memory_requirements(
&self,
buffer: Buffer
) -> MemoryRequirements { ... }
unsafe fn get_device_memory_commitment(
&self,
memory: DeviceMemory
) -> DeviceSize { ... }
unsafe fn get_device_queue(
&self,
queue_family_index: u32,
queue_index: u32
) -> Queue { ... }
unsafe fn get_event_status(&self, event: Event) -> VkResult<SuccessCode> { ... }
unsafe fn get_fence_status(&self, fence: Fence) -> VkResult<SuccessCode> { ... }
unsafe fn get_image_memory_requirements(
&self,
image: Image
) -> MemoryRequirements { ... }
unsafe fn get_image_sparse_memory_requirements(
&self,
image: Image
) -> Vec<SparseImageMemoryRequirements> { ... }
unsafe fn get_image_subresource_layout(
&self,
image: Image,
subresource: &ImageSubresource
) -> SubresourceLayout { ... }
unsafe fn get_pipeline_cache_data(
&self,
pipeline_cache: PipelineCache
) -> VkResult<Vec<u8>> { ... }
unsafe fn get_query_pool_results(
&self,
query_pool: QueryPool,
first_query: u32,
query_count: u32,
data: &mut [u8],
stride: DeviceSize,
flags: QueryResultFlags
) -> VkResult<SuccessCode> { ... }
unsafe fn get_render_area_granularity(
&self,
render_pass: RenderPass
) -> Extent2D { ... }
unsafe fn invalidate_mapped_memory_ranges(
&self,
memory_ranges: &[impl Cast<Target = MappedMemoryRange>]
) -> VkResult<()> { ... }
unsafe fn map_memory(
&self,
memory: DeviceMemory,
offset: DeviceSize,
size: DeviceSize,
flags: MemoryMapFlags
) -> VkResult<*mut c_void> { ... }
unsafe fn merge_pipeline_caches(
&self,
dst_cache: PipelineCache,
src_caches: &[PipelineCache]
) -> VkResult<()> { ... }
unsafe fn queue_bind_sparse(
&self,
queue: Queue,
bind_info: &[impl Cast<Target = BindSparseInfo>],
fence: Fence
) -> VkResult<()> { ... }
unsafe fn queue_submit(
&self,
queue: Queue,
submits: &[impl Cast<Target = SubmitInfo>],
fence: Fence
) -> VkResult<()> { ... }
unsafe fn queue_wait_idle(&self, queue: Queue) -> VkResult<()> { ... }
unsafe fn reset_command_buffer(
&self,
command_buffer: CommandBuffer,
flags: CommandBufferResetFlags
) -> VkResult<()> { ... }
unsafe fn reset_command_pool(
&self,
command_pool: CommandPool,
flags: CommandPoolResetFlags
) -> VkResult<()> { ... }
unsafe fn reset_descriptor_pool(
&self,
descriptor_pool: DescriptorPool,
flags: DescriptorPoolResetFlags
) -> VkResult<()> { ... }
unsafe fn reset_event(&self, event: Event) -> VkResult<()> { ... }
unsafe fn reset_fences(&self, fences: &[Fence]) -> VkResult<()> { ... }
unsafe fn set_event(&self, event: Event) -> VkResult<()> { ... }
unsafe fn unmap_memory(&self, memory: DeviceMemory) { ... }
unsafe fn update_descriptor_sets(
&self,
descriptor_writes: &[impl Cast<Target = WriteDescriptorSet>],
descriptor_copies: &[impl Cast<Target = CopyDescriptorSet>]
) { ... }
unsafe fn wait_for_fences(
&self,
fences: &[Fence],
wait_all: bool,
timeout: u64
) -> VkResult<SuccessCode> { ... }
}
Expand description
Vulkan 1.0 device command wrappers.