init commit
This commit is contained in:
53
src/A2Task2Solution/Naive.h
Normal file
53
src/A2Task2Solution/Naive.h
Normal file
@@ -0,0 +1,53 @@
|
||||
#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"
|
||||
#include "task_common.h"
|
||||
|
||||
#include "A2Task2.h"
|
||||
|
||||
struct A2Task2SolutioNaive : A2Task2Solution {
|
||||
public:
|
||||
A2Task2SolutioNaive(AppResources &app, uint workGroupSize);
|
||||
|
||||
void prepare(const std::vector<uint> &input) override;
|
||||
void compute() override;
|
||||
std::vector<uint> result() const override;
|
||||
void cleanup() override;
|
||||
|
||||
private:
|
||||
struct PushStruct
|
||||
{
|
||||
uint size;
|
||||
uint offset;
|
||||
};
|
||||
|
||||
AppResources &app;
|
||||
uint workGroupSize;
|
||||
|
||||
uint workSize;
|
||||
|
||||
Buffer buffers[2];
|
||||
|
||||
// Descriptor & Pipeline Layout
|
||||
std::vector<vk::DescriptorSetLayoutBinding> bindings;
|
||||
vk::DescriptorSetLayout descriptorSetLayout;
|
||||
vk::PipelineLayout pipelineLayout;
|
||||
|
||||
vk::ShaderModule cShader;
|
||||
vk::Pipeline pipeline;
|
||||
|
||||
// Descriptor Pool
|
||||
vk::DescriptorPool descriptorPool;
|
||||
|
||||
// Descriptors
|
||||
vk::DescriptorSet descriptorSets[2];
|
||||
|
||||
uint activeBuffer = 0;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user