Skip to content

LiteFX::Rendering::Backends::VulkanGraphicsFactory

A graphics factory that produces objects for a VulkanDevice.

Synopsis

Declared in <litefx/backends/vulkan.hpp>

class [[dllimport, dllexport]] VulkanGraphicsFactory final
    : public GraphicsFactory<VulkanDescriptorLayout, IVulkanBuffer, IVulkanVertexBuffer, IVulkanIndexBuffer, IVulkanImage, IVulkanSampler, VulkanBottomLevelAccelerationStructure, VulkanTopLevelAccelerationStructure>

Description

Internally this factory implementation is based on Vulkan Memory Allocator.

Base Classes

Type Aliases

Member Functions

NameDescription
~VulkanGraphicsFactory [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::VulkanDeviceImplements a Vulkan graphics device.
LiteFX::Rendering::Backends::VulkanGraphicsFactory::VulkanGraphicsFactoryImpl
LiteFX::PimplPtrA smart pointer that manages an implementation instance for a public interface class.