4d2dfce31c
- Add linux build system using MakeGen - Fix a swapchain validation error, likelydue to my linux system using a different vulkan version - Make DescriptorPool take in amount of descriptors it needs, instead of allocating a mass amount for every pool, causing loads of RAM/VRAM usage
34 lines
755 B
C++
34 lines
755 B
C++
#pragma once
|
|
|
|
#include "copium/core/DebugMessenger.h"
|
|
|
|
namespace Copium
|
|
{
|
|
class Instance final
|
|
{
|
|
CP_DELETE_COPY_AND_MOVE_CTOR(Instance);
|
|
private:
|
|
VkInstance instance;
|
|
std::unique_ptr<DebugMessenger> debugMessenger;
|
|
|
|
// TODO: Move to SwapChain?
|
|
uint32_t graphicsQueueIndex;
|
|
uint32_t presentQueueIndex;
|
|
VkQueue graphicsQueue;
|
|
VkQueue presentQueue;
|
|
// TODO end
|
|
|
|
public:
|
|
Instance(const std::string& applicationName);
|
|
~Instance();
|
|
|
|
operator VkInstance() const;
|
|
|
|
private:
|
|
void InitializeInstance(const std::string& applicationName);
|
|
void InitializeDebugMessenger();
|
|
std::vector<const char*> GetRequiredExtensions();
|
|
bool CheckLayerSupport(const std::vector<const char*>& layers);
|
|
};
|
|
}
|