LiteFX 0.5.1.2025
Computer Graphics Engine
Loading...
Searching...
No Matches
LiteFX::Rendering::Backends::VulkanGraphicsFactory::VulkanGraphicsFactoryImpl Class Reference

Public Member Functions

 VulkanGraphicsFactoryImpl (const VulkanDevice &device)
 
 VulkanGraphicsFactoryImpl (VulkanGraphicsFactoryImpl &&) noexcept=default
 
 VulkanGraphicsFactoryImpl (const VulkanGraphicsFactoryImpl &)=delete
 
VulkanGraphicsFactoryImploperator= (VulkanGraphicsFactoryImpl &&) noexcept=default
 
VulkanGraphicsFactoryImploperator= (const VulkanGraphicsFactoryImpl &)=delete
 
 ~VulkanGraphicsFactoryImpl ()
 
VmaAllocationCreateInfo getAllocationCreateInfo (ResourceHeap heap, AllocationBehavior allocationBehavior, bool manualAlloc=false) const
 
VkBufferCreateInfo getCreateInfo (const ResourceAllocationInfo::BufferInfo &bufferInfo, ResourceUsage usage, UInt64 &elementSize, UInt64 &alignment) const
 
VkImageCreateInfo getCreateInfo (const ResourceAllocationInfo::ImageInfo &imageInfo, ResourceUsage usage) const
 
VkMemoryRequirements getMemoryRequirements (const VulkanDevice &device, const ResourceAllocationInfo::BufferInfo &bufferInfo, ResourceUsage usage) const
 
VkMemoryRequirements getMemoryRequirements (const VulkanDevice &device, const ResourceAllocationInfo::ImageInfo &imageInfo, ResourceUsage usage) const
 
VkMemoryRequirements getMemoryRequirements (const ResourceAllocationInfo &allocationInfo) const
 
template<typename TAllocator , typename... TArgs>
auto allocateBuffer (const String &name, const ResourceAllocationInfo::BufferInfo &bufferInfo, ResourceUsage usage, AllocationBehavior allocationBehavior, TAllocator allocator, TArgs &&... args)
 
template<typename TAllocator , typename... TArgs>
auto allocateImage (const String &name, const ResourceAllocationInfo::ImageInfo &imageInfo, ResourceUsage usage, AllocationBehavior allocationBehavior, TAllocator allocator, TArgs &&... args)
 

Friends

class VulkanGraphicsFactory
 

Constructor & Destructor Documentation

◆ VulkanGraphicsFactoryImpl() [1/3]

LiteFX::Rendering::Backends::VulkanGraphicsFactory::VulkanGraphicsFactoryImpl::VulkanGraphicsFactoryImpl ( const VulkanDevice & device)
inline

◆ VulkanGraphicsFactoryImpl() [2/3]

LiteFX::Rendering::Backends::VulkanGraphicsFactory::VulkanGraphicsFactoryImpl::VulkanGraphicsFactoryImpl ( VulkanGraphicsFactoryImpl && )
defaultnoexcept

◆ VulkanGraphicsFactoryImpl() [3/3]

LiteFX::Rendering::Backends::VulkanGraphicsFactory::VulkanGraphicsFactoryImpl::VulkanGraphicsFactoryImpl ( const VulkanGraphicsFactoryImpl & )
delete

◆ ~VulkanGraphicsFactoryImpl()

LiteFX::Rendering::Backends::VulkanGraphicsFactory::VulkanGraphicsFactoryImpl::~VulkanGraphicsFactoryImpl ( )
inline

Member Function Documentation

◆ allocateBuffer()

template<typename TAllocator , typename... TArgs>
auto LiteFX::Rendering::Backends::VulkanGraphicsFactory::VulkanGraphicsFactoryImpl::allocateBuffer ( const String & name,
const ResourceAllocationInfo::BufferInfo & bufferInfo,
ResourceUsage usage,
AllocationBehavior allocationBehavior,
TAllocator allocator,
TArgs &&... args )
inline

◆ allocateImage()

template<typename TAllocator , typename... TArgs>
auto LiteFX::Rendering::Backends::VulkanGraphicsFactory::VulkanGraphicsFactoryImpl::allocateImage ( const String & name,
const ResourceAllocationInfo::ImageInfo & imageInfo,
ResourceUsage usage,
AllocationBehavior allocationBehavior,
TAllocator allocator,
TArgs &&... args )
inline

◆ getAllocationCreateInfo()

VmaAllocationCreateInfo LiteFX::Rendering::Backends::VulkanGraphicsFactory::VulkanGraphicsFactoryImpl::getAllocationCreateInfo ( ResourceHeap heap,
AllocationBehavior allocationBehavior,
bool manualAlloc = false ) const
inline

◆ getCreateInfo() [1/2]

VkBufferCreateInfo LiteFX::Rendering::Backends::VulkanGraphicsFactory::VulkanGraphicsFactoryImpl::getCreateInfo ( const ResourceAllocationInfo::BufferInfo & bufferInfo,
ResourceUsage usage,
UInt64 & elementSize,
UInt64 & alignment ) const
inline

◆ getCreateInfo() [2/2]

VkImageCreateInfo LiteFX::Rendering::Backends::VulkanGraphicsFactory::VulkanGraphicsFactoryImpl::getCreateInfo ( const ResourceAllocationInfo::ImageInfo & imageInfo,
ResourceUsage usage ) const
inline

◆ getMemoryRequirements() [1/3]

VkMemoryRequirements LiteFX::Rendering::Backends::VulkanGraphicsFactory::VulkanGraphicsFactoryImpl::getMemoryRequirements ( const ResourceAllocationInfo & allocationInfo) const
inline

◆ getMemoryRequirements() [2/3]

VkMemoryRequirements LiteFX::Rendering::Backends::VulkanGraphicsFactory::VulkanGraphicsFactoryImpl::getMemoryRequirements ( const VulkanDevice & device,
const ResourceAllocationInfo::BufferInfo & bufferInfo,
ResourceUsage usage ) const
inline

◆ getMemoryRequirements() [3/3]

VkMemoryRequirements LiteFX::Rendering::Backends::VulkanGraphicsFactory::VulkanGraphicsFactoryImpl::getMemoryRequirements ( const VulkanDevice & device,
const ResourceAllocationInfo::ImageInfo & imageInfo,
ResourceUsage usage ) const
inline

◆ operator=() [1/2]

VulkanGraphicsFactoryImpl & LiteFX::Rendering::Backends::VulkanGraphicsFactory::VulkanGraphicsFactoryImpl::operator= ( const VulkanGraphicsFactoryImpl & )
delete

◆ operator=() [2/2]

VulkanGraphicsFactoryImpl & LiteFX::Rendering::Backends::VulkanGraphicsFactory::VulkanGraphicsFactoryImpl::operator= ( VulkanGraphicsFactoryImpl && )
defaultnoexcept

Friends And Related Symbol Documentation

◆ VulkanGraphicsFactory

friend class VulkanGraphicsFactory
friend