#pragma once #include "pipeline.h" class CORE_API compute_pipeline : public pipeline { public: ~compute_pipeline() override; void add_binding(uint32_t binding, vk::DescriptorType descriptor_type, uint32_t descriptor_count, vk::Sampler immutable_samplers) override; void create() override; void dispatch(uint32_t group_count_x, uint32_t group_count_y, uint32_t group_count_z) const; void set_shader(const uint8_t *shader_code, size_t shader_code_size); private: vk::ShaderModule shader_module_; };