#pragma once #include "pipeline.h" class CORE_API compute_pipeline : public pipeline { public: void add_binding(uint32_t binding, vk::DescriptorType descriptor_type, uint32_t descriptor_count, const vk::Sampler* immutable_samplers) override; void create() override; void destroy() 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_; };