13 return vk::AllocationCallbacks{
General Purpose Allocator (GPA) interface.
Definition Allocator.hpp:24
Class representing a window for the platform.
Definition Application.hpp:15
The root object of everything RHI. Implementation of this class inherently defines the RHI backend.
Definition Application.hpp:11
Definition Device.hpp:131
Definition Application.hpp:24
vk::raii::PhysicalDevices mPhysicalDevices
Definition Application.hpp:26
Vector< RHIDevice::DeviceDesc > mDevices
Definition Application.hpp:30
RHIObjectPool mStorage
Definition Application.hpp:33
Allocator * GetAllocator() const
Definition Application.hpp:47
const vk::raii::Context mContext
Definition Application.hpp:37
vk::AllocationCallbacks mVkAllocatorCpuCallbacks
Definition Application.hpp:25
vk::raii::DebugUtilsMessengerEXT mDebugHandler
Definition Application.hpp:31
RHIDevice * GetDevice(Handle handle) const override
Definition Application.cpp:106
Allocator * mAllocator
Definition Application.hpp:28
vk::AllocationCallbacks const & GetVkAllocatorCallbacks() const
Definition Application.hpp:48
const uint32_t mVulkanApiVersion
Definition Application.hpp:38
Span< const RHIDevice::DeviceDesc > EnumerateDevices() const override
Definition Application.cpp:97
vk::raii::Instance mInstance
Definition Application.hpp:27
const String mName
Definition Application.hpp:35
void DestroyDevice(Handle handle) override
Definition Application.cpp:109
auto const & GetVkInstance() const
Definition Application.hpp:49
RHIApplicationScopedObjectHandle< RHIDevice > CreateDevice(RHIDevice::DeviceDesc const &desc, Native::NativeWindow *window=nullptr) override
Definition Application.cpp:101
std::basic_string< char > String
Alias for std::basic_string<char>, without an explicit allocator constructor.
Definition Container.hpp:141
std::unique_ptr< T, StlDeleter< T > > UniquePtr
std::unique_ptr with custom deleter that uses a Foundation::Core::Allocator to deallocate memory.
Definition Allocator.hpp:161
Low-level Rendering Hardware Interface (RHI) abstractions.
Definition Application.hpp:5
uint64_t Handle
Definition Details.hpp:9
void * vkCustomCpuReallocation(Allocator *alloc, void *pOriginal, size_t size, size_t alignment, vk::SystemAllocationScope allocationScope)
Definition Application.cpp:121
void * vkCustomCpuAllocation(Allocator *alloc, size_t size, size_t alignment, vk::SystemAllocationScope allocationScope)
Definition Application.cpp:115
void vkCustomCpuFree(Allocator *alloc, void *pMemory)
Definition Application.cpp:127
vk::AllocationCallbacks CreateVulkanCpuAllocationCallbacks(Core::Allocator *alloc)
Definition Application.hpp:12
Definition Device.hpp:135