aboutsummaryrefslogtreecommitdiff
path: root/src/instance_context.hh
diff options
context:
space:
mode:
authorNicolas James <Eele1Ephe7uZahRie@tutanota.com>2026-02-11 23:19:15 +1100
committerNicolas James <Eele1Ephe7uZahRie@tutanota.com>2026-02-11 23:19:15 +1100
commit76f3ef1d7c2b4393a8e8b402deb924e606448d27 (patch)
treea291bec0544f007536a41ec1f590338aee1163e9 /src/instance_context.hh
parent77e2be172718878b38999efc247ce7571435fcc8 (diff)
More cleanup, fix lifetime and mutex issues
Diffstat (limited to 'src/instance_context.hh')
-rw-r--r--src/instance_context.hh17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/instance_context.hh b/src/instance_context.hh
index 0a0b999..3b71a82 100644
--- a/src/instance_context.hh
+++ b/src/instance_context.hh
@@ -3,21 +3,26 @@
#include <vulkan/utility/vk_dispatch_table.h>
+#include <memory>
+#include <unordered_map>
+
+#include "context.hh"
+
namespace low_latency {
-struct InstanceContext {
+class PhysicalDeviceContext;
+
+struct InstanceContext final : public Context {
const VkInstance instance;
const VkuInstanceDispatchTable vtable;
+ std::unordered_map<void*, std::shared_ptr<PhysicalDeviceContext>> phys_devices;
+
public:
InstanceContext(const VkInstance& instance,
VkuInstanceDispatchTable&& vtable);
- InstanceContext(const InstanceContext&) = delete;
- InstanceContext(InstanceContext&&) = delete;
- InstanceContext operator==(const InstanceContext&) = delete;
- InstanceContext operator==(InstanceContext&&) = delete;
- ~InstanceContext();
+ virtual ~InstanceContext();
};
}; // namespace low_latency