zengine/engine/modules/render/vulkan/include/vkn/backend.h

21 lines
455 B
C
Raw Normal View History

2024-08-17 18:01:21 +08:00
#pragma once
2024-08-27 20:21:32 +08:00
#include "vkn/type.h"
2024-08-17 18:01:21 +08:00
namespace vkn {
2024-08-23 22:13:05 +08:00
class Device;
class Instance;
2024-08-17 18:01:21 +08:00
class Backend {
2024-08-23 22:13:05 +08:00
protected:
Instance* mInstance;
Device* mDevice;
public:
Backend(string_view appName);
~Backend();
2024-08-27 20:21:32 +08:00
template<typename Worker>
Worker* InitWorker(Name name, VkCommandPoolCreateFlags flag);
2024-08-17 18:01:21 +08:00
2024-08-23 22:13:05 +08:00
public:
2024-08-27 20:21:32 +08:00
static struct BufferWorker* TransferWorker;
static struct CommandWorker* RenderWorker;
static struct CommandWorker* PresentWorker;
2024-08-17 18:01:21 +08:00
};
2024-08-23 22:13:05 +08:00
};