BsVulkanDescriptorPool.h 1020 B

123456789101112131415161718192021222324252627282930313233343536
  1. //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
  2. //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
  3. #pragma once
  4. #include "BsVulkanPrerequisites.h"
  5. namespace bs { namespace ct
  6. {
  7. /** @addtogroup Vulkan
  8. * @{
  9. */
  10. /** Pool that allocates and distributes Vulkan descriptor sets. */
  11. class VulkanDescriptorPool
  12. {
  13. public:
  14. VulkanDescriptorPool(VulkanDevice& device);
  15. ~VulkanDescriptorPool();
  16. /** Returns a handle to the internal Vulkan descriptor pool. */
  17. VkDescriptorPool getHandle() const { return mPool; }
  18. private:
  19. static const UINT32 sMaxSets = 8192;
  20. static const UINT32 sMaxSampledImages = 4096;
  21. static const UINT32 sMaxImages = 2048;
  22. static const UINT32 sMaxSampledBuffers = 2048;
  23. static const UINT32 sMaxBuffers = 2048;
  24. static const UINT32 sMaxUniformBuffers = 2048;
  25. VulkanDevice& mDevice;
  26. VkDescriptorPool mPool;
  27. };
  28. /** @} */
  29. }}