aboutsummaryrefslogtreecommitdiffstats
path: root/include/vk-context.hpp
diff options
context:
space:
mode:
authorladevieq <ladevie.quentin@gmail.com>2022-09-06 22:41:00 +0200
committerladevieq <ladevie.quentin@gmail.com>2022-09-06 22:41:00 +0200
commitb0708f165601fad16aa59715dbe32796a6e7081e (patch)
tree7741e0fd5e180905618d27ac4003c74633b96a13 /include/vk-context.hpp
parent24b02adbf6189025c00d62417fb4b49346f22c98 (diff)
Setup for texture upload system
Diffstat (limited to 'include/vk-context.hpp')
-rw-r--r--include/vk-context.hpp21
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_