Trait ashpan::DeviceExt[][src]

pub trait DeviceExt: Sized + Deref<Target = Device> {
Show 23 methods unsafe fn allocate_guarded_memory<'a>(
        &self,
        create_info: &MemoryAllocateInfo,
        allocation_callbacks: Option<&'a AllocationCallbacks>
    ) -> VkResult<GuardedResource<'a, DeviceMemory, Self>>;
unsafe fn create_guarded_buffer<'a>(
        &self,
        create_info: &BufferCreateInfo,
        allocation_callbacks: Option<&'a AllocationCallbacks>
    ) -> VkResult<GuardedResource<'a, Buffer, Self>>;
unsafe fn create_guarded_buffer_view<'a>(
        &self,
        create_info: &BufferViewCreateInfo,
        allocation_callbacks: Option<&'a AllocationCallbacks>
    ) -> VkResult<GuardedResource<'a, BufferView, Self>>;
unsafe fn create_guarded_command_pool<'a>(
        &self,
        create_info: &CommandPoolCreateInfo,
        allocation_callbacks: Option<&'a AllocationCallbacks>
    ) -> VkResult<GuardedResource<'a, CommandPool, Self>>;
unsafe fn create_guarded_descriptor_pool<'a>(
        &self,
        create_info: &DescriptorPoolCreateInfo,
        allocation_callbacks: Option<&'a AllocationCallbacks>
    ) -> VkResult<GuardedResource<'a, DescriptorPool, Self>>;
unsafe fn create_guarded_descriptor_set_layout<'a>(
        &self,
        create_info: &DescriptorSetLayoutCreateInfo,
        allocation_callbacks: Option<&'a AllocationCallbacks>
    ) -> VkResult<GuardedResource<'a, DescriptorSetLayout, Self>>;
unsafe fn create_guarded_event<'a>(
        &self,
        create_info: &EventCreateInfo,
        allocation_callbacks: Option<&'a AllocationCallbacks>
    ) -> VkResult<GuardedResource<'a, Event, Self>>;
unsafe fn create_guarded_fence<'a>(
        &self,
        create_info: &FenceCreateInfo,
        allocation_callbacks: Option<&'a AllocationCallbacks>
    ) -> VkResult<GuardedResource<'a, Fence, Self>>;
unsafe fn create_guarded_framebuffer<'a>(
        &self,
        create_info: &FramebufferCreateInfo,
        allocation_callbacks: Option<&'a AllocationCallbacks>
    ) -> VkResult<GuardedResource<'a, Framebuffer, Self>>;
unsafe fn create_guarded_image<'a>(
        &self,
        create_info: &ImageCreateInfo,
        allocation_callbacks: Option<&'a AllocationCallbacks>
    ) -> VkResult<GuardedResource<'a, Image, Self>>;
unsafe fn create_guarded_image_view<'a>(
        &self,
        create_info: &ImageViewCreateInfo,
        allocation_callbacks: Option<&'a AllocationCallbacks>
    ) -> VkResult<GuardedResource<'a, ImageView, Self>>;
unsafe fn create_guarded_pipeline_layout<'a>(
        &self,
        create_info: &PipelineLayoutCreateInfo,
        allocation_callbacks: Option<&'a AllocationCallbacks>
    ) -> VkResult<GuardedResource<'a, PipelineLayout, Self>>;
unsafe fn create_guarded_pipeline_cache<'a>(
        &self,
        create_info: &PipelineCacheCreateInfo,
        allocation_callbacks: Option<&'a AllocationCallbacks>
    ) -> VkResult<GuardedResource<'a, PipelineCache, Self>>;
unsafe fn create_guarded_query_pool<'a>(
        &self,
        create_info: &QueryPoolCreateInfo,
        allocation_callbacks: Option<&'a AllocationCallbacks>
    ) -> VkResult<GuardedResource<'a, QueryPool, Self>>;
unsafe fn create_guarded_render_pass<'a>(
        &self,
        create_info: &RenderPassCreateInfo,
        allocation_callbacks: Option<&'a AllocationCallbacks>
    ) -> VkResult<GuardedResource<'a, RenderPass, Self>>;
unsafe fn create_guarded_sampler<'a>(
        &self,
        create_info: &SamplerCreateInfo,
        allocation_callbacks: Option<&'a AllocationCallbacks>
    ) -> VkResult<GuardedResource<'a, Sampler, Self>>;
unsafe fn create_guarded_semaphore<'a>(
        &self,
        create_info: &SemaphoreCreateInfo,
        allocation_callbacks: Option<&'a AllocationCallbacks>
    ) -> VkResult<GuardedResource<'a, Semaphore, Self>>;
unsafe fn create_guarded_shader_module<'a>(
        &self,
        create_info: &ShaderModuleCreateInfo,
        allocation_callbacks: Option<&'a AllocationCallbacks>
    ) -> VkResult<GuardedResource<'a, ShaderModule, Self>>;
unsafe fn create_guarded_descriptor_update_template<'a>(
        &self,
        create_info: &DescriptorUpdateTemplateCreateInfo,
        allocation_callbacks: Option<&'a AllocationCallbacks>
    ) -> VkResult<GuardedResource<'a, DescriptorUpdateTemplate, Self>>;
unsafe fn create_guarded_sampler_ycbcr_conversion<'a>(
        &self,
        create_info: &SamplerYcbcrConversionCreateInfo,
        allocation_callbacks: Option<&'a AllocationCallbacks>
    ) -> VkResult<GuardedResource<'a, SamplerYcbcrConversion, Self>>;
unsafe fn create_guarded_render_pass2<'a>(
        &self,
        create_info: &RenderPassCreateInfo2,
        allocation_callbacks: Option<&'a AllocationCallbacks>
    ) -> VkResult<GuardedResource<'a, RenderPass, Self>>;
unsafe fn create_guarded_graphics_pipelines<'a>(
        &self,
        pipeline_cache: PipelineCache,
        create_infos: &[GraphicsPipelineCreateInfo],
        allocation_callbacks: Option<&'a AllocationCallbacks>
    ) -> Result<GuardedResource<'a, Vec<Pipeline>, Self>, (GuardedResource<'a, Vec<Pipeline>, Self>, Result)>;
unsafe fn create_guarded_compute_pipelines<'a>(
        &self,
        pipeline_cache: PipelineCache,
        create_infos: &[ComputePipelineCreateInfo],
        allocation_callbacks: Option<&'a AllocationCallbacks>
    ) -> Result<GuardedResource<'a, Vec<Pipeline>, Self>, (GuardedResource<'a, Vec<Pipeline>, Self>, Result)>;
}
Expand description

Extension trait adding guarded methods to ash::Device

Required methods

Same as allocate_memory but returns guarded vk::DeviceMemory.

Same as create_buffer but returns guarded vk::Buffer.

Same as create_buffer_view but returns guarded vk::BufferView.

Same as create_command_pool but returns guarded vk::CommandPool.

Same as create_descriptor_pool but returns guarded vk::DescriptorPool.

Same as create_event but returns guarded vk::Event.

Same as create_fence but returns guarded vk::Fence.

Same as create_framebuffer but returns guarded vk::Framebuffer.

Same as create_image but returns guarded vk::Image.

Same as create_image_view but returns guarded vk::ImageView.

Same as create_pipeline_layout but returns guarded vk::PipelineLayout.

Same as create_pipeline_cache but returns guarded vk::PipelineCache.

Same as create_query_pool but returns guarded vk::QueryPool.

Same as create_render_pass but returns guarded vk::RenderPass.

Same as create_sampler but returns guarded vk::Sampler.

Same as create_semaphore but returns guarded vk::Semaphore.

Same as create_shader_module but returns guarded vk::ShaderModule.

Same as create_render_pass2 but returns guarded vk::RenderPass.

Same as create_graphics_pipelines but returns guarded vk::Pipelines.

Same as create_compute_pipelines but returns guarded vk::Pipelines.

Implementors