Skip to content

LiteFX::Rendering::Backends::DirectX12GraphicsFactory

A graphics factory that produces objects for a DirectX12Device.

Synopsis

Declared in <litefx/backends/dx12.hpp>

class [[dllimport, dllexport]] DirectX12GraphicsFactory final
    : public GraphicsFactory<DirectX12DescriptorLayout, IDirectX12Buffer, IDirectX12VertexBuffer, IDirectX12IndexBuffer, IDirectX12Image, IDirectX12Sampler, DirectX12BottomLevelAccelerationStructure, DirectX12TopLevelAccelerationStructure>

Description

The DX12 graphics factory is implemented using D3D12 Memory Allocator.

Base Classes

Type Aliases

Member Functions

NameDescription
~DirectX12GraphicsFactory [destructor] [virtual]Destructor
allocate [virtual]Allocates a set of resources as described by allocationInfos.
beginDefragmentation [virtual]Starts a defragmentation process for the resources allocated from the factory.
beginDefragmentationPass [virtual]Starts a new defragmentation pass.
canAlias [virtual]Checks if the resources described by allocationInfos can be overlapped.
createAllocator [virtual]Creates a virtual allocator that can be used to manage allocation from a custom block of memory.
createBottomLevelAccelerationStructure Creates a bottom-level acceleration structure.
createBuffer Creates a buffer of type type.
createIndexBuffer Creates an index buffer, based on the layout.
createSampler Creates a texture sampler.
createSamplers [virtual]Creates a series of texture samplers.
createTexture Creates a texture.
createTextures Creates a series of textures.
createTopLevelAccelerationStructure Creates a top-level acceleration structure.
createVertexBuffer Creates a vertex buffer, based on the layout.
detailedMemoryStatistics [virtual]Returns detailed memory statistics.
endDefragmentationPass [virtual]Ends a defragmentation pass.
memoryStatistics [virtual]Returns an array of objects, that contain information about the current memory usage and available memory for a memory heap.
supportsResizableBaseAddressRegister [virtual]Returns true, if the GPU supports resizable base address register (ReBAR) and false otherwise.
tryCreateBuffer Tries to create a buffer of type type.
tryCreateIndexBuffer Tries to create an index buffer, based on the layout.
tryCreateTexture Tries to create a texture.
tryCreateVertexBuffer Tries to create a vertex buffer, based on the layout.

Using Declarations

Protected Member Functions

NameDescription
operator= Assignment operators

Friends

NameDescription
LiteFX::SharedObject::AllocatorAn allocator used to allocate the shared object.
LiteFX::Rendering::Backends::DirectX12DeviceImplements a DirectX 12 graphics device.
LiteFX::Rendering::Backends::DirectX12GraphicsFactory::DirectX12GraphicsFactoryImpl
LiteFX::PimplPtrA smart pointer that manages an implementation instance for a public interface class.