init commit

This commit is contained in:
2025-12-21 15:41:59 +01:00
commit c86af91a92
36 changed files with 2399 additions and 0 deletions

47
include/task_common.h Normal file
View File

@@ -0,0 +1,47 @@
#include <iostream>
#include <cstdlib>
#define VULKAN_HPP_DISPATCH_LOADER_DYNAMIC 1
#include <vulkan/vulkan.hpp>
#include <fstream>
#include <vector>
#include "initialization.h"
#include "utils.h"
#ifndef EX_TEMPLATE
#define EX_TEMPLATE
namespace Cmn {
void createDescriptorSetLayout(vk::Device &device,
std::vector<vk::DescriptorSetLayoutBinding> &bindings, vk::DescriptorSetLayout &descLayout);
void addStorage(std::vector<vk::DescriptorSetLayoutBinding> &bindings, uint32_t binding);
void allocateDescriptorSet(vk::Device &device, vk::DescriptorSet &descSet, vk::DescriptorPool &descPool,
vk::DescriptorSetLayout &descLayout);
void bindBuffers(vk::Device &device, vk::Buffer &b, vk::DescriptorSet &set, uint32_t binding);
void createDescriptorPool(vk::Device &device,
std::vector<vk::DescriptorSetLayoutBinding> &bindings, vk::DescriptorPool &descPool, uint32_t numDescriptors = 1);
void createPipeline(vk::Device &device, vk::Pipeline &pipeline,
vk::PipelineLayout &pipLayout, vk::SpecializationInfo &specInfo, vk::ShaderModule &sModule);
void createShader(vk::Device &device, vk::ShaderModule &shaderModule, const std::string &filename);
}
struct TaskResources
{
//std::vector<Buffer> buffers; move this to user code
vk::ShaderModule cShader;
vk::DescriptorSetLayout descriptorSetLayout;
std::vector<vk::DescriptorSetLayoutBinding> bindings;
vk::DescriptorSet descriptorSet;
vk::DescriptorPool descriptorPool;
vk::Pipeline pipeline;
vk::PipelineLayout pipelineLayout;
void destroy(vk::Device &device);
};
#endif