[][src]Trait vulkanalia::vk::DeviceV1_0

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

Vulkan 1.0 device command wrappers.

Required methods

fn commands(&self) -> &DeviceCommands

fn handle(&self) -> Device

Loading content...

Provided methods

fn allocate_command_buffers(
    &self,
    allocate_info: &CommandBufferAllocateInfo
) -> VkResult<Vec<CommandBuffer>>

fn allocate_descriptor_sets(
    &self,
    allocate_info: &DescriptorSetAllocateInfo
) -> VkResult<Vec<DescriptorSet>>

fn allocate_memory(
    &self,
    allocate_info: &MemoryAllocateInfo,
    allocator: Option<&AllocationCallbacks>
) -> VkResult<DeviceMemory>

fn begin_command_buffer(
    &self,
    command_buffer: CommandBuffer,
    begin_info: &CommandBufferBeginInfo
) -> VkResult<()>

fn bind_buffer_memory(
    &self,
    buffer: Buffer,
    memory: DeviceMemory,
    memory_offset: DeviceSize
) -> VkResult<()>

fn bind_image_memory(
    &self,
    image: Image,
    memory: DeviceMemory,
    memory_offset: DeviceSize
) -> VkResult<()>

fn cmd_begin_query(
    &self,
    command_buffer: CommandBuffer,
    query_pool: QueryPool,
    query: u32,
    flags: QueryControlFlags
)

fn cmd_begin_render_pass(
    &self,
    command_buffer: CommandBuffer,
    render_pass_begin: &RenderPassBeginInfo,
    contents: SubpassContents
)

fn cmd_bind_descriptor_sets(
    &self,
    command_buffer: CommandBuffer,
    pipeline_bind_point: PipelineBindPoint,
    layout: PipelineLayout,
    first_set: u32,
    descriptor_sets: &[DescriptorSet],
    dynamic_offsets: &[u32]
)

fn cmd_bind_index_buffer(
    &self,
    command_buffer: CommandBuffer,
    buffer: Buffer,
    offset: DeviceSize,
    index_type: IndexType
)

fn cmd_bind_pipeline(
    &self,
    command_buffer: CommandBuffer,
    pipeline_bind_point: PipelineBindPoint,
    pipeline: Pipeline
)

fn cmd_bind_vertex_buffers(
    &self,
    command_buffer: CommandBuffer,
    first_binding: u32,
    buffers: &[Buffer],
    offsets: &[DeviceSize]
)

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
)

fn cmd_clear_attachments(
    &self,
    command_buffer: CommandBuffer,
    attachments: &[impl Cast<Target = ClearAttachment>],
    rects: &[impl Cast<Target = ClearRect>]
)

fn cmd_clear_color_image(
    &self,
    command_buffer: CommandBuffer,
    image: Image,
    image_layout: ImageLayout,
    color: &ClearColorValue,
    ranges: &[impl Cast<Target = ImageSubresourceRange>]
)

fn cmd_clear_depth_stencil_image(
    &self,
    command_buffer: CommandBuffer,
    image: Image,
    image_layout: ImageLayout,
    depth_stencil: &ClearDepthStencilValue,
    ranges: &[impl Cast<Target = ImageSubresourceRange>]
)

fn cmd_copy_buffer(
    &self,
    command_buffer: CommandBuffer,
    src_buffer: Buffer,
    dst_buffer: Buffer,
    regions: &[impl Cast<Target = BufferCopy>]
)

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>]
)

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>]
)

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>]
)

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
)

fn cmd_dispatch(
    &self,
    command_buffer: CommandBuffer,
    group_count_x: u32,
    group_count_y: u32,
    group_count_z: u32
)

fn cmd_dispatch_indirect(
    &self,
    command_buffer: CommandBuffer,
    buffer: Buffer,
    offset: DeviceSize
)

fn cmd_draw(
    &self,
    command_buffer: CommandBuffer,
    vertex_count: u32,
    instance_count: u32,
    first_vertex: u32,
    first_instance: u32
)

fn cmd_draw_indexed(
    &self,
    command_buffer: CommandBuffer,
    index_count: u32,
    instance_count: u32,
    first_index: u32,
    vertex_offset: i32,
    first_instance: u32
)

fn cmd_draw_indexed_indirect(
    &self,
    command_buffer: CommandBuffer,
    buffer: Buffer,
    offset: DeviceSize,
    draw_count: u32,
    stride: u32
)

fn cmd_draw_indirect(
    &self,
    command_buffer: CommandBuffer,
    buffer: Buffer,
    offset: DeviceSize,
    draw_count: u32,
    stride: u32
)

fn cmd_end_query(
    &self,
    command_buffer: CommandBuffer,
    query_pool: QueryPool,
    query: u32
)

fn cmd_end_render_pass(&self, command_buffer: CommandBuffer)

fn cmd_execute_commands(
    &self,
    command_buffer: CommandBuffer,
    command_buffers: &[CommandBuffer]
)

fn cmd_fill_buffer(
    &self,
    command_buffer: CommandBuffer,
    dst_buffer: Buffer,
    dst_offset: DeviceSize,
    size: DeviceSize,
    data: u32
)

fn cmd_next_subpass(
    &self,
    command_buffer: CommandBuffer,
    contents: SubpassContents
)

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>]
)

fn cmd_push_constants(
    &self,
    command_buffer: CommandBuffer,
    layout: PipelineLayout,
    stage_flags: ShaderStageFlags,
    offset: u32,
    values: &[u8]
)

fn cmd_reset_event(
    &self,
    command_buffer: CommandBuffer,
    event: Event,
    stage_mask: PipelineStageFlags
)

fn cmd_reset_query_pool(
    &self,
    command_buffer: CommandBuffer,
    query_pool: QueryPool,
    first_query: u32,
    query_count: u32
)

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>]
)

fn cmd_set_blend_constants(
    &self,
    command_buffer: CommandBuffer,
    blend_constants: [f32; 4]
)

fn cmd_set_depth_bias(
    &self,
    command_buffer: CommandBuffer,
    depth_bias_constant_factor: f32,
    depth_bias_clamp: f32,
    depth_bias_slope_factor: f32
)

fn cmd_set_depth_bounds(
    &self,
    command_buffer: CommandBuffer,
    min_depth_bounds: f32,
    max_depth_bounds: f32
)

fn cmd_set_event(
    &self,
    command_buffer: CommandBuffer,
    event: Event,
    stage_mask: PipelineStageFlags
)

fn cmd_set_line_width(&self, command_buffer: CommandBuffer, line_width: f32)

fn cmd_set_scissor(
    &self,
    command_buffer: CommandBuffer,
    first_scissor: u32,
    scissors: &[impl Cast<Target = Rect2D>]
)

fn cmd_set_stencil_compare_mask(
    &self,
    command_buffer: CommandBuffer,
    face_mask: StencilFaceFlags,
    compare_mask: u32
)

fn cmd_set_stencil_reference(
    &self,
    command_buffer: CommandBuffer,
    face_mask: StencilFaceFlags,
    reference: u32
)

fn cmd_set_stencil_write_mask(
    &self,
    command_buffer: CommandBuffer,
    face_mask: StencilFaceFlags,
    write_mask: u32
)

fn cmd_set_viewport(
    &self,
    command_buffer: CommandBuffer,
    first_viewport: u32,
    viewports: &[impl Cast<Target = Viewport>]
)

fn cmd_update_buffer(
    &self,
    command_buffer: CommandBuffer,
    dst_buffer: Buffer,
    dst_offset: DeviceSize,
    data: &[u8]
)

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>]
)

fn cmd_write_timestamp(
    &self,
    command_buffer: CommandBuffer,
    pipeline_stage: PipelineStageFlags,
    query_pool: QueryPool,
    query: u32
)

fn create_buffer(
    &self,
    create_info: &BufferCreateInfo,
    allocator: Option<&AllocationCallbacks>
) -> VkResult<Buffer>

fn create_buffer_view(
    &self,
    create_info: &BufferViewCreateInfo,
    allocator: Option<&AllocationCallbacks>
) -> VkResult<BufferView>

fn create_command_pool(
    &self,
    create_info: &CommandPoolCreateInfo,
    allocator: Option<&AllocationCallbacks>
) -> VkResult<CommandPool>

fn create_compute_pipelines(
    &self,
    pipeline_cache: PipelineCache,
    create_infos: &[impl Cast<Target = ComputePipelineCreateInfo>],
    allocator: Option<&AllocationCallbacks>
) -> VkSuccessResult<Pipeline>

fn create_descriptor_pool(
    &self,
    create_info: &DescriptorPoolCreateInfo,
    allocator: Option<&AllocationCallbacks>
) -> VkResult<DescriptorPool>

fn create_descriptor_set_layout(
    &self,
    create_info: &DescriptorSetLayoutCreateInfo,
    allocator: Option<&AllocationCallbacks>
) -> VkResult<DescriptorSetLayout>

fn create_event(
    &self,
    create_info: &EventCreateInfo,
    allocator: Option<&AllocationCallbacks>
) -> VkResult<Event>

fn create_fence(
    &self,
    create_info: &FenceCreateInfo,
    allocator: Option<&AllocationCallbacks>
) -> VkResult<Fence>

fn create_framebuffer(
    &self,
    create_info: &FramebufferCreateInfo,
    allocator: Option<&AllocationCallbacks>
) -> VkResult<Framebuffer>

fn create_graphics_pipelines(
    &self,
    pipeline_cache: PipelineCache,
    create_infos: &[impl Cast<Target = GraphicsPipelineCreateInfo>],
    allocator: Option<&AllocationCallbacks>
) -> VkSuccessResult<Pipeline>

fn create_image(
    &self,
    create_info: &ImageCreateInfo,
    allocator: Option<&AllocationCallbacks>
) -> VkResult<Image>

fn create_image_view(
    &self,
    create_info: &ImageViewCreateInfo,
    allocator: Option<&AllocationCallbacks>
) -> VkResult<ImageView>

fn create_pipeline_cache(
    &self,
    create_info: &PipelineCacheCreateInfo,
    allocator: Option<&AllocationCallbacks>
) -> VkResult<PipelineCache>

fn create_pipeline_layout(
    &self,
    create_info: &PipelineLayoutCreateInfo,
    allocator: Option<&AllocationCallbacks>
) -> VkResult<PipelineLayout>

fn create_query_pool(
    &self,
    create_info: &QueryPoolCreateInfo,
    allocator: Option<&AllocationCallbacks>
) -> VkResult<QueryPool>

fn create_render_pass(
    &self,
    create_info: &RenderPassCreateInfo,
    allocator: Option<&AllocationCallbacks>
) -> VkResult<RenderPass>

fn create_sampler(
    &self,
    create_info: &SamplerCreateInfo,
    allocator: Option<&AllocationCallbacks>
) -> VkResult<Sampler>

fn create_semaphore(
    &self,
    create_info: &SemaphoreCreateInfo,
    allocator: Option<&AllocationCallbacks>
) -> VkResult<Semaphore>

fn create_shader_module(
    &self,
    create_info: &ShaderModuleCreateInfo,
    allocator: Option<&AllocationCallbacks>
) -> VkResult<ShaderModule>

fn destroy_buffer(
    &self,
    buffer: Buffer,
    allocator: Option<&AllocationCallbacks>
)

fn destroy_buffer_view(
    &self,
    buffer_view: BufferView,
    allocator: Option<&AllocationCallbacks>
)

fn destroy_command_pool(
    &self,
    command_pool: CommandPool,
    allocator: Option<&AllocationCallbacks>
)

fn destroy_descriptor_pool(
    &self,
    descriptor_pool: DescriptorPool,
    allocator: Option<&AllocationCallbacks>
)

fn destroy_descriptor_set_layout(
    &self,
    descriptor_set_layout: DescriptorSetLayout,
    allocator: Option<&AllocationCallbacks>
)

fn destroy_device(&self, allocator: Option<&AllocationCallbacks>)

fn destroy_event(&self, event: Event, allocator: Option<&AllocationCallbacks>)

fn destroy_fence(&self, fence: Fence, allocator: Option<&AllocationCallbacks>)

fn destroy_framebuffer(
    &self,
    framebuffer: Framebuffer,
    allocator: Option<&AllocationCallbacks>
)

fn destroy_image(&self, image: Image, allocator: Option<&AllocationCallbacks>)

fn destroy_image_view(
    &self,
    image_view: ImageView,
    allocator: Option<&AllocationCallbacks>
)

fn destroy_pipeline(
    &self,
    pipeline: Pipeline,
    allocator: Option<&AllocationCallbacks>
)

fn destroy_pipeline_cache(
    &self,
    pipeline_cache: PipelineCache,
    allocator: Option<&AllocationCallbacks>
)

fn destroy_pipeline_layout(
    &self,
    pipeline_layout: PipelineLayout,
    allocator: Option<&AllocationCallbacks>
)

fn destroy_query_pool(
    &self,
    query_pool: QueryPool,
    allocator: Option<&AllocationCallbacks>
)

fn destroy_render_pass(
    &self,
    render_pass: RenderPass,
    allocator: Option<&AllocationCallbacks>
)

fn destroy_sampler(
    &self,
    sampler: Sampler,
    allocator: Option<&AllocationCallbacks>
)

fn destroy_semaphore(
    &self,
    semaphore: Semaphore,
    allocator: Option<&AllocationCallbacks>
)

fn destroy_shader_module(
    &self,
    shader_module: ShaderModule,
    allocator: Option<&AllocationCallbacks>
)

fn device_wait_idle(&self) -> VkResult<()>

fn end_command_buffer(&self, command_buffer: CommandBuffer) -> VkResult<()>

fn flush_mapped_memory_ranges(
    &self,
    memory_ranges: &[impl Cast<Target = MappedMemoryRange>]
) -> VkResult<()>

fn free_command_buffers(
    &self,
    command_pool: CommandPool,
    command_buffers: &[CommandBuffer]
)

fn free_descriptor_sets(
    &self,
    descriptor_pool: DescriptorPool,
    descriptor_sets: &[DescriptorSet]
) -> VkResult<()>

fn free_memory(
    &self,
    memory: DeviceMemory,
    allocator: Option<&AllocationCallbacks>
)

fn get_buffer_memory_requirements(&self, buffer: Buffer) -> MemoryRequirements

fn get_device_memory_commitment(&self, memory: DeviceMemory) -> DeviceSize

fn get_device_queue(&self, queue_family_index: u32, queue_index: u32) -> Queue

fn get_event_status(&self, event: Event) -> VkResult<SuccessCode>

fn get_fence_status(&self, fence: Fence) -> VkResult<SuccessCode>

fn get_image_memory_requirements(&self, image: Image) -> MemoryRequirements

fn get_image_sparse_memory_requirements(
    &self,
    image: Image
) -> Vec<SparseImageMemoryRequirements>

fn get_image_subresource_layout(
    &self,
    image: Image,
    subresource: &ImageSubresource
) -> SubresourceLayout

fn get_pipeline_cache_data(
    &self,
    pipeline_cache: PipelineCache
) -> VkResult<Vec<c_void>>

fn get_query_pool_results(
    &self,
    query_pool: QueryPool,
    first_query: u32,
    query_count: u32,
    data: &mut [u8],
    stride: DeviceSize,
    flags: QueryResultFlags
) -> VkResult<SuccessCode>

fn get_render_area_granularity(&self, render_pass: RenderPass) -> Extent2D

fn invalidate_mapped_memory_ranges(
    &self,
    memory_ranges: &[impl Cast<Target = MappedMemoryRange>]
) -> VkResult<()>

fn map_memory(
    &self,
    memory: DeviceMemory,
    offset: DeviceSize,
    size: DeviceSize,
    flags: MemoryMapFlags
) -> VkResult<*mut c_void>

fn merge_pipeline_caches(
    &self,
    dst_cache: PipelineCache,
    src_caches: &[PipelineCache]
) -> VkResult<()>

fn queue_bind_sparse(
    &self,
    queue: Queue,
    bind_info: &[impl Cast<Target = BindSparseInfo>],
    fence: Fence
) -> VkResult<()>

fn queue_submit(
    &self,
    queue: Queue,
    submits: &[impl Cast<Target = SubmitInfo>],
    fence: Fence
) -> VkResult<()>

fn queue_wait_idle(&self, queue: Queue) -> VkResult<()>

fn reset_command_buffer(
    &self,
    command_buffer: CommandBuffer,
    flags: CommandBufferResetFlags
) -> VkResult<()>

fn reset_command_pool(
    &self,
    command_pool: CommandPool,
    flags: CommandPoolResetFlags
) -> VkResult<()>

fn reset_descriptor_pool(
    &self,
    descriptor_pool: DescriptorPool,
    flags: DescriptorPoolResetFlags
) -> VkResult<()>

fn reset_event(&self, event: Event) -> VkResult<()>

fn reset_fences(&self, fences: &[Fence]) -> VkResult<()>

fn set_event(&self, event: Event) -> VkResult<()>

fn unmap_memory(&self, memory: DeviceMemory)

fn update_descriptor_sets(
    &self,
    descriptor_writes: &[impl Cast<Target = WriteDescriptorSet>],
    descriptor_copies: &[impl Cast<Target = CopyDescriptorSet>]
)

fn wait_for_fences(
    &self,
    fences: &[Fence],
    wait_all: bool,
    timeout: u64
) -> VkResult<SuccessCode>

Loading content...

Implementors

impl DeviceV1_0 for Device[src]

Loading content...