// ============================================= // Aster: pipeline.cpp // Copyright (c) 2020-2024 Anish Bhobe // ============================================= #include "pipeline.h" #include "device.h" Pipeline::Pipeline(const Device *device, vk::PipelineLayout layout, vk::Pipeline pipeline, eastl::vector &&setLayouts) : m_Device(device) , m_Layout(layout) , m_Pipeline(pipeline) , m_SetLayouts(std::move(setLayouts)) { } Pipeline::~Pipeline() { for (const auto setLayout : m_SetLayouts) { m_Device->m_Device.destroy(setLayout, nullptr); } m_SetLayouts.clear(); m_Device->m_Device.destroy(m_Pipeline, nullptr); m_Device->m_Device.destroy(m_Layout, nullptr); }