Added initial base for iteration with command buffer and experimetation with baseoperator
This commit is contained in:
parent
0a1bfe0de8
commit
441efcd8dd
9 changed files with 294 additions and 17 deletions
|
|
@ -3,6 +3,10 @@
|
|||
#include <vulkan/vulkan.h>
|
||||
#include <vulkan/vulkan.hpp>
|
||||
|
||||
#include <spdlog/spdlog.h>
|
||||
|
||||
#include "Sequence.hpp"
|
||||
|
||||
namespace kp {
|
||||
|
||||
class Manager
|
||||
|
|
@ -12,13 +16,24 @@ private:
|
|||
public:
|
||||
Manager();
|
||||
|
||||
virtual ~Manager();
|
||||
~Manager();
|
||||
|
||||
// Evaluate actions
|
||||
template <typename T, typename... TArgs>
|
||||
void eval(TArgs&&... args) {
|
||||
SPDLOG_DEBUG("Kompute Manager eval triggered");
|
||||
Sequence sq(this->mDevice, this->mComputeQueue, this->mComputeQueueFamilyIndex);
|
||||
sq.begin();
|
||||
sq.record<T>(std::forward<TArgs>(args)...);
|
||||
sq.end();
|
||||
sq.eval();
|
||||
}
|
||||
|
||||
// Templated Commands
|
||||
|
||||
private:
|
||||
vk::Instance* mInstance = nullptr;
|
||||
bool mFreeInstance = false;
|
||||
uint32_t mPhysicalDeviceIndex = -1;
|
||||
vk::Device* mDevice = nullptr;
|
||||
bool mFreeDevice = false;
|
||||
uint32_t mComputeQueueFamilyIndex = -1;
|
||||
|
|
@ -32,7 +47,6 @@ private:
|
|||
// Create functions
|
||||
void createInstance();
|
||||
void createDevice();
|
||||
|
||||
};
|
||||
|
||||
} // End namespace kp
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue