26 #include "GraphicsTypes.h" 27 #include "TextureView.h" 28 #include "LockHelper.h" 29 #include "HashUtils.h" 30 #include "GLObjectWrapper.h" 41 FBOCache(
const FBOCache&) =
delete;
42 FBOCache( FBOCache&&) =
delete;
43 FBOCache& operator = (
const FBOCache&) =
delete;
44 FBOCache& operator = ( FBOCache&&) =
delete;
46 const GLObjectWrappers::GLFrameBufferObj& GetFBO( Uint32 NumRenderTargets,
47 ITextureView *ppRenderTargets[],
48 ITextureView *pDepthStencil,
49 class GLContextState &ContextState);
50 void OnReleaseTexture(ITexture *pTexture);
58 Uint32 NumRenderTargets;
65 Diligent::UniqueIdentifier DSId;
66 TextureViewDesc DSVDesc;
70 bool operator == (
const FBOCacheKey &Key)
const;
73 NumRenderTargets( 0 ),
82 struct FBOCacheKeyHashFunc
84 std::size_t operator() (
const FBOCacheKey& Key )
const;
88 friend class RenderDeviceGLImpl;
89 ThreadingTools::LockFlag m_CacheLockFlag;
90 std::unordered_map<FBOCacheKey, GLObjectWrappers::GLFrameBufferObj, FBOCacheKeyHashFunc> m_Cache;
94 std::unordered_multimap<Diligent::UniqueIdentifier, FBOCacheKey> m_TexIdToKey;
Namespace for the OpenGL implementation of the graphics engine.
Definition: BufferD3D11Impl.h:34
static constexpr Uint32 MaxRenderTargets
Maximum number of simultaneous render targets.
Definition: Constants.h:36