Skip to content

LiteFX::Rendering::Backends::DirectX12Image

Implements a DirectX12 IImage.

Synopsis

Declared in <image.h>

class DirectX12Image
    : public virtual IDirectX12Image
    , public ComResource<ID3D12Resource>
    , public virtual StateResource

Base Classes

NameDescription
IDirectX12ImageRepresents a DirectX 12 sampled image or the base interface for a texture.
ComResource<ID3D12Resource>A resource that is hold by a ComPtr.
StateResourceBase class for a resource that can be identified by a name string within a DeviceState.

Types

NameDescription
PrepareMoveEventArgs Stores a reference to a barrier that can be used to synchronize accesses to the resource with a move operation.
ResourceMovingEventArgs Stores the fence and the command queue to wait on for the fence before a moved resource can be used.

Type Aliases

Member Functions

NameDescription
alignedElementSize [virtual]Returns the actual size of the element in device memory.
dimensions [virtual]Gets the images dimensionality.
elementAlignment [virtual]Returns the alignment of a single element.
elementSize [virtual]Returns the size of a single element within the buffer. If there is only one element, this is equal to size.
elements [virtual]Gets the number of sub-resources inside the memory chunk.
extent [virtual]Gets the extent of the image at a certain mip-map level.
format [virtual]Gets the internal format of the image.
handle [virtual]Returns the resource managed by the class.
layers [virtual]Gets the number of layers (slices) of the image.
levels [virtual]Gets the number of mip-map levels of the image.
name [virtual]Returns the name of the resource.
planes [virtual]Returns the number of planes of the image resource.
resolveSubresource [virtual]Returns the plane, layer and level for the provided subresource.
samples [virtual]Gets the number of samples of the texture.
shared_from_this
shared_from_this
shared_from_this Returns a shared pointer to the current object instance.
size [virtual]Gets the size (in bytes) of the aligned memory chunk.
size [virtual]Returns the size (in bytes) of an image at a specified mip map level. If the image does not contain the provided mip map level, the method returns 0.
subresourceId [virtual]Returns the sub-resource ID for a combination of mip-map level, array layer and plane.
usage [virtual]Returns the usage flags for the resource.
virtualAddress [virtual]Gets the address of the resource in GPU memory.
volatileMove [virtual]Returns true, if the contents of the resource should not be copied during a move.
weak_from_this
weak_from_this
weak_from_this Returns a weak pointer to the current object instance.
writable [virtual]Returns true, if the resource can be bound to a read/write descriptor.

Data Members

NameDescription
moved An event that gets invoked, after the resource has been moved to a different location, but before the old resource gets destroyed.
moving An event that gets invoked before a resource is copied during a move.
prepareMove An event that gets invoked to prepare a resource for a move operation.

Using Declarations

Name
size

Protected Types

NameDescription
Allocator An allocator used to allocate the shared object.

Protected Member Functions

NameDescription
operator= Copy assignment operator
operator= [deleted]Copy assignment operator
operator= [deleted]Copy assignment operator
operator= [deleted]Copy assignment operator
operator= Copy assignment operator
operator= [deleted]Copy assignment operator
operator= Move assignment operator
operator= Move assignment operator
operator= Move assignment operator
operator= Move assignment operator
operator= Move assignment operator
operator= Move assignment operator
operator= [deleted]Assignment operator
operator= [deleted]Assignment operator
operator=
operator= Assignment operator
operator= Assignment operator
handle [virtual]Returns the resource managed by the class.
name Returns the name of the resource.

Protected Static Member Functions

NameDescription
create Generic factory method used to create instances of the shared object.

Friends

NameDescription
LiteFX::SharedObject::AllocatorAn allocator used to allocate the shared object.
LiteFX::Rendering::Backends::DirectX12GraphicsFactoryA graphics factory that produces objects for a DirectX12Device.
LiteFX::Rendering::Backends::DirectX12SwapChain::DirectX12SwapChainImpl
LiteFX::Rendering::Backends::DirectX12Image::DirectX12ImageImpl
LiteFX::PimplPtrA smart pointer that manages an implementation instance for a public interface class.