Vulkan: Add CreateDevice/SelectDevice functions

Former-commit-id: bb15b0f93fbc5a21c83178f13738976159044d9a [formerly 98145969e963560d9677ad24683189847511b5e6]
Former-commit-id: 90348ef452c507387377c609bbb238d735342973
This commit is contained in:
Lynix
2016-06-13 19:56:38 +02:00
parent 26e2f57c35
commit a91085550d
2 changed files with 131 additions and 0 deletions

View File

@@ -11,7 +11,9 @@
#include <Nazara/Core/Initializer.hpp>
#include <Nazara/Core/ParameterList.hpp>
#include <Nazara/Vulkan/Config.hpp>
#include <Nazara/Vulkan/VkDevice.hpp>
#include <Nazara/Vulkan/VkInstance.hpp>
#include <Nazara/Vulkan/VkSurface.hpp>
namespace Nz
{
@@ -21,17 +23,22 @@ namespace Nz
Vulkan() = delete;
~Vulkan() = delete;
static Vk::Device& CreateDevice(VkPhysicalDevice gpu, const Vk::Surface& surface, UInt32* presentableFamilyQueue);
static Vk::Instance& GetInstance();
static bool Initialize();
static bool IsInitialized();
static Vk::Device& SelectDevice(VkPhysicalDevice gpu, const Vk::Surface& surface, UInt32* presentableFamilyQueue);
static void SetParameters(const ParameterList& parameters);
static void Uninitialize();
private:
static std::list<Vk::Device> s_devices;
static Vk::Instance s_instance;
static ParameterList s_initializationParameters;
static unsigned int s_moduleReferenceCounter;