diff options
Diffstat (limited to 'include/vk-context.hpp')
| -rw-r--r-- | include/vk-context.hpp | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/include/vk-context.hpp b/include/vk-context.hpp index 8d0b91f..58d7ce9 100644 --- a/include/vk-context.hpp +++ b/include/vk-context.hpp @@ -1,11 +1,15 @@ -#ifndef __VK_CONTEXT_HPP_ -#define __VK_CONTEXT_HPP_ +#pragma once -#include <vector> #include "vulkan-loader.hpp" using VmaAllocator = struct VmaAllocator_T*; +struct queue { + VkQueue handle; + uint32_t index; + VkQueueFlags usages; +}; + class vkcontext { public: vkcontext(); @@ -19,8 +23,7 @@ class vkcontext { VmaAllocator allocator; - uint32_t queue_index; - VkQueue queue; + queue graphics_queue; private: void create_instance(); @@ -33,16 +36,14 @@ class vkcontext { void select_physical_device(); - void select_queue(VkQueueFlags queueUsage); + [[nodiscard]] uint32_t select_queue(VkQueueFlags queue_usage) const; - static void check_available_instance_layers(std::vector<const char*>& needed_layers); + static void check_available_instance_layers(const char* needed_layers[], size_t needed_layers_count); - static void check_available_instance_extensions(std::vector<const char*>& needed_extensions); + static void check_available_instance_extensions(const char* needed_extensions[], size_t needed_extensions_count); static bool support_required_features(VkPhysicalDevice physical_device); VkDebugUtilsMessengerEXT debugMessenger; }; - -#endif // !__VK_CONTEXT_HPP_ |
