/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* DescriptorSetLayout.h :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: maldavid +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/01/23 18:36:22 by maldavid #+# #+# */ /* Updated: 2024/04/23 22:15:01 by maldavid ### ########.fr */ /* */ /* ************************************************************************** */ #ifndef __VK_DESCRIPTOR_SET_LAYOUT__ #define __VK_DESCRIPTOR_SET_LAYOUT__ namespace mlx { class DescriptorSetLayout { public: DescriptorSetLayout() = default; void Init(std::vector> binds, VkShaderStageFlagBits stage); void Destroy() noexcept; inline VkDescriptorSetLayout operator()() const noexcept { return m_layout; } inline VkDescriptorSetLayout Get() const noexcept { return m_layout; } inline const std::vector>& GetBindings() const noexcept { return m_bindings; } ~DescriptorSetLayout() = default; private: std::vector> m_bindings; VkDescriptorSetLayout m_layout = VK_NULL_HANDLE; }; } #endif