/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* single_time_cmd_manager.h :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: maldavid +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/12/15 18:25:57 by maldavid #+# #+# */ /* Updated: 2023/12/17 17:36:18 by maldavid ### ########.fr */ /* */ /* ************************************************************************** */ #ifndef __MLX_SINGLE_TIME_CMD_MANAGER__ #define __MLX_SINGLE_TIME_CMD_MANAGER__ #include #include namespace mlx { class CmdBuffer; class SingleTimeCmdManager { public: SingleTimeCmdManager(); void init() noexcept; void destroy() noexcept; inline CmdPool& getCmdPool() noexcept { return _pool; } CmdBuffer& getCmdBuffer() noexcept; ~SingleTimeCmdManager() = default; inline static constexpr const uint8_t MIN_POOL_SIZE = 8; private: private: std::vector _buffers; CmdPool _pool; }; } #endif