Constructor Function.
Create basic Vulkan Objects.
Create CmdBuffers ThreadPool.
Create basic Vulkan Objects.
Create CmdBuffers ThreadPool.
45 {
47
51 {
52 NSIGHTAFTERMATH_GPUCRASHTRACKER_INIT
53 }
54
58 {
62
66 {
67
71 NSIGHTPERF_GPUPROFILERCONTINUOUS_CREATEINSTANCE(
m_VulkanState)
73 }
74
79 }
80
84 {
86 .SetPoolFlags(VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT | VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT)
87 .AddPoolSize(VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, 1000)
88 .AddPoolSize(VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, 1000)
89 .AddPoolSize(VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, 1000)
90 .AddPoolSize(VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT, 1000)
91 .AddPoolSize(VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR, 1000)
93 }
94
99 {
101 }
102
106 {
107 ThreadModel::Get()->InitRHIThreadPool([&](std::shared_ptr<VulkanCmdThreadPool>& ptr) {
108 ptr = std::make_shared<VulkanCmdThreadPool>(
m_VulkanState,
"RHIT");
109 });
110 }
111
115 {
118
119
122
123
131
134 }
135 }
#define SPICES_PROFILE_GPU_CREATEINSTANCE(...)
#define SPICES_PROFILE_ZONE
static RendererManager & Get()
Get Static RendererManager.
RendererManager & Push(Args &&... args)
Push a renderer to this manager, and initialize it.
static std::shared_ptr< ThreadModel > Get()
Get ThreadModel single instance.
std::shared_ptr< VulkanMemoryAllocator > m_VmaAllocator
VulkanMemoryAllocator.
std::unique_ptr< VulkanSwapChain > m_VulkanSwapChain
VulkanSwapChain.
std::unique_ptr< VulkanCommandPool > m_VulkanCommandPool
VulkanCommandPool.
static VulkanState m_VulkanState
The VulkanState in use.
std::unique_ptr< VulkanCommandBuffer > m_VulkanCommandBuffer
VulkanCommandBuffer.
static std::shared_ptr< VulkanDescriptorPool > m_VulkanDescriptorPool
The VulkanDescriptorPool in use.
static std::shared_ptr< RendererResourcePool > m_RendererResourcePool
The RendererResourcePool in use.
std::unique_ptr< VulkanWindows > m_VulkanWindows
VulkanWindows.
std::shared_ptr< VulkanDevice > m_VulkanDevice
VulkanDevice.
std::unique_ptr< VulkanInstance > m_VulkanInstance
VulkanInstance.
const WindowInfo initInfo
Window create parameter.