Polyphase Game Engine
Loading...
Searching...
No Matches
DescriptorLayoutCache.h
Go to the documentation of this file.
1#pragma once
2
3#include <vulkan/vulkan.h>
4#include <vector>
5#include <unordered_map>
6
8{
9public:
10
11 void Create();
12 void Destroy();
13
14 VkDescriptorSetLayout CreateLayout(VkDescriptorSetLayoutCreateInfo* info);
15
17 {
18 std::vector<VkDescriptorSetLayoutBinding> mBindings;
19
20 bool operator==(const DescriptorLayoutInfo& other) const;
21
22 size_t Hash() const;
23 };
24
25protected:
26
28 {
29 size_t operator()(const DescriptorLayoutInfo& k) const
30 {
31 return k.Hash();
32 }
33 };
34
35 std::unordered_map<DescriptorLayoutInfo, VkDescriptorSetLayout, DescriptorLayoutHash> mLayoutMap;
36
37};
Definition DescriptorLayoutCache.h:8
void Create()
Definition DescriptorLayoutCache.cpp:8
void Destroy()
Definition DescriptorLayoutCache.cpp:13
VkDescriptorSetLayout CreateLayout(VkDescriptorSetLayoutCreateInfo *info)
Definition DescriptorLayoutCache.cpp:25
std::unordered_map< DescriptorLayoutInfo, VkDescriptorSetLayout, DescriptorLayoutHash > mLayoutMap
Definition DescriptorLayoutCache.h:35
Definition DescriptorLayoutCache.h:28
size_t operator()(const DescriptorLayoutInfo &k) const
Definition DescriptorLayoutCache.h:29
Definition DescriptorLayoutCache.h:17
size_t Hash() const
Definition DescriptorLayoutCache.cpp:101
bool operator==(const DescriptorLayoutInfo &other) const
Definition DescriptorLayoutCache.cpp:78
std::vector< VkDescriptorSetLayoutBinding > mBindings
Definition DescriptorLayoutCache.h:18