Go to the documentation of this file.
33 #include <unordered_map>
45 class RenderDeviceVkImpl;
46 class RenderPassVkImpl;
125 mutable size_t Hash = 0;
133 struct RenderPassCacheKeyHash
135 std::size_t operator()(
const RenderPassCacheKey& Key)
const
137 return Key.GetHash();
141 RenderDeviceVkImpl& m_DeviceVkImpl;
144 std::unordered_map<RenderPassCacheKey, RefCntAutoPtr<RenderPassVkImpl>, RenderPassCacheKeyHash> m_Cache;
TEXTURE_FORMAT RTVFormats[MAX_RENDER_TARGETS]
Definition: RenderPassCache.hpp:92
~RenderPassCache()
Definition: RenderPassCache.cpp:46
Render device implementation in Vulkan backend.
Definition: RenderDeviceVkImpl.hpp:58
RenderPassCache(RenderDeviceVkImpl &DeviceVk) noexcept
Definition: RenderPassCache.cpp:41
Definition: RenderPassCache.hpp:63
RenderPassCacheKey()
Definition: RenderPassCache.hpp:66
RenderPassVkImpl * GetRenderPass(const RenderPassCacheKey &Key)
Definition: RenderPassCache.cpp:65
Vector3< T > max(const Vector3< T > &a, const Vector3< T > &b)
Definition: BasicMath.hpp:1660
Uint8 SampleCount
Definition: RenderPassCache.hpp:90
@ TEX_FORMAT_UNKNOWN
Unknown format.
Definition: GraphicsTypes.h:331
void Destroy()
Definition: RenderPassCache.cpp:54
bool operator==(const RenderPassCacheKey &rhs) const
Definition: RenderPassCache.hpp:94
RenderPassCacheKey(Uint32 _NumRenderTargets, Uint32 _SampleCount, const TEXTURE_FORMAT _RTVFormats[], TEXTURE_FORMAT _DSVFormat)
Definition: RenderPassCache.hpp:73
uint32_t Uint32
32-bit unsigned integer
Definition: BasicTypes.h:51
std::size_t ComputeHash(const ArgsType &... Args)
Definition: HashUtils.hpp:57
RenderPassCache & operator=(const RenderPassCache &)=delete
Uint8 NumRenderTargets
Definition: RenderPassCache.hpp:89
size_t GetHash() const
Definition: RenderPassCache.hpp:113
TEXTURE_FORMAT
Texture formats.
Definition: GraphicsTypes.h:328
uint8_t Uint8
8-bit unsigned integer
Definition: BasicTypes.h:53
Render pass implementation in Vulkan backend.
Definition: RenderPassVkImpl.hpp:41
#define VERIFY_EXPR(...)
Definition: DebugUtilities.hpp:79
Definition: RenderPassCache.hpp:48
void HashCombine(std::size_t &Seed, const T &Val)
Definition: HashUtils.hpp:44
The library uses Direct3D-style math:
Definition: AdvancedMath.hpp:37
TEXTURE_FORMAT DSVFormat
Definition: RenderPassCache.hpp:91