| 123456789101112131415161718192021222324252627282930313233343536 |
- //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
- //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
- #pragma once
- #include "BsVulkanPrerequisites.h"
- namespace BansheeEngine
- {
- /** @addtogroup Vulkan
- * @{
- */
- /** Wrapper for the Vulkan descriptor layout object. */
- class VulkanDescriptorLayout
- {
- public:
- VulkanDescriptorLayout(VulkanDevice& device, VkDescriptorSetLayoutBinding* bindings, UINT32 numBindings);
- ~VulkanDescriptorLayout();
- /** Returns a handle to the Vulkan set layout object. */
- VkDescriptorSetLayout getHandle() const { return mLayout; }
- /** Returns a hash value for the descriptor layout. */
- size_t getHash() const { return mHash; }
- /** Calculates a has value for the provided descriptor set layout bindings. */
- static size_t calculateHash(VkDescriptorSetLayoutBinding* bindings, UINT32 numBindings);
- protected:
- VulkanDevice& mDevice;
- VkDescriptorSetLayout mLayout;
- size_t mHash;
- };
- /** @} */
- }
|