Reached shader lessons. Stopping to refactor code.
This commit is contained in:
@@ -8,11 +8,11 @@ VulkanInstanceManager::VulkanInstanceManager()
|
||||
|
||||
VulkanInstanceManager::~VulkanInstanceManager()
|
||||
{
|
||||
Cleanup();
|
||||
// Cleanup();
|
||||
}
|
||||
|
||||
VulkanInstanceManager::VulkanInstanceManager(VulkanInstanceManager&& Other) noexcept
|
||||
: Instance(Other.Instance), bValidationEnabled(Other.bValidationEnabled), bVerboseLogging(Other.bVerboseLogging), VkDebugManager(std::move(Other.VkDebugManager))
|
||||
: Instance(Other.Instance) /*, bValidationEnabled(Other.bValidationEnabled), bVerboseLogging(Other.bVerboseLogging), VkDebugManager(std::move(Other.VkDebugManager))*/
|
||||
{
|
||||
Other.Instance = VK_NULL_HANDLE;
|
||||
Other.bValidationEnabled = false;
|
||||
@@ -34,7 +34,28 @@ VulkanInstanceManager& VulkanInstanceManager::operator=(VulkanInstanceManager&&
|
||||
|
||||
return *this;
|
||||
}
|
||||
void VulkanInstanceManager::Initialize(const FVulkanConfig& Config)
|
||||
|
||||
// void VulkanInstanceManager::Initialize(const FVulkanConfig& Config)
|
||||
//{
|
||||
// if (IsInitialized())
|
||||
// {
|
||||
// Log::Warning("Already Initialized.");
|
||||
// return;
|
||||
// }
|
||||
//
|
||||
// bValidationEnabled = Config.bValidationEnabled;
|
||||
// bVerboseLogging = Config.bVerboseLogging;
|
||||
//
|
||||
// if (bValidationEnabled)
|
||||
// {
|
||||
// Log::Info("DebugManager created with validation enabled.");
|
||||
// VkDebugManager = std::make_unique<VulkanDebugManager>();
|
||||
// }
|
||||
//
|
||||
// CreateInstance();
|
||||
// }
|
||||
|
||||
void VulkanInstanceManager::Initialize(bool bEnableValidationLayers)
|
||||
{
|
||||
if (IsInitialized())
|
||||
{
|
||||
@@ -42,24 +63,27 @@ void VulkanInstanceManager::Initialize(const FVulkanConfig& Config)
|
||||
return;
|
||||
}
|
||||
|
||||
bValidationEnabled = Config.bValidationEnabled;
|
||||
bVerboseLogging = Config.bVerboseLogging;
|
||||
|
||||
if (bValidationEnabled)
|
||||
if (bEnableValidationLayers)
|
||||
{
|
||||
Log::Info("DebugManager created with validation enabled.");
|
||||
VkDebugManager = std::make_unique<VulkanDebugManager>();
|
||||
}
|
||||
|
||||
CreateInstance();
|
||||
}
|
||||
|
||||
if (VkDebugManager)
|
||||
void VulkanInstanceManager::SetupDebug()
|
||||
{
|
||||
if (bValidationEnabled)
|
||||
{
|
||||
VkDebugManager->Initialize(Instance);
|
||||
}
|
||||
}
|
||||
|
||||
void VulkanInstanceManager::SetupDevice()
|
||||
{
|
||||
VkDeviceManager = std::make_unique<VulkanDeviceManager>();
|
||||
VkDeviceManager->Initialize(Instance);
|
||||
VkDeviceManager->Initialize(Instance, bValidationEnabled, ValidationLayers);
|
||||
}
|
||||
|
||||
void VulkanInstanceManager::Cleanup()
|
||||
@@ -70,16 +94,16 @@ void VulkanInstanceManager::Cleanup()
|
||||
return;
|
||||
}
|
||||
|
||||
if (VkDebugManager)
|
||||
{
|
||||
VkDebugManager->Cleanup();
|
||||
}
|
||||
|
||||
if (VkDeviceManager)
|
||||
{
|
||||
VkDeviceManager->Cleanup();
|
||||
}
|
||||
|
||||
if (VkDebugManager)
|
||||
{
|
||||
VkDebugManager->Cleanup();
|
||||
}
|
||||
|
||||
vkDestroyInstance(Instance, nullptr);
|
||||
Instance = VK_NULL_HANDLE;
|
||||
}
|
||||
@@ -174,4 +198,4 @@ void VulkanInstanceManager::CreateInstance()
|
||||
{
|
||||
Log::Error("Failed to create instance!");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user