Skip to content

LiteFX::Rendering::ImageLayout

Specifies the layout of an IImage resource.

Synopsis

Declared in <litefx/rendering_api.hpp>

enum class ImageLayout : int;

Description

Note that almost all layouts under Vulkan translate to VK_IMAGE_LAYOUT_GENERAL under Vulkan, making this backend more robust to use. For correctness reasons, you still have to ensure that each resource ends up in ImageLayout::Common state after a diverging access.

Members

NameDescription
Undefined The layout of the image is not known by the engine.
Common A common image layout that allows for all types of access (shader resource, transfer destination, transfer source).
ShaderResource Indicates that the image is used as a shader resource.
ReadWrite Indicates that the image is used as a read-write storage or texel buffer.
ReadOnly Indicates that the image is used as a read-only storage or texel buffer.
CopySource Allows the image to be used as a source for transfer operations.
CopyDestination Allows the image to be used as a destination for transfer operations.
RenderTarget Indicates that the image is used as a render target.
DepthRead Indicates that image is used as a read-only depth/stencil target.
DepthWrite Indicates that the image is used as a write-only depth/stencil target.
Present Indicates that the image is presented on a swap chain.
ResolveSource Indicates that the image is resolved from a multi-sampled image.
ResolveDestination Indicates that the image is a render-target that a multi-sampled image is resolved into.

See Also

IImage

IBarrier

ResourceAccess

PipelineStage