Go to the documentation of this file.
33 #include <unordered_map>
41 class RenderDeviceVkImpl;
46 m_DeviceVk{DeviceVKImpl}
65 VkImageView
RTVs[MAX_RENDER_TARGETS];
72 mutable size_t Hash = 0;
82 struct FramebufferCacheKeyHash
91 std::unordered_map<FramebufferCacheKey, VulkanUtilities::FramebufferWrapper, FramebufferCacheKeyHash> m_Cache;
93 std::unordered_multimap<VkImageView, FramebufferCacheKey> m_ViewToKeyMap;
94 std::unordered_multimap<VkRenderPass, FramebufferCacheKey> m_RenderPassToKeyMap;
void OnDestroyImageView(VkImageView ImgView)
Definition: FramebufferCache.cpp:121
Render device implementation in Vulkan backend.
Definition: RenderDeviceVkImpl.hpp:58
Uint32 NumRenderTargets
Definition: FramebufferCache.hpp:63
Definition: FramebufferCache.hpp:42
VkRenderPass Pass
Definition: FramebufferCache.hpp:62
uint64_t Uint64
64-bit unsigned integer
Definition: BasicTypes.h:50
FramebufferCache & operator=(const FramebufferCache &)=delete
void OnDestroyRenderPass(VkRenderPass Pass)
Definition: FramebufferCache.cpp:144
Uint64 CommandQueueMask
Definition: FramebufferCache.hpp:66
VkImageView RTVs[MAX_RENDER_TARGETS]
Definition: FramebufferCache.hpp:65
Definition: FramebufferCache.hpp:59
bool operator==(const FramebufferCacheKey &rhs) const
Definition: FramebufferCache.cpp:37
size_t GetHash() const
Definition: FramebufferCache.cpp:57
uint32_t Uint32
32-bit unsigned integer
Definition: BasicTypes.h:51
VkImageView DSV
Definition: FramebufferCache.hpp:64
~FramebufferCache()
Definition: FramebufferCache.cpp:114
FramebufferCache(RenderDeviceVkImpl &DeviceVKImpl)
Definition: FramebufferCache.hpp:45
The library uses Direct3D-style math:
Definition: AdvancedMath.hpp:37
VkFramebuffer GetFramebuffer(const FramebufferCacheKey &Key, uint32_t width, uint32_t height, uint32_t layers)
Definition: FramebufferCache.cpp:68