Files
Copium/CopiumEngine/src/copium/core/Instance.h
T
Tim Håkansson 4d2dfce31c Add Linux support
- 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
2025-08-09 21:42:15 +02:00

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);
};
}