Crate asche

Source
Expand description

Provides an abstraction layer above erupt to easier use Vulkan in Rust.

No validation and a lot of pain. Lifetimes are not fully tracked, so you need to pay attention when to drop which resource to avoid UB (check the validation layer). In general resources should not be dropped while they are being used.

Structs§

AccelerationStructure
Wraps an acceleration structure.
BinarySemaphore
A binary semaphore.
BinarySemaphoreHandle
A handle of a binary semaphore.
Buffer
Wraps a buffer.
BufferDescriptor
Describes how an image should be configured.
BufferView
Wraps a buffer view.
BufferViewDescriptor
Describes how an buffer view should be configured.
ComputeCommandBuffer
A command buffer for the compute queue. Command buffer need to be reset using the parent pool.
ComputeCommandEncoder
Used to encode command for a compute command buffer.
ComputeCommandPool
A command pool for the compute queue.
ComputePipeline
Wraps a compute pipeline.
ComputeQueue
A queue for compute operations.
DeferredOperation
Wraps a deferred operation.
DescriptorPool
Wraps a descriptor pool.
DescriptorPoolDescriptor
Describes how an image view should be configured.
DescriptorSet
Wraps a descriptor set.
DescriptorSetLayout
Wraps a descriptor set layout.
Device
A Vulkan device.
DeviceConfiguration
Describes how the device should be configured.
Fence
A fence.
GraphicsCommandBuffer
A command buffer for the compute queue. Command buffer need to be reset using the parent pool.
GraphicsCommandEncoder
Used to encode command for a graphics command buffer.
GraphicsCommandPool
A command pool for the graphics queue.
GraphicsPipeline
Wraps a graphics pipeline.
GraphicsQueue
A queue for graphics operations.
Image
Wraps an image.
ImageDescriptor
Describes how an image should be configured.
ImageView
Wraps an image view.
ImageViewDescriptor
Describes how an image view should be configured.
Instance
Initializes the all Vulkan resources needed to create a device.
InstanceConfiguration
Describes how the instance should be configured.
PipelineLayout
Wraps a pipeline layout.
QueryPool
Wraps a Query Pool.
QueueConfiguration
Defines the configuration of the queues. Each vector entry defines the priority of a queue.
Queues
Contains all queues that were created for the device.
RayTracingPipeline
Wraps a raytracing pipeline.
RenderPass
Wraps a render pass.
RenderPassColorAttachmentDescriptor
Describes a render pass color attachment. Used to create the framebuffer.
RenderPassDepthAttachmentDescriptor
Describes a render pass depth attachment. Used to create the framebuffer.
RenderPassEncoder
Used to encode render pass commands of a command buffer.
Sampler
Wraps a sampler.
SamplerDescriptor
Describes how a sampler should be configured.
ShaderModule
Wraps a shader module.
Swapchain
Abstracts a Vulkan swapchain.
SwapchainFrame
Swapchain frame.
TimelineSemaphore
A semaphore that uses the timeline feature.
TimelineSemaphoreHandle
A handle of a timeline semaphore.
TransferCommandBuffer
A command buffer for the transfer queue. Command buffer need to be reset using the parent pool.
TransferCommandEncoder
Used to encode command for a transfer command buffer.
TransferCommandPool
A command pool for the transfer queue.
TransferQueue
A queue for transfer operations.
Version
A version number.

Enums§

AllocatorError
Errors that the allocators can throw.
AscheError
Errors that asche can throw.
BarSupport
Shows if the device support access to the device memory using the base address register.
CommandBufferSemaphore
Defines the semaphore a command buffer will use on wait and signal.
MemoryLocation
The intended location of the memory.

Traits§

CommonCommands
Implements common command between all queues.
Lifetime
The lifetime of an allocation. Used to pool allocations and reduce fragmentation.