BsVulkanDescriptorPool.h 966 B

1234567891011121314151617181920212223242526272829303132333435
  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 BansheeEngine
  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 sMaxBuffers = 2048;
  23. static const UINT32 sMaxUniformBuffers = 2048;
  24. VulkanDevice& mDevice;
  25. VkDescriptorPool mPool;
  26. };
  27. /** @} */
  28. }