aboutsummaryrefslogtreecommitdiffstats
path: root/include/compute-renderpass.hpp
diff options
context:
space:
mode:
authorQuentin LADEVIE <qladevie@wanadev.fr>2022-03-03 17:49:03 +0100
committerQuentin LADEVIE <qladevie@wanadev.fr>2022-03-03 17:49:03 +0100
commitbdd35fc2af40496b4cff9121ea5a3a364259642d (patch)
tree3286b7bad9a6daa3b85e1957c44a70c0e6569f55 /include/compute-renderpass.hpp
parent6d98e9d8b07d5c8aa0358780c38f29ffddfbf45f (diff)
Primitive renderpass api & use handle for low level api resources
Diffstat (limited to 'include/compute-renderpass.hpp')
-rw-r--r--include/compute-renderpass.hpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/include/compute-renderpass.hpp b/include/compute-renderpass.hpp
index a581930..641d4b1 100644
--- a/include/compute-renderpass.hpp
+++ b/include/compute-renderpass.hpp
@@ -14,8 +14,12 @@ class ComputeRenderpass : public Renderpass {
: Renderpass(api)
{}
+ ~ComputeRenderpass() {
+ api.destroy_pipeline(pipeline);
+ }
- void set_pipeline(std::string& shader_name) override final;
+
+ void set_pipeline(std::string& shader_name);
void set_dispatch_size(size_t count_x, size_t count_y, size_t count_z);
@@ -26,7 +30,7 @@ class ComputeRenderpass : public Renderpass {
void set_constant(off_t offset, Buffer* buffer);
// TODO: Do not use vulkan api type
- void execute(VkCommandBuffer command_buffer) override final;
+ void execute(vkrenderer& renderer, VkCommandBuffer command_buffer) override final;
Texture* output_texture;
@@ -39,4 +43,6 @@ class ComputeRenderpass : public Renderpass {
size_t group_count_x;
size_t group_count_y;
size_t group_count_z;
+
+ pipeline pipeline;
};