#ifndef _VULKAN_UTILS__NEWH
#define _VULKAN_UTILS__NEWH

// This class was created because the original VulkanUtils includes SDL, which I am no longer using
// TODO: Split the original into an SDL-free part and a part that has SDL-specific functions

#include <vector>

#include <vulkan/vulkan.h>

using namespace std;

class VulkanUtilsNew {
   public:
      static bool checkValidationLayerSupport(const vector<const char*>& validationLayers);

      static VkResult createDebugUtilsMessengerEXT(VkInstance instance,
         const VkDebugUtilsMessengerCreateInfoEXT* pCreateInfo,
         const VkAllocationCallbacks* pAllocator,
         VkDebugUtilsMessengerEXT* pDebugMessenger);

      static void destroyDebugUtilsMessengerEXT(VkInstance instance,
         VkDebugUtilsMessengerEXT debugMessenger,
         const VkAllocationCallbacks* pAllocator);
};

#endif // _VULKAN_UTILS_NEW_H

